Skip to content

Commit

Permalink
Add isUserAdminOfCurrentProject field to application context (#3523)
Browse files Browse the repository at this point in the history
* feat: add isUserAdminOfCurrentProject field to application context

* feat: remove deprecated value

* Create many-otters-drum.md

* chore: test ci

* refactor: update generated types

---------

Co-authored-by: tdeekens <tobias.deekens@commercetools.com>
Co-authored-by: Carlos Cortizas <carlos.martines@commercetools.com>
  • Loading branch information
3 people committed May 16, 2024
1 parent 31da18a commit 7e48e90
Show file tree
Hide file tree
Showing 24 changed files with 6,140 additions and 622 deletions.
7 changes: 7 additions & 0 deletions .changeset/many-otters-drum.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"@commercetools-frontend/application-shell-connectors": patch
"@commercetools-frontend/application-shell": patch
"@commercetools-frontend/permissions": patch
---

Add `isUserAdminOfCurrentProject` to project query, map value to project context.
3 changes: 2 additions & 1 deletion graphql-test-utils/graphql-models/project.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ const Project = new Factory()
id: faker.string.uuid(),
name: faker.company.name(),
}))
.attr('sampleDataImportDataset', 'FASHION');
.attr('sampleDataImportDataset', 'FASHION')
.attr('isUserAdminOfCurrentProject', true);

export default Project;
66 changes: 66 additions & 0 deletions packages/application-components/src/types/generated/settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,12 @@ export type TAverageOrderValueConfigurationInput = {
showPreviousTimeframe: Scalars['Boolean'];
};

export type TBatchProcessResult = {
__typename?: 'BatchProcessResult';
failed: Array<TTdlqMessageResult>;
successful: Array<TTdlqMessageResult>;
};

