@acorex-platform/extension-project-management-core-client 0.0.38 → 0.0.48

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.
@@ -10,16 +10,6 @@ const RootConfig = {
10
10
  title: `@${config.i18n}:module.title`,
11
11
  icon: 'fa-light fa-diagram-project',
12
12
  },
13
- entities: {
14
- integrationRemoteRecord: {
15
- name: 'IntegrationRemoteRecord',
16
- fullName: `${MODULE_NAME}.IntegrationRemoteRecord`,
17
- title: `@${config.i18n}:integration-remote-record.entities.record.title`,
18
- titlePlural: `@${config.i18n}:integration-remote-record.entities.record.plural`,
19
- icon: 'fa-light fa-cloud-arrow-down',
20
- source: `${MODULE_NAME}.IntegrationRemoteRecord`,
21
- },
22
- },
23
13
  };
24
14
  //#endregion
25
15
 
@@ -38,12 +28,6 @@ const AXE_PM_DOMAIN_ID = 'project-management';
38
28
  const AXE_PM_INTEGRATION_PROVIDER_SIMPRO = 'simpro';
39
29
  const AXE_PM_INTEGRATION_PROVIDER_SERVICEM8 = 'servicem8';
40
30
  const AXE_PM_INTEGRATION_PROVIDER_FERGUS = 'fergus';
41
- const AXE_PM_INTEGRATION_RESOURCE_JOB = 'job';
42
- const AXE_PM_INTEGRATION_RESOURCE_CUSTOMER = 'customer';
43
- const AXE_PM_INTEGRATION_RESOURCE_SITE = 'site';
44
- //#endregion
45
-
46
- //#region ---- Integration remote record (cache entity) ----
47
31
  //#endregion
48
32
 
49
33
  //#region ---- Shared project-management sync types ----
@@ -62,5 +46,5 @@ const AXE_PM_PROJECT_IMPORT_PORT = Symbol('AXE_PM_PROJECT_IMPORT_PORT');
62
46
  * Generated bundle index. Do not edit.
63
47
  */
64
48
 
