@acorex-platform/extension-project-management-jira-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.
@@ -81,6 +81,21 @@ const RootConfig = {
81
81
  };
82
82
  //#endregion
83
83
 
84
+ //#region ---- Imports ----
85
+ //#endregion
86
+ //#region ---- Manifest ----
87
+ const JiraExtensionManifest = {
88
+ name: RootConfig.module.name,
89
+ version: '1.0.0',
90
+ title: RootConfig.module.title,
91
+ icon: RootConfig.module.icon,
92
+ i18n: RootConfig.config.i18n,
93
+ type: 'integration',
94
+ domain: 'project-management',
95
+ dependencies: [],
96
+ };
97
+ //#endregion
98
+
84
99
  //#region ---- Command Keys ----
85
100
  const AXEJiraCommandKeys = {
86
101
  ConnectionConnect: 'jira-extension.Connection:Connect',
@@ -184,5 +199,5 @@ const AXEJiraPermissions = {
184
199
  * Generated bundle index. Do not edit.
185
200
  */
186
201
 
187
- export { AXEJiraCommandKeys, AXEJiraMenuKeys, AXEJiraPermissions, AXEJiraQueryKeys, AXPAdministrationPermissionKeys, RootConfig };
202
+ export { AXEJiraCommandKeys, AXEJiraMenuKeys, AXEJiraPermissions, AXEJiraQueryKeys, AXPAdministrationPermissionKeys, JiraExtensionManifest, RootConfig };
188
203
  //# sourceMappingURL=acorex-platform-extension-project-management-jira-client-contracts.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-extension-project-management-jira-client-contracts.mjs","sources":["../../../../libs/extensions/project-management/jira/contracts/src/root-config.ts","../../../../libs/extensions/project-management/jira/contracts/src/commands.keys.ts","../../../../libs/extensions/project-management/jira/contracts/src/queries.keys.ts","../../../../libs/extensions/project-management/jira/contracts/src/menu.keys.ts","../../../../libs/extensions/project-management/jira/contracts/src/permission.keys.ts","../../../../libs/extensions/project-management/jira/contracts/src/project-sync.api.types.ts","../../../../libs/extensions/project-management/jira/contracts/src/acorex-platform-extension-project-management-jira-client-contracts.ts"],"sourcesContent":["//#region ---- Module Config ----\n\nconst config = {\n i18n: 'extensions-jira',\n};\n\n/** Logical module name (PascalCase) — matches entity-storage API naming (`JiraExtension.JiraInstance`). */\nconst MODULE_NAME = 'JiraExtension';\n\nexport const RootConfig = {\n config,\n module: {\n name: MODULE_NAME,\n title: `@${config.i18n}:integration.display-name`,\n icon: 'fa-brands fa-jira',\n },\n entities: {\n jiraInstance: {\n name: 'JiraInstance',\n fullName: `${MODULE_NAME}.JiraInstance`,\n title: `@${config.i18n}:instances.entities.instance.title`,\n titlePlural: `@${config.i18n}:instances.entities.instance.plural`,\n icon: 'fa-light fa-server',\n },\n jiraProject: {\n name: 'JiraProject',\n fullName: `${MODULE_NAME}.JiraProject`,\n title: `@${config.i18n}:project-links.entities.project-link.title`,\n titlePlural: `@${config.i18n}:project-links.entities.project-link.plural`,\n icon: 'fa-light fa-link',\n },\n jiraIssueType: {\n name: 'JiraIssueType',\n fullName: `${MODULE_NAME}.JiraIssueType`,\n title: `@${config.i18n}:issue-types.entities.issue-type.title`,\n titlePlural: `@${config.i18n}:issue-types.entities.issue-type.plural`,\n icon: 'fa-light fa-list-tree',\n },\n jiraField: {\n name: 'JiraField',\n fullName: `${MODULE_NAME}.JiraField`,\n title: `@${config.i18n}:fields.entities.field.title`,\n titlePlural: `@${config.i18n}:fields.entities.field.plural`,\n icon: 'fa-light fa-input-text',\n },\n jiraProjectIssueType: {\n name: 'JiraProjectIssueType',\n fullName: `${MODULE_NAME}.JiraProjectIssueType`,\n title: `@${config.i18n}:project-issue-types.entities.project-issue-type.title`,\n titlePlural: `@${config.i18n}:project-issue-types.entities.project-issue-type.plural`,\n icon: 'fa-light fa-link',\n },\n jiraProjectIssueTypeField: {\n name: 'JiraProjectIssueTypeField',\n fullName: `${MODULE_NAME}.JiraProjectIssueTypeField`,\n title: `@${config.i18n}:project-issue-type-fields.entities.project-issue-type-field.title`,\n titlePlural: `@${config.i18n}:project-issue-type-fields.entities.project-issue-type-field.plural`,\n icon: 'fa-light fa-table-columns',\n },\n jiraWorkflowStatus: {\n name: 'JiraWorkflowStatus',\n fullName: `${MODULE_NAME}.JiraWorkflowStatus`,\n title: `@${config.i18n}:workflow-statuses.entities.workflow-status.title`,\n titlePlural: `@${config.i18n}:workflow-statuses.entities.workflow-status.plural`,\n icon: 'fa-light fa-circle-dot',\n },\n jiraIssue: {\n name: 'JiraIssue',\n fullName: `${MODULE_NAME}.JiraIssue`,\n title: `@${config.i18n}:issues.entities.issue.title`,\n titlePlural: `@${config.i18n}:issues.entities.issue.plural`,\n icon: 'fa-light fa-ticket',\n },\n jiraWorklog: {\n name: 'JiraWorklog',\n fullName: `${MODULE_NAME}.JiraWorklog`,\n title: `@${config.i18n}:worklogs.entities.worklog.title`,\n titlePlural: `@${config.i18n}:worklogs.entities.worklog.plural`,\n icon: 'fa-light fa-clock',\n },\n },\n};\n\n//#endregion\n","//#region ---- Command Keys ----\n\nexport const AXEJiraCommandKeys = {\n ConnectionConnect: 'jira-extension.Connection:Connect',\n ProjectImportFromJira: 'jira-extension.Project:ImportFromJira',\n ProjectSync: 'jira-extension.Project:Sync',\n} as const;\n\n//#endregion\n","//#region ---- Query Keys ----\n\nexport const AXEJiraQueryKeys = {\n ProjectListRemote: 'jira-extension.Project:ListRemote',\n} as const;\n\n//#endregion\n","//#region ---- Menu Keys ----\n\nexport const AXEJiraMenuKeys = {\n JiraExtensionConfig: 'jira-extension:Menu:Configuration',\n Instances: 'jira-extension:Menu:Instances',\n IssueTypes: 'jira-extension:Menu:IssueTypes',\n Fields: 'jira-extension:Menu:Fields',\n Issues: 'jira-extension:Menu:Issues',\n Worklogs: 'jira-extension:Menu:Worklogs',\n} as const;\n\n//#endregion\n","//#region ---- Permission Keys ----\n\n/**\n * Administration capabilities used by this extension.\n * Domain capability keys for this module. Root groups live in `AXPCommonPermissionGroupKeys` (common contracts).\n */\nexport const AXPAdministrationPermissionKeys = {\n Access: 'Administration:Permission:Access',\n MaintainUsersAndRoles: 'Administration:Permission:MaintainUsersAndRoles',\n ManageSessions: 'Administration:Permission:ManageSessions',\n MaintainPolicies: 'Administration:Permission:MaintainPolicies',\n ViewIntegrations: 'Administration:Permission:ViewIntegrations',\n MaintainConnections: 'Administration:Permission:MaintainConnections',\n ManageIntegrationActions: 'Administration:Permission:ManageIntegrationActions',\n MaintainWorkflows: 'Administration:Permission:MaintainWorkflows',\n ManageWorkflowActions: 'Administration:Permission:ManageWorkflowActions',\n ViewRules: 'Administration:Permission:ViewRules',\n MaintainRules: 'Administration:Permission:MaintainRules',\n ManageRuleActions: 'Administration:Permission:ManageRuleActions',\n MaintainAi: 'Administration:Permission:MaintainAi',\n UseAiAssist: 'Administration:Permission:UseAiAssist',\n MaintainDashboards: 'Administration:Permission:MaintainDashboards',\n ViewJobs: 'Administration:Permission:ViewJobs',\n ManageJobActions: 'Administration:Permission:ManageJobActions',\n ViewObservability: 'Administration:Permission:ViewObservability',\n MaintainObservability: 'Administration:Permission:MaintainObservability',\n} as const;\n\n/**\n * @deprecated Prefer {@link AXPAdministrationPermissionKeys}.\n * Legacy nested shape kept so existing imports compile during migration.\n */\nexport const AXEJiraPermissions = {\n JiraExtension: {\n Management: AXPAdministrationPermissionKeys.MaintainConnections,\n JiraInstance: {\n View: AXPAdministrationPermissionKeys.ViewIntegrations,\n Create: AXPAdministrationPermissionKeys.MaintainConnections,\n Update: AXPAdministrationPermissionKeys.MaintainConnections,\n Delete: AXPAdministrationPermissionKeys.MaintainConnections,\n },\n JiraProject: {\n View: AXPAdministrationPermissionKeys.ViewIntegrations,\n Create: AXPAdministrationPermissionKeys.MaintainConnections,\n Update: AXPAdministrationPermissionKeys.MaintainConnections,\n Delete: AXPAdministrationPermissionKeys.MaintainConnections,\n },\n JiraIssue: {\n View: AXPAdministrationPermissionKeys.ViewIntegrations,\n Create: AXPAdministrationPermissionKeys.MaintainConnections,\n Update: AXPAdministrationPermissionKeys.MaintainConnections,\n Delete: AXPAdministrationPermissionKeys.MaintainConnections,\n },\n JiraWorklog: {\n View: AXPAdministrationPermissionKeys.ViewIntegrations,\n Create: AXPAdministrationPermissionKeys.MaintainConnections,\n Update: AXPAdministrationPermissionKeys.MaintainConnections,\n Delete: AXPAdministrationPermissionKeys.MaintainConnections,\n },\n Catalog: {\n View: AXPAdministrationPermissionKeys.ViewIntegrations,\n Manage: AXPAdministrationPermissionKeys.MaintainConnections,\n },\n ProjectImport: {\n Execute: AXPAdministrationPermissionKeys.ManageIntegrationActions,\n },\n ProjectSync: {\n Execute: AXPAdministrationPermissionKeys.ManageIntegrationActions,\n },\n },\n} as const;\n\n//#endregion\n","//#region ---- Remote Jira project DTO ----\n\nimport type { AXEJiraProjectSyncStrategy } from './sync.types';\n\n/** Subset of Jira REST API project resource used for import/sync. */\nexport interface AXEJiraRemoteProject {\n id: string;\n key: string;\n name: string;\n description?: string | null;\n projectTypeKey?: string | null;\n style?: string | null;\n simplified?: boolean | null;\n lead?: {\n accountId?: string;\n displayName?: string;\n } | null;\n avatarUrls?: Record<string, string> | null;\n}\n\nexport type AXEJiraProjectImportStatus = 'imported' | 'not_imported';\n\nexport interface AXEJiraRemoteProjectListItem extends AXEJiraRemoteProject {\n importStatus: AXEJiraProjectImportStatus;\n platformProjectId?: string | null;\n}\n\n//#endregion\n\n//#region ---- API request / response ----\n\nexport interface AXEJiraListRemoteProjectsRequest {\n instanceId?: string;\n}\n\nexport interface AXEJiraListRemoteProjectsResponse {\n instanceId: string;\n projects: AXEJiraRemoteProjectListItem[];\n}\n\nexport interface AXEJiraProjectImportRowInput {\n remote: AXEJiraRemoteProject;\n selected: boolean;\n syncStrategy: AXEJiraProjectSyncStrategy;\n existingPlatformProjectId?: string | null;\n}\n\nexport interface AXEJiraImportProjectsRequest {\n instanceId?: string;\n defaultProjectTypeId: string;\n rows: AXEJiraProjectImportRowInput[];\n}\n\nexport interface AXEJiraProjectImportResult {\n imported: number;\n updated: number;\n skipped: number;\n issuesImported?: number;\n issuesUpdated?: number;\n issuesRemoved?: number;\n worklogsImported?: number;\n worklogsUpdated?: number;\n}\n\nexport interface AXEJiraSyncPlatformProjectRequest {\n platformProjectId: string;\n}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-extension-project-management-jira-client-contracts.mjs","sources":["../../../../libs/extensions/project-management/jira/contracts/src/root-config.ts","../../../../libs/extensions/project-management/jira/contracts/src/manifest.ts","../../../../libs/extensions/project-management/jira/contracts/src/commands.keys.ts","../../../../libs/extensions/project-management/jira/contracts/src/queries.keys.ts","../../../../libs/extensions/project-management/jira/contracts/src/menu.keys.ts","../../../../libs/extensions/project-management/jira/contracts/src/permission.keys.ts","../../../../libs/extensions/project-management/jira/contracts/src/project-sync.api.types.ts","../../../../libs/extensions/project-management/jira/contracts/src/acorex-platform-extension-project-management-jira-client-contracts.ts"],"sourcesContent":["//#region ---- Module Config ----\n\nconst config = {\n i18n: 'extensions-jira',\n};\n\n/** Logical module name (PascalCase) — matches entity-storage API naming (`JiraExtension.JiraInstance`). */\nconst MODULE_NAME = 'JiraExtension';\n\nexport const RootConfig = {\n config,\n module: {\n name: MODULE_NAME,\n title: `@${config.i18n}:integration.display-name`,\n icon: 'fa-brands fa-jira',\n },\n entities: {\n jiraInstance: {\n name: 'JiraInstance',\n fullName: `${MODULE_NAME}.JiraInstance`,\n title: `@${config.i18n}:instances.entities.instance.title`,\n titlePlural: `@${config.i18n}:instances.entities.instance.plural`,\n icon: 'fa-light fa-server',\n },\n jiraProject: {\n name: 'JiraProject',\n fullName: `${MODULE_NAME}.JiraProject`,\n title: `@${config.i18n}:project-links.entities.project-link.title`,\n titlePlural: `@${config.i18n}:project-links.entities.project-link.plural`,\n icon: 'fa-light fa-link',\n },\n jiraIssueType: {\n name: 'JiraIssueType',\n fullName: `${MODULE_NAME}.JiraIssueType`,\n title: `@${config.i18n}:issue-types.entities.issue-type.title`,\n titlePlural: `@${config.i18n}:issue-types.entities.issue-type.plural`,\n icon: 'fa-light fa-list-tree',\n },\n jiraField: {\n name: 'JiraField',\n fullName: `${MODULE_NAME}.JiraField`,\n title: `@${config.i18n}:fields.entities.field.title`,\n titlePlural: `@${config.i18n}:fields.entities.field.plural`,\n icon: 'fa-light fa-input-text',\n },\n jiraProjectIssueType: {\n name: 'JiraProjectIssueType',\n fullName: `${MODULE_NAME}.JiraProjectIssueType`,\n title: `@${config.i18n}:project-issue-types.entities.project-issue-type.title`,\n titlePlural: `@${config.i18n}:project-issue-types.entities.project-issue-type.plural`,\n icon: 'fa-light fa-link',\n },\n jiraProjectIssueTypeField: {\n name: 'JiraProjectIssueTypeField',\n fullName: `${MODULE_NAME}.JiraProjectIssueTypeField`,\n title: `@${config.i18n}:project-issue-type-fields.entities.project-issue-type-field.title`,\n titlePlural: `@${config.i18n}:project-issue-type-fields.entities.project-issue-type-field.plural`,\n icon: 'fa-light fa-table-columns',\n },\n jiraWorkflowStatus: {\n name: 'JiraWorkflowStatus',\n fullName: `${MODULE_NAME}.JiraWorkflowStatus`,\n title: `@${config.i18n}:workflow-statuses.entities.workflow-status.title`,\n titlePlural: `@${config.i18n}:workflow-statuses.entities.workflow-status.plural`,\n icon: 'fa-light fa-circle-dot',\n },\n jiraIssue: {\n name: 'JiraIssue',\n fullName: `${MODULE_NAME}.JiraIssue`,\n title: `@${config.i18n}:issues.entities.issue.title`,\n titlePlural: `@${config.i18n}:issues.entities.issue.plural`,\n icon: 'fa-light fa-ticket',\n },\n jiraWorklog: {\n name: 'JiraWorklog',\n fullName: `${MODULE_NAME}.JiraWorklog`,\n title: `@${config.i18n}:worklogs.entities.worklog.title`,\n titlePlural: `@${config.i18n}:worklogs.entities.worklog.plural`,\n icon: 'fa-light fa-clock',\n },\n },\n};\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPModuleManifest } from '@acorex-platform/framework-shared/core';\nimport { RootConfig } from './root-config';\n\n//#endregion\n\n//#region ---- Manifest ----\n\nexport const JiraExtensionManifest: 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: 'project-management',\n dependencies: [],\n};\n\n//#endregion\n","//#region ---- Command Keys ----\n\nexport const AXEJiraCommandKeys = {\n ConnectionConnect: 'jira-extension.Connection:Connect',\n ProjectImportFromJira: 'jira-extension.Project:ImportFromJira',\n ProjectSync: 'jira-extension.Project:Sync',\n} as const;\n\n//#endregion\n","//#region ---- Query Keys ----\n\nexport const AXEJiraQueryKeys = {\n ProjectListRemote: 'jira-extension.Project:ListRemote',\n} as const;\n\n//#endregion\n","//#region ---- Menu Keys ----\n\nexport const AXEJiraMenuKeys = {\n JiraExtensionConfig: 'jira-extension:Menu:Configuration',\n Instances: 'jira-extension:Menu:Instances',\n IssueTypes: 'jira-extension:Menu:IssueTypes',\n Fields: 'jira-extension:Menu:Fields',\n Issues: 'jira-extension:Menu:Issues',\n Worklogs: 'jira-extension:Menu:Worklogs',\n} as const;\n\n//#endregion\n","//#region ---- Permission Keys ----\n\n/**\n * Administration capabilities used by this extension.\n * Domain capability keys for this module. Root groups live in `AXPCommonPermissionGroupKeys` (common contracts).\n */\nexport const AXPAdministrationPermissionKeys = {\n Access: 'Administration:Permission:Access',\n MaintainUsersAndRoles: 'Administration:Permission:MaintainUsersAndRoles',\n ManageSessions: 'Administration:Permission:ManageSessions',\n MaintainPolicies: 'Administration:Permission:MaintainPolicies',\n ViewIntegrations: 'Administration:Permission:ViewIntegrations',\n MaintainConnections: 'Administration:Permission:MaintainConnections',\n ManageIntegrationActions: 'Administration:Permission:ManageIntegrationActions',\n MaintainWorkflows: 'Administration:Permission:MaintainWorkflows',\n ManageWorkflowActions: 'Administration:Permission:ManageWorkflowActions',\n ViewRules: 'Administration:Permission:ViewRules',\n MaintainRules: 'Administration:Permission:MaintainRules',\n ManageRuleActions: 'Administration:Permission:ManageRuleActions',\n MaintainAi: 'Administration:Permission:MaintainAi',\n UseAiAssist: 'Administration:Permission:UseAiAssist',\n MaintainDashboards: 'Administration:Permission:MaintainDashboards',\n ViewJobs: 'Administration:Permission:ViewJobs',\n ManageJobActions: 'Administration:Permission:ManageJobActions',\n ViewObservability: 'Administration:Permission:ViewObservability',\n MaintainObservability: 'Administration:Permission:MaintainObservability',\n} as const;\n\n/**\n * @deprecated Prefer {@link AXPAdministrationPermissionKeys}.\n * Legacy nested shape kept so existing imports compile during migration.\n */\nexport const AXEJiraPermissions = {\n JiraExtension: {\n Management: AXPAdministrationPermissionKeys.MaintainConnections,\n JiraInstance: {\n View: AXPAdministrationPermissionKeys.ViewIntegrations,\n Create: AXPAdministrationPermissionKeys.MaintainConnections,\n Update: AXPAdministrationPermissionKeys.MaintainConnections,\n Delete: AXPAdministrationPermissionKeys.MaintainConnections,\n },\n JiraProject: {\n View: AXPAdministrationPermissionKeys.ViewIntegrations,\n Create: AXPAdministrationPermissionKeys.MaintainConnections,\n Update: AXPAdministrationPermissionKeys.MaintainConnections,\n Delete: AXPAdministrationPermissionKeys.MaintainConnections,\n },\n JiraIssue: {\n View: AXPAdministrationPermissionKeys.ViewIntegrations,\n Create: AXPAdministrationPermissionKeys.MaintainConnections,\n Update: AXPAdministrationPermissionKeys.MaintainConnections,\n Delete: AXPAdministrationPermissionKeys.MaintainConnections,\n },\n JiraWorklog: {\n View: AXPAdministrationPermissionKeys.ViewIntegrations,\n Create: AXPAdministrationPermissionKeys.MaintainConnections,\n Update: AXPAdministrationPermissionKeys.MaintainConnections,\n Delete: AXPAdministrationPermissionKeys.MaintainConnections,\n },\n Catalog: {\n View: AXPAdministrationPermissionKeys.ViewIntegrations,\n Manage: AXPAdministrationPermissionKeys.MaintainConnections,\n },\n ProjectImport: {\n Execute: AXPAdministrationPermissionKeys.ManageIntegrationActions,\n },\n ProjectSync: {\n Execute: AXPAdministrationPermissionKeys.ManageIntegrationActions,\n },\n },\n} as const;\n\n//#endregion\n","//#region ---- Remote Jira project DTO ----\n\nimport type { AXEJiraProjectSyncStrategy } from './sync.types';\n\n/** Subset of Jira REST API project resource used for import/sync. */\nexport interface AXEJiraRemoteProject {\n id: string;\n key: string;\n name: string;\n description?: string | null;\n projectTypeKey?: string | null;\n style?: string | null;\n simplified?: boolean | null;\n lead?: {\n accountId?: string;\n displayName?: string;\n } | null;\n avatarUrls?: Record<string, string> | null;\n}\n\nexport type AXEJiraProjectImportStatus = 'imported' | 'not_imported';\n\nexport interface AXEJiraRemoteProjectListItem extends AXEJiraRemoteProject {\n importStatus: AXEJiraProjectImportStatus;\n platformProjectId?: string | null;\n}\n\n//#endregion\n\n//#region ---- API request / response ----\n\nexport interface AXEJiraListRemoteProjectsRequest {\n instanceId?: string;\n}\n\nexport interface AXEJiraListRemoteProjectsResponse {\n instanceId: string;\n projects: AXEJiraRemoteProjectListItem[];\n}\n\nexport interface AXEJiraProjectImportRowInput {\n remote: AXEJiraRemoteProject;\n selected: boolean;\n syncStrategy: AXEJiraProjectSyncStrategy;\n existingPlatformProjectId?: string | null;\n}\n\nexport interface AXEJiraImportProjectsRequest {\n instanceId?: string;\n defaultProjectTypeId: string;\n rows: AXEJiraProjectImportRowInput[];\n}\n\nexport interface AXEJiraProjectImportResult {\n imported: number;\n updated: number;\n skipped: number;\n issuesImported?: number;\n issuesUpdated?: number;\n issuesRemoved?: number;\n worklogsImported?: number;\n worklogsUpdated?: number;\n}\n\nexport interface AXEJiraSyncPlatformProjectRequest {\n platformProjectId: string;\n}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { AXMIntegrationManagementModule } from '@acorex-platform/module-integration-management-client';
2
2
  import { AXPIntegrationRuntimeService, AXP_INTEGRATION_SECRET_STORE, AXP_INTEGRATION_CONNECTION_ESTABLISHED, AXP_MENU_PROVIDER, AXP_STATUS_PROVIDERS, AXP_INTEGRATION_PROVIDER, AXP_INTEGRATION_RUNTIME_PROVIDER } from '@acorex-platform/framework-client/common';
3
- import { AXP_LOGO_PROVIDER, AXP_MODULE_MANIFEST_PROVIDER, AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER } from '@acorex-platform/framework-client/core';
3
+ import { AXP_LOGO_PROVIDER, AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER } from '@acorex-platform/framework-client/core';
4
4
  import { AXPEntityService, ensureListActions, actionExists, AXP_ENTITY_DEFINITION_LOADER, AXP_ENTITY_MODIFIER } from '@acorex-platform/framework-client/layout/entity';
5
5
  import { provideCommandSetups } from '@acorex-platform/framework-client/runtime';
6
6
  import * as i0 from '@angular/core';
@@ -489,21 +489,6 @@ const AXE_JIRA_LOGO_PROVIDER = {
489
489
  multi: true,
490
490
  };
491
491
 
492
- //#region ---- Imports ----
493
- //#endregion
494
- //#region ---- Manifest ----
495
- const JiraExtensionManifest = {
496
- name: RootConfig.module.name,
497
- version: '1.0.0',
498
- title: RootConfig.module.title,
499
- icon: RootConfig.module.icon,
500
- i18n: RootConfig.config.i18n,
501
- type: 'integration',
502
- domain: 'project-management',
503
- dependencies: [],
504
- };
505
- //#endregion
506
-
507
492
  //#region ---- Imports ----
508
493
  //#endregion
509
494
  //#region ---- Menu Provider ----
@@ -600,11 +585,6 @@ class AXEJiraExtensionModule {
600
585
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: AXEJiraExtensionModule, imports: [AXMIntegrationManagementModule] }); }
601
586
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXEJiraExtensionModule, providers: [
602
587
  AXE_JIRA_LOGO_PROVIDER,
603
- {
604
- provide: AXP_MODULE_MANIFEST_PROVIDER,
605
- useValue: JiraExtensionManifest,
606
- multi: true,
607
- },
608
588
  {
609
589
  provide: AXP_MENU_PROVIDER,
610
590
  useClass: AXEJiraMenuProvider,
@@ -655,11 +635,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
655
635
  imports: [AXMIntegrationManagementModule],
656
636
  providers: [
657
637
  AXE_JIRA_LOGO_PROVIDER,
658
- {
659
- provide: AXP_MODULE_MANIFEST_PROVIDER,
660
- useValue: JiraExtensionManifest,
661
- multi: true,
662
- },
663
638
  {
664
639
  provide: AXP_MENU_PROVIDER,
665
640
  useClass: AXEJiraMenuProvider,
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-extension-project-management-jira-client.mjs","sources":["../../../../libs/extensions/project-management/jira/client/src/lib/entity.provider.ts","../../../../libs/extensions/project-management/jira/client/src/lib/features/jira-project/jira-project-status.provider.ts","../../../../libs/extensions/project-management/jira/client/src/lib/features/project-management/jira-project-link-expression-evaluator-scope.provider.ts","../../../../libs/extensions/project-management/jira/client/src/lib/features/project-management/project-jira.entity-modifier.ts","../../../../libs/extensions/project-management/jira/client/src/lib/brand/jira-logo-key.ts","../../../../libs/extensions/project-management/jira/client/src/lib/integration/jira.integration.provider.ts","../../../../libs/extensions/project-management/jira/client/src/lib/integration/jira.integration-runtime.provider.ts","../../../../libs/extensions/project-management/jira/client/src/lib/integration/jira.connection-established.handler.ts","../../../../libs/extensions/project-management/jira/client/src/lib/brand/jira-logo.provider.ts","../../../../libs/extensions/project-management/jira/client/src/lib/manifest.ts","../../../../libs/extensions/project-management/jira/client/src/lib/menu.provider.ts","../../../../libs/extensions/project-management/jira/client/src/lib/jira-extension.module.ts","../../../../libs/extensions/project-management/jira/client/src/lib/brand/jira-mark.paths.ts","../../../../libs/extensions/project-management/jira/client/src/lib/brand/jira-logo.component.ts","../../../../libs/extensions/project-management/jira/client/src/lib/features/project-import/jira-project-import-popup.component.ts","../../../../libs/extensions/project-management/jira/client/src/acorex-platform-extension-project-management-jira-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-project-management-jira-client/contracts';\n\n//#endregion\n\n//#region ---- Entity Provider ----\n\n@Injectable()\nexport class AXEJiraEntityProvider 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 switch (entityName) {\n case RootConfig.entities.jiraInstance.name:\n return (await import('@acorex-platform/extension-project-management-jira-domain')).jiraInstanceFactory();\n case RootConfig.entities.jiraProject.name:\n return (await import('@acorex-platform/extension-project-management-jira-domain')).jiraProjectFactory();\n case RootConfig.entities.jiraIssueType.name:\n return (await import('@acorex-platform/extension-project-management-jira-domain')).jiraIssueTypeFactory();\n case RootConfig.entities.jiraField.name:\n return (await import('@acorex-platform/extension-project-management-jira-domain')).jiraFieldFactory();\n case RootConfig.entities.jiraProjectIssueType.name:\n return (await import('@acorex-platform/extension-project-management-jira-domain')).jiraProjectIssueTypeFactory();\n case RootConfig.entities.jiraProjectIssueTypeField.name:\n return (await import('@acorex-platform/extension-project-management-jira-domain')).jiraProjectIssueTypeFieldFactory();\n case RootConfig.entities.jiraWorkflowStatus.name:\n return (await import('@acorex-platform/extension-project-management-jira-domain')).jiraWorkflowStatusFactory();\n case RootConfig.entities.jiraIssue.name:\n return (await import('@acorex-platform/extension-project-management-jira-domain')).jiraIssueFactory();\n case RootConfig.entities.jiraWorklog.name:\n return (await import('@acorex-platform/extension-project-management-jira-domain')).jiraWorklogFactory();\n default:\n return null;\n }\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 { AXPStatusDefinition, AXPStatusProvider, AXPStatusTransition } from '@acorex-platform/framework-shared/core';\n\n//#endregion\n\n//#region ---- Status Helper ----\n\nconst status = (\n name: string,\n title: string,\n color: string,\n options: Partial<AXPStatusDefinition> = {},\n): AXPStatusDefinition => ({\n name,\n title,\n color,\n ...options,\n});\n\n//#endregion\n\n//#region ---- Jira Project Status Provider ----\n\n/**\n * Operational sync status for mirrored Jira projects (not Jira workflow statuses).\n */\nexport class AXEJiraProjectStatusProvider extends AXPStatusProvider {\n readonly key = 'extensions-jira.status.jira-project';\n\n readonly statuses: AXPStatusDefinition[] = [\n status('Active', '@extensions-jira:projects.statuses.active', 'success', {\n order: 1,\n generateView: true,\n isInitial: true,\n icon: 'fa-light fa-circle-check',\n }),\n status('Archived', '@extensions-jira:projects.statuses.archived', 'neutral', {\n order: 2,\n generateView: true,\n isFinal: true,\n icon: 'fa-light fa-box-archive',\n }),\n status('SyncError', '@extensions-jira:projects.statuses.sync-error', 'danger', {\n order: 3,\n generateView: true,\n icon: 'fa-light fa-triangle-exclamation',\n }),\n ];\n\n readonly transitions: AXPStatusTransition[] = [\n {\n from: 'Active',\n to: 'Archived',\n title: '@extensions-jira:projects.transitions.archive',\n },\n {\n from: 'Archived',\n to: 'Active',\n title: '@extensions-jira:projects.transitions.activate',\n },\n {\n from: 'Active',\n to: 'SyncError',\n title: '@extensions-jira:projects.transitions.mark-sync-error',\n },\n {\n from: 'SyncError',\n to: 'Active',\n title: '@extensions-jira:projects.transitions.resolve-sync-error',\n },\n ];\n\n readonly defaultStatus = 'Active';\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviderContext } from '@acorex-platform/framework-shared/core';\nimport { AXPIntegrationRuntimeService } from '@acorex-platform/framework-client/common';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { inject } from '@angular/core';\nimport { RootConfig } from '@acorex-platform/extension-project-management-jira-client/contracts';\nimport type { AXEJiraProjectEntityModel } from '@acorex-platform/extension-project-management-jira-domain';\n\n//#endregion\n\n/** Expression scope namespace (no hyphens — safe for `with (scope)` eval). */\nexport const AXE_JIRA_EXPRESSION_SCOPE = 'JiraExtension';\n\n//#region ---- Provider ----\n\nexport class AXEJiraProjectLinkExpressionEvaluatorScopeProvider implements AXPExpressionEvaluatorScopeProvider {\n private readonly entityService = inject(AXPEntityService);\n private readonly integrationRuntime = inject(AXPIntegrationRuntimeService);\n\n async provide(context: AXPExpressionEvaluatorScopeProviderContext): Promise<void> {\n context.addScope(AXE_JIRA_EXPRESSION_SCOPE, {\n hasProjectLink: async (platformProjectIdRaw?: unknown): Promise<boolean> => {\n const platformProjectId = typeof platformProjectIdRaw === 'string' ? platformProjectIdRaw.trim() : '';\n if (!platformProjectId) {\n return false;\n }\n\n const result = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.jiraProject.name)\n .data<string, AXEJiraProjectEntityModel>()\n .query({\n skip: 0,\n take: 1,\n filter: {\n field: 'platformProjectId',\n operator: { type: 'equal' },\n value: platformProjectId,\n },\n });\n\n return (result.items?.length ?? 0) > 0;\n },\n hasJiraConnection: async (): Promise<boolean> => {\n try {\n await this.integrationRuntime.getConnection({ providerId: 'jira', connectionScope: 'tenant' });\n return true;\n } catch {\n return false;\n }\n },\n });\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPSystemActionType } from '@acorex-platform/framework-shared/core';\nimport { AXPEntityAction, AXPEntityCommandScope } from '@acorex-platform/framework-shared/entity';\nimport {\n actionExists,\n AXPEntityModifierProvider,\n ensureListActions,\n} from '@acorex-platform/framework-client/layout/entity';\nimport { AXEJiraCommandKeys } from '@acorex-platform/extension-project-management-jira-client/contracts';\nimport { RootConfig as PmRootConfig } from '@acorex-platform/module-project-management-client/contracts';\nimport { AXE_JIRA_EXPRESSION_SCOPE } from './jira-project-link-expression-evaluator-scope.provider';\n\n//#endregion\n\nconst IMPORT_ORDER = 35;\nconst SYNC_ORDER = 36;\n\nfunction buildImportAction(): AXPEntityAction {\n return {\n name: AXEJiraCommandKeys.ProjectImportFromJira,\n title: '@extensions-jira:actions.import-from-jira.title',\n command: { name: AXEJiraCommandKeys.ProjectImportFromJira },\n priority: 'secondary',\n type: AXPSystemActionType.Import,\n icon: 'fa-brands fa-jira',\n scope: AXPEntityCommandScope.TypeLevel,\n order: IMPORT_ORDER,\n };\n}\n\nfunction buildSyncAction(): AXPEntityAction {\n return {\n name: AXEJiraCommandKeys.ProjectSync,\n title: '@extensions-jira:actions.sync.title',\n command: {\n name: AXEJiraCommandKeys.ProjectSync,\n options: { platformProjectId: '{{ context.eval(\"id\") }}' },\n },\n priority: 'secondary',\n type: AXPSystemActionType.Sync,\n icon: 'fa-light fa-arrows-rotate',\n scope: AXPEntityCommandScope.Individual,\n order: SYNC_ORDER,\n hidden: `{{ !(await ${AXE_JIRA_EXPRESSION_SCOPE}.hasProjectLink(context.eval(\"id\"))) }}`,\n };\n}\n\n/** Adds Jira import/sync actions to ProjectManagement.Project views. */\nexport const AXEJiraProjectEntityModifier: AXPEntityModifierProvider = {\n entityName: PmRootConfig.entities.project.name,\n order: 50,\n modifier: (ctx) => {\n if (ctx.module.get() !== PmRootConfig.module.name) {\n return;\n }\n\n ensureListActions(ctx);\n\n ctx.interfaces.update((interfaces) => {\n const next = (interfaces ?? {}) as Record<string, unknown>;\n const master = (next['master'] ?? {}) as Record<string, unknown>;\n const list = (master['list'] ?? { actions: [], views: [] }) as Record<string, unknown>;\n const listActions = (list['actions'] ?? []) as AXPEntityAction[];\n\n if (!actionExists(listActions, AXEJiraCommandKeys.ProjectImportFromJira)) {\n listActions.push(buildImportAction());\n }\n list['actions'] = listActions;\n master['list'] = list;\n\n const single = master['single'] as Record<string, unknown> | undefined;\n if (single) {\n const singleActions = (single['actions'] ?? []) as AXPEntityAction[];\n if (!actionExists(singleActions, AXEJiraCommandKeys.ProjectSync)) {\n singleActions.push(buildSyncAction());\n }\n single['actions'] = singleActions;\n }\n\n next['master'] = master;\n return next as typeof interfaces;\n });\n },\n};\n\n//#endregion\n","//#region ---- Jira logo registry key ----\n\nexport const axpJiraLogoKey = 'jira' as const;\n\n//#endregion\n","import { AXP_INTEGRATION_AUTH_METHOD_TYPE, AXP_INTEGRATION_CAPABILITY, AXP_INTEGRATION_CONNECTION_SCOPE, AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport {\n AXPIntegrationProvider,\n AXPIntegrationProviderContext,\n} from '@acorex-platform/framework-client/common';\nimport { Injectable } from '@angular/core';\nimport { AXEJiraCommandKeys, RootConfig } from '@acorex-platform/extension-project-management-jira-client/contracts';\nimport { axpJiraLogoKey } from '../brand/jira-logo-key';\n\n@Injectable()\nexport class AXEJiraIntegrationProvider implements AXPIntegrationProvider {\n async provide(context: AXPIntegrationProviderContext): Promise<void> {\n const I18N = `@${RootConfig.config.i18n}:integration`;\n\n context.register({\n domainId: 'project-management',\n id: 'jira',\n module: RootConfig.module.name,\n displayName: `${I18N}.display-name`,\n description: `${I18N}.description`,\n icon: RootConfig.module.icon,\n logoKey: axpJiraLogoKey,\n capabilities: [\n AXP_INTEGRATION_CAPABILITY.IssueTracking,\n AXP_INTEGRATION_CAPABILITY.Sync,\n AXP_INTEGRATION_CAPABILITY.TimeLogging,\n ],\n connectionScopes: [AXP_INTEGRATION_CONNECTION_SCOPE.Tenant, AXP_INTEGRATION_CONNECTION_SCOPE.User],\n allowMultipleConnections: true,\n defaultConnectionKey: 'default',\n connectCommandKey: AXEJiraCommandKeys.ConnectionConnect,\n authMethods: [\n {\n type: AXP_INTEGRATION_AUTH_METHOD_TYPE.Pat,\n label: `${I18N}.auth.pat.label`,\n instructions: `${I18N}.auth.pat.instructions`,\n supportsValidation: true,\n fields: [\n {\n type: AXPWidgetsList.Editors.TextBox,\n path: 'baseUrl',\n options: { placeholder: `${I18N}.auth.pat.base-url.placeholder` },\n },\n {\n type: AXPWidgetsList.Editors.PasswordBox,\n path: 'token',\n options: { placeholder: `${I18N}.auth.pat.token.placeholder` },\n },\n ],\n },\n {\n type: AXP_INTEGRATION_AUTH_METHOD_TYPE.Basic,\n label: `${I18N}.auth.basic.label`,\n instructions: `${I18N}.auth.basic.instructions`,\n supportsValidation: true,\n fields: [\n {\n type: AXPWidgetsList.Editors.TextBox,\n path: 'baseUrl',\n options: { placeholder: `${I18N}.auth.basic.base-url.placeholder` },\n },\n {\n type: AXPWidgetsList.Editors.TextBox,\n path: 'username',\n options: { placeholder: `${I18N}.auth.basic.username.placeholder` },\n },\n {\n type: AXPWidgetsList.Editors.PasswordBox,\n path: 'password',\n options: { placeholder: `${I18N}.auth.basic.password.placeholder` },\n },\n ],\n },\n {\n type: AXP_INTEGRATION_AUTH_METHOD_TYPE.ApiToken,\n label: `${I18N}.auth.api-token.label`,\n instructions: `${I18N}.auth.api-token.instructions`,\n supportsValidation: true,\n fields: [\n {\n type: AXPWidgetsList.Editors.TextBox,\n path: 'siteUrl',\n options: { placeholder: `${I18N}.auth.api-token.site-url.placeholder` },\n },\n {\n type: AXPWidgetsList.Editors.TextBox,\n path: 'email',\n options: { placeholder: `${I18N}.auth.api-token.email.placeholder` },\n },\n {\n type: AXPWidgetsList.Editors.PasswordBox,\n path: 'apiToken',\n options: { placeholder: `${I18N}.auth.api-token.token.placeholder` },\n },\n ],\n },\n {\n type: AXP_INTEGRATION_AUTH_METHOD_TYPE.OAuth2,\n label: `${I18N}.auth.oauth.label`,\n instructions: `${I18N}.auth.oauth.instructions`,\n usesRedirect: true,\n supportsRefresh: true,\n supportsRevoke: false,\n supportsValidation: true,\n defaultScopes: ['read:jira-work', 'read:jira-user'],\n fields: [],\n },\n ],\n });\n }\n}\n\n//#endregion\n","import { AXP_INTEGRATION_AUTH_METHOD_TYPE, AXP_INTEGRATION_CONNECTION_STATUS, type AXPIntegrationProviderRuntimeHooks, type AXPIntegrationRuntimeContext, type AXPIntegrationValidationResult } from '@acorex-platform/framework-shared/core';\nimport {\n AXP_INTEGRATION_RUNTIME_PROVIDER,\n AXP_INTEGRATION_SECRET_STORE,\n type AXPIntegrationRuntimeProvider,\n} from '@acorex-platform/framework-client/common';\nimport { Injectable, inject } from '@angular/core';\nimport { defaultTo, trim } from 'lodash-es';\n\n@Injectable()\nexport class AXEJiraIntegrationRuntimeProvider implements AXPIntegrationRuntimeProvider {\n readonly providerId = 'jira';\n\n private readonly secretStore = inject(AXP_INTEGRATION_SECRET_STORE, { optional: true });\n\n async getHooks(): Promise<AXPIntegrationProviderRuntimeHooks> {\n return {\n validateConnection: (ctx) => this.validateConnection(ctx),\n createClient: (ctx) => this.createClient(ctx),\n };\n }\n\n private async validateConnection(ctx: AXPIntegrationRuntimeContext): Promise<AXPIntegrationValidationResult> {\n if (!this.secretStore) {\n return { valid: false, status: AXP_INTEGRATION_CONNECTION_STATUS.Invalid, errorMessage: 'Secret store unavailable.' };\n }\n\n try {\n const credentials = await this.secretStore.resolve(ctx.secretRef, ctx);\n const token =\n credentials.token ??\n credentials.apiToken ??\n credentials.accessToken;\n\n if (!trim(defaultTo(token, ''))) {\n return {\n valid: false,\n status: AXP_INTEGRATION_CONNECTION_STATUS.Invalid,\n errorMessage: 'No token available for Jira connection.',\n };\n }\n\n return {\n valid: true,\n status: AXP_INTEGRATION_CONNECTION_STATUS.Connected,\n externalAccountName: defaultTo(ctx.instanceUrl, 'Jira'),\n };\n } catch {\n return {\n valid: false,\n status: AXP_INTEGRATION_CONNECTION_STATUS.Invalid,\n errorMessage: 'Failed to validate Jira credentials.',\n };\n }\n }\n\n private async createClient(ctx: AXPIntegrationRuntimeContext): Promise<{ token: string; baseUrl?: string }> {\n if (!this.secretStore) {\n throw new Error('Secret store unavailable.');\n }\n\n const credentials = await this.secretStore.resolve(ctx.secretRef, ctx);\n const token =\n credentials.token ??\n credentials.apiToken ??\n credentials.accessToken;\n\n if (!trim(defaultTo(token, ''))) {\n throw new Error('Jira connection has no usable token.');\n }\n\n return {\n token: token!,\n baseUrl: defaultTo(ctx.instanceUrl, undefined),\n };\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXP_INTEGRATION_CONNECTION_ESTABLISHED, type AXPIntegrationConnectionEstablishedHandler } from '@acorex-platform/framework-client/common';\nimport { AXP_INTEGRATION_CONNECTION_SCOPE, type AXPSafeIntegrationConnectionDto } from '@acorex-platform/framework-shared/core';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { Injectable, inject } from '@angular/core';\nimport { trim } from 'lodash-es';\n\nimport { RootConfig } from '@acorex-platform/extension-project-management-jira-client/contracts';\nimport type { AXEJiraInstanceEntityModel } from '@acorex-platform/extension-project-management-jira-domain';\n\n//#endregion\n\n//#region ---- Handler ----\n\n@Injectable()\nexport class AXEJiraConnectionEstablishedHandler implements AXPIntegrationConnectionEstablishedHandler {\n readonly providerId = 'jira';\n\n private readonly entityService = inject(AXPEntityService);\n\n async onEstablished(connection: AXPSafeIntegrationConnectionDto): Promise<void> {\n if (connection.connectionScope !== AXP_INTEGRATION_CONNECTION_SCOPE.Tenant) {\n return;\n }\n\n const connectionKey = trim(connection.connectionKey);\n if (!connectionKey) {\n return;\n }\n\n const accessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.jiraInstance.name)\n .data<string, AXEJiraInstanceEntityModel>();\n\n const result = await accessor.query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [{ field: 'name', operator: { type: 'equal' }, value: connectionKey }],\n },\n });\n\n const instance = result.items?.[0];\n if (!instance || instance.integrationConnectionId === connection.id) {\n return;\n }\n\n await accessor.update(instance.id, { integrationConnectionId: connection.id });\n }\n}\n\nexport const provideJiraConnectionEstablishedHandler = {\n provide: AXP_INTEGRATION_CONNECTION_ESTABLISHED,\n useClass: AXEJiraConnectionEstablishedHandler,\n multi: true,\n};\n\n//#endregion\n","import {\n AXP_LOGO_PROVIDER,\n type AXPLogoProvider,\n type AXPLogoRequest,\n type AXPLogoView,\n} from '@acorex-platform/framework-client/core';\nimport { axpJiraLogoKey } from './jira-logo-key';\n\nconst jiraLogoProvider: AXPLogoProvider = {\n key: axpJiraLogoKey,\n resolve: async (request: AXPLogoRequest): Promise<AXPLogoView> => ({\n kind: 'component',\n load: () => import('./jira-logo.component').then((module) => module.AXEJiraLogoComponent),\n inputs: {\n appearance: request.appearance,\n size: request.size,\n },\n }),\n};\n\nexport const AXE_JIRA_LOGO_PROVIDER = {\n provide: AXP_LOGO_PROVIDER,\n useValue: jiraLogoProvider,\n multi: true,\n} as const;\n","//#region ---- Imports ----\n\nimport { AXPModuleManifest } from '@acorex-platform/framework-client/core';\nimport { RootConfig } from '@acorex-platform/extension-project-management-jira-client/contracts';\n\n//#endregion\n\n//#region ---- Manifest ----\n\nexport const JiraExtensionManifest: 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: 'project-management',\n dependencies: [],\n};\n\n//#endregion\n","//#region ---- Imports ----\n\nimport {\n AXPCommonMenuKeys\n} from '@acorex-platform/module-common-client/contracts';\nimport { AXPMenuProvider, AXPMenuProviderContext } from '@acorex-platform/framework-client/common';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport {\n AXEJiraMenuKeys,\n RootConfig,\n AXPAdministrationPermissionKeys\n} from '@acorex-platform/extension-project-management-jira-client/contracts';\n\n//#endregion\n\n//#region ---- Menu Provider ----\n\n@Injectable()\nexport class AXEJiraMenuProvider implements AXPMenuProvider {\n private readonly entityService = inject(AXPEntityService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const module = RootConfig.module;\n const policy = {\n features: [module.name],\n permissions: [AXPAdministrationPermissionKeys.MaintainConnections],\n };\n\n const configMenu = context.find(AXPCommonMenuKeys.Configuration);\n if (!context.find(AXEJiraMenuKeys.JiraExtensionConfig).exists) {\n configMenu.addItems([\n {\n name: AXEJiraMenuKeys.JiraExtensionConfig,\n text: '@extensions-jira:module.menus.configuration.title',\n icon: module.icon,\n type: 'menu',\n priority: 8935,\n policy,\n children: [],\n },\n ]);\n }\n\n const jiraConfig = context.find(AXEJiraMenuKeys.JiraExtensionConfig);\n const catalogPolicy = {\n features: [module.name],\n permissions: [AXPAdministrationPermissionKeys.ViewIntegrations],\n };\n\n jiraConfig.addItems([\n {\n name: AXEJiraMenuKeys.Instances,\n text: RootConfig.entities.jiraInstance.titlePlural,\n path: this.entityService.createPath(module.name, RootConfig.entities.jiraInstance.name),\n icon: RootConfig.entities.jiraInstance.icon,\n priority: 1,\n policy,\n },\n {\n name: AXEJiraMenuKeys.IssueTypes,\n text: RootConfig.entities.jiraIssueType.titlePlural,\n path: this.entityService.createPath(module.name, RootConfig.entities.jiraIssueType.name),\n icon: RootConfig.entities.jiraIssueType.icon,\n priority: 3,\n policy: catalogPolicy,\n },\n {\n name: AXEJiraMenuKeys.Fields,\n text: RootConfig.entities.jiraField.titlePlural,\n path: this.entityService.createPath(module.name, RootConfig.entities.jiraField.name),\n icon: RootConfig.entities.jiraField.icon,\n priority: 4,\n policy: catalogPolicy,\n },\n {\n name: AXEJiraMenuKeys.Issues,\n text: RootConfig.entities.jiraIssue.titlePlural,\n path: this.entityService.createPath(module.name, RootConfig.entities.jiraIssue.name),\n icon: RootConfig.entities.jiraIssue.icon,\n priority: 5,\n policy: {\n features: [module.name],\n permissions: [AXPAdministrationPermissionKeys.ViewIntegrations],\n },\n },\n {\n name: AXEJiraMenuKeys.Worklogs,\n text: RootConfig.entities.jiraWorklog.titlePlural,\n path: this.entityService.createPath(module.name, RootConfig.entities.jiraWorklog.name),\n icon: RootConfig.entities.jiraWorklog.icon,\n priority: 6,\n policy: {\n features: [module.name],\n permissions: [AXPAdministrationPermissionKeys.ViewIntegrations],\n },\n },\n ]);\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXMIntegrationManagementModule } from '@acorex-platform/module-integration-management-client';\nimport {\n AXP_INTEGRATION_PROVIDER,\n AXP_INTEGRATION_RUNTIME_PROVIDER,\n AXP_MENU_PROVIDER,\n AXP_STATUS_PROVIDERS,\n} from '@acorex-platform/framework-client/common';\nimport { AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, AXP_MODULE_MANIFEST_PROVIDER } from '@acorex-platform/framework-client/core';\nimport { AXP_ENTITY_DEFINITION_LOADER, AXP_ENTITY_MODIFIER } from '@acorex-platform/framework-client/layout/entity';\nimport { provideCommandSetups } from '@acorex-platform/framework-client/runtime';\nimport { NgModule } from '@angular/core';\nimport { AXEJiraCommandKeys } from '@acorex-platform/extension-project-management-jira-client/contracts';\nimport { AXEJiraEntityProvider } from './entity.provider';\nimport { AXEJiraProjectStatusProvider } from './features/jira-project/jira-project-status.provider';\nimport { AXEJiraProjectLinkExpressionEvaluatorScopeProvider } from './features/project-management/jira-project-link-expression-evaluator-scope.provider';\nimport { AXEJiraProjectEntityModifier } from './features/project-management/project-jira.entity-modifier';\nimport { AXEJiraIntegrationProvider } from './integration/jira.integration.provider';\nimport { AXEJiraIntegrationRuntimeProvider } from './integration/jira.integration-runtime.provider';\nimport { provideJiraConnectionEstablishedHandler } from './integration/jira.connection-established.handler';\nimport { AXE_JIRA_LOGO_PROVIDER } from './brand/jira-logo.provider';\nimport { JiraExtensionManifest } from './manifest';\nimport { AXEJiraMenuProvider } from './menu.provider';\n\n//#endregion\n\n//#region ---- Module ----\n\n@NgModule({\n imports: [AXMIntegrationManagementModule],\n providers: [\n AXE_JIRA_LOGO_PROVIDER,\n {\n provide: AXP_MODULE_MANIFEST_PROVIDER,\n useValue: JiraExtensionManifest,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXEJiraMenuProvider,\n multi: true,\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXEJiraEntityProvider,\n multi: true,\n },\n {\n provide: AXP_ENTITY_MODIFIER,\n useValue: AXEJiraProjectEntityModifier,\n multi: true,\n },\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXEJiraProjectLinkExpressionEvaluatorScopeProvider,\n multi: true,\n },\n {\n provide: AXP_STATUS_PROVIDERS,\n useClass: AXEJiraProjectStatusProvider,\n multi: true,\n },\n {\n provide: AXP_INTEGRATION_PROVIDER,\n useClass: AXEJiraIntegrationProvider,\n multi: true,\n },\n {\n provide: AXP_INTEGRATION_RUNTIME_PROVIDER,\n useClass: AXEJiraIntegrationRuntimeProvider,\n multi: true,\n },\n provideJiraConnectionEstablishedHandler,\n provideCommandSetups([\n {\n key: AXEJiraCommandKeys.ConnectionConnect,\n command: () => import('./features/connect/connect-jira.command').then((c) => c.ConnectJiraCommand),\n },\n ]),\n ],\n})\nexport class AXEJiraExtensionModule {}\n\n//#endregion\n","//#region ---- Atlassian / Jira mark vector paths ----\n\nexport const AXE_JIRA_MARK_BLUE = '#2684FF';\n\n/** Left sail */\nexport const AXE_JIRA_MARK_LEFT_PATH =\n 'M7.12 11.084a.683.683 0 0 0-1.16.126L.075 22.974a.703.703 0 0 0 .63 1.018h8.19a.678.678 0 0 0 .63-.39c1.767-3.65.696-9.203-2.406-12.52z';\n\n/** Right sail */\nexport const AXE_JIRA_MARK_RIGHT_PATH =\n 'M11.434.386a15.515 15.515 0 0 0-.906 15.317l3.95 7.9a.703.703 0 0 0 .628.388h8.19a.703.703 0 0 0 .63-1.017L12.63.38a.664.664 0 0 0-1.196.006z';\n\n//#endregion\n","import type { AXPLogoAppearance } from '@acorex-platform/framework-client/core';\nimport { Component, computed, input, ChangeDetectionStrategy } from '@angular/core';\nimport {\n AXE_JIRA_MARK_BLUE,\n AXE_JIRA_MARK_LEFT_PATH,\n AXE_JIRA_MARK_RIGHT_PATH,\n} from './jira-mark.paths';\n\n//#region ---- Jira brand logo (owned by Jira extension) ----\n\n@Component({\n selector: 'axe-jira-logo',\n host: { class: 'inline-flex items-center justify-center' },\n changeDetection: ChangeDetectionStrategy.Eager,\n template: `\n @switch (resolvedAppearance()) {\n @case ('monochrome') {\n <svg [attr.width]=\"size()\" [attr.height]=\"size()\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <path fill=\"currentColor\" [attr.d]=\"leftPath\" />\n <path fill=\"currentColor\" [attr.d]=\"rightPath\" />\n </svg>\n }\n @default {\n <svg [attr.width]=\"size()\" [attr.height]=\"size()\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <path [attr.fill]=\"markBlue\" [attr.d]=\"leftPath\" />\n <path [attr.fill]=\"markBlue\" [attr.d]=\"rightPath\" />\n </svg>\n }\n }\n `,\n})\nexport class AXEJiraLogoComponent {\n appearance = input<AXPLogoAppearance>('colored');\n size = input(20);\n\n protected readonly leftPath = AXE_JIRA_MARK_LEFT_PATH;\n protected readonly rightPath = AXE_JIRA_MARK_RIGHT_PATH;\n protected readonly markBlue = AXE_JIRA_MARK_BLUE;\n\n protected readonly resolvedAppearance = computed(() => {\n const value = this.appearance();\n return value === 'monochrome' ? 'monochrome' : 'colored';\n });\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXValueChangedEvent } from '@acorex/cdk/common';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXComboBoxComponent, type AXComboBoxItem, type AXComboBoxValue } from '@acorex/components/combo-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport type { AXEJiraProjectSyncStrategy } from '@acorex-platform/extension-project-management-jira-client/contracts';\nimport { AXE_JIRA_PROJECT_SYNC_STRATEGIES } from '@acorex-platform/extension-project-management-jira-client/contracts';\nimport type { AXEJiraInstanceEntityModel } from '@acorex-platform/extension-project-management-jira-domain';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport type { AXEJiraRemoteProject } from '@acorex-platform/extension-project-management-jira-client/contracts';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface AXEJiraProjectImportPopupData {\n instance: AXEJiraInstanceEntityModel;\n defaultProjectTypeId: string;\n projectTypes: Array<{ id: string; title: string }>;\n remoteProjects: AXEJiraRemoteProject[];\n alreadyLinkedJiraIds: Set<string>;\n}\n\nexport interface AXEJiraProjectImportPopupResult {\n defaultProjectTypeId: string;\n rows: Array<{\n remote: AXEJiraRemoteProject;\n selected: boolean;\n syncStrategy: AXEJiraProjectSyncStrategy;\n }>;\n}\n\ninterface ImportRowState {\n remote: AXEJiraRemoteProject;\n selected: boolean;\n syncStrategy: AXEJiraProjectSyncStrategy;\n alreadyLinked: boolean;\n}\n\n//#endregion\n\n//#region ---- Component ----\n\n@Component({\n selector: 'axe-jira-project-import-popup',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n AsyncPipe,\n FormsModule,\n AXButtonModule,\n AXCheckBoxModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXComboBoxComponent,\n AXTranslationModule,\n ],\n template: `\n <div class=\"flex flex-col gap-4 p-4 max-h-[70vh] overflow-auto\">\n <div class=\"flex flex-col gap-1\">\n <span class=\"text-sm font-medium\">\n {{ '@extensions-jira:import.popup.default-project-type' | translate | async }}\n </span>\n <ax-combo-box\n [items]=\"projectTypeComboItems\"\n [searchable]=\"false\"\n [value]=\"defaultProjectTypeId()\"\n (onValueChanged)=\"handleProjectTypeChange($event)\"\n ></ax-combo-box>\n </div>\n\n @if (loading()) {\n <ax-loading></ax-loading>\n } @else if (rows().length === 0) {\n <p class=\"text-sm opacity-70\">\n {{ '@extensions-jira:import.popup.empty' | translate | async }}\n </p>\n } @else {\n <table class=\"w-full text-sm\">\n <thead>\n <tr class=\"border-b\">\n <th class=\"p-2 text-start\"></th>\n <th class=\"p-2 text-start\">{{ '@extensions-jira:import.popup.columns.key' | translate | async }}</th>\n <th class=\"p-2 text-start\">{{ '@extensions-jira:import.popup.columns.name' | translate | async }}</th>\n <th class=\"p-2 text-start\">{{ '@extensions-jira:import.popup.columns.strategy' | translate | async }}</th>\n </tr>\n </thead>\n <tbody>\n @for (row of rows(); track row.remote.id) {\n <tr class=\"border-b border-opacity-20\">\n <td class=\"p-2\">\n <ax-check-box\n [ngModel]=\"row.selected\"\n [disabled]=\"row.alreadyLinked\"\n (onValueChanged)=\"toggleRow(row.remote.id, $event)\"\n ></ax-check-box>\n </td>\n <td class=\"p-2\">{{ row.remote.key }}</td>\n <td class=\"p-2\">{{ row.remote.name }}</td>\n <td class=\"p-2\">\n <ax-combo-box\n class=\"min-w-40\"\n [items]=\"strategyOptions\"\n [searchable]=\"false\"\n [value]=\"row.syncStrategy\"\n [disabled]=\"!row.selected\"\n (onValueChanged)=\"changeStrategy(row.remote.id, $event)\"\n ></ax-combo-box>\n </td>\n </tr>\n }\n </tbody>\n </table>\n }\n </div>\n <ax-footer>\n <ax-suffix>\n <ax-button\n look=\"outline\"\n [text]=\"'@general:actions.cancel.title' | translate | async\"\n (onClick)=\"close()\"\n ></ax-button>\n <ax-button\n look=\"solid\"\n color=\"primary\"\n [disabled]=\"!hasSelection()\"\n [text]=\"'@extensions-jira:import.popup.confirm' | translate | async\"\n (onClick)=\"confirm()\"\n ></ax-button>\n </ax-suffix>\n </ax-footer>\n `,\n})\nexport class AXEJiraProjectImportPopupComponent extends AXBasePageComponent {\n protected loading = signal(false);\n protected defaultProjectTypeId = signal('');\n protected rows = signal<ImportRowState[]>([]);\n\n instance!: AXEJiraInstanceEntityModel;\n projectTypes: Array<{ id: string; title: string }> = [];\n remoteProjects: AXEJiraRemoteProject[] = [];\n alreadyLinkedJiraIds = new Set<string>();\n\n protected readonly strategyOptions: AXComboBoxItem[] =\n AXE_JIRA_PROJECT_SYNC_STRATEGIES.map((id) => ({\n id,\n text: `@extensions-jira:import.sync-strategy.${id}`,\n value: id,\n }));\n\n protected get projectTypeComboItems(): AXComboBoxItem[] {\n return this.projectTypes.map((type) => ({\n id: type.id,\n text: type.title,\n value: type.id,\n }));\n }\n\n protected override ngOnInit(): void {\n super.ngOnInit();\n this.defaultProjectTypeId.set(this.projectTypes[0]?.id ?? '');\n this.rows.set(\n this.remoteProjects.map((remote) => ({\n remote,\n selected: !this.alreadyLinkedJiraIds.has(remote.id),\n syncStrategy: 'merge' as AXEJiraProjectSyncStrategy,\n alreadyLinked: this.alreadyLinkedJiraIds.has(remote.id),\n })),\n );\n }\n\n protected handleProjectTypeChange(event: AXValueChangedEvent<AXComboBoxValue>): void {\n const value = event.value;\n this.defaultProjectTypeId.set(typeof value === 'string' ? value : '');\n }\n\n protected toggleRow(remoteId: string, event: AXValueChangedEvent<boolean>): void {\n const selected = !!event.value;\n this.rows.update((items) =>\n items.map((row) => (row.remote.id === remoteId ? { ...row, selected } : row)),\n );\n }\n\n protected changeStrategy(remoteId: string, event: AXValueChangedEvent<AXComboBoxValue>): void {\n const raw = event.value;\n const syncStrategy =\n typeof raw === 'string' && AXE_JIRA_PROJECT_SYNC_STRATEGIES.includes(raw as AXEJiraProjectSyncStrategy)\n ? (raw as AXEJiraProjectSyncStrategy)\n : 'merge';\n this.rows.update((items) =>\n items.map((row) => (row.remote.id === remoteId ? { ...row, syncStrategy } : row)),\n );\n }\n\n protected hasSelection(): boolean {\n return this.rows().some((row) => row.selected && !row.alreadyLinked);\n }\n\n protected confirm(): void {\n const result: AXEJiraProjectImportPopupResult = {\n defaultProjectTypeId: this.defaultProjectTypeId(),\n rows: this.rows()\n .filter((row) => row.selected && !row.alreadyLinked)\n .map((row) => ({\n remote: row.remote,\n selected: true,\n syncStrategy: row.syncStrategy,\n })),\n };\n this.close(result);\n }\n}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["PmRootConfig"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-extension-project-management-jira-client.mjs","sources":["../../../../libs/extensions/project-management/jira/client/src/lib/entity.provider.ts","../../../../libs/extensions/project-management/jira/client/src/lib/features/jira-project/jira-project-status.provider.ts","../../../../libs/extensions/project-management/jira/client/src/lib/features/project-management/jira-project-link-expression-evaluator-scope.provider.ts","../../../../libs/extensions/project-management/jira/client/src/lib/features/project-management/project-jira.entity-modifier.ts","../../../../libs/extensions/project-management/jira/client/src/lib/brand/jira-logo-key.ts","../../../../libs/extensions/project-management/jira/client/src/lib/integration/jira.integration.provider.ts","../../../../libs/extensions/project-management/jira/client/src/lib/integration/jira.integration-runtime.provider.ts","../../../../libs/extensions/project-management/jira/client/src/lib/integration/jira.connection-established.handler.ts","../../../../libs/extensions/project-management/jira/client/src/lib/brand/jira-logo.provider.ts","../../../../libs/extensions/project-management/jira/client/src/lib/menu.provider.ts","../../../../libs/extensions/project-management/jira/client/src/lib/jira-extension.module.ts","../../../../libs/extensions/project-management/jira/client/src/lib/brand/jira-mark.paths.ts","../../../../libs/extensions/project-management/jira/client/src/lib/brand/jira-logo.component.ts","../../../../libs/extensions/project-management/jira/client/src/lib/features/project-import/jira-project-import-popup.component.ts","../../../../libs/extensions/project-management/jira/client/src/acorex-platform-extension-project-management-jira-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-project-management-jira-client/contracts';\n\n//#endregion\n\n//#region ---- Entity Provider ----\n\n@Injectable()\nexport class AXEJiraEntityProvider 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 switch (entityName) {\n case RootConfig.entities.jiraInstance.name:\n return (await import('@acorex-platform/extension-project-management-jira-domain')).jiraInstanceFactory();\n case RootConfig.entities.jiraProject.name:\n return (await import('@acorex-platform/extension-project-management-jira-domain')).jiraProjectFactory();\n case RootConfig.entities.jiraIssueType.name:\n return (await import('@acorex-platform/extension-project-management-jira-domain')).jiraIssueTypeFactory();\n case RootConfig.entities.jiraField.name:\n return (await import('@acorex-platform/extension-project-management-jira-domain')).jiraFieldFactory();\n case RootConfig.entities.jiraProjectIssueType.name:\n return (await import('@acorex-platform/extension-project-management-jira-domain')).jiraProjectIssueTypeFactory();\n case RootConfig.entities.jiraProjectIssueTypeField.name:\n return (await import('@acorex-platform/extension-project-management-jira-domain')).jiraProjectIssueTypeFieldFactory();\n case RootConfig.entities.jiraWorkflowStatus.name:\n return (await import('@acorex-platform/extension-project-management-jira-domain')).jiraWorkflowStatusFactory();\n case RootConfig.entities.jiraIssue.name:\n return (await import('@acorex-platform/extension-project-management-jira-domain')).jiraIssueFactory();\n case RootConfig.entities.jiraWorklog.name:\n return (await import('@acorex-platform/extension-project-management-jira-domain')).jiraWorklogFactory();\n default:\n return null;\n }\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 { AXPStatusDefinition, AXPStatusProvider, AXPStatusTransition } from '@acorex-platform/framework-shared/core';\n\n//#endregion\n\n//#region ---- Status Helper ----\n\nconst status = (\n name: string,\n title: string,\n color: string,\n options: Partial<AXPStatusDefinition> = {},\n): AXPStatusDefinition => ({\n name,\n title,\n color,\n ...options,\n});\n\n//#endregion\n\n//#region ---- Jira Project Status Provider ----\n\n/**\n * Operational sync status for mirrored Jira projects (not Jira workflow statuses).\n */\nexport class AXEJiraProjectStatusProvider extends AXPStatusProvider {\n readonly key = 'extensions-jira.status.jira-project';\n\n readonly statuses: AXPStatusDefinition[] = [\n status('Active', '@extensions-jira:projects.statuses.active', 'success', {\n order: 1,\n generateView: true,\n isInitial: true,\n icon: 'fa-light fa-circle-check',\n }),\n status('Archived', '@extensions-jira:projects.statuses.archived', 'neutral', {\n order: 2,\n generateView: true,\n isFinal: true,\n icon: 'fa-light fa-box-archive',\n }),\n status('SyncError', '@extensions-jira:projects.statuses.sync-error', 'danger', {\n order: 3,\n generateView: true,\n icon: 'fa-light fa-triangle-exclamation',\n }),\n ];\n\n readonly transitions: AXPStatusTransition[] = [\n {\n from: 'Active',\n to: 'Archived',\n title: '@extensions-jira:projects.transitions.archive',\n },\n {\n from: 'Archived',\n to: 'Active',\n title: '@extensions-jira:projects.transitions.activate',\n },\n {\n from: 'Active',\n to: 'SyncError',\n title: '@extensions-jira:projects.transitions.mark-sync-error',\n },\n {\n from: 'SyncError',\n to: 'Active',\n title: '@extensions-jira:projects.transitions.resolve-sync-error',\n },\n ];\n\n readonly defaultStatus = 'Active';\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviderContext } from '@acorex-platform/framework-shared/core';\nimport { AXPIntegrationRuntimeService } from '@acorex-platform/framework-client/common';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { inject } from '@angular/core';\nimport { RootConfig } from '@acorex-platform/extension-project-management-jira-client/contracts';\nimport type { AXEJiraProjectEntityModel } from '@acorex-platform/extension-project-management-jira-domain';\n\n//#endregion\n\n/** Expression scope namespace (no hyphens — safe for `with (scope)` eval). */\nexport const AXE_JIRA_EXPRESSION_SCOPE = 'JiraExtension';\n\n//#region ---- Provider ----\n\nexport class AXEJiraProjectLinkExpressionEvaluatorScopeProvider implements AXPExpressionEvaluatorScopeProvider {\n private readonly entityService = inject(AXPEntityService);\n private readonly integrationRuntime = inject(AXPIntegrationRuntimeService);\n\n async provide(context: AXPExpressionEvaluatorScopeProviderContext): Promise<void> {\n context.addScope(AXE_JIRA_EXPRESSION_SCOPE, {\n hasProjectLink: async (platformProjectIdRaw?: unknown): Promise<boolean> => {\n const platformProjectId = typeof platformProjectIdRaw === 'string' ? platformProjectIdRaw.trim() : '';\n if (!platformProjectId) {\n return false;\n }\n\n const result = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.jiraProject.name)\n .data<string, AXEJiraProjectEntityModel>()\n .query({\n skip: 0,\n take: 1,\n filter: {\n field: 'platformProjectId',\n operator: { type: 'equal' },\n value: platformProjectId,\n },\n });\n\n return (result.items?.length ?? 0) > 0;\n },\n hasJiraConnection: async (): Promise<boolean> => {\n try {\n await this.integrationRuntime.getConnection({ providerId: 'jira', connectionScope: 'tenant' });\n return true;\n } catch {\n return false;\n }\n },\n });\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPSystemActionType } from '@acorex-platform/framework-shared/core';\nimport { AXPEntityAction, AXPEntityCommandScope } from '@acorex-platform/framework-shared/entity';\nimport {\n actionExists,\n AXPEntityModifierProvider,\n ensureListActions,\n} from '@acorex-platform/framework-client/layout/entity';\nimport { AXEJiraCommandKeys } from '@acorex-platform/extension-project-management-jira-client/contracts';\nimport { RootConfig as PmRootConfig } from '@acorex-platform/module-project-management-client/contracts';\nimport { AXE_JIRA_EXPRESSION_SCOPE } from './jira-project-link-expression-evaluator-scope.provider';\n\n//#endregion\n\nconst IMPORT_ORDER = 35;\nconst SYNC_ORDER = 36;\n\nfunction buildImportAction(): AXPEntityAction {\n return {\n name: AXEJiraCommandKeys.ProjectImportFromJira,\n title: '@extensions-jira:actions.import-from-jira.title',\n command: { name: AXEJiraCommandKeys.ProjectImportFromJira },\n priority: 'secondary',\n type: AXPSystemActionType.Import,\n icon: 'fa-brands fa-jira',\n scope: AXPEntityCommandScope.TypeLevel,\n order: IMPORT_ORDER,\n };\n}\n\nfunction buildSyncAction(): AXPEntityAction {\n return {\n name: AXEJiraCommandKeys.ProjectSync,\n title: '@extensions-jira:actions.sync.title',\n command: {\n name: AXEJiraCommandKeys.ProjectSync,\n options: { platformProjectId: '{{ context.eval(\"id\") }}' },\n },\n priority: 'secondary',\n type: AXPSystemActionType.Sync,\n icon: 'fa-light fa-arrows-rotate',\n scope: AXPEntityCommandScope.Individual,\n order: SYNC_ORDER,\n hidden: `{{ !(await ${AXE_JIRA_EXPRESSION_SCOPE}.hasProjectLink(context.eval(\"id\"))) }}`,\n };\n}\n\n/** Adds Jira import/sync actions to ProjectManagement.Project views. */\nexport const AXEJiraProjectEntityModifier: AXPEntityModifierProvider = {\n entityName: PmRootConfig.entities.project.name,\n order: 50,\n modifier: (ctx) => {\n if (ctx.module.get() !== PmRootConfig.module.name) {\n return;\n }\n\n ensureListActions(ctx);\n\n ctx.interfaces.update((interfaces) => {\n const next = (interfaces ?? {}) as Record<string, unknown>;\n const master = (next['master'] ?? {}) as Record<string, unknown>;\n const list = (master['list'] ?? { actions: [], views: [] }) as Record<string, unknown>;\n const listActions = (list['actions'] ?? []) as AXPEntityAction[];\n\n if (!actionExists(listActions, AXEJiraCommandKeys.ProjectImportFromJira)) {\n listActions.push(buildImportAction());\n }\n list['actions'] = listActions;\n master['list'] = list;\n\n const single = master['single'] as Record<string, unknown> | undefined;\n if (single) {\n const singleActions = (single['actions'] ?? []) as AXPEntityAction[];\n if (!actionExists(singleActions, AXEJiraCommandKeys.ProjectSync)) {\n singleActions.push(buildSyncAction());\n }\n single['actions'] = singleActions;\n }\n\n next['master'] = master;\n return next as typeof interfaces;\n });\n },\n};\n\n//#endregion\n","//#region ---- Jira logo registry key ----\n\nexport const axpJiraLogoKey = 'jira' as const;\n\n//#endregion\n","import { AXP_INTEGRATION_AUTH_METHOD_TYPE, AXP_INTEGRATION_CAPABILITY, AXP_INTEGRATION_CONNECTION_SCOPE, AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport {\n AXPIntegrationProvider,\n AXPIntegrationProviderContext,\n} from '@acorex-platform/framework-client/common';\nimport { Injectable } from '@angular/core';\nimport { AXEJiraCommandKeys, RootConfig } from '@acorex-platform/extension-project-management-jira-client/contracts';\nimport { axpJiraLogoKey } from '../brand/jira-logo-key';\n\n@Injectable()\nexport class AXEJiraIntegrationProvider implements AXPIntegrationProvider {\n async provide(context: AXPIntegrationProviderContext): Promise<void> {\n const I18N = `@${RootConfig.config.i18n}:integration`;\n\n context.register({\n domainId: 'project-management',\n id: 'jira',\n module: RootConfig.module.name,\n displayName: `${I18N}.display-name`,\n description: `${I18N}.description`,\n icon: RootConfig.module.icon,\n logoKey: axpJiraLogoKey,\n capabilities: [\n AXP_INTEGRATION_CAPABILITY.IssueTracking,\n AXP_INTEGRATION_CAPABILITY.Sync,\n AXP_INTEGRATION_CAPABILITY.TimeLogging,\n ],\n connectionScopes: [AXP_INTEGRATION_CONNECTION_SCOPE.Tenant, AXP_INTEGRATION_CONNECTION_SCOPE.User],\n allowMultipleConnections: true,\n defaultConnectionKey: 'default',\n connectCommandKey: AXEJiraCommandKeys.ConnectionConnect,\n authMethods: [\n {\n type: AXP_INTEGRATION_AUTH_METHOD_TYPE.Pat,\n label: `${I18N}.auth.pat.label`,\n instructions: `${I18N}.auth.pat.instructions`,\n supportsValidation: true,\n fields: [\n {\n type: AXPWidgetsList.Editors.TextBox,\n path: 'baseUrl',\n options: { placeholder: `${I18N}.auth.pat.base-url.placeholder` },\n },\n {\n type: AXPWidgetsList.Editors.PasswordBox,\n path: 'token',\n options: { placeholder: `${I18N}.auth.pat.token.placeholder` },\n },\n ],\n },\n {\n type: AXP_INTEGRATION_AUTH_METHOD_TYPE.Basic,\n label: `${I18N}.auth.basic.label`,\n instructions: `${I18N}.auth.basic.instructions`,\n supportsValidation: true,\n fields: [\n {\n type: AXPWidgetsList.Editors.TextBox,\n path: 'baseUrl',\n options: { placeholder: `${I18N}.auth.basic.base-url.placeholder` },\n },\n {\n type: AXPWidgetsList.Editors.TextBox,\n path: 'username',\n options: { placeholder: `${I18N}.auth.basic.username.placeholder` },\n },\n {\n type: AXPWidgetsList.Editors.PasswordBox,\n path: 'password',\n options: { placeholder: `${I18N}.auth.basic.password.placeholder` },\n },\n ],\n },\n {\n type: AXP_INTEGRATION_AUTH_METHOD_TYPE.ApiToken,\n label: `${I18N}.auth.api-token.label`,\n instructions: `${I18N}.auth.api-token.instructions`,\n supportsValidation: true,\n fields: [\n {\n type: AXPWidgetsList.Editors.TextBox,\n path: 'siteUrl',\n options: { placeholder: `${I18N}.auth.api-token.site-url.placeholder` },\n },\n {\n type: AXPWidgetsList.Editors.TextBox,\n path: 'email',\n options: { placeholder: `${I18N}.auth.api-token.email.placeholder` },\n },\n {\n type: AXPWidgetsList.Editors.PasswordBox,\n path: 'apiToken',\n options: { placeholder: `${I18N}.auth.api-token.token.placeholder` },\n },\n ],\n },\n {\n type: AXP_INTEGRATION_AUTH_METHOD_TYPE.OAuth2,\n label: `${I18N}.auth.oauth.label`,\n instructions: `${I18N}.auth.oauth.instructions`,\n usesRedirect: true,\n supportsRefresh: true,\n supportsRevoke: false,\n supportsValidation: true,\n defaultScopes: ['read:jira-work', 'read:jira-user'],\n fields: [],\n },\n ],\n });\n }\n}\n\n//#endregion\n","import { AXP_INTEGRATION_AUTH_METHOD_TYPE, AXP_INTEGRATION_CONNECTION_STATUS, type AXPIntegrationProviderRuntimeHooks, type AXPIntegrationRuntimeContext, type AXPIntegrationValidationResult } from '@acorex-platform/framework-shared/core';\nimport {\n AXP_INTEGRATION_RUNTIME_PROVIDER,\n AXP_INTEGRATION_SECRET_STORE,\n type AXPIntegrationRuntimeProvider,\n} from '@acorex-platform/framework-client/common';\nimport { Injectable, inject } from '@angular/core';\nimport { defaultTo, trim } from 'lodash-es';\n\n@Injectable()\nexport class AXEJiraIntegrationRuntimeProvider implements AXPIntegrationRuntimeProvider {\n readonly providerId = 'jira';\n\n private readonly secretStore = inject(AXP_INTEGRATION_SECRET_STORE, { optional: true });\n\n async getHooks(): Promise<AXPIntegrationProviderRuntimeHooks> {\n return {\n validateConnection: (ctx) => this.validateConnection(ctx),\n createClient: (ctx) => this.createClient(ctx),\n };\n }\n\n private async validateConnection(ctx: AXPIntegrationRuntimeContext): Promise<AXPIntegrationValidationResult> {\n if (!this.secretStore) {\n return { valid: false, status: AXP_INTEGRATION_CONNECTION_STATUS.Invalid, errorMessage: 'Secret store unavailable.' };\n }\n\n try {\n const credentials = await this.secretStore.resolve(ctx.secretRef, ctx);\n const token =\n credentials.token ??\n credentials.apiToken ??\n credentials.accessToken;\n\n if (!trim(defaultTo(token, ''))) {\n return {\n valid: false,\n status: AXP_INTEGRATION_CONNECTION_STATUS.Invalid,\n errorMessage: 'No token available for Jira connection.',\n };\n }\n\n return {\n valid: true,\n status: AXP_INTEGRATION_CONNECTION_STATUS.Connected,\n externalAccountName: defaultTo(ctx.instanceUrl, 'Jira'),\n };\n } catch {\n return {\n valid: false,\n status: AXP_INTEGRATION_CONNECTION_STATUS.Invalid,\n errorMessage: 'Failed to validate Jira credentials.',\n };\n }\n }\n\n private async createClient(ctx: AXPIntegrationRuntimeContext): Promise<{ token: string; baseUrl?: string }> {\n if (!this.secretStore) {\n throw new Error('Secret store unavailable.');\n }\n\n const credentials = await this.secretStore.resolve(ctx.secretRef, ctx);\n const token =\n credentials.token ??\n credentials.apiToken ??\n credentials.accessToken;\n\n if (!trim(defaultTo(token, ''))) {\n throw new Error('Jira connection has no usable token.');\n }\n\n return {\n token: token!,\n baseUrl: defaultTo(ctx.instanceUrl, undefined),\n };\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXP_INTEGRATION_CONNECTION_ESTABLISHED, type AXPIntegrationConnectionEstablishedHandler } from '@acorex-platform/framework-client/common';\nimport { AXP_INTEGRATION_CONNECTION_SCOPE, type AXPSafeIntegrationConnectionDto } from '@acorex-platform/framework-shared/core';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { Injectable, inject } from '@angular/core';\nimport { trim } from 'lodash-es';\n\nimport { RootConfig } from '@acorex-platform/extension-project-management-jira-client/contracts';\nimport type { AXEJiraInstanceEntityModel } from '@acorex-platform/extension-project-management-jira-domain';\n\n//#endregion\n\n//#region ---- Handler ----\n\n@Injectable()\nexport class AXEJiraConnectionEstablishedHandler implements AXPIntegrationConnectionEstablishedHandler {\n readonly providerId = 'jira';\n\n private readonly entityService = inject(AXPEntityService);\n\n async onEstablished(connection: AXPSafeIntegrationConnectionDto): Promise<void> {\n if (connection.connectionScope !== AXP_INTEGRATION_CONNECTION_SCOPE.Tenant) {\n return;\n }\n\n const connectionKey = trim(connection.connectionKey);\n if (!connectionKey) {\n return;\n }\n\n const accessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.jiraInstance.name)\n .data<string, AXEJiraInstanceEntityModel>();\n\n const result = await accessor.query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [{ field: 'name', operator: { type: 'equal' }, value: connectionKey }],\n },\n });\n\n const instance = result.items?.[0];\n if (!instance || instance.integrationConnectionId === connection.id) {\n return;\n }\n\n await accessor.update(instance.id, { integrationConnectionId: connection.id });\n }\n}\n\nexport const provideJiraConnectionEstablishedHandler = {\n provide: AXP_INTEGRATION_CONNECTION_ESTABLISHED,\n useClass: AXEJiraConnectionEstablishedHandler,\n multi: true,\n};\n\n//#endregion\n","import {\n AXP_LOGO_PROVIDER,\n type AXPLogoProvider,\n type AXPLogoRequest,\n type AXPLogoView,\n} from '@acorex-platform/framework-client/core';\nimport { axpJiraLogoKey } from './jira-logo-key';\n\nconst jiraLogoProvider: AXPLogoProvider = {\n key: axpJiraLogoKey,\n resolve: async (request: AXPLogoRequest): Promise<AXPLogoView> => ({\n kind: 'component',\n load: () => import('./jira-logo.component').then((module) => module.AXEJiraLogoComponent),\n inputs: {\n appearance: request.appearance,\n size: request.size,\n },\n }),\n};\n\nexport const AXE_JIRA_LOGO_PROVIDER = {\n provide: AXP_LOGO_PROVIDER,\n useValue: jiraLogoProvider,\n multi: true,\n} as const;\n","//#region ---- Imports ----\n\nimport {\n AXPCommonMenuKeys\n} from '@acorex-platform/module-common-client/contracts';\nimport { AXPMenuProvider, AXPMenuProviderContext } from '@acorex-platform/framework-client/common';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { inject, Injectable } from '@angular/core';\nimport {\n AXEJiraMenuKeys,\n RootConfig,\n AXPAdministrationPermissionKeys\n} from '@acorex-platform/extension-project-management-jira-client/contracts';\n\n//#endregion\n\n//#region ---- Menu Provider ----\n\n@Injectable()\nexport class AXEJiraMenuProvider implements AXPMenuProvider {\n private readonly entityService = inject(AXPEntityService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const module = RootConfig.module;\n const policy = {\n features: [module.name],\n permissions: [AXPAdministrationPermissionKeys.MaintainConnections],\n };\n\n const configMenu = context.find(AXPCommonMenuKeys.Configuration);\n if (!context.find(AXEJiraMenuKeys.JiraExtensionConfig).exists) {\n configMenu.addItems([\n {\n name: AXEJiraMenuKeys.JiraExtensionConfig,\n text: '@extensions-jira:module.menus.configuration.title',\n icon: module.icon,\n type: 'menu',\n priority: 8935,\n policy,\n children: [],\n },\n ]);\n }\n\n const jiraConfig = context.find(AXEJiraMenuKeys.JiraExtensionConfig);\n const catalogPolicy = {\n features: [module.name],\n permissions: [AXPAdministrationPermissionKeys.ViewIntegrations],\n };\n\n jiraConfig.addItems([\n {\n name: AXEJiraMenuKeys.Instances,\n text: RootConfig.entities.jiraInstance.titlePlural,\n path: this.entityService.createPath(module.name, RootConfig.entities.jiraInstance.name),\n icon: RootConfig.entities.jiraInstance.icon,\n priority: 1,\n policy,\n },\n {\n name: AXEJiraMenuKeys.IssueTypes,\n text: RootConfig.entities.jiraIssueType.titlePlural,\n path: this.entityService.createPath(module.name, RootConfig.entities.jiraIssueType.name),\n icon: RootConfig.entities.jiraIssueType.icon,\n priority: 3,\n policy: catalogPolicy,\n },\n {\n name: AXEJiraMenuKeys.Fields,\n text: RootConfig.entities.jiraField.titlePlural,\n path: this.entityService.createPath(module.name, RootConfig.entities.jiraField.name),\n icon: RootConfig.entities.jiraField.icon,\n priority: 4,\n policy: catalogPolicy,\n },\n {\n name: AXEJiraMenuKeys.Issues,\n text: RootConfig.entities.jiraIssue.titlePlural,\n path: this.entityService.createPath(module.name, RootConfig.entities.jiraIssue.name),\n icon: RootConfig.entities.jiraIssue.icon,\n priority: 5,\n policy: {\n features: [module.name],\n permissions: [AXPAdministrationPermissionKeys.ViewIntegrations],\n },\n },\n {\n name: AXEJiraMenuKeys.Worklogs,\n text: RootConfig.entities.jiraWorklog.titlePlural,\n path: this.entityService.createPath(module.name, RootConfig.entities.jiraWorklog.name),\n icon: RootConfig.entities.jiraWorklog.icon,\n priority: 6,\n policy: {\n features: [module.name],\n permissions: [AXPAdministrationPermissionKeys.ViewIntegrations],\n },\n },\n ]);\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXMIntegrationManagementModule } from '@acorex-platform/module-integration-management-client';\nimport {\n AXP_INTEGRATION_PROVIDER,\n AXP_INTEGRATION_RUNTIME_PROVIDER,\n AXP_MENU_PROVIDER,\n AXP_STATUS_PROVIDERS,\n} from '@acorex-platform/framework-client/common';\nimport { AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER } from '@acorex-platform/framework-client/core';\nimport { AXP_ENTITY_DEFINITION_LOADER, AXP_ENTITY_MODIFIER } from '@acorex-platform/framework-client/layout/entity';\nimport { provideCommandSetups } from '@acorex-platform/framework-client/runtime';\nimport { NgModule } from '@angular/core';\nimport { AXEJiraCommandKeys } from '@acorex-platform/extension-project-management-jira-client/contracts';\nimport { AXEJiraEntityProvider } from './entity.provider';\nimport { AXEJiraProjectStatusProvider } from './features/jira-project/jira-project-status.provider';\nimport { AXEJiraProjectLinkExpressionEvaluatorScopeProvider } from './features/project-management/jira-project-link-expression-evaluator-scope.provider';\nimport { AXEJiraProjectEntityModifier } from './features/project-management/project-jira.entity-modifier';\nimport { AXEJiraIntegrationProvider } from './integration/jira.integration.provider';\nimport { AXEJiraIntegrationRuntimeProvider } from './integration/jira.integration-runtime.provider';\nimport { provideJiraConnectionEstablishedHandler } from './integration/jira.connection-established.handler';\nimport { AXE_JIRA_LOGO_PROVIDER } from './brand/jira-logo.provider';\nimport { AXEJiraMenuProvider } from './menu.provider';\n\n//#endregion\n\n//#region ---- Module ----\n\n@NgModule({\n imports: [AXMIntegrationManagementModule],\n providers: [\n AXE_JIRA_LOGO_PROVIDER,\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXEJiraMenuProvider,\n multi: true,\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXEJiraEntityProvider,\n multi: true,\n },\n {\n provide: AXP_ENTITY_MODIFIER,\n useValue: AXEJiraProjectEntityModifier,\n multi: true,\n },\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXEJiraProjectLinkExpressionEvaluatorScopeProvider,\n multi: true,\n },\n {\n provide: AXP_STATUS_PROVIDERS,\n useClass: AXEJiraProjectStatusProvider,\n multi: true,\n },\n {\n provide: AXP_INTEGRATION_PROVIDER,\n useClass: AXEJiraIntegrationProvider,\n multi: true,\n },\n {\n provide: AXP_INTEGRATION_RUNTIME_PROVIDER,\n useClass: AXEJiraIntegrationRuntimeProvider,\n multi: true,\n },\n provideJiraConnectionEstablishedHandler,\n provideCommandSetups([\n {\n key: AXEJiraCommandKeys.ConnectionConnect,\n command: () => import('./features/connect/connect-jira.command').then((c) => c.ConnectJiraCommand),\n },\n ]),\n ],\n})\nexport class AXEJiraExtensionModule {}\n\n//#endregion\n","//#region ---- Atlassian / Jira mark vector paths ----\n\nexport const AXE_JIRA_MARK_BLUE = '#2684FF';\n\n/** Left sail */\nexport const AXE_JIRA_MARK_LEFT_PATH =\n 'M7.12 11.084a.683.683 0 0 0-1.16.126L.075 22.974a.703.703 0 0 0 .63 1.018h8.19a.678.678 0 0 0 .63-.39c1.767-3.65.696-9.203-2.406-12.52z';\n\n/** Right sail */\nexport const AXE_JIRA_MARK_RIGHT_PATH =\n 'M11.434.386a15.515 15.515 0 0 0-.906 15.317l3.95 7.9a.703.703 0 0 0 .628.388h8.19a.703.703 0 0 0 .63-1.017L12.63.38a.664.664 0 0 0-1.196.006z';\n\n//#endregion\n","import type { AXPLogoAppearance } from '@acorex-platform/framework-client/core';\nimport { Component, computed, input, ChangeDetectionStrategy } from '@angular/core';\nimport {\n AXE_JIRA_MARK_BLUE,\n AXE_JIRA_MARK_LEFT_PATH,\n AXE_JIRA_MARK_RIGHT_PATH,\n} from './jira-mark.paths';\n\n//#region ---- Jira brand logo (owned by Jira extension) ----\n\n@Component({\n selector: 'axe-jira-logo',\n host: { class: 'inline-flex items-center justify-center' },\n changeDetection: ChangeDetectionStrategy.Eager,\n template: `\n @switch (resolvedAppearance()) {\n @case ('monochrome') {\n <svg [attr.width]=\"size()\" [attr.height]=\"size()\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <path fill=\"currentColor\" [attr.d]=\"leftPath\" />\n <path fill=\"currentColor\" [attr.d]=\"rightPath\" />\n </svg>\n }\n @default {\n <svg [attr.width]=\"size()\" [attr.height]=\"size()\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <path [attr.fill]=\"markBlue\" [attr.d]=\"leftPath\" />\n <path [attr.fill]=\"markBlue\" [attr.d]=\"rightPath\" />\n </svg>\n }\n }\n `,\n})\nexport class AXEJiraLogoComponent {\n appearance = input<AXPLogoAppearance>('colored');\n size = input(20);\n\n protected readonly leftPath = AXE_JIRA_MARK_LEFT_PATH;\n protected readonly rightPath = AXE_JIRA_MARK_RIGHT_PATH;\n protected readonly markBlue = AXE_JIRA_MARK_BLUE;\n\n protected readonly resolvedAppearance = computed(() => {\n const value = this.appearance();\n return value === 'monochrome' ? 'monochrome' : 'colored';\n });\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXValueChangedEvent } from '@acorex/cdk/common';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXComboBoxComponent, type AXComboBoxItem, type AXComboBoxValue } from '@acorex/components/combo-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport type { AXEJiraProjectSyncStrategy } from '@acorex-platform/extension-project-management-jira-client/contracts';\nimport { AXE_JIRA_PROJECT_SYNC_STRATEGIES } from '@acorex-platform/extension-project-management-jira-client/contracts';\nimport type { AXEJiraInstanceEntityModel } from '@acorex-platform/extension-project-management-jira-domain';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport type { AXEJiraRemoteProject } from '@acorex-platform/extension-project-management-jira-client/contracts';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface AXEJiraProjectImportPopupData {\n instance: AXEJiraInstanceEntityModel;\n defaultProjectTypeId: string;\n projectTypes: Array<{ id: string; title: string }>;\n remoteProjects: AXEJiraRemoteProject[];\n alreadyLinkedJiraIds: Set<string>;\n}\n\nexport interface AXEJiraProjectImportPopupResult {\n defaultProjectTypeId: string;\n rows: Array<{\n remote: AXEJiraRemoteProject;\n selected: boolean;\n syncStrategy: AXEJiraProjectSyncStrategy;\n }>;\n}\n\ninterface ImportRowState {\n remote: AXEJiraRemoteProject;\n selected: boolean;\n syncStrategy: AXEJiraProjectSyncStrategy;\n alreadyLinked: boolean;\n}\n\n//#endregion\n\n//#region ---- Component ----\n\n@Component({\n selector: 'axe-jira-project-import-popup',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n AsyncPipe,\n FormsModule,\n AXButtonModule,\n AXCheckBoxModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXComboBoxComponent,\n AXTranslationModule,\n ],\n template: `\n <div class=\"flex flex-col gap-4 p-4 max-h-[70vh] overflow-auto\">\n <div class=\"flex flex-col gap-1\">\n <span class=\"text-sm font-medium\">\n {{ '@extensions-jira:import.popup.default-project-type' | translate | async }}\n </span>\n <ax-combo-box\n [items]=\"projectTypeComboItems\"\n [searchable]=\"false\"\n [value]=\"defaultProjectTypeId()\"\n (onValueChanged)=\"handleProjectTypeChange($event)\"\n ></ax-combo-box>\n </div>\n\n @if (loading()) {\n <ax-loading></ax-loading>\n } @else if (rows().length === 0) {\n <p class=\"text-sm opacity-70\">\n {{ '@extensions-jira:import.popup.empty' | translate | async }}\n </p>\n } @else {\n <table class=\"w-full text-sm\">\n <thead>\n <tr class=\"border-b\">\n <th class=\"p-2 text-start\"></th>\n <th class=\"p-2 text-start\">{{ '@extensions-jira:import.popup.columns.key' | translate | async }}</th>\n <th class=\"p-2 text-start\">{{ '@extensions-jira:import.popup.columns.name' | translate | async }}</th>\n <th class=\"p-2 text-start\">{{ '@extensions-jira:import.popup.columns.strategy' | translate | async }}</th>\n </tr>\n </thead>\n <tbody>\n @for (row of rows(); track row.remote.id) {\n <tr class=\"border-b border-opacity-20\">\n <td class=\"p-2\">\n <ax-check-box\n [ngModel]=\"row.selected\"\n [disabled]=\"row.alreadyLinked\"\n (onValueChanged)=\"toggleRow(row.remote.id, $event)\"\n ></ax-check-box>\n </td>\n <td class=\"p-2\">{{ row.remote.key }}</td>\n <td class=\"p-2\">{{ row.remote.name }}</td>\n <td class=\"p-2\">\n <ax-combo-box\n class=\"min-w-40\"\n [items]=\"strategyOptions\"\n [searchable]=\"false\"\n [value]=\"row.syncStrategy\"\n [disabled]=\"!row.selected\"\n (onValueChanged)=\"changeStrategy(row.remote.id, $event)\"\n ></ax-combo-box>\n </td>\n </tr>\n }\n </tbody>\n </table>\n }\n </div>\n <ax-footer>\n <ax-suffix>\n <ax-button\n look=\"outline\"\n [text]=\"'@general:actions.cancel.title' | translate | async\"\n (onClick)=\"close()\"\n ></ax-button>\n <ax-button\n look=\"solid\"\n color=\"primary\"\n [disabled]=\"!hasSelection()\"\n [text]=\"'@extensions-jira:import.popup.confirm' | translate | async\"\n (onClick)=\"confirm()\"\n ></ax-button>\n </ax-suffix>\n </ax-footer>\n `,\n})\nexport class AXEJiraProjectImportPopupComponent extends AXBasePageComponent {\n protected loading = signal(false);\n protected defaultProjectTypeId = signal('');\n protected rows = signal<ImportRowState[]>([]);\n\n instance!: AXEJiraInstanceEntityModel;\n projectTypes: Array<{ id: string; title: string }> = [];\n remoteProjects: AXEJiraRemoteProject[] = [];\n alreadyLinkedJiraIds = new Set<string>();\n\n protected readonly strategyOptions: AXComboBoxItem[] =\n AXE_JIRA_PROJECT_SYNC_STRATEGIES.map((id) => ({\n id,\n text: `@extensions-jira:import.sync-strategy.${id}`,\n value: id,\n }));\n\n protected get projectTypeComboItems(): AXComboBoxItem[] {\n return this.projectTypes.map((type) => ({\n id: type.id,\n text: type.title,\n value: type.id,\n }));\n }\n\n protected override ngOnInit(): void {\n super.ngOnInit();\n this.defaultProjectTypeId.set(this.projectTypes[0]?.id ?? '');\n this.rows.set(\n this.remoteProjects.map((remote) => ({\n remote,\n selected: !this.alreadyLinkedJiraIds.has(remote.id),\n syncStrategy: 'merge' as AXEJiraProjectSyncStrategy,\n alreadyLinked: this.alreadyLinkedJiraIds.has(remote.id),\n })),\n );\n }\n\n protected handleProjectTypeChange(event: AXValueChangedEvent<AXComboBoxValue>): void {\n const value = event.value;\n this.defaultProjectTypeId.set(typeof value === 'string' ? value : '');\n }\n\n protected toggleRow(remoteId: string, event: AXValueChangedEvent<boolean>): void {\n const selected = !!event.value;\n this.rows.update((items) =>\n items.map((row) => (row.remote.id === remoteId ? { ...row, selected } : row)),\n );\n }\n\n protected changeStrategy(remoteId: string, event: AXValueChangedEvent<AXComboBoxValue>): void {\n const raw = event.value;\n const syncStrategy =\n typeof raw === 'string' && AXE_JIRA_PROJECT_SYNC_STRATEGIES.includes(raw as AXEJiraProjectSyncStrategy)\n ? (raw as AXEJiraProjectSyncStrategy)\n : 'merge';\n this.rows.update((items) =>\n items.map((row) => (row.remote.id === remoteId ? { ...row, syncStrategy } : row)),\n );\n }\n\n protected hasSelection(): boolean {\n return this.rows().some((row) => row.selected && !row.alreadyLinked);\n }\n\n protected confirm(): void {\n const result: AXEJiraProjectImportPopupResult = {\n defaultProjectTypeId: this.defaultProjectTypeId(),\n rows: this.rows()\n .filter((row) => row.selected && !row.alreadyLinked)\n .map((row) => ({\n remote: row.remote,\n selected: true,\n syncStrategy: row.syncStrategy,\n })),\n };\n this.close(result);\n }\n}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["PmRootConfig"],"mappings":"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"}
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@acorex-platform/extension-project-management-jira-client",
3
- "version": "0.0.37",
3
+ "version": "0.0.46",
4
4
  "sideEffects": false,
5
5
  "peerDependencies": {
6
- "@acorex-platform/extension-project-management-core-client": "0.0.37",
6
+ "@acorex-platform/extension-project-management-core-client": "0.0.46",
7
7
  "@angular/common": "^21.0.0 || ^22.0.0",
8
8
  "@angular/core": "^21.0.0 || ^22.0.0"
9
9
  },
10
10
  "dependencies": {
11
- "@acorex-platform/extension-project-management-jira-domain": "0.0.37",
11
+ "@acorex-platform/extension-project-management-jira-domain": "0.0.46",
12
12
  "tslib": "^2.3.0"
13
13
  },
14
14
  "module": "fesm2022/acorex-platform-extension-project-management-jira-client.mjs",
@@ -1,3 +1,4 @@
1
+ import { AXPModuleManifest } from '@acorex-platform/framework-shared/core';
1
2
  import { AXEPMProjectSyncStrategy } from '@acorex-platform/extension-project-management-core-client/contracts';
2
3
  export { AXEPMProjectSyncStrategy as AXEJiraProjectSyncStrategy, AXEPMProjectSyncStrategy, AXE_PM_PROJECT_SYNC_STRATEGIES as AXE_JIRA_PROJECT_SYNC_STRATEGIES } from '@acorex-platform/extension-project-management-core-client/contracts';
3
4
 
@@ -77,6 +78,8 @@ declare const RootConfig: {
77
78
  };
78
79
  };
79
80
 
81
+ declare const JiraExtensionManifest: AXPModuleManifest;
82
+
80
83
  declare const AXEJiraCommandKeys: {
81
84
  readonly ConnectionConnect: "jira-extension.Connection:Connect";
82
85
  readonly ProjectImportFromJira: "jira-extension.Project:ImportFromJira";
@@ -217,5 +220,5 @@ interface AXEJiraSyncPlatformProjectRequest {
217
220
  platformProjectId: string;
218
221
  }
219
222
 
220
- export { AXEJiraCommandKeys, AXEJiraMenuKeys, AXEJiraPermissions, AXEJiraQueryKeys, AXPAdministrationPermissionKeys, RootConfig };
223
+ export { AXEJiraCommandKeys, AXEJiraMenuKeys, AXEJiraPermissions, AXEJiraQueryKeys, AXPAdministrationPermissionKeys, JiraExtensionManifest, RootConfig };
221
224
  export type { AXEJiraImportProjectsRequest, AXEJiraListRemoteProjectsRequest, AXEJiraListRemoteProjectsResponse, AXEJiraProjectImportResult, AXEJiraProjectImportRowInput, AXEJiraProjectImportStatus, AXEJiraRemoteProject, AXEJiraRemoteProjectListItem, AXEJiraSyncPlatformProjectRequest };