export enum TBestSellingLimit {
Fifteen = 'FIFTEEN',
Five = 'FIVE',
Expand Down Expand Up @@ -424,6 +430,10 @@ export type TCustomViewsPagedQueryResult = {
total: Scalars['Int'];
};

export type TCustomerEmailValidationSettingsInput = {
isCustomerEmailValidationDisabled: Scalars['Boolean'];
};

export type TCustomersListView = {
__typename?: 'CustomersListView';
createdAt: Scalars['DateTime'];
Expand Down Expand Up @@ -673,6 +683,19 @@ export type TLocalizedFieldDataInput = {
value: Scalars['String'];
};

export type TMessage = {
__typename?: 'Message';
ackId: Scalars['String'];
data: Scalars['String'];
id: Scalars['ID'];
};

export type TMessageInput = {
ackId: Scalars['String'];
data: Scalars['String'];
id: Scalars['ID'];
};

export enum TMetricCardType {
AverageOrderValue = 'AVERAGE_ORDER_VALUE',
OrderStatus = 'ORDER_STATUS',
Expand Down Expand Up @@ -756,11 +779,16 @@ export type TMutation = {
deleteProjectSettingsStoresView?: Maybe<TProjectSettingsStoresView>;
installCustomApplication?: Maybe<TRestrictedCustomApplicationInstallationForOrganization>;
installCustomView?: Maybe<TRestrictedCustomViewInstallationForOrganization>;
/** @deprecated Experimental feature - For internal usage only */
moveMessagesFromDeadLetterQueueToMainQueue?: Maybe<TBatchProcessResult>;
random: Scalars['String'];
/** @deprecated Experimental feature - For internal usage only */
removeMessagesFromDeadLetterQueue?: Maybe<TBatchProcessResult>;
sendLinkToVerifyCustomApplicationsMaintainerContactEmail?: Maybe<TCustomApplicationsMaintainerContactEmailVerificationRequest>;
setCustomApplicationsMaintainerContactInformation?: Maybe<TOrganizationExtension>;
setOrganizationExtensionOidcSsoConfig?: Maybe<TOrganizationExtension>;
setProjectExtensionCategoryRecommendation?: Maybe<TProjectExtension>;
setProjectExtensionCustomerEmailValidationSettings?: Maybe<TProjectExtension>;
setProjectExtensionImageRegex?: Maybe<TProjectExtension>;
setProjectExtensionImportSampleDataset?: Maybe<TProjectExtension>;
setProjectExtensionOrderStatesVisibility?: Maybe<TProjectExtension>;
Expand Down Expand Up @@ -1112,11 +1140,21 @@ export type TMutation_InstallCustomViewArgs = {
};


export type TMutation_MoveMessagesFromDeadLetterQueueToMainQueueArgs = {
messages: Array<TMessageInput>;
};


export type TMutation_RandomArgs = {
byteLength: Scalars['Int'];
};


export type TMutation_RemoveMessagesFromDeadLetterQueueArgs = {
messages: Array<TMessageInput>;
};


export type TMutation_SendLinkToVerifyCustomApplicationsMaintainerContactEmailArgs = {
organizationId: Scalars['String'];
};
Expand All @@ -1139,6 +1177,11 @@ export type TMutation_SetProjectExtensionCategoryRecommendationArgs = {
};


export type TMutation_SetProjectExtensionCustomerEmailValidationSettingsArgs = {
data?: InputMaybe<TCustomerEmailValidationSettingsInput>;
};


export type TMutation_SetProjectExtensionImageRegexArgs = {
data?: InputMaybe<TImageRegexDataInput>;
};
Expand Down Expand Up @@ -1372,6 +1415,15 @@ export type TNavbarSubmenu = {
uriPath: Scalars['String'];
};

export type TNestedTable = {
__typename?: 'NestedTable';
visibleColumns?: Maybe<Array<Maybe<Scalars['String']>>>;
};

export type TNestedTableInput = {
visibleColumns?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;
};

export enum TOAuthScope {
ManageBusinessUnits = 'ManageBusinessUnits',
ManageCartDiscounts = 'ManageCartDiscounts',
Expand Down Expand Up @@ -1555,6 +1607,7 @@ export type TPimSearchListViewInput = {
};

export type TPimSearchListViewTableInput = {
nestedTable?: InputMaybe<TNestedTableInput>;
visibleColumns: Array<Scalars['String']>;
};

Expand Down Expand Up @@ -1601,6 +1654,7 @@ export type TProjectExtension = {
imageRegex?: Maybe<TImageRegex>;
installedApplications: Array<TRestrictedCustomApplicationInstallationForProject>;
installedCustomViews: Array<TRestrictedCustomViewInstallationForProject>;
isCustomerEmailValidationDisabled: Scalars['Boolean'];
isRichTextEditorEnabled: Scalars['Boolean'];
orderStatesVisibility: Array<TOrderStatesVisibility>;
projectKey: Scalars['String'];
Expand Down Expand Up @@ -1727,6 +1781,8 @@ export type TQuery = {
projectExtension?: Maybe<TProjectExtension>;
projectSettingsStoresView?: Maybe<TProjectSettingsStoresView>;
projectSettingsStoresViews: Array<Maybe<TProjectSettingsStoresView>>;
/** @deprecated Experimental feature - For internal usage only */
readMessagesFromDeadLetterQueue: Array<TMessage>;
release?: Maybe<Scalars['String']>;
ruleBuilderQuickSelectionValues?: Maybe<Array<Maybe<TRuleBuilderQuickSelectionValues>>>;
variantPricesListViews: Array<Maybe<TVariantPricesListView>>;
Expand Down Expand Up @@ -2104,6 +2160,7 @@ export type TSampleDataImportMetadata = {
};

export enum TSampleDatasets {
B2B = 'B2B',
Fashion = 'FASHION',
Goodstore = 'GOODSTORE'
}
Expand All @@ -2125,8 +2182,17 @@ export enum TSortOrder {
Desc = 'Desc'
}

export type TTdlqMessageResult = {
__typename?: 'TDLQMessageResult';
ackId: Scalars['String'];
data: Scalars['String'];
error?: Maybe<Scalars['String']>;
id: Scalars['ID'];
};

export type TTable = {
__typename?: 'Table';
nestedTable?: Maybe<TNestedTable>;
visibleColumns: Array<Scalars['String']>;
};

Expand Down
63 changes: 63 additions & 0 deletions packages/application-config/src/generated/settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,12 @@ export type TAverageOrderValueConfigurationInput = {
showPreviousTimeframe: Scalars['Boolean'];
};

export type TBatchProcessResult = {
__typename?: 'BatchProcessResult';
failed: Array<TTdlqMessageResult>;
successful: Array<TTdlqMessageResult>;
};

export enum TBestSellingLimit {
Fifteen = 'FIFTEEN',
Five = 'FIVE',
Expand Down Expand Up @@ -430,6 +436,10 @@ export type TCustomViewsPagedQueryResult = {
total: Scalars['Int'];
};

export type TCustomerEmailValidationSettingsInput = {
isCustomerEmailValidationDisabled: Scalars['Boolean'];
};

export type TCustomersListView = {
__typename?: 'CustomersListView';
createdAt: Scalars['DateTime'];
Expand Down Expand Up @@ -679,6 +689,19 @@ export type TLocalizedFieldDataInput = {
value: Scalars['String'];
};

export type TMessage = {
__typename?: 'Message';
ackId: Scalars['String'];
data: Scalars['String'];
id: Scalars['ID'];
};

export type TMessageInput = {
ackId: Scalars['String'];
data: Scalars['String'];
id: Scalars['ID'];
};

export enum TMetricCardType {
AverageOrderValue = 'AVERAGE_ORDER_VALUE',
OrderStatus = 'ORDER_STATUS',
Expand Down Expand Up @@ -762,11 +785,16 @@ export type TMutation = {
deleteProjectSettingsStoresView?: Maybe<TProjectSettingsStoresView>;
installCustomApplication?: Maybe<TRestrictedCustomApplicationInstallationForOrganization>;
installCustomView?: Maybe<TRestrictedCustomViewInstallationForOrganization>;
/** @deprecated Experimental feature - For internal usage only */
moveMessagesFromDeadLetterQueueToMainQueue?: Maybe<TBatchProcessResult>;
random: Scalars['String'];
/** @deprecated Experimental feature - For internal usage only */
removeMessagesFromDeadLetterQueue?: Maybe<TBatchProcessResult>;
sendLinkToVerifyCustomApplicationsMaintainerContactEmail?: Maybe<TCustomApplicationsMaintainerContactEmailVerificationRequest>;
setCustomApplicationsMaintainerContactInformation?: Maybe<TOrganizationExtension>;
setOrganizationExtensionOidcSsoConfig?: Maybe<TOrganizationExtension>;
setProjectExtensionCategoryRecommendation?: Maybe<TProjectExtension>;
setProjectExtensionCustomerEmailValidationSettings?: Maybe<TProjectExtension>;
setProjectExtensionImageRegex?: Maybe<TProjectExtension>;
setProjectExtensionImportSampleDataset?: Maybe<TProjectExtension>;
setProjectExtensionOrderStatesVisibility?: Maybe<TProjectExtension>;
Expand Down Expand Up @@ -1056,10 +1084,18 @@ export type TMutation_InstallCustomViewArgs = {
projectKeys?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;
};

export type TMutation_MoveMessagesFromDeadLetterQueueToMainQueueArgs = {
messages: Array<TMessageInput>;
};

export type TMutation_RandomArgs = {
byteLength: Scalars['Int'];
};

export type TMutation_RemoveMessagesFromDeadLetterQueueArgs = {
messages: Array<TMessageInput>;
};

export type TMutation_SendLinkToVerifyCustomApplicationsMaintainerContactEmailArgs =
{
organizationId: Scalars['String'];
Expand All @@ -1079,6 +1115,10 @@ export type TMutation_SetProjectExtensionCategoryRecommendationArgs = {
data?: InputMaybe<TCategoryRecommendationSettingsDataInput>;
};

export type TMutation_SetProjectExtensionCustomerEmailValidationSettingsArgs = {
data?: InputMaybe<TCustomerEmailValidationSettingsInput>;
};

export type TMutation_SetProjectExtensionImageRegexArgs = {
data?: InputMaybe<TImageRegexDataInput>;
};
Expand Down Expand Up @@ -1287,6 +1327,15 @@ export type TNavbarSubmenu = {
uriPath: Scalars['String'];
};

export type TNestedTable = {
__typename?: 'NestedTable';
visibleColumns?: Maybe<Array<Maybe<Scalars['String']>>>;
};

export type TNestedTableInput = {
visibleColumns?: InputMaybe<Array<InputMaybe<Scalars['String']>>>;
};

export enum TOAuthScope {
ManageBusinessUnits = 'ManageBusinessUnits',
ManageCartDiscounts = 'ManageCartDiscounts',
Expand Down Expand Up @@ -1470,6 +1519,7 @@ export type TPimSearchListViewInput = {
};

export type TPimSearchListViewTableInput = {
nestedTable?: InputMaybe<TNestedTableInput>;
visibleColumns: Array<Scalars['String']>;
};

Expand Down Expand Up @@ -1516,6 +1566,7 @@ export type TProjectExtension = {
imageRegex?: Maybe<TImageRegex>;
installedApplications: Array<TRestrictedCustomApplicationInstallationForProject>;
installedCustomViews: Array<TRestrictedCustomViewInstallationForProject>;
isCustomerEmailValidationDisabled: Scalars['Boolean'];
isRichTextEditorEnabled: Scalars['Boolean'];
orderStatesVisibility: Array<TOrderStatesVisibility>;
projectKey: Scalars['String'];
Expand Down Expand Up @@ -1639,6 +1690,8 @@ export type TQuery = {
projectExtension?: Maybe<TProjectExtension>;
projectSettingsStoresView?: Maybe<TProjectSettingsStoresView>;
projectSettingsStoresViews: Array<Maybe<TProjectSettingsStoresView>>;
/** @deprecated Experimental feature - For internal usage only */
readMessagesFromDeadLetterQueue: Array<TMessage>;
release?: Maybe<Scalars['String']>;
ruleBuilderQuickSelectionValues?: Maybe<
Array<Maybe<TRuleBuilderQuickSelectionValues>>
Expand Down Expand Up @@ -1985,6 +2038,7 @@ export type TSampleDataImportMetadata = {
};

export enum TSampleDatasets {
B2B = 'B2B',
Fashion = 'FASHION',
Goodstore = 'GOODSTORE',
}
Expand All @@ -2006,8 +2060,17 @@ export enum TSortOrder {
Desc = 'Desc',
}

export type TTdlqMessageResult = {
__typename?: 'TDLQMessageResult';
ackId: Scalars['String'];
data: Scalars['String'];
error?: Maybe<Scalars['String']>;
id: Scalars['ID'];
};

export type TTable = {
__typename?: 'Table';
nestedTable?: Maybe<TNestedTable>;
visibleColumns: Array<Scalars['String']>;
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,7 @@ describe('mapProjectToApplicationContextProject', () => {
ownerId: expect.any(String),
ownerName: expect.any(String),
sampleDataImportDataset: expect.any(String),
isUserAdminOfCurrentProject: expect.any(Boolean),
});
});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,7 @@ export const mapProjectToApplicationContextProject = (
ownerId: project.owner.id,
ownerName: project.owner.name,
sampleDataImportDataset: project.sampleDataImportDataset,
isUserAdminOfCurrentProject: project.isUserAdminOfCurrentProject,
};
};

Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 7e48e90

Please sign in to comment.