65
- export { AXEPMExtensionSettings, AXE_PM_DOMAIN_ID, AXE_PM_INTEGRATION_PROVIDER_FERGUS, AXE_PM_INTEGRATION_PROVIDER_SERVICEM8, AXE_PM_INTEGRATION_PROVIDER_SIMPRO, AXE_PM_INTEGRATION_RESOURCE_CUSTOMER, AXE_PM_INTEGRATION_RESOURCE_JOB, AXE_PM_INTEGRATION_RESOURCE_SITE, AXE_PM_PROJECT_IMPORT_PORT, AXE_PM_PROJECT_SYNC_STRATEGIES, RootConfig };
49
+ export { AXEPMExtensionSettings, AXE_PM_DOMAIN_ID, AXE_PM_INTEGRATION_PROVIDER_FERGUS, AXE_PM_INTEGRATION_PROVIDER_SERVICEM8, AXE_PM_INTEGRATION_PROVIDER_SIMPRO, AXE_PM_PROJECT_IMPORT_PORT, AXE_PM_PROJECT_SYNC_STRATEGIES, RootConfig };
66
50
  //# sourceMappingURL=acorex-platform-extension-project-management-core-client-contracts.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-extension-project-management-core-client-contracts.mjs","sources":["../../../../libs/extensions/project-management/core/contracts/src/root-config.ts","../../../../libs/extensions/project-management/core/contracts/src/settings.keys.ts","../../../../libs/extensions/project-management/core/contracts/src/integration-domain.constants.ts","../../../../libs/extensions/project-management/core/contracts/src/integration-remote.constants.ts","../../../../libs/extensions/project-management/core/contracts/src/integration-remote-record.types.ts","../../../../libs/extensions/project-management/core/contracts/src/project-sync.types.ts","../../../../libs/extensions/project-management/core/contracts/src/project-import.port.ts","../../../../libs/extensions/project-management/core/contracts/src/acorex-platform-extension-project-management-core-client-contracts.ts"],"sourcesContent":["//#region ---- Project management extension root config ----\n\nconst config = {\n i18n: 'extensions-project-management',\n};\n\nconst MODULE_NAME = 'ProjectManagementExtension';\n\nexport const RootConfig = {\n config,\n module: {\n name: MODULE_NAME,\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-diagram-project',\n },\n entities: {\n integrationRemoteRecord: {\n name: 'IntegrationRemoteRecord',\n fullName: `${MODULE_NAME}.IntegrationRemoteRecord`,\n title: `@${config.i18n}:integration-remote-record.entities.record.title`,\n titlePlural: `@${config.i18n}:integration-remote-record.entities.record.plural`,\n icon: 'fa-light fa-cloud-arrow-down',\n source: `${MODULE_NAME}.IntegrationRemoteRecord`,\n },\n },\n};\n\n//#endregion\n","//#region ---- Project management extension settings keys ----\n\nexport const AXEPMExtensionSettings = {\n ConnectionsPanel: 'ProjectManagementExtension:Setting:ConnectionsPanel',\n DefaultProjectTypeId: 'ProjectManagementExtension:Setting:DefaultProjectTypeId',\n} as const;\n\n//#endregion\n","//#region ---- Project management integration domain ----\n\nexport const AXE_PM_DOMAIN_ID = 'project-management';\n\n//#endregion\n","//#region ---- Integration remote record constants ----\n\nexport const AXE_PM_INTEGRATION_PROVIDER_SIMPRO = 'simpro';\nexport const AXE_PM_INTEGRATION_PROVIDER_SERVICEM8 = 'servicem8';\nexport const AXE_PM_INTEGRATION_PROVIDER_FERGUS = 'fergus';\nexport const AXE_PM_INTEGRATION_RESOURCE_JOB = 'job';\nexport const AXE_PM_INTEGRATION_RESOURCE_CUSTOMER = 'customer';\nexport const AXE_PM_INTEGRATION_RESOURCE_SITE = 'site';\n\n//#endregion\n","//#region ---- Integration remote record (cache entity) ----\n\nimport type { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\n\n/**\n * Resource / data-type discriminator for cached remote rows.\n * For Simpro multi-connection, `providerId` on the row is the **connection id**\n * (not the integration provider key), and `resourceType` is the data type.\n */\nexport type AXEPMIntegrationResourceType = 'job' | 'customer' | 'site' | 'project' | 'task';\n\nexport interface AXEPMIntegrationRemoteRecordEntityModel extends AXPEntityModel<string> {\n /**\n * Cache partition key.\n * Simpro: integration connection id. Other providers may still use provider key (e.g. `servicem8`).\n */\n providerId: string;\n /** Data type: job | customer | site | … */\n resourceType: AXEPMIntegrationResourceType | string;\n remoteId: string;\n name: string;\n code?: string | null;\n orderNo?: string | null;\n stage?: string | null;\n customerName?: string | null;\n siteName?: string | null;\n dueDate?: string | null;\n /** Display name of the owning integration connection (Simpro multi-connection lists). */\n connectionDisplayName?: string | null;\n payloadJson?: string | null;\n remoteFetchedAt: string;\n isActive: boolean;\n isLinked: boolean;\n}\n\nexport interface AXEPMIntegrationRemoteRecordUpsertInput {\n remoteId: string;\n name: string;\n code?: string | null;\n orderNo?: string | null;\n stage?: string | null;\n customerName?: string | null;\n siteName?: string | null;\n dueDate?: string | null;\n connectionDisplayName?: string | null;\n payloadJson?: string | null;\n}\n\nexport interface AXEPMIntegrationRemotePullResult {\n upserted: number;\n deactivated: number;\n}\n\n//#endregion\n","//#region ---- Shared project-management sync types ----\n\n/** Unified sync strategy for vendor project import flows (Jira, Simpro, …). */\nexport type AXEPMProjectSyncStrategy = 'remoteOverride' | 'localOverride' | 'merge';\n\nexport const AXE_PM_PROJECT_SYNC_STRATEGIES: readonly AXEPMProjectSyncStrategy[] = [\n 'remoteOverride',\n 'localOverride',\n 'merge',\n] as const;\n\nexport interface AXEPMRemoteProject {\n id: string;\n key?: string;\n name: string;\n description?: string;\n}\n\nexport interface AXEPMProjectImportInput {\n connectionId: string;\n remoteProjectId: string;\n syncStrategy: AXEPMProjectSyncStrategy;\n}\n\nexport interface AXEPMProjectImportResult {\n platformProjectId: string;\n}\n\n//#endregion\n","import type { AXEPMProjectImportInput, AXEPMProjectImportResult, AXEPMRemoteProject } from './project-sync.types';\n\n//#region ---- Project import port ----\n\nexport const AXE_PM_PROJECT_IMPORT_PORT = Symbol('AXE_PM_PROJECT_IMPORT_PORT');\n\n/** Connector-specific project list/import port (implemented per vendor extension). */\nexport interface AXEPMProjectImportPort {\n readonly providerId: string;\n listRemoteProjects(connectionId: string): Promise<AXEPMRemoteProject[]>;\n importProject(input: AXEPMProjectImportInput): Promise<AXEPMProjectImportResult>;\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,+BAA+B;CACtC;AAED,MAAM,WAAW,GAAG,4BAA4B;AAEzC,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,6BAA6B;AACpC,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,uBAAuB,EAAE;AACvB,YAAA,IAAI,EAAE,yBAAyB;YAC/B,QAAQ,EAAE,CAAA,EAAG,WAAW,CAAA,wBAAA,CAA0B;AAClD,YAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,gDAAA,CAAkD;AACxE,YAAA,WAAW,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,iDAAA,CAAmD;AAC/E,YAAA,IAAI,EAAE,8BAA8B;YACpC,MAAM,EAAE,CAAA,EAAG,WAAW,CAAA,wBAAA,CAA0B;AACjD,SAAA;AACF,KAAA;;AAGH;;AC3BA;AAEO,MAAM,sBAAsB,GAAG;AACpC,IAAA,gBAAgB,EAAE,qDAAqD;AACvE,IAAA,oBAAoB,EAAE,yDAAyD;;AAGjF;;ACPA;AAEO,MAAM,gBAAgB,GAAG;AAEhC;;ACJA;AAEO,MAAM,kCAAkC,GAAG;AAC3C,MAAM,qCAAqC,GAAG;AAC9C,MAAM,kCAAkC,GAAG;AAC3C,MAAM,+BAA+B,GAAG;AACxC,MAAM,oCAAoC,GAAG;AAC7C,MAAM,gCAAgC,GAAG;AAEhD;;ACTA;AAqDA;;ACrDA;AAKO,MAAM,8BAA8B,GAAwC;IACjF,gBAAgB;IAChB,eAAe;IACf,OAAO;;AAoBT;;AC1BA;MAEa,0BAA0B,GAAG,MAAM,CAAC,4BAA4B;AAS7E;;ACbA;;AAEG;;"}
