@acorex-platform/extension-source-control-core-client 0.0.37 → 0.0.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/acorex-platform-extension-source-control-core-client-contracts.mjs +14 -1
- package/fesm2022/acorex-platform-extension-source-control-core-client-contracts.mjs.map +1 -1
- package/fesm2022/acorex-platform-extension-source-control-core-client.mjs +46 -34
- package/fesm2022/acorex-platform-extension-source-control-core-client.mjs.map +1 -1
- package/package.json +2 -2
- package/types/acorex-platform-extension-source-control-core-client-contracts.d.ts +4 -2
|
@@ -23,6 +23,19 @@ const RootConfig = {
|
|
|
23
23
|
};
|
|
24
24
|
//#endregion
|
|
25
25
|
|
|
26
|
+
//#region ----- Manifest -----
|
|
27
|
+
const SourceControlExtensionManifest = {
|
|
28
|
+
name: RootConfig.module.name,
|
|
29
|
+
version: '1.0.0',
|
|
30
|
+
title: RootConfig.module.title,
|
|
31
|
+
icon: RootConfig.module.icon,
|
|
32
|
+
i18n: RootConfig.config.i18n,
|
|
33
|
+
type: 'integration',
|
|
34
|
+
domain: 'source-control',
|
|
35
|
+
dependencies: [],
|
|
36
|
+
};
|
|
37
|
+
//#endregion
|
|
38
|
+
|
|
26
39
|
//#region ----- Source control extension settings keys -----
|
|
27
40
|
const AXESourceControlExtensionSettings = {
|
|
28
41
|
EnabledProjectTypeIds: 'SourceControlExtension:Setting:EnabledProjectTypeIds',
|
|
@@ -65,5 +78,5 @@ const AXE_SC_PROVIDER_IDS = [AXE_SC_PROVIDER_GITHUB, AXE_SC_PROVIDER_GITLAB];
|
|
|
65
78
|
* Generated bundle index. Do not edit.
|
|
66
79
|
*/
|
|
67
80
|
|
|
68
|
-
export { AXESourceControlCommandKeys, AXESourceControlExtensionSettings, AXESourceControlHookKeys, AXE_SC_DEFAULT_ENABLED_PROJECT_TYPE_ID, AXE_SC_DOMAIN_ID, AXE_SC_PROVIDER_GITHUB, AXE_SC_PROVIDER_GITLAB, AXE_SC_PROVIDER_IDS, RootConfig };
|
|
81
|
+
export { AXESourceControlCommandKeys, AXESourceControlExtensionSettings, AXESourceControlHookKeys, AXE_SC_DEFAULT_ENABLED_PROJECT_TYPE_ID, AXE_SC_DOMAIN_ID, AXE_SC_PROVIDER_GITHUB, AXE_SC_PROVIDER_GITLAB, AXE_SC_PROVIDER_IDS, RootConfig, SourceControlExtensionManifest };
|
|
69
82
|
//# sourceMappingURL=acorex-platform-extension-source-control-core-client-contracts.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-extension-source-control-core-client-contracts.mjs","sources":["../../../../libs/extensions/source-control/core/contracts/src/root-config.ts","../../../../libs/extensions/source-control/core/contracts/src/settings.keys.ts","../../../../libs/extensions/source-control/core/contracts/src/commands.keys.ts","../../../../libs/extensions/source-control/core/contracts/src/hook.keys.ts","../../../../libs/extensions/source-control/core/contracts/src/provider.constants.ts","../../../../libs/extensions/source-control/core/contracts/src/repo.types.ts","../../../../libs/extensions/source-control/core/contracts/src/repository.types.ts","../../../../libs/extensions/source-control/core/contracts/src/link.types.ts","../../../../libs/extensions/source-control/core/contracts/src/acorex-platform-extension-source-control-core-client-contracts.ts"],"sourcesContent":["//#region ----- Source control extension root config -----\n\nconst config = {\n i18n: 'extensions-source-control',\n};\n\nconst MODULE_NAME = 'SourceControlExtension';\n\nexport const RootConfig = {\n config,\n module: {\n name: MODULE_NAME,\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-code-branch',\n },\n entities: {\n projectSourceControlLink: {\n name: 'ProjectSourceControlLink',\n fullName: `${MODULE_NAME}.ProjectSourceControlLink`,\n title: `@${config.i18n}:entities.project-source-control-link.title`,\n titlePlural: `@${config.i18n}:entities.project-source-control-link.plural`,\n icon: 'fa-light fa-link',\n source: `${MODULE_NAME}.ProjectSourceControlLink`,\n },\n },\n};\n\n//#endregion\n","//#region ----- Source control extension settings keys -----\n\nexport const AXESourceControlExtensionSettings = {\n EnabledProjectTypeIds: 'SourceControlExtension:Setting:EnabledProjectTypeIds',\n} as const;\n\n/** Demo default — matches ProjectManagement seed Software project type id. */\nexport const AXE_SC_DEFAULT_ENABLED_PROJECT_TYPE_ID = 'pm-mock-project-type-software';\n\n//#endregion\n","//#region ----- Source control extension command keys -----\n\nexport const AXESourceControlCommandKeys = {\n ProjectLinkRepository: 'SourceControlExtension.Project:LinkRepository',\n ProjectUnlinkRepository: 'SourceControlExtension.Project:UnlinkRepository',\n} as const;\n\n//#endregion\n","//#region ----- Source control hook keys -----\r\r\n\r\r\nexport const AXESourceControlHookKeys = {\r\r\n CommitActions: 'source-control.repository.commit-actions',\r\r\n BranchActions: 'source-control.repository.branch-actions',\r\r\n} as const;\r\r\n\r\r\n//#endregion\r\r\n","//#region ----- Source control provider constants -----\n\nexport const AXE_SC_DOMAIN_ID = 'source-control';\n\nexport const AXE_SC_PROVIDER_GITHUB = 'github';\nexport const AXE_SC_PROVIDER_GITLAB = 'gitlab';\n\nexport const AXE_SC_PROVIDER_IDS = [AXE_SC_PROVIDER_GITHUB, AXE_SC_PROVIDER_GITLAB] as const;\n\nexport type AXESourceControlProviderId = (typeof AXE_SC_PROVIDER_IDS)[number];\n\n//#endregion\n","//#region ----- Remote repository DTOs -----\n\nexport interface AXESourceControlRemoteRepoDto {\n remoteId: string;\n fullName: string;\n webUrl: string;\n defaultBranch?: string;\n description?: string;\n}\n\nexport interface AXESourceControlSearchReposRequest {\n providerId: string;\n connectionId: string;\n query?: string;\n}\n\nexport interface AXESourceControlSearchReposResponse {\n items: AXESourceControlRemoteRepoDto[];\n}\n\n//#endregion\n","//#region ----- Repository browse DTOs -----\r\r\n\r\r\nimport type { AXPActionMenuItem } from '@acorex-platform/framework-shared/core';\r\r\n\r\r\nimport type { AXESourceControlProjectSourceControlLinkEntityModel } from './link.types';\r\r\n\r\r\nexport interface AXESourceControlBranchDto {\r\r\n name: string;\r\r\n isDefault?: boolean;\r\r\n}\r\r\n\r\r\nexport interface AXESourceControlCommitDto {\r\r\n sha: string;\r\r\n shortSha?: string;\r\r\n message: string;\r\r\n authorName: string;\r\r\n committedAt: string;\r\r\n webUrl: string;\r\r\n}\r\r\n\r\r\nexport interface AXESourceControlListBranchesRequest {\r\r\n providerId: string;\r\r\n connectionId: string;\r\r\n fullName: string;\r\r\n}\r\r\n\r\r\nexport interface AXESourceControlListBranchesResponse {\r\r\n items: AXESourceControlBranchDto[];\r\r\n}\r\r\n\r\r\nexport interface AXESourceControlListCommitsRequest {\r\r\n providerId: string;\r\r\n connectionId: string;\r\r\n fullName: string;\r\r\n branch: string;\r\r\n take?: number;\r\r\n}\r\r\n\r\r\nexport interface AXESourceControlListCommitsResponse {\r\r\n items: AXESourceControlCommitDto[];\r\r\n}\r\r\n\r\r\n//#endregion\r\r\n\r\r\n//#region ----- Hook payloads -----\r\r\n\r\r\nexport interface AXESourceControlCommitActionsHookPayload {\r\r\n projectId: string;\r\r\n link: AXESourceControlProjectSourceControlLinkEntityModel;\r\r\n branch: string;\r\r\n commit: AXESourceControlCommitDto;\r\r\n actions: AXPActionMenuItem[];\r\r\n}\r\r\n\r\r\nexport interface AXESourceControlBranchActionsHookPayload {\r\r\n projectId: string;\r\r\n link: AXESourceControlProjectSourceControlLinkEntityModel;\r\r\n branch: string;\r\r\n baseBranch: string;\r\r\n actions: AXPActionMenuItem[];\r\r\n}\r\r\n\r\r\n//#endregion\r\r\n","//#region ----- Project source control link types -----\n\nimport type { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\n\nexport interface AXESourceControlProjectSourceControlLinkEntityModel extends AXPEntityModel<string> {\n projectId: string;\n providerId: string;\n connectionId: string;\n remoteId: string;\n fullName: string;\n webUrl: string;\n defaultBranch?: string;\n linkedAt: string;\n}\n\nexport interface AXESourceControlLinkRepositoryCommandInput {\n projectId: string;\n}\n\nexport interface AXESourceControlUnlinkRepositoryCommandInput {\n projectId: string;\n}\n\nexport interface AXESourceControlLinkRepositoryPayload {\n projectId: string;\n providerId: string;\n connectionId: string;\n remoteId: string;\n fullName: string;\n webUrl: string;\n defaultBranch?: string;\n linkedAt: string;\n}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;AAEA,MAAM,MAAM,GAAG;AACb,IAAA,IAAI,EAAE,2BAA2B;CAClC;AAED,MAAM,WAAW,GAAG,wBAAwB;AAErC,MAAM,UAAU,GAAG;IACxB,MAAM;AACN,IAAA,MAAM,EAAE;AACN,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,aAAA,CAAe;AACrC,QAAA,IAAI,EAAE,yBAAyB;AAChC,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,wBAAwB,EAAE;AACxB,YAAA,IAAI,EAAE,0BAA0B;YAChC,QAAQ,EAAE,CAAA,EAAG,WAAW,CAAA,yBAAA,CAA2B;AACnD,YAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,2CAAA,CAA6C;AACnE,YAAA,WAAW,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,4CAAA,CAA8C;AAC1E,YAAA,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,CAAA,EAAG,WAAW,CAAA,yBAAA,CAA2B;AAClD,SAAA;AACF,KAAA;;AAGH;;AC3BA;AAEO,MAAM,iCAAiC,GAAG;AAC/C,IAAA,qBAAqB,EAAE,sDAAsD;;AAG/E;AACO,MAAM,sCAAsC,GAAG;AAEtD;;ACTA;AAEO,MAAM,2BAA2B,GAAG;AACzC,IAAA,qBAAqB,EAAE,+CAA+C;AACtE,IAAA,uBAAuB,EAAE,iDAAiD;;AAG5E;;ACPA;AAIO,MAAM,wBAAwB,GAAG;AAEtC,IAAA,aAAa,EAAE,0CAA0C;AAEzD,IAAA,aAAa,EAAE,0CAA0C;;AAM3D;;ACdA;AAEO,MAAM,gBAAgB,GAAG;AAEzB,MAAM,sBAAsB,GAAG;AAC/B,MAAM,sBAAsB,GAAG;MAEzB,mBAAmB,GAAG,CAAC,sBAAsB,EAAE,sBAAsB;AAIlF;;ACXA;AAoBA;;ACpBA;AA4HA;;AC5HA;AAkCA;;AClCA;;AAEG;;"}
|
|
1
|
+
{"version":3,"file":"acorex-platform-extension-source-control-core-client-contracts.mjs","sources":["../../../../libs/extensions/source-control/core/contracts/src/root-config.ts","../../../../libs/extensions/source-control/core/contracts/src/manifest.ts","../../../../libs/extensions/source-control/core/contracts/src/settings.keys.ts","../../../../libs/extensions/source-control/core/contracts/src/commands.keys.ts","../../../../libs/extensions/source-control/core/contracts/src/hook.keys.ts","../../../../libs/extensions/source-control/core/contracts/src/provider.constants.ts","../../../../libs/extensions/source-control/core/contracts/src/repo.types.ts","../../../../libs/extensions/source-control/core/contracts/src/repository.types.ts","../../../../libs/extensions/source-control/core/contracts/src/link.types.ts","../../../../libs/extensions/source-control/core/contracts/src/acorex-platform-extension-source-control-core-client-contracts.ts"],"sourcesContent":["//#region ----- Source control extension root config -----\n\nconst config = {\n i18n: 'extensions-source-control',\n};\n\nconst MODULE_NAME = 'SourceControlExtension';\n\nexport const RootConfig = {\n config,\n module: {\n name: MODULE_NAME,\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-code-branch',\n },\n entities: {\n projectSourceControlLink: {\n name: 'ProjectSourceControlLink',\n fullName: `${MODULE_NAME}.ProjectSourceControlLink`,\n title: `@${config.i18n}:entities.project-source-control-link.title`,\n titlePlural: `@${config.i18n}:entities.project-source-control-link.plural`,\n icon: 'fa-light fa-link',\n source: `${MODULE_NAME}.ProjectSourceControlLink`,\n },\n },\n};\n\n//#endregion\n","//#region ----- Manifest -----\n\nimport { AXPModuleManifest } from '@acorex-platform/framework-shared/core';\nimport { RootConfig } from './root-config';\n\nexport const SourceControlExtensionManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n type: 'integration',\n domain: 'source-control',\n dependencies: [],\n};\n\n//#endregion\n","//#region ----- Source control extension settings keys -----\n\nexport const AXESourceControlExtensionSettings = {\n EnabledProjectTypeIds: 'SourceControlExtension:Setting:EnabledProjectTypeIds',\n} as const;\n\n/** Demo default — matches ProjectManagement seed Software project type id. */\nexport const AXE_SC_DEFAULT_ENABLED_PROJECT_TYPE_ID = 'pm-mock-project-type-software';\n\n//#endregion\n","//#region ----- Source control extension command keys -----\n\nexport const AXESourceControlCommandKeys = {\n ProjectLinkRepository: 'SourceControlExtension.Project:LinkRepository',\n ProjectUnlinkRepository: 'SourceControlExtension.Project:UnlinkRepository',\n} as const;\n\n//#endregion\n","//#region ----- Source control hook keys -----\r\r\n\r\r\nexport const AXESourceControlHookKeys = {\r\r\n CommitActions: 'source-control.repository.commit-actions',\r\r\n BranchActions: 'source-control.repository.branch-actions',\r\r\n} as const;\r\r\n\r\r\n//#endregion\r\r\n","//#region ----- Source control provider constants -----\n\nexport const AXE_SC_DOMAIN_ID = 'source-control';\n\nexport const AXE_SC_PROVIDER_GITHUB = 'github';\nexport const AXE_SC_PROVIDER_GITLAB = 'gitlab';\n\nexport const AXE_SC_PROVIDER_IDS = [AXE_SC_PROVIDER_GITHUB, AXE_SC_PROVIDER_GITLAB] as const;\n\nexport type AXESourceControlProviderId = (typeof AXE_SC_PROVIDER_IDS)[number];\n\n//#endregion\n","//#region ----- Remote repository DTOs -----\n\nexport interface AXESourceControlRemoteRepoDto {\n remoteId: string;\n fullName: string;\n webUrl: string;\n defaultBranch?: string;\n description?: string;\n}\n\nexport interface AXESourceControlSearchReposRequest {\n providerId: string;\n connectionId: string;\n query?: string;\n}\n\nexport interface AXESourceControlSearchReposResponse {\n items: AXESourceControlRemoteRepoDto[];\n}\n\n//#endregion\n","//#region ----- Repository browse DTOs -----\r\r\n\r\r\nimport type { AXPActionMenuItem } from '@acorex-platform/framework-shared/core';\r\r\n\r\r\nimport type { AXESourceControlProjectSourceControlLinkEntityModel } from './link.types';\r\r\n\r\r\nexport interface AXESourceControlBranchDto {\r\r\n name: string;\r\r\n isDefault?: boolean;\r\r\n}\r\r\n\r\r\nexport interface AXESourceControlCommitDto {\r\r\n sha: string;\r\r\n shortSha?: string;\r\r\n message: string;\r\r\n authorName: string;\r\r\n committedAt: string;\r\r\n webUrl: string;\r\r\n}\r\r\n\r\r\nexport interface AXESourceControlListBranchesRequest {\r\r\n providerId: string;\r\r\n connectionId: string;\r\r\n fullName: string;\r\r\n}\r\r\n\r\r\nexport interface AXESourceControlListBranchesResponse {\r\r\n items: AXESourceControlBranchDto[];\r\r\n}\r\r\n\r\r\nexport interface AXESourceControlListCommitsRequest {\r\r\n providerId: string;\r\r\n connectionId: string;\r\r\n fullName: string;\r\r\n branch: string;\r\r\n take?: number;\r\r\n}\r\r\n\r\r\nexport interface AXESourceControlListCommitsResponse {\r\r\n items: AXESourceControlCommitDto[];\r\r\n}\r\r\n\r\r\n//#endregion\r\r\n\r\r\n//#region ----- Hook payloads -----\r\r\n\r\r\nexport interface AXESourceControlCommitActionsHookPayload {\r\r\n projectId: string;\r\r\n link: AXESourceControlProjectSourceControlLinkEntityModel;\r\r\n branch: string;\r\r\n commit: AXESourceControlCommitDto;\r\r\n actions: AXPActionMenuItem[];\r\r\n}\r\r\n\r\r\nexport interface AXESourceControlBranchActionsHookPayload {\r\r\n projectId: string;\r\r\n link: AXESourceControlProjectSourceControlLinkEntityModel;\r\r\n branch: string;\r\r\n baseBranch: string;\r\r\n actions: AXPActionMenuItem[];\r\r\n}\r\r\n\r\r\n//#endregion\r\r\n","//#region ----- Project source control link types -----\n\nimport type { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\n\nexport interface AXESourceControlProjectSourceControlLinkEntityModel extends AXPEntityModel<string> {\n projectId: string;\n providerId: string;\n connectionId: string;\n remoteId: string;\n fullName: string;\n webUrl: string;\n defaultBranch?: string;\n linkedAt: string;\n}\n\nexport interface AXESourceControlLinkRepositoryCommandInput {\n projectId: string;\n}\n\nexport interface AXESourceControlUnlinkRepositoryCommandInput {\n projectId: string;\n}\n\nexport interface AXESourceControlLinkRepositoryPayload {\n projectId: string;\n providerId: string;\n connectionId: string;\n remoteId: string;\n fullName: string;\n webUrl: string;\n defaultBranch?: string;\n linkedAt: string;\n}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;AAEA,MAAM,MAAM,GAAG;AACb,IAAA,IAAI,EAAE,2BAA2B;CAClC;AAED,MAAM,WAAW,GAAG,wBAAwB;AAErC,MAAM,UAAU,GAAG;IACxB,MAAM;AACN,IAAA,MAAM,EAAE;AACN,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,aAAA,CAAe;AACrC,QAAA,IAAI,EAAE,yBAAyB;AAChC,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,wBAAwB,EAAE;AACxB,YAAA,IAAI,EAAE,0BAA0B;YAChC,QAAQ,EAAE,CAAA,EAAG,WAAW,CAAA,yBAAA,CAA2B;AACnD,YAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,2CAAA,CAA6C;AACnE,YAAA,WAAW,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,4CAAA,CAA8C;AAC1E,YAAA,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,CAAA,EAAG,WAAW,CAAA,yBAAA,CAA2B;AAClD,SAAA;AACF,KAAA;;AAGH;;AC3BA;AAKO,MAAM,8BAA8B,GAAsB;AAC/D,IAAA,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC5B,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK;AAC9B,IAAA,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC5B,IAAA,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC5B,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,MAAM,EAAE,gBAAgB;AACxB,IAAA,YAAY,EAAE,EAAE;;AAGlB;;AChBA;AAEO,MAAM,iCAAiC,GAAG;AAC/C,IAAA,qBAAqB,EAAE,sDAAsD;;AAG/E;AACO,MAAM,sCAAsC,GAAG;AAEtD;;ACTA;AAEO,MAAM,2BAA2B,GAAG;AACzC,IAAA,qBAAqB,EAAE,+CAA+C;AACtE,IAAA,uBAAuB,EAAE,iDAAiD;;AAG5E;;ACPA;AAIO,MAAM,wBAAwB,GAAG;AAEtC,IAAA,aAAa,EAAE,0CAA0C;AAEzD,IAAA,aAAa,EAAE,0CAA0C;;AAM3D;;ACdA;AAEO,MAAM,gBAAgB,GAAG;AAEzB,MAAM,sBAAsB,GAAG;AAC/B,MAAM,sBAAsB,GAAG;MAEzB,mBAAmB,GAAG,CAAC,sBAAsB,EAAE,sBAAsB;AAIlF;;ACXA;AAoBA;;ACpBA;AA4HA;;AC5HA;AAkCA;;AClCA;;AAEG;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AXPSettingsService, AXPIntegrationRuntimeService, AXP_SETTING_DEFINITION_PROVIDER, AXP_INTEGRATION_DOMAIN_PROVIDER } from '@acorex-platform/framework-client/common';
|
|
2
|
-
import {
|
|
2
|
+
import { AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER } from '@acorex-platform/framework-client/core';
|
|
3
3
|
import { AXPEntityService, AXP_ENTITY_DEFINITION_LOADER, AXP_ENTITY_MODIFIER } from '@acorex-platform/framework-client/layout/entity';
|
|
4
4
|
import { AXP_PAGE_COMPONENT_PROVIDER } from '@acorex-platform/framework-client/layout/components';
|
|
5
5
|
import * as i0 from '@angular/core';
|
|
@@ -129,22 +129,23 @@ const AXE_SOURCE_CONTROL_EXPRESSION_SCOPE = 'SourceControlExtension';
|
|
|
129
129
|
//#region ----- Provider -----
|
|
130
130
|
class AXESourceControlProjectLinkExpressionEvaluatorScopeProvider {
|
|
131
131
|
constructor() {
|
|
132
|
+
//#region ----- Services & Dependencies -----
|
|
132
133
|
this.entityService = inject(AXPEntityService);
|
|
133
134
|
this.settingsService = inject(AXPSettingsService);
|
|
134
135
|
this.integrationRuntime = inject(AXPIntegrationRuntimeService);
|
|
135
136
|
}
|
|
137
|
+
//#endregion
|
|
136
138
|
async provide(context) {
|
|
137
139
|
context.addScope(AXE_SOURCE_CONTROL_EXPRESSION_SCOPE, {
|
|
138
140
|
isEnabledForProject: async (platformProjectIdRaw) => {
|
|
139
141
|
const projectTypeId = await this.resolveProjectTypeId(platformProjectIdRaw);
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
return enabledIds.includes(projectTypeId);
|
|
142
|
+
return this.isProjectTypeEnabled(projectTypeId);
|
|
143
|
+
},
|
|
144
|
+
isEnabledForProjectType: async (projectTypeIdRaw) => {
|
|
145
|
+
return this.isProjectTypeEnabled(this.coerceId(projectTypeIdRaw));
|
|
145
146
|
},
|
|
146
147
|
hasRepoLink: async (platformProjectIdRaw) => {
|
|
147
|
-
const platformProjectId =
|
|
148
|
+
const platformProjectId = this.coerceId(platformProjectIdRaw);
|
|
148
149
|
if (!platformProjectId) {
|
|
149
150
|
return false;
|
|
150
151
|
}
|
|
@@ -165,8 +166,25 @@ class AXESourceControlProjectLinkExpressionEvaluatorScopeProvider {
|
|
|
165
166
|
},
|
|
166
167
|
});
|
|
167
168
|
}
|
|
169
|
+
//#region ----- Enabled project types -----
|
|
170
|
+
coerceId(raw) {
|
|
171
|
+
if (typeof raw === 'string') {
|
|
172
|
+
return raw.trim();
|
|
173
|
+
}
|
|
174
|
+
if (raw && typeof raw === 'object' && 'id' in raw) {
|
|
175
|
+
return String(raw.id ?? '').trim();
|
|
176
|
+
}
|
|
177
|
+
return '';
|
|
178
|
+
}
|
|
179
|
+
async isProjectTypeEnabled(projectTypeId) {
|
|
180
|
+
if (!projectTypeId) {
|
|
181
|
+
return false;
|
|
182
|
+
}
|
|
183
|
+
const enabledIds = await this.resolveEnabledProjectTypeIds();
|
|
184
|
+
return enabledIds.includes(projectTypeId);
|
|
185
|
+
}
|
|
168
186
|
async resolveProjectTypeId(platformProjectIdRaw) {
|
|
169
|
-
const platformProjectId =
|
|
187
|
+
const platformProjectId = this.coerceId(platformProjectIdRaw);
|
|
170
188
|
if (!platformProjectId) {
|
|
171
189
|
return '';
|
|
172
190
|
}
|
|
@@ -178,11 +196,12 @@ class AXESourceControlProjectLinkExpressionEvaluatorScopeProvider {
|
|
|
178
196
|
}
|
|
179
197
|
async resolveEnabledProjectTypeIds() {
|
|
180
198
|
const raw = await this.settingsService.get(AXESourceControlExtensionSettings.EnabledProjectTypeIds);
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
return
|
|
199
|
+
const fromSetting = Array.isArray(raw)
|
|
200
|
+
? raw.map((item) => String(item).trim()).filter(Boolean)
|
|
201
|
+
: [];
|
|
202
|
+
return fromSetting.length > 0 ? fromSetting : [AXE_SC_DEFAULT_ENABLED_PROJECT_TYPE_ID];
|
|
185
203
|
}
|
|
204
|
+
//#endregion
|
|
186
205
|
async findLinkByProjectId(projectId) {
|
|
187
206
|
const result = await this.entityService
|
|
188
207
|
.withEntity(RootConfig.module.name, RootConfig.entities.projectSourceControlLink.name)
|
|
@@ -221,17 +240,25 @@ const AXESourceControlProjectEntityModifier = {
|
|
|
221
240
|
return;
|
|
222
241
|
}
|
|
223
242
|
ctx.entity.pages ??= [];
|
|
224
|
-
const
|
|
225
|
-
if (pageExists) {
|
|
226
|
-
return;
|
|
227
|
-
}
|
|
228
|
-
ctx.entity.pages.push({
|
|
243
|
+
const page = {
|
|
229
244
|
componentKey: SOURCE_CONTROL_PAGE_COMPONENT_KEY,
|
|
230
245
|
title: '@extensions-source-control:pages.repository.title',
|
|
231
246
|
icon: 'fa-light fa-code-branch',
|
|
232
247
|
layout: { order: SOURCE_CONTROL_PAGE_ORDER },
|
|
233
|
-
|
|
234
|
-
|
|
248
|
+
/**
|
|
249
|
+
* Required for update/edit form wizard steps.
|
|
250
|
+
* Details view always includes entity.pages; empty state handles unlinked records.
|
|
251
|
+
*/
|
|
252
|
+
appearOn: { update: true },
|
|
253
|
+
hidden: `{{ !(await ${AXE_SOURCE_CONTROL_EXPRESSION_SCOPE}.isEnabledForProjectType(context.eval("projectTypeId"))) }}`,
|
|
254
|
+
};
|
|
255
|
+
const existingIndex = ctx.entity.pages.findIndex((entry) => entry.componentKey === SOURCE_CONTROL_PAGE_COMPONENT_KEY);
|
|
256
|
+
if (existingIndex >= 0) {
|
|
257
|
+
ctx.entity.pages[existingIndex] = page;
|
|
258
|
+
}
|
|
259
|
+
else {
|
|
260
|
+
ctx.entity.pages.push(page);
|
|
261
|
+
}
|
|
235
262
|
},
|
|
236
263
|
};
|
|
237
264
|
//#endregion
|
|
@@ -254,19 +281,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
254
281
|
type: Injectable
|
|
255
282
|
}] });
|
|
256
283
|
|
|
257
|
-
//#region ----- Manifest -----
|
|
258
|
-
const SourceControlExtensionManifest = {
|
|
259
|
-
name: RootConfig.module.name,
|
|
260
|
-
version: '1.0.0',
|
|
261
|
-
title: RootConfig.module.title,
|
|
262
|
-
icon: RootConfig.module.icon,
|
|
263
|
-
i18n: RootConfig.config.i18n,
|
|
264
|
-
type: 'integration',
|
|
265
|
-
domain: 'source-control',
|
|
266
|
-
dependencies: [],
|
|
267
|
-
};
|
|
268
|
-
//#endregion
|
|
269
|
-
|
|
270
284
|
//#region ----- Imports -----
|
|
271
285
|
//#endregion
|
|
272
286
|
//#region ----- Module -----
|
|
@@ -274,7 +288,6 @@ class AXESourceControlExtensionModule {
|
|
|
274
288
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXESourceControlExtensionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
275
289
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: AXESourceControlExtensionModule }); }
|
|
276
290
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXESourceControlExtensionModule, providers: [
|
|
277
|
-
{ provide: AXP_MODULE_MANIFEST_PROVIDER, useValue: SourceControlExtensionManifest, multi: true },
|
|
278
291
|
{ provide: AXP_SETTING_DEFINITION_PROVIDER, useClass: AXESourceControlSettingsProvider, multi: true },
|
|
279
292
|
{ provide: AXP_INTEGRATION_DOMAIN_PROVIDER, useClass: AXESourceControlIntegrationDomainProvider, multi: true },
|
|
280
293
|
{ provide: AXP_ENTITY_DEFINITION_LOADER, useClass: AXESourceControlEntityProvider, multi: true },
|
|
@@ -295,7 +308,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
295
308
|
type: NgModule,
|
|
296
309
|
args: [{
|
|
297
310
|
providers: [
|
|
298
|
-
{ provide: AXP_MODULE_MANIFEST_PROVIDER, useValue: SourceControlExtensionManifest, multi: true },
|
|
299
311
|
{ provide: AXP_SETTING_DEFINITION_PROVIDER, useClass: AXESourceControlSettingsProvider, multi: true },
|
|
300
312
|
{ provide: AXP_INTEGRATION_DOMAIN_PROVIDER, useClass: AXESourceControlIntegrationDomainProvider, multi: true },
|
|
301
313
|
{ provide: AXP_ENTITY_DEFINITION_LOADER, useClass: AXESourceControlEntityProvider, multi: true },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-extension-source-control-core-client.mjs","sources":["../../../../libs/extensions/source-control/core/client/src/lib/entity.provider.ts","../../../../libs/extensions/source-control/core/client/src/lib/integration/source-control.integration-domain.provider.ts","../../../../libs/extensions/source-control/core/client/src/lib/settings.provider.ts","../../../../libs/extensions/source-control/core/client/src/lib/features/project-management/source-control-project-link-expression-evaluator-scope.provider.ts","../../../../libs/extensions/source-control/core/client/src/lib/features/project-management/source-control-page/source-control-page.constants.ts","../../../../libs/extensions/source-control/core/client/src/lib/features/project-management/project-source-control.entity-modifier.ts","../../../../libs/extensions/source-control/core/client/src/lib/features/project-management/source-control-page/source-control-page-component.provider.ts","../../../../libs/extensions/source-control/core/client/src/lib/manifest.ts","../../../../libs/extensions/source-control/core/client/src/lib/source-control-extension.module.ts","../../../../libs/extensions/source-control/core/client/src/acorex-platform-extension-source-control-core-client.ts"],"sourcesContent":["//#region ----- Imports -----\n\nimport { AXPEntity } from '@acorex-platform/framework-shared/entity';\nimport { AXPEntityDefinitionLoader, AXPEntityPreloadEntity } from '@acorex-platform/framework-client/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '@acorex-platform/extension-source-control-core-client/contracts';\n\n//#endregion\n\n//#region ----- Entity Provider -----\n\n@Injectable()\nexport class AXESourceControlEntityProvider implements AXPEntityDefinitionLoader {\n preload(): AXPEntityPreloadEntity[] {\n const module = RootConfig.module.name;\n return Object.values(RootConfig.entities).map((entity) => ({\n module,\n entity: entity.name,\n }));\n }\n\n async get(moduleName: string, entityName: string): Promise<AXPEntity | null> {\n if (moduleName !== RootConfig.module.name) {\n return null;\n }\n\n if (entityName === RootConfig.entities.projectSourceControlLink.name) {\n return (await import('@acorex-platform/extension-source-control-core-domain')).projectSourceControlLinkFactory();\n }\n\n return null;\n }\n\n async list(): Promise<{ name: string; module: string }[]> {\n const module = RootConfig.module.name;\n return Object.values(RootConfig.entities).map((entity) => ({\n name: entity.name,\n module,\n }));\n }\n}\n\n//#endregion\n","//#region ----- Imports -----\n\nimport {\n AXP_INTEGRATION_CAPABILITY,\n AXP_INTEGRATION_CATEGORY,\n} from '@acorex-platform/framework-shared/core';\nimport {\n type AXPIntegrationDomainProvider,\n AXPIntegrationDomainProviderContext,\n} from '@acorex-platform/framework-client/common';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '@acorex-platform/extension-source-control-core-client/contracts';\n\n//#endregion\n\n//#region ----- Constants -----\n\nconst I18N = `@${RootConfig.config.i18n}:integration.domain`;\n\n//#endregion\n\n//#region ----- Domain Provider -----\n\n@Injectable()\nexport class AXESourceControlIntegrationDomainProvider implements AXPIntegrationDomainProvider {\n async provide(context: AXPIntegrationDomainProviderContext): Promise<void> {\n context.register({\n id: AXP_INTEGRATION_CATEGORY.SourceControl,\n module: RootConfig.module.name,\n displayName: `${I18N}.title`,\n description: `${I18N}.description`,\n icon: RootConfig.module.icon,\n category: AXP_INTEGRATION_CATEGORY.SourceControl,\n capabilities: [AXP_INTEGRATION_CAPABILITY.Sync, AXP_INTEGRATION_CAPABILITY.Import],\n sortOrder: 30,\n });\n }\n}\n\n//#endregion\n","//#region ----- Imports -----\n\nimport { AXPSessionService } from '@acorex-platform/framework-client/auth';\nimport {\n AXPSettingDefinitionProvider,\n AXPSettingDefinitionProviderContext,\n} from '@acorex-platform/framework-client/common';\nimport { AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { Injectable, inject } from '@angular/core';\nimport {\n AXE_SC_DEFAULT_ENABLED_PROJECT_TYPE_ID,\n AXESourceControlExtensionSettings,\n RootConfig,\n} from '@acorex-platform/extension-source-control-core-client/contracts';\nimport { RootConfig as PmRootConfig } from '@acorex-platform/module-project-management-client/contracts';\n\n//#endregion\n\n//#region ----- Constants -----\n\nconst SC_SETTINGS_GROUP = 'source-control';\nconst I18N = `@${RootConfig.config.i18n}:settings.source-control`;\n\n//#endregion\n\n//#region ----- Settings Provider -----\n\n@Injectable()\nexport class AXESourceControlSettingsProvider implements AXPSettingDefinitionProvider {\n private readonly sessionService = inject(AXPSessionService);\n\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n // Only register when the edition entitles Source Control (e.g. not Safetyminder).\n if (!this.sessionService.isModuleEnabled(RootConfig.module.name)) {\n return;\n }\n\n if (context.hasGroup(SC_SETTINGS_GROUP)) {\n return;\n }\n\n context\n .addGroup(\n SC_SETTINGS_GROUP,\n `${I18N}.group.nav-title`,\n `${I18N}.group.description`,\n RootConfig.module.icon,\n `${I18N}.group.title`,\n 47,\n )\n .addSection('configuration', `${I18N}.section-title`, `${I18N}.section-description`)\n .addSetting({\n key: AXESourceControlExtensionSettings.EnabledProjectTypeIds,\n title: `${I18N}.enabled-project-types.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: [AXE_SC_DEFAULT_ENABLED_PROJECT_TYPE_ID],\n widget: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${PmRootConfig.module.name}.${PmRootConfig.entities.projectType.name}`,\n look: 'select',\n multiple: true,\n textField: 'title',\n valueField: 'id',\n hasClearButton: true,\n },\n },\n description: `${I18N}.enabled-project-types.description`,\n })\n .endSection()\n .endGroup();\n }\n}\n\n//#endregion\n","//#region ----- Imports -----\n\nimport { AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviderContext } from '@acorex-platform/framework-shared/core';\nimport { AXPIntegrationRuntimeService, AXPSettingsService } from '@acorex-platform/framework-client/common';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { inject } from '@angular/core';\nimport {\n AXE_SC_PROVIDER_IDS,\n AXESourceControlExtensionSettings,\n RootConfig,\n type AXESourceControlProjectSourceControlLinkEntityModel,\n} from '@acorex-platform/extension-source-control-core-client/contracts';\nimport { RootConfig as PmRootConfig } from '@acorex-platform/module-project-management-client/contracts';\nimport type { AXMProjectManagementProjectEntityModel } from '@acorex-platform/module-project-management-client/contracts';\n\n//#endregion\n\n//#region ----- Constants -----\n\n/** Expression scope namespace (no hyphens — safe for `with (scope)` eval). */\nexport const AXE_SOURCE_CONTROL_EXPRESSION_SCOPE = 'SourceControlExtension';\n\n//#endregion\n\n//#region ----- Provider -----\n\nexport class AXESourceControlProjectLinkExpressionEvaluatorScopeProvider implements AXPExpressionEvaluatorScopeProvider {\n private readonly entityService = inject(AXPEntityService);\n private readonly settingsService = inject(AXPSettingsService);\n private readonly integrationRuntime = inject(AXPIntegrationRuntimeService);\n\n async provide(context: AXPExpressionEvaluatorScopeProviderContext): Promise<void> {\n context.addScope(AXE_SOURCE_CONTROL_EXPRESSION_SCOPE, {\n isEnabledForProject: async (platformProjectIdRaw?: unknown): Promise<boolean> => {\n const projectTypeId = await this.resolveProjectTypeId(platformProjectIdRaw);\n if (!projectTypeId) {\n return false;\n }\n\n const enabledIds = await this.resolveEnabledProjectTypeIds();\n return enabledIds.includes(projectTypeId);\n },\n hasRepoLink: async (platformProjectIdRaw?: unknown): Promise<boolean> => {\n const platformProjectId = typeof platformProjectIdRaw === 'string' ? platformProjectIdRaw.trim() : '';\n if (!platformProjectId) {\n return false;\n }\n\n const link = await this.findLinkByProjectId(platformProjectId);\n return Boolean(link);\n },\n hasAnyConnection: async (): Promise<boolean> => {\n for (const providerId of AXE_SC_PROVIDER_IDS) {\n try {\n await this.integrationRuntime.getConnection({ providerId, connectionScope: 'tenant' });\n return true;\n } catch {\n // try next provider\n }\n }\n return false;\n },\n });\n }\n\n private async resolveProjectTypeId(platformProjectIdRaw?: unknown): Promise<string> {\n const platformProjectId = typeof platformProjectIdRaw === 'string' ? platformProjectIdRaw.trim() : '';\n if (!platformProjectId) {\n return '';\n }\n\n const project = (await this.entityService\n .withEntity(PmRootConfig.module.name, PmRootConfig.entities.project.name)\n .data<string, AXMProjectManagementProjectEntityModel>()\n .byKey(platformProjectId)) as AXMProjectManagementProjectEntityModel | null;\n\n return String(project?.projectTypeId ?? '').trim();\n }\n\n private async resolveEnabledProjectTypeIds(): Promise<string[]> {\n const raw = await this.settingsService.get(AXESourceControlExtensionSettings.EnabledProjectTypeIds);\n if (!Array.isArray(raw)) {\n return [];\n }\n return raw.map((item) => String(item).trim()).filter(Boolean);\n }\n\n private async findLinkByProjectId(\n projectId: string,\n ): Promise<AXESourceControlProjectSourceControlLinkEntityModel | null> {\n const result = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.projectSourceControlLink.name)\n .data<string, AXESourceControlProjectSourceControlLinkEntityModel>()\n .query({\n skip: 0,\n take: 1,\n filter: {\n field: 'projectId',\n operator: { type: 'equal' },\n value: projectId,\n },\n });\n\n return result.items?.[0] ?? null;\n }\n}\n\n//#endregion\n","//#region ----- Constants -----\n\n/** Component key for the project source-control repository page tab. */\nexport const SOURCE_CONTROL_PAGE_COMPONENT_KEY = 'entity-source-control-page';\n\n//#endregion\n","//#region ----- Imports -----\r\r\n\r\r\nimport { AXPEntityModifierProvider } from '@acorex-platform/framework-client/layout/entity';\r\r\nimport { RootConfig as PmRootConfig } from '@acorex-platform/module-project-management-client/contracts';\r\r\nimport { AXE_SOURCE_CONTROL_EXPRESSION_SCOPE } from './source-control-project-link-expression-evaluator-scope.provider';\r\r\nimport { SOURCE_CONTROL_PAGE_COMPONENT_KEY } from './source-control-page/source-control-page.constants';\r\r\n\r\r\n//#endregion\r\r\n\r\r\n//#region ----- Constants -----\r\r\n\r\r\nconst SOURCE_CONTROL_PAGE_ORDER = 145_000;\r\r\n\r\r\n//#endregion\r\r\n\r\r\n//#region ----- Modifier -----\r\r\n\r\r\n/** Adds a source-control repository tab to ProjectManagement.Project detail views. */\r\r\nexport const AXESourceControlProjectEntityModifier: AXPEntityModifierProvider = {\r\r\n entityName: PmRootConfig.entities.project.name,\r\r\n order: 55,\r\r\n modifier: (ctx) => {\r\r\n if (ctx.module.get() !== PmRootConfig.module.name) {\r\r\n return;\r\r\n }\r\r\n\r\r\n ctx.entity.pages ??= [];\r\r\n const pageExists = ctx.entity.pages.some((page) => page.componentKey === SOURCE_CONTROL_PAGE_COMPONENT_KEY);\r\r\n if (pageExists) {\r\r\n return;\r\r\n }\r\r\n\r\r\n ctx.entity.pages.push({\r\r\n componentKey: SOURCE_CONTROL_PAGE_COMPONENT_KEY,\r\r\n title: '@extensions-source-control:pages.repository.title',\r\r\n icon: 'fa-light fa-code-branch',\r\r\n layout: { order: SOURCE_CONTROL_PAGE_ORDER },\r\r\n hidden: `{{ !(await ${AXE_SOURCE_CONTROL_EXPRESSION_SCOPE}.isEnabledForProject(context.eval(\"id\"))) }}`,\r\r\n });\r\r\n },\r\r\n};\r\r\n\r\r\n//#endregion\r\r\n","//#region ----- Imports -----\n\nimport {\n AXPPageComponentDefinition,\n AXPPageComponentProvider,\n} from '@acorex-platform/framework-client/layout/components';\nimport { Injectable } from '@angular/core';\nimport { SOURCE_CONTROL_PAGE_COMPONENT_KEY } from './source-control-page.constants';\n\n//#endregion\n\n//#region ----- Provider -----\n\n@Injectable()\nexport class AXESourceControlPageComponentProvider implements AXPPageComponentProvider {\n async components(): Promise<AXPPageComponentDefinition[]> {\n return [\n {\n key: SOURCE_CONTROL_PAGE_COMPONENT_KEY,\n loader: () =>\n import('./source-control-page.component').then((m) => m.AXESourceControlPageComponent),\n },\n ];\n }\n}\n\n//#endregion\n","//#region ----- Manifest -----\n\nimport { AXPModuleManifest } from '@acorex-platform/framework-client/core';\nimport { RootConfig } from '@acorex-platform/extension-source-control-core-client/contracts';\n\nexport const SourceControlExtensionManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n type: 'integration',\n domain: 'source-control',\n dependencies: [],\n};\n\n//#endregion\n","//#region ----- Imports -----\r\r\n\r\r\nimport {\r\r\n AXP_INTEGRATION_DOMAIN_PROVIDER,\r\r\n AXP_SETTING_DEFINITION_PROVIDER,\r\r\n} from '@acorex-platform/framework-client/common';\r\r\nimport { AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, AXP_MODULE_MANIFEST_PROVIDER } from '@acorex-platform/framework-client/core';\r\r\nimport { AXP_ENTITY_DEFINITION_LOADER, AXP_ENTITY_MODIFIER } from '@acorex-platform/framework-client/layout/entity';\r\r\nimport { AXP_PAGE_COMPONENT_PROVIDER } from '@acorex-platform/framework-client/layout/components';\r\r\nimport { RootConfig } from '@acorex-platform/extension-source-control-core-client/contracts';\r\r\nimport { NgModule } from '@angular/core';\r\r\nimport { AXESourceControlEntityProvider } from './entity.provider';\r\r\nimport { AXESourceControlIntegrationDomainProvider } from './integration/source-control.integration-domain.provider';\r\r\nimport { AXESourceControlSettingsProvider } from './settings.provider';\r\r\nimport { AXESourceControlProjectLinkExpressionEvaluatorScopeProvider } from './features/project-management/source-control-project-link-expression-evaluator-scope.provider';\r\r\nimport { AXESourceControlProjectEntityModifier } from './features/project-management/project-source-control.entity-modifier';\r\r\nimport { AXESourceControlPageComponentProvider } from './features/project-management/source-control-page/source-control-page-component.provider';\r\r\nimport { SourceControlExtensionManifest } from './manifest';\r\r\n\r\r\n//#endregion\r\r\n\r\r\n//#region ----- Module -----\r\r\n\r\r\n@NgModule({\r\r\n providers: [\r\r\n { provide: AXP_MODULE_MANIFEST_PROVIDER, useValue: SourceControlExtensionManifest, multi: true },\r\r\n { provide: AXP_SETTING_DEFINITION_PROVIDER, useClass: AXESourceControlSettingsProvider, multi: true },\r\r\n { provide: AXP_INTEGRATION_DOMAIN_PROVIDER, useClass: AXESourceControlIntegrationDomainProvider, multi: true },\r\r\n { provide: AXP_ENTITY_DEFINITION_LOADER, useClass: AXESourceControlEntityProvider, multi: true },\r\r\n { provide: AXP_ENTITY_MODIFIER, useValue: AXESourceControlProjectEntityModifier, multi: true },\r\r\n {\r\r\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\r\r\n useClass: AXESourceControlProjectLinkExpressionEvaluatorScopeProvider,\r\r\n multi: true,\r\r\n },\r\r\n {\r\r\n provide: AXP_PAGE_COMPONENT_PROVIDER,\r\r\n useClass: AXESourceControlPageComponentProvider,\r\r\n multi: true,\r\r\n },\r\r\n ],\r\r\n})\r\r\nexport class AXESourceControlExtensionModule {}\r\r\n\r\r\n//#endregion\r\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["I18N","PmRootConfig"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-platform-extension-source-control-core-client.mjs","sources":["../../../../libs/extensions/source-control/core/client/src/lib/entity.provider.ts","../../../../libs/extensions/source-control/core/client/src/lib/integration/source-control.integration-domain.provider.ts","../../../../libs/extensions/source-control/core/client/src/lib/settings.provider.ts","../../../../libs/extensions/source-control/core/client/src/lib/features/project-management/source-control-project-link-expression-evaluator-scope.provider.ts","../../../../libs/extensions/source-control/core/client/src/lib/features/project-management/source-control-page/source-control-page.constants.ts","../../../../libs/extensions/source-control/core/client/src/lib/features/project-management/project-source-control.entity-modifier.ts","../../../../libs/extensions/source-control/core/client/src/lib/features/project-management/source-control-page/source-control-page-component.provider.ts","../../../../libs/extensions/source-control/core/client/src/lib/source-control-extension.module.ts","../../../../libs/extensions/source-control/core/client/src/acorex-platform-extension-source-control-core-client.ts"],"sourcesContent":["//#region ----- Imports -----\n\nimport { AXPEntity } from '@acorex-platform/framework-shared/entity';\nimport { AXPEntityDefinitionLoader, AXPEntityPreloadEntity } from '@acorex-platform/framework-client/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '@acorex-platform/extension-source-control-core-client/contracts';\n\n//#endregion\n\n//#region ----- Entity Provider -----\n\n@Injectable()\nexport class AXESourceControlEntityProvider implements AXPEntityDefinitionLoader {\n preload(): AXPEntityPreloadEntity[] {\n const module = RootConfig.module.name;\n return Object.values(RootConfig.entities).map((entity) => ({\n module,\n entity: entity.name,\n }));\n }\n\n async get(moduleName: string, entityName: string): Promise<AXPEntity | null> {\n if (moduleName !== RootConfig.module.name) {\n return null;\n }\n\n if (entityName === RootConfig.entities.projectSourceControlLink.name) {\n return (await import('@acorex-platform/extension-source-control-core-domain')).projectSourceControlLinkFactory();\n }\n\n return null;\n }\n\n async list(): Promise<{ name: string; module: string }[]> {\n const module = RootConfig.module.name;\n return Object.values(RootConfig.entities).map((entity) => ({\n name: entity.name,\n module,\n }));\n }\n}\n\n//#endregion\n","//#region ----- Imports -----\n\nimport {\n AXP_INTEGRATION_CAPABILITY,\n AXP_INTEGRATION_CATEGORY,\n} from '@acorex-platform/framework-shared/core';\nimport {\n type AXPIntegrationDomainProvider,\n AXPIntegrationDomainProviderContext,\n} from '@acorex-platform/framework-client/common';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '@acorex-platform/extension-source-control-core-client/contracts';\n\n//#endregion\n\n//#region ----- Constants -----\n\nconst I18N = `@${RootConfig.config.i18n}:integration.domain`;\n\n//#endregion\n\n//#region ----- Domain Provider -----\n\n@Injectable()\nexport class AXESourceControlIntegrationDomainProvider implements AXPIntegrationDomainProvider {\n async provide(context: AXPIntegrationDomainProviderContext): Promise<void> {\n context.register({\n id: AXP_INTEGRATION_CATEGORY.SourceControl,\n module: RootConfig.module.name,\n displayName: `${I18N}.title`,\n description: `${I18N}.description`,\n icon: RootConfig.module.icon,\n category: AXP_INTEGRATION_CATEGORY.SourceControl,\n capabilities: [AXP_INTEGRATION_CAPABILITY.Sync, AXP_INTEGRATION_CAPABILITY.Import],\n sortOrder: 30,\n });\n }\n}\n\n//#endregion\n","//#region ----- Imports -----\n\nimport { AXPSessionService } from '@acorex-platform/framework-client/auth';\nimport {\n AXPSettingDefinitionProvider,\n AXPSettingDefinitionProviderContext,\n} from '@acorex-platform/framework-client/common';\nimport { AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { Injectable, inject } from '@angular/core';\nimport {\n AXE_SC_DEFAULT_ENABLED_PROJECT_TYPE_ID,\n AXESourceControlExtensionSettings,\n RootConfig,\n} from '@acorex-platform/extension-source-control-core-client/contracts';\nimport { RootConfig as PmRootConfig } from '@acorex-platform/module-project-management-client/contracts';\n\n//#endregion\n\n//#region ----- Constants -----\n\nconst SC_SETTINGS_GROUP = 'source-control';\nconst I18N = `@${RootConfig.config.i18n}:settings.source-control`;\n\n//#endregion\n\n//#region ----- Settings Provider -----\n\n@Injectable()\nexport class AXESourceControlSettingsProvider implements AXPSettingDefinitionProvider {\n private readonly sessionService = inject(AXPSessionService);\n\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n // Only register when the edition entitles Source Control (e.g. not Safetyminder).\n if (!this.sessionService.isModuleEnabled(RootConfig.module.name)) {\n return;\n }\n\n if (context.hasGroup(SC_SETTINGS_GROUP)) {\n return;\n }\n\n context\n .addGroup(\n SC_SETTINGS_GROUP,\n `${I18N}.group.nav-title`,\n `${I18N}.group.description`,\n RootConfig.module.icon,\n `${I18N}.group.title`,\n 47,\n )\n .addSection('configuration', `${I18N}.section-title`, `${I18N}.section-description`)\n .addSetting({\n key: AXESourceControlExtensionSettings.EnabledProjectTypeIds,\n title: `${I18N}.enabled-project-types.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: [AXE_SC_DEFAULT_ENABLED_PROJECT_TYPE_ID],\n widget: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${PmRootConfig.module.name}.${PmRootConfig.entities.projectType.name}`,\n look: 'select',\n multiple: true,\n textField: 'title',\n valueField: 'id',\n hasClearButton: true,\n },\n },\n description: `${I18N}.enabled-project-types.description`,\n })\n .endSection()\n .endGroup();\n }\n}\n\n//#endregion\n","//#region ----- Imports -----\n\nimport { AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviderContext } from '@acorex-platform/framework-shared/core';\nimport { AXPIntegrationRuntimeService, AXPSettingsService } from '@acorex-platform/framework-client/common';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { inject } from '@angular/core';\nimport {\n AXE_SC_DEFAULT_ENABLED_PROJECT_TYPE_ID,\n AXE_SC_PROVIDER_IDS,\n AXESourceControlExtensionSettings,\n RootConfig,\n type AXESourceControlProjectSourceControlLinkEntityModel,\n} from '@acorex-platform/extension-source-control-core-client/contracts';\nimport { RootConfig as PmRootConfig } from '@acorex-platform/module-project-management-client/contracts';\nimport type { AXMProjectManagementProjectEntityModel } from '@acorex-platform/module-project-management-client/contracts';\n\n//#endregion\n\n//#region ----- Constants -----\n\n/** Expression scope namespace (no hyphens — safe for `with (scope)` eval). */\nexport const AXE_SOURCE_CONTROL_EXPRESSION_SCOPE = 'SourceControlExtension';\n\n//#endregion\n\n//#region ----- Provider -----\n\nexport class AXESourceControlProjectLinkExpressionEvaluatorScopeProvider implements AXPExpressionEvaluatorScopeProvider {\n //#region ----- Services & Dependencies -----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly settingsService = inject(AXPSettingsService);\n private readonly integrationRuntime = inject(AXPIntegrationRuntimeService);\n\n //#endregion\n\n async provide(context: AXPExpressionEvaluatorScopeProviderContext): Promise<void> {\n context.addScope(AXE_SOURCE_CONTROL_EXPRESSION_SCOPE, {\n isEnabledForProject: async (platformProjectIdRaw?: unknown): Promise<boolean> => {\n const projectTypeId = await this.resolveProjectTypeId(platformProjectIdRaw);\n return this.isProjectTypeEnabled(projectTypeId);\n },\n isEnabledForProjectType: async (projectTypeIdRaw?: unknown): Promise<boolean> => {\n return this.isProjectTypeEnabled(this.coerceId(projectTypeIdRaw));\n },\n hasRepoLink: async (platformProjectIdRaw?: unknown): Promise<boolean> => {\n const platformProjectId = this.coerceId(platformProjectIdRaw);\n if (!platformProjectId) {\n return false;\n }\n\n const link = await this.findLinkByProjectId(platformProjectId);\n return Boolean(link);\n },\n hasAnyConnection: async (): Promise<boolean> => {\n for (const providerId of AXE_SC_PROVIDER_IDS) {\n try {\n await this.integrationRuntime.getConnection({ providerId, connectionScope: 'tenant' });\n return true;\n } catch {\n // try next provider\n }\n }\n return false;\n },\n });\n }\n\n //#region ----- Enabled project types -----\n\n private coerceId(raw?: unknown): string {\n if (typeof raw === 'string') {\n return raw.trim();\n }\n if (raw && typeof raw === 'object' && 'id' in raw) {\n return String((raw as { id: unknown }).id ?? '').trim();\n }\n return '';\n }\n\n private async isProjectTypeEnabled(projectTypeId: string): Promise<boolean> {\n if (!projectTypeId) {\n return false;\n }\n const enabledIds = await this.resolveEnabledProjectTypeIds();\n return enabledIds.includes(projectTypeId);\n }\n\n private async resolveProjectTypeId(platformProjectIdRaw?: unknown): Promise<string> {\n const platformProjectId = this.coerceId(platformProjectIdRaw);\n if (!platformProjectId) {\n return '';\n }\n\n const project = (await this.entityService\n .withEntity(PmRootConfig.module.name, PmRootConfig.entities.project.name)\n .data<string, AXMProjectManagementProjectEntityModel>()\n .byKey(platformProjectId)) as AXMProjectManagementProjectEntityModel | null;\n\n return String(project?.projectTypeId ?? '').trim();\n }\n\n private async resolveEnabledProjectTypeIds(): Promise<string[]> {\n const raw = await this.settingsService.get(AXESourceControlExtensionSettings.EnabledProjectTypeIds);\n const fromSetting = Array.isArray(raw)\n ? raw.map((item) => String(item).trim()).filter(Boolean)\n : [];\n return fromSetting.length > 0 ? fromSetting : [AXE_SC_DEFAULT_ENABLED_PROJECT_TYPE_ID];\n }\n\n //#endregion\n\n private async findLinkByProjectId(\n projectId: string,\n ): Promise<AXESourceControlProjectSourceControlLinkEntityModel | null> {\n const result = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.projectSourceControlLink.name)\n .data<string, AXESourceControlProjectSourceControlLinkEntityModel>()\n .query({\n skip: 0,\n take: 1,\n filter: {\n field: 'projectId',\n operator: { type: 'equal' },\n value: projectId,\n },\n });\n\n return result.items?.[0] ?? null;\n }\n}\n\n//#endregion\n","//#region ----- Constants -----\n\n/** Component key for the project source-control repository page tab. */\nexport const SOURCE_CONTROL_PAGE_COMPONENT_KEY = 'entity-source-control-page';\n\n//#endregion\n","//#region ----- Imports -----\r\n\r\nimport { AXPEntityModifierProvider } from '@acorex-platform/framework-client/layout/entity';\r\nimport { RootConfig as PmRootConfig } from '@acorex-platform/module-project-management-client/contracts';\r\nimport { AXE_SOURCE_CONTROL_EXPRESSION_SCOPE } from './source-control-project-link-expression-evaluator-scope.provider';\r\nimport { SOURCE_CONTROL_PAGE_COMPONENT_KEY } from './source-control-page/source-control-page.constants';\r\n\r\n//#endregion\r\n\r\n//#region ----- Constants -----\r\n\r\nconst SOURCE_CONTROL_PAGE_ORDER = 145_000;\r\n\r\n//#endregion\r\n\r\n//#region ----- Modifier -----\r\n\r\n/** Adds a source-control repository tab to ProjectManagement.Project detail views. */\r\nexport const AXESourceControlProjectEntityModifier: AXPEntityModifierProvider = {\r\n entityName: PmRootConfig.entities.project.name,\r\n order: 55,\r\n modifier: (ctx) => {\r\n if (ctx.module.get() !== PmRootConfig.module.name) {\r\n return;\r\n }\r\n\r\n ctx.entity.pages ??= [];\r\n const page = {\r\n componentKey: SOURCE_CONTROL_PAGE_COMPONENT_KEY,\r\n title: '@extensions-source-control:pages.repository.title',\r\n icon: 'fa-light fa-code-branch',\r\n layout: { order: SOURCE_CONTROL_PAGE_ORDER },\r\n /**\r\n * Required for update/edit form wizard steps.\r\n * Details view always includes entity.pages; empty state handles unlinked records.\r\n */\r\n appearOn: { update: true },\r\n hidden: `{{ !(await ${AXE_SOURCE_CONTROL_EXPRESSION_SCOPE}.isEnabledForProjectType(context.eval(\"projectTypeId\"))) }}`,\r\n };\r\n const existingIndex = ctx.entity.pages.findIndex(\r\n (entry) => entry.componentKey === SOURCE_CONTROL_PAGE_COMPONENT_KEY,\r\n );\r\n if (existingIndex >= 0) {\r\n ctx.entity.pages[existingIndex] = page;\r\n } else {\r\n ctx.entity.pages.push(page);\r\n }\r\n },\r\n};\r\n\r\n//#endregion\r\n","//#region ----- Imports -----\n\nimport {\n AXPPageComponentDefinition,\n AXPPageComponentProvider,\n} from '@acorex-platform/framework-client/layout/components';\nimport { Injectable } from '@angular/core';\nimport { SOURCE_CONTROL_PAGE_COMPONENT_KEY } from './source-control-page.constants';\n\n//#endregion\n\n//#region ----- Provider -----\n\n@Injectable()\nexport class AXESourceControlPageComponentProvider implements AXPPageComponentProvider {\n async components(): Promise<AXPPageComponentDefinition[]> {\n return [\n {\n key: SOURCE_CONTROL_PAGE_COMPONENT_KEY,\n loader: () =>\n import('./source-control-page.component').then((m) => m.AXESourceControlPageComponent),\n },\n ];\n }\n}\n\n//#endregion\n","//#region ----- Imports -----\r\n\r\nimport {\r\n AXP_INTEGRATION_DOMAIN_PROVIDER,\r\n AXP_SETTING_DEFINITION_PROVIDER,\r\n} from '@acorex-platform/framework-client/common';\r\nimport { AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER } from '@acorex-platform/framework-client/core';\r\nimport { AXP_ENTITY_DEFINITION_LOADER, AXP_ENTITY_MODIFIER } from '@acorex-platform/framework-client/layout/entity';\r\nimport { AXP_PAGE_COMPONENT_PROVIDER } from '@acorex-platform/framework-client/layout/components';\r\nimport { RootConfig } from '@acorex-platform/extension-source-control-core-client/contracts';\r\nimport { NgModule } from '@angular/core';\r\nimport { AXESourceControlEntityProvider } from './entity.provider';\r\nimport { AXESourceControlIntegrationDomainProvider } from './integration/source-control.integration-domain.provider';\r\nimport { AXESourceControlSettingsProvider } from './settings.provider';\r\nimport { AXESourceControlProjectLinkExpressionEvaluatorScopeProvider } from './features/project-management/source-control-project-link-expression-evaluator-scope.provider';\r\nimport { AXESourceControlProjectEntityModifier } from './features/project-management/project-source-control.entity-modifier';\r\nimport { AXESourceControlPageComponentProvider } from './features/project-management/source-control-page/source-control-page-component.provider';\r\n\r\n//#endregion\r\n\r\n//#region ----- Module -----\r\n\r\n@NgModule({\r\n providers: [\r\n { provide: AXP_SETTING_DEFINITION_PROVIDER, useClass: AXESourceControlSettingsProvider, multi: true },\r\n { provide: AXP_INTEGRATION_DOMAIN_PROVIDER, useClass: AXESourceControlIntegrationDomainProvider, multi: true },\r\n { provide: AXP_ENTITY_DEFINITION_LOADER, useClass: AXESourceControlEntityProvider, multi: true },\r\n { provide: AXP_ENTITY_MODIFIER, useValue: AXESourceControlProjectEntityModifier, multi: true },\r\n {\r\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\r\n useClass: AXESourceControlProjectLinkExpressionEvaluatorScopeProvider,\r\n multi: true,\r\n },\r\n {\r\n provide: AXP_PAGE_COMPONENT_PROVIDER,\r\n useClass: AXESourceControlPageComponentProvider,\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class AXESourceControlExtensionModule {}\r\n\r\n//#endregion\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["I18N","PmRootConfig"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@acorex-platform/extension-source-control-core-client",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.46",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^21.0.0 || ^22.0.0",
|
|
7
7
|
"@angular/core": "^21.0.0 || ^22.0.0"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@acorex-platform/extension-source-control-core-domain": "0.0.
|
|
10
|
+
"@acorex-platform/extension-source-control-core-domain": "0.0.46",
|
|
11
11
|
"tslib": "^2.3.0"
|
|
12
12
|
},
|
|
13
13
|
"module": "fesm2022/acorex-platform-extension-source-control-core-client.mjs",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AXPActionMenuItem } from '@acorex-platform/framework-shared/core';
|
|
1
|
+
import { AXPModuleManifest, AXPActionMenuItem } from '@acorex-platform/framework-shared/core';
|
|
2
2
|
import { AXPEntityModel } from '@acorex-platform/framework-shared/entity';
|
|
3
3
|
|
|
4
4
|
declare const RootConfig: {
|
|
@@ -22,6 +22,8 @@ declare const RootConfig: {
|
|
|
22
22
|
};
|
|
23
23
|
};
|
|
24
24
|
|
|
25
|
+
declare const SourceControlExtensionManifest: AXPModuleManifest;
|
|
26
|
+
|
|
25
27
|
declare const AXESourceControlExtensionSettings: {
|
|
26
28
|
readonly EnabledProjectTypeIds: "SourceControlExtension:Setting:EnabledProjectTypeIds";
|
|
27
29
|
};
|
|
@@ -132,5 +134,5 @@ interface AXESourceControlBranchActionsHookPayload {
|
|
|
132
134
|
actions: AXPActionMenuItem[];
|
|
133
135
|
}
|
|
134
136
|
|
|
135
|
-
export { AXESourceControlCommandKeys, AXESourceControlExtensionSettings, AXESourceControlHookKeys, AXE_SC_DEFAULT_ENABLED_PROJECT_TYPE_ID, AXE_SC_DOMAIN_ID, AXE_SC_PROVIDER_GITHUB, AXE_SC_PROVIDER_GITLAB, AXE_SC_PROVIDER_IDS, RootConfig };
|
|
137
|
+
export { AXESourceControlCommandKeys, AXESourceControlExtensionSettings, AXESourceControlHookKeys, AXE_SC_DEFAULT_ENABLED_PROJECT_TYPE_ID, AXE_SC_DOMAIN_ID, AXE_SC_PROVIDER_GITHUB, AXE_SC_PROVIDER_GITLAB, AXE_SC_PROVIDER_IDS, RootConfig, SourceControlExtensionManifest };
|
|
136
138
|
export type { AXESourceControlBranchActionsHookPayload, AXESourceControlBranchDto, AXESourceControlCommitActionsHookPayload, AXESourceControlCommitDto, AXESourceControlLinkRepositoryCommandInput, AXESourceControlLinkRepositoryPayload, AXESourceControlListBranchesRequest, AXESourceControlListBranchesResponse, AXESourceControlListCommitsRequest, AXESourceControlListCommitsResponse, AXESourceControlProjectSourceControlLinkEntityModel, AXESourceControlProviderId, AXESourceControlRemoteRepoDto, AXESourceControlSearchReposRequest, AXESourceControlSearchReposResponse, AXESourceControlUnlinkRepositoryCommandInput };
|