1
+ {"version":3,"file":"acorex-platform-extension-project-management-core-client-contracts.mjs","sources":["../../../../libs/extensions/project-management/core/contracts/src/root-config.ts","../../../../libs/extensions/project-management/core/contracts/src/settings.keys.ts","../../../../libs/extensions/project-management/core/contracts/src/integration-domain.constants.ts","../../../../libs/extensions/project-management/core/contracts/src/integration-remote.constants.ts","../../../../libs/extensions/project-management/core/contracts/src/project-sync.types.ts","../../../../libs/extensions/project-management/core/contracts/src/project-import.port.ts","../../../../libs/extensions/project-management/core/contracts/src/acorex-platform-extension-project-management-core-client-contracts.ts"],"sourcesContent":["//#region ---- Project management extension root config ----\n\nconst config = {\n i18n: 'extensions-project-management',\n};\n\nconst MODULE_NAME = 'ProjectManagementExtension';\n\nexport const RootConfig = {\n config,\n module: {\n name: MODULE_NAME,\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-diagram-project',\n },\n};\n\n//#endregion\n","//#region ---- Project management extension settings keys ----\n\nexport const AXEPMExtensionSettings = {\n ConnectionsPanel: 'ProjectManagementExtension:Setting:ConnectionsPanel',\n DefaultProjectTypeId: 'ProjectManagementExtension:Setting:DefaultProjectTypeId',\n} as const;\n\n//#endregion\n","//#region ---- Project management integration domain ----\n\nexport const AXE_PM_DOMAIN_ID = 'project-management';\n\n//#endregion\n","//#region ---- Integration remote record constants ----\n\nexport const AXE_PM_INTEGRATION_PROVIDER_SIMPRO = 'simpro';\nexport const AXE_PM_INTEGRATION_PROVIDER_SERVICEM8 = 'servicem8';\nexport const AXE_PM_INTEGRATION_PROVIDER_FERGUS = 'fergus';\n\n//#endregion\n","//#region ---- Shared project-management sync types ----\n\n/** Unified sync strategy for vendor project import flows (Jira, Simpro, …). */\nexport type AXEPMProjectSyncStrategy = 'remoteOverride' | 'localOverride' | 'merge';\n\nexport const AXE_PM_PROJECT_SYNC_STRATEGIES: readonly AXEPMProjectSyncStrategy[] = [\n 'remoteOverride',\n 'localOverride',\n 'merge',\n] as const;\n\nexport interface AXEPMRemoteProject {\n id: string;\n key?: string;\n name: string;\n description?: string;\n}\n\nexport interface AXEPMProjectImportInput {\n connectionId: string;\n remoteProjectId: string;\n syncStrategy: AXEPMProjectSyncStrategy;\n}\n\nexport interface AXEPMProjectImportResult {\n platformProjectId: string;\n}\n\n//#endregion\n","import type { AXEPMProjectImportInput, AXEPMProjectImportResult, AXEPMRemoteProject } from './project-sync.types';\n\n//#region ---- Project import port ----\n\nexport const AXE_PM_PROJECT_IMPORT_PORT = Symbol('AXE_PM_PROJECT_IMPORT_PORT');\n\n/** Connector-specific project list/import port (implemented per vendor extension). */\nexport interface AXEPMProjectImportPort {\n readonly providerId: string;\n listRemoteProjects(connectionId: string): Promise<AXEPMRemoteProject[]>;\n importProject(input: AXEPMProjectImportInput): Promise<AXEPMProjectImportResult>;\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,+BAA+B;CACtC;AAED,MAAM,WAAW,GAAG,4BAA4B;AAEzC,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,6BAA6B;AACpC,KAAA;;AAGH;;ACjBA;AAEO,MAAM,sBAAsB,GAAG;AACpC,IAAA,gBAAgB,EAAE,qDAAqD;AACvE,IAAA,oBAAoB,EAAE,yDAAyD;;AAGjF;;ACPA;AAEO,MAAM,gBAAgB,GAAG;AAEhC;;ACJA;AAEO,MAAM,kCAAkC,GAAG;AAC3C,MAAM,qCAAqC,GAAG;AAC9C,MAAM,kCAAkC,GAAG;AAElD;;ACNA;AAKO,MAAM,8BAA8B,GAAwC;IACjF,gBAAgB;IAChB,eAAe;IACf,OAAO;;AAoBT;;AC1BA;MAEa,0BAA0B,GAAG,MAAM,CAAC,4BAA4B;AAS7E;;ACbA;;AAEG;;"}
@@ -1,5 +1,4 @@
1
1
  import { AXP_SETTING_DEFINITION_PROVIDER, AXP_INTEGRATION_DOMAIN_PROVIDER } from '@acorex-platform/framework-client/common';
2
- import { AXP_ENTITY_DEFINITION_LOADER } from '@acorex-platform/framework-client/layout/entity';
3
2
  import * as i0 from '@angular/core';
4
3
  import { Injectable, inject, NgModule } from '@angular/core';
5
4
  import { AXP_INTEGRATION_CAPABILITY, AXP_INTEGRATION_CATEGORY, AXPWidgetsList } from '@acorex-platform/framework-shared/core';
@@ -79,44 +78,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
79
78
  type: Injectable
80
79
  }] });
81
80
 
82
- class AXEPMEntityProvider {
83
- preload() {
84
- const module = RootConfig.module.name;
85
- return Object.values(RootConfig.entities).map((entity) => ({
86
- module,
87
- entity: entity.name,
88
- }));
89
- }
90
- async get(moduleName, entityName) {
91
- if (moduleName !== RootConfig.module.name) {
92
- return null;
93
- }
94
- if (entityName === RootConfig.entities.integrationRemoteRecord.name) {
95
- return (await import('@acorex-platform/extension-project-management-core-domain')).integrationRemoteRecordFactory();
96
- }
97
- return null;
98
- }
99
- async list() {
100
- const module = RootConfig.module.name;
101
- return Object.values(RootConfig.entities).map((entity) => ({
102
- name: entity.name,
103
- module,
104
- }));
105
- }
106
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXEPMEntityProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
107
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXEPMEntityProvider }); }
108
- }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXEPMEntityProvider, decorators: [{
110
- type: Injectable
111
- }] });
112
-
113
81
  class AXEPMExtensionModule {
114
82
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXEPMExtensionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
115
83
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: AXEPMExtensionModule }); }
116
84
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXEPMExtensionModule, providers: [
117
85
  { provide: AXP_SETTING_DEFINITION_PROVIDER, useClass: AXEPMSettingsProvider, multi: true },
118
86
  { provide: AXP_INTEGRATION_DOMAIN_PROVIDER, useClass: AXEPMIntegrationDomainProvider, multi: true },
119
- { provide: AXP_ENTITY_DEFINITION_LOADER, useClass: AXEPMEntityProvider, multi: true },
120
87
  ] }); }
121
88
  }
122
89
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXEPMExtensionModule, decorators: [{
@@ -125,7 +92,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
125
92
  providers: [
126
93
  { provide: AXP_SETTING_DEFINITION_PROVIDER, useClass: AXEPMSettingsProvider, multi: true },
127
94
  { provide: AXP_INTEGRATION_DOMAIN_PROVIDER, useClass: AXEPMIntegrationDomainProvider, multi: true },
128
- { provide: AXP_ENTITY_DEFINITION_LOADER, useClass: AXEPMEntityProvider, multi: true },
129
95
  ],
130
96
  }]
131
97
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-extension-project-management-core-client.mjs","sources":["../../../../libs/extensions/project-management/core/client/src/lib/integration/project-management.integration-domain.provider.ts","../../../../libs/extensions/project-management/core/client/src/lib/settings.provider.ts","../../../../libs/extensions/project-management/core/client/src/lib/entity.provider.ts","../../../../libs/extensions/project-management/core/client/src/lib/project-management-extension.module.ts","../../../../libs/extensions/project-management/core/client/src/acorex-platform-extension-project-management-core-client.ts"],"sourcesContent":["import { AXP_INTEGRATION_CATEGORY, AXP_INTEGRATION_CAPABILITY } 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 {\n AXE_PM_DOMAIN_ID,\n RootConfig,\n} from '@acorex-platform/extension-project-management-core-client/contracts';\n\nconst I18N = `@${RootConfig.config.i18n}:integration.domain`;\n\n@Injectable()\nexport class AXEPMIntegrationDomainProvider implements AXPIntegrationDomainProvider {\n async provide(context: AXPIntegrationDomainProviderContext): Promise<void> {\n context.register({\n id: AXE_PM_DOMAIN_ID,\n module: RootConfig.module.name,\n displayName: `${I18N}.title`,\n description: `${I18N}.description`,\n icon: RootConfig.module.icon,\n category: AXP_INTEGRATION_CATEGORY.ProjectManagement,\n capabilities: [\n AXP_INTEGRATION_CAPABILITY.IssueTracking,\n AXP_INTEGRATION_CAPABILITY.TimeLogging,\n AXP_INTEGRATION_CAPABILITY.Sync,\n AXP_INTEGRATION_CAPABILITY.Import,\n ],\n sortOrder: 20,\n });\n }\n}\n","import { 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 AXEPMExtensionSettings,\n RootConfig,\n} from '@acorex-platform/extension-project-management-core-client/contracts';\nimport { RootConfig as PmRootConfig } from '@acorex-platform/module-project-management-client/contracts';\n\nconst PM_SETTINGS_GROUP = 'project-management';\nconst I18N = `@${RootConfig.config.i18n}:settings.project-management`;\n\n@Injectable()\nexport class AXEPMSettingsProvider implements AXPSettingDefinitionProvider {\n private readonly sessionService = inject(AXPSessionService);\n\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n // Only register when the app edition entitles Project Management (not Platform Console).\n if (!this.sessionService.isModuleEnabled(PmRootConfig.module.name)) {\n return;\n }\n\n if (context.hasGroup(PM_SETTINGS_GROUP)) {\n return;\n }\n\n context\n .addGroup(\n PM_SETTINGS_GROUP,\n `${I18N}.group.nav-title`,\n `${I18N}.group.description`,\n RootConfig.module.icon,\n `${I18N}.group.title`,\n 46,\n )\n .addSection('configuration', `${I18N}.section-title`, `${I18N}.section-description`)\n .addSetting({\n key: AXEPMExtensionSettings.DefaultProjectTypeId,\n title: `${I18N}.default-project-type.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: true,\n widget: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${PmRootConfig.module.name}.${PmRootConfig.entities.projectType.name}`,\n look: 'select',\n multiple: false,\n textField: 'title',\n valueField: 'id',\n hasClearButton: true,\n },\n },\n description: `${I18N}.default-project-type.description`,\n })\n .endSection()\n .endGroup();\n }\n}\n","//#region ---- Entity Provider ----\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-project-management-core-client/contracts';\n\n@Injectable()\nexport class AXEPMEntityProvider 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.integrationRemoteRecord.name) {\n return (await import('@acorex-platform/extension-project-management-core-domain')).integrationRemoteRecordFactory();\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","import {\n AXP_INTEGRATION_DOMAIN_PROVIDER,\n AXP_SETTING_DEFINITION_PROVIDER,\n} from '@acorex-platform/framework-client/common';\nimport { AXP_ENTITY_DEFINITION_LOADER } from '@acorex-platform/framework-client/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { AXEPMIntegrationDomainProvider } from './integration/project-management.integration-domain.provider';\nimport { AXEPMSettingsProvider } from './settings.provider';\nimport { AXEPMEntityProvider } from './entity.provider';\n\n@NgModule({\n providers: [\n { provide: AXP_SETTING_DEFINITION_PROVIDER, useClass: AXEPMSettingsProvider, multi: true },\n { provide: AXP_INTEGRATION_DOMAIN_PROVIDER, useClass: AXEPMIntegrationDomainProvider, multi: true },\n { provide: AXP_ENTITY_DEFINITION_LOADER, useClass: AXEPMEntityProvider, multi: true },\n ],\n})\nexport class AXEPMExtensionModule {}\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-project-management-core-client.mjs","sources":["../../../../libs/extensions/project-management/core/client/src/lib/integration/project-management.integration-domain.provider.ts","../../../../libs/extensions/project-management/core/client/src/lib/settings.provider.ts","../../../../libs/extensions/project-management/core/client/src/lib/project-management-extension.module.ts","../../../../libs/extensions/project-management/core/client/src/acorex-platform-extension-project-management-core-client.ts"],"sourcesContent":["import { AXP_INTEGRATION_CATEGORY, AXP_INTEGRATION_CAPABILITY } 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 {\n AXE_PM_DOMAIN_ID,\n RootConfig,\n} from '@acorex-platform/extension-project-management-core-client/contracts';\n\nconst I18N = `@${RootConfig.config.i18n}:integration.domain`;\n\n@Injectable()\nexport class AXEPMIntegrationDomainProvider implements AXPIntegrationDomainProvider {\n async provide(context: AXPIntegrationDomainProviderContext): Promise<void> {\n context.register({\n id: AXE_PM_DOMAIN_ID,\n module: RootConfig.module.name,\n displayName: `${I18N}.title`,\n description: `${I18N}.description`,\n icon: RootConfig.module.icon,\n category: AXP_INTEGRATION_CATEGORY.ProjectManagement,\n capabilities: [\n AXP_INTEGRATION_CAPABILITY.IssueTracking,\n AXP_INTEGRATION_CAPABILITY.TimeLogging,\n AXP_INTEGRATION_CAPABILITY.Sync,\n AXP_INTEGRATION_CAPABILITY.Import,\n ],\n sortOrder: 20,\n });\n }\n}\n","import { 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 AXEPMExtensionSettings,\n RootConfig,\n} from '@acorex-platform/extension-project-management-core-client/contracts';\nimport { RootConfig as PmRootConfig } from '@acorex-platform/module-project-management-client/contracts';\n\nconst PM_SETTINGS_GROUP = 'project-management';\nconst I18N = `@${RootConfig.config.i18n}:settings.project-management`;\n\n@Injectable()\nexport class AXEPMSettingsProvider implements AXPSettingDefinitionProvider {\n private readonly sessionService = inject(AXPSessionService);\n\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n // Only register when the app edition entitles Project Management (not Platform Console).\n if (!this.sessionService.isModuleEnabled(PmRootConfig.module.name)) {\n return;\n }\n\n if (context.hasGroup(PM_SETTINGS_GROUP)) {\n return;\n }\n\n context\n .addGroup(\n PM_SETTINGS_GROUP,\n `${I18N}.group.nav-title`,\n `${I18N}.group.description`,\n RootConfig.module.icon,\n `${I18N}.group.title`,\n 46,\n )\n .addSection('configuration', `${I18N}.section-title`, `${I18N}.section-description`)\n .addSetting({\n key: AXEPMExtensionSettings.DefaultProjectTypeId,\n title: `${I18N}.default-project-type.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: true,\n widget: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${PmRootConfig.module.name}.${PmRootConfig.entities.projectType.name}`,\n look: 'select',\n multiple: false,\n textField: 'title',\n valueField: 'id',\n hasClearButton: true,\n },\n },\n description: `${I18N}.default-project-type.description`,\n })\n .endSection()\n .endGroup();\n }\n}\n","import {\n AXP_INTEGRATION_DOMAIN_PROVIDER,\n AXP_SETTING_DEFINITION_PROVIDER,\n} from '@acorex-platform/framework-client/common';\nimport { NgModule } from '@angular/core';\nimport { AXEPMIntegrationDomainProvider } from './integration/project-management.integration-domain.provider';\nimport { AXEPMSettingsProvider } from './settings.provider';\n\n@NgModule({\n providers: [\n { provide: AXP_SETTING_DEFINITION_PROVIDER, useClass: AXEPMSettingsProvider, multi: true },\n { provide: AXP_INTEGRATION_DOMAIN_PROVIDER, useClass: AXEPMIntegrationDomainProvider, multi: true },\n ],\n})\nexport class AXEPMExtensionModule {}\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-project-management-core-client",
3
- "version": "0.0.38",
3
+ "version": "0.0.48",
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-project-management-core-domain": "0.0.38",
10
+ "@acorex-platform/extension-project-management-core-domain": "0.0.48",
11
11
  "tslib": "^2.3.0"
12
12
  },
13
13
  "module": "fesm2022/acorex-platform-extension-project-management-core-client.mjs",
@@ -1,5 +1,3 @@
1
- import { AXPEntityModel } from '@acorex-platform/framework-shared/entity';
2
-
3
1
  declare const RootConfig: {
4
2
  config: {
5
3
  i18n: string;
@@ -9,16 +7,6 @@ declare const RootConfig: {
9
7
  title: string;
10
8
  icon: string;
11
9
  };
12
- entities: {
13
- integrationRemoteRecord: {
14
- name: string;
15
- fullName: string;
16
- title: string;
17
- titlePlural: string;
18
- icon: string;
19
- source: string;
20
- };
21
- };
22
10
  };
23
11
 
24
12
  declare const AXEPMExtensionSettings: {
@@ -31,55 +19,6 @@ declare const AXE_PM_DOMAIN_ID = "project-management";
31
19
  declare const AXE_PM_INTEGRATION_PROVIDER_SIMPRO = "simpro";
32
20
  declare const AXE_PM_INTEGRATION_PROVIDER_SERVICEM8 = "servicem8";
33
21
  declare const AXE_PM_INTEGRATION_PROVIDER_FERGUS = "fergus";
34
- declare const AXE_PM_INTEGRATION_RESOURCE_JOB = "job";
35
- declare const AXE_PM_INTEGRATION_RESOURCE_CUSTOMER = "customer";
36
- declare const AXE_PM_INTEGRATION_RESOURCE_SITE = "site";
37
-
38
- /**
39
- * Resource / data-type discriminator for cached remote rows.
40
- * For Simpro multi-connection, `providerId` on the row is the **connection id**
41
- * (not the integration provider key), and `resourceType` is the data type.
42
- */
43
- type AXEPMIntegrationResourceType = 'job' | 'customer' | 'site' | 'project' | 'task';
44
- interface AXEPMIntegrationRemoteRecordEntityModel extends AXPEntityModel<string> {
45
- /**
46
- * Cache partition key.
47
- * Simpro: integration connection id. Other providers may still use provider key (e.g. `servicem8`).
48
- */
49
- providerId: string;
50
- /** Data type: job | customer | site | … */
51
- resourceType: AXEPMIntegrationResourceType | string;
52
- remoteId: string;
53
- name: string;
54
- code?: string | null;
55
- orderNo?: string | null;
56
- stage?: string | null;
57
- customerName?: string | null;
58
- siteName?: string | null;
59
- dueDate?: string | null;
60
- /** Display name of the owning integration connection (Simpro multi-connection lists). */
61
- connectionDisplayName?: string | null;
62
- payloadJson?: string | null;
63
- remoteFetchedAt: string;
64
- isActive: boolean;
65
- isLinked: boolean;
66
- }
67
- interface AXEPMIntegrationRemoteRecordUpsertInput {
68
- remoteId: string;
69
- name: string;
70
- code?: string | null;
71
- orderNo?: string | null;
72
- stage?: string | null;
73
- customerName?: string | null;
74
- siteName?: string | null;
75
- dueDate?: string | null;
76
- connectionDisplayName?: string | null;
77
- payloadJson?: string | null;
78
- }
79
- interface AXEPMIntegrationRemotePullResult {
80
- upserted: number;
81
- deactivated: number;
82
- }
83
22
 
84
23
  /** Unified sync strategy for vendor project import flows (Jira, Simpro, …). */
85
24
  type AXEPMProjectSyncStrategy = 'remoteOverride' | 'localOverride' | 'merge';
@@ -107,5 +46,5 @@ interface AXEPMProjectImportPort {
107
46
  importProject(input: AXEPMProjectImportInput): Promise<AXEPMProjectImportResult>;
108
47
  }
109
48
 
110
- export { AXEPMExtensionSettings, AXE_PM_DOMAIN_ID, AXE_PM_INTEGRATION_PROVIDER_FERGUS, AXE_PM_INTEGRATION_PROVIDER_SERVICEM8, AXE_PM_INTEGRATION_PROVIDER_SIMPRO, AXE_PM_INTEGRATION_RESOURCE_CUSTOMER, AXE_PM_INTEGRATION_RESOURCE_JOB, AXE_PM_INTEGRATION_RESOURCE_SITE, AXE_PM_PROJECT_IMPORT_PORT, AXE_PM_PROJECT_SYNC_STRATEGIES, RootConfig };
111
- export type { AXEPMIntegrationRemotePullResult, AXEPMIntegrationRemoteRecordEntityModel, AXEPMIntegrationRemoteRecordUpsertInput, AXEPMIntegrationResourceType, AXEPMProjectImportInput, AXEPMProjectImportPort, AXEPMProjectImportResult, AXEPMProjectSyncStrategy, AXEPMRemoteProject };
49
+ export { AXEPMExtensionSettings, AXE_PM_DOMAIN_ID, AXE_PM_INTEGRATION_PROVIDER_FERGUS, AXE_PM_INTEGRATION_PROVIDER_SERVICEM8, AXE_PM_INTEGRATION_PROVIDER_SIMPRO, AXE_PM_PROJECT_IMPORT_PORT, AXE_PM_PROJECT_SYNC_STRATEGIES, RootConfig };
50
+ export type { AXEPMProjectImportInput, AXEPMProjectImportPort, AXEPMProjectImportResult, AXEPMProjectSyncStrategy, AXEPMRemoteProject };