@acorex-platform/module-integration-management-client 0.0.70 → 2.0.0-next.0
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.
|
@@ -180,11 +180,12 @@ function resolveAppRouteName(applicationName, ...fallbacks) {
|
|
|
180
180
|
const AXM_INTEGRATION_RESOURCE_JOB = 'job';
|
|
181
181
|
const AXM_INTEGRATION_RESOURCE_CUSTOMER = 'customer';
|
|
182
182
|
const AXM_INTEGRATION_RESOURCE_SITE = 'site';
|
|
183
|
+
const AXM_INTEGRATION_RESOURCE_EMPLOYEE = 'employee';
|
|
183
184
|
//#endregion
|
|
184
185
|
|
|
185
186
|
/**
|
|
186
187
|
* Generated bundle index. Do not edit.
|
|
187
188
|
*/
|
|
188
189
|
|
|
189
|
-
export { AXMIntegrationManagementCommandKeys, AXMIntegrationManagementMenuKeys, AXMIntegrationManagementPermissionKeys, AXMIntegrationManagementQueryKeys, AXM_INTEGRATION_RESOURCE_CUSTOMER, AXM_INTEGRATION_RESOURCE_JOB, AXM_INTEGRATION_RESOURCE_SITE, AXPAdministrationPermissionKeys, IntegrationManagementManifest, RootConfig, buildIntegrationOAuthCallbackPath, buildIntegrationOAuthCallbackUrl, buildTenantIntegrationsPagePath, resolveAppRouteName };
|
|
190
|
+
export { AXMIntegrationManagementCommandKeys, AXMIntegrationManagementMenuKeys, AXMIntegrationManagementPermissionKeys, AXMIntegrationManagementQueryKeys, AXM_INTEGRATION_RESOURCE_CUSTOMER, AXM_INTEGRATION_RESOURCE_EMPLOYEE, AXM_INTEGRATION_RESOURCE_JOB, AXM_INTEGRATION_RESOURCE_SITE, AXPAdministrationPermissionKeys, IntegrationManagementManifest, RootConfig, buildIntegrationOAuthCallbackPath, buildIntegrationOAuthCallbackUrl, buildTenantIntegrationsPagePath, resolveAppRouteName };
|
|
190
191
|
//# sourceMappingURL=acorex-platform-module-integration-management-client-contracts.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-integration-management-client-contracts.mjs","sources":["../../../../libs/modules/integration-management/contracts/src/root-config.ts","../../../../libs/modules/integration-management/contracts/src/manifest.ts","../../../../libs/modules/integration-management/contracts/src/permission.keys.ts","../../../../libs/modules/integration-management/contracts/src/commands.keys.ts","../../../../libs/modules/integration-management/contracts/src/queries.keys.ts","../../../../libs/modules/integration-management/contracts/src/menu.keys.ts","../../../../libs/modules/integration-management/contracts/src/route.helpers.ts","../../../../libs/modules/integration-management/contracts/src/entities/integration-application/integration-application.types.ts","../../../../libs/modules/integration-management/contracts/src/entities/integration-connection/integration-connection.types.ts","../../../../libs/modules/integration-management/contracts/src/entities/integration-oauth-state/integration-oauth-state.types.ts","../../../../libs/modules/integration-management/contracts/src/entities/integration-remote-record/integration-remote-record.types.ts","../../../../libs/modules/integration-management/contracts/src/entities/integration-remote-record/integration-remote-record.constants.ts","../../../../libs/modules/integration-management/contracts/src/acorex-platform-module-integration-management-client-contracts.ts"],"sourcesContent":["//#region ---- Module Config ----\n\nconst config = {\n i18n: 'integration-management',\n module: 'IntegrationManagement',\n route: 'integration-management',\n};\n\nexport const RootConfig = {\n config,\n module: {\n name: config.module,\n route: config.route,\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-plug',\n },\n entities: {\n integrationConnection: {\n name: 'IntegrationConnection',\n source: `${config.module}.IntegrationConnection`,\n title: `@${config.i18n}:connections.entities.connection.title`,\n titlePlural: `@${config.i18n}:connections.entities.connection.plural`,\n icon: 'fa-light fa-link',\n },\n integrationOAuthState: {\n name: 'IntegrationOAuthState',\n source: `${config.module}.IntegrationOAuthState`,\n title: `@${config.i18n}:oauth-states.entities.oauth-state.title`,\n titlePlural: `@${config.i18n}:oauth-states.entities.oauth-state.plural`,\n icon: 'fa-light fa-key',\n },\n integrationApplication: {\n name: 'IntegrationApplication',\n source: `${config.module}.IntegrationApplication`,\n title: `@${config.i18n}:applications.entities.application.title`,\n titlePlural: `@${config.i18n}:applications.entities.application.plural`,\n icon: 'fa-light fa-shield-keyhole',\n },\n integrationRemoteRecord: {\n name: 'IntegrationRemoteRecord',\n source: `${config.module}.IntegrationRemoteRecord`,\n title: `@${config.i18n}:remote-records.entities.record.title`,\n titlePlural: `@${config.i18n}:remote-records.entities.record.plural`,\n icon: 'fa-light fa-cloud-arrow-down',\n },\n },\n queries: {\n dashboard: {\n integrationsDonut: `${config.module}:Dashboard:IntegrationsDonut`,\n },\n },\n};\n\n//#endregion\n","\nimport { AXPModuleManifest } from '@acorex-platform/framework-shared/core';\nimport { RootConfig } from './root-config';\n\nexport const IntegrationManagementManifest: 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: 'platform',\n domain: 'platform',\n required: false,\n};\n","/**\n * Administration capabilities used by this module.\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 AXMIntegrationManagementPermissionKeys = {\n Provider: {\n View: AXPAdministrationPermissionKeys.ViewIntegrations,\n },\n Connection: {\n View: AXPAdministrationPermissionKeys.ViewIntegrations,\n Management: AXPAdministrationPermissionKeys.MaintainConnections,\n },\n TenantConnection: {\n Management: AXPAdministrationPermissionKeys.MaintainConnections,\n },\n Application: {\n Management: AXPAdministrationPermissionKeys.MaintainConnections,\n },\n ConnectionHealth: {\n View: AXPAdministrationPermissionKeys.ViewIntegrations,\n },\n} as const;\n","//#region ---- Command Keys ----\n\nexport const AXMIntegrationManagementCommandKeys = {\n ConnectionConnectWithCredentials: 'IntegrationManagement.Connection:ConnectWithCredentials',\n ConnectionRefreshAuthorization: 'IntegrationManagement.Connection:RefreshAuthorization',\n ConnectionValidate: 'IntegrationManagement.Connection:Validate',\n ConnectionUpdate: 'IntegrationManagement.Connection:Update',\n ConnectionDisconnect: 'IntegrationManagement.Connection:Disconnect',\n ConnectionRevoke: 'IntegrationManagement.Connection:Revoke',\n ConnectionDelete: 'IntegrationManagement.Connection:Delete',\n ApplicationUpsert: 'IntegrationManagement.Application:Upsert',\n} as const;\n\n//#endregion\n","//#region ---- Query Keys ----\n\nexport const AXMIntegrationManagementQueryKeys = {\n DomainList: 'IntegrationManagement.Domain:List',\n ProviderList: 'IntegrationManagement.Provider:List',\n ProviderGet: 'IntegrationManagement.Provider:Get',\n ConnectionListMine: 'IntegrationManagement.Connection:ListMine',\n ConnectionGetStatus: 'IntegrationManagement.Connection:GetStatus',\n ConnectionGetAuthMethods: 'IntegrationManagement.Connection:GetAuthMethods',\n} as const;\n\n//#endregion\n","//#region ---- Menu Keys ----\n\nexport const AXMIntegrationManagementMenuKeys = {\n Integrations: 'IntegrationManagement:Menu:Integrations',\n} as const;\n\n//#endregion\n","//#region ----- Route helpers -----\n\n/** Tenant integrations admin page: `/{app}/admin/integrations`. */\nexport function buildTenantIntegrationsPagePath(appName: string): string {\n return `/${appName}/admin/integrations`;\n}\n\n/**\n * App-agnostic OAuth callback path.\n * Prefer this for providers with a fixed registered redirect URI (e.g. Simpro).\n */\nexport function buildIntegrationOAuthCallbackPath(providerId: string): string {\n return `/integrations/oauth/callback/${providerId}`;\n}\n\nexport function buildIntegrationOAuthCallbackUrl(origin: string, providerId: string): string {\n return `${origin.replace(/\\/+$/, '')}${buildIntegrationOAuthCallbackPath(providerId)}`;\n}\n\n/** Resolve the current app route slug — session first, then optional route/fallback. */\nexport function resolveAppRouteName(\n applicationName?: string | null,\n ...fallbacks: Array<string | null | undefined>\n): string | null {\n const candidates = [applicationName, ...fallbacks];\n for (const candidate of candidates) {\n const trimmed = String(candidate ?? '').trim();\n if (trimmed) {\n return trimmed;\n }\n }\n return null;\n}\n\n//#endregion\n","import type { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\n\n//#region ---- Integration application entity model ----\n\n/**\n * Tenant/app isolation lives on {@link AXPEntityModel.scopeInfo}\n * (`tenantId`, `applicationId`).\n */\nexport interface AXMIntegrationManagementIntegrationApplicationEntityModel\n extends AXPEntityModel<string> {\n providerId: string;\n clientId: string;\n clientSecretRef: string;\n authorizationEndpoint?: string | null;\n tokenEndpoint?: string | null;\n redirectUri?: string | null;\n defaultScopes?: string[] | null;\n environment?: string | null;\n isActive: boolean;\n}\n\n//#endregion\n","import type { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\nimport type {\n AXPIntegrationAuthMethodType,\n AXPIntegrationConnectionScope,\n AXPIntegrationConnectionStatus,\n} from '@acorex-platform/framework-shared/core';\n\n//#region ---- Integration connection entity model ----\n\n/**\n * Isolation lives on {@link AXPEntityModel.scopeInfo}:\n * - `tenantId` / `applicationId` always\n * - `userId` only when `connectionScope` is `user`\n */\nexport interface AXMIntegrationManagementIntegrationConnectionEntityModel\n extends AXPEntityModel<string> {\n providerId: string;\n connectionScope: AXPIntegrationConnectionScope;\n connectionKey: string;\n displayName: string;\n authMethodType: AXPIntegrationAuthMethodType;\n status: AXPIntegrationConnectionStatus;\n instanceUrl?: string | null;\n externalAccountId?: string | null;\n externalAccountName?: string | null;\n grantedScopes?: string[] | null;\n secretRef?: string | null;\n expiresAt?: string | null;\n lastConnectedAt?: string | null;\n lastValidatedAt?: string | null;\n lastSyncAt?: string | null;\n lastErrorCode?: string | null;\n lastErrorMessage?: string | null;\n isRevoked: boolean;\n isDisabled: boolean;\n config?: Record<string, unknown> | null;\n}\n\n//#endregion\n","import type { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\n\n//#region ---- Integration OAuth state entity model ----\n\n/**\n * Isolation lives on {@link AXPEntityModel.scopeInfo}\n * (`tenantId`, `applicationId`, `userId` = authorizing user).\n */\nexport interface AXMIntegrationManagementIntegrationOAuthStateEntityModel\n extends AXPEntityModel<string> {\n state: string;\n codeVerifier: string;\n providerId: string;\n redirectUri: string;\n connectionScope: string;\n connectionKey: string;\n connectionId?: string | null;\n authMethodType: string;\n expiresAt: string;\n consumedAt?: string | null;\n}\n\n//#endregion\n","//#region ----- Integration remote record (cache entity) -----\n\nimport type { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\n\n/**\n * Resource / data-type discriminator for cached remote rows.\n * For Simpro multi-connection, `providerId` on the row is the **connection id**\n * (not the integration provider key), and `resourceType` is the data type.\n */\nexport type AXMIntegrationManagementRemoteResourceType =\n | 'job'\n | 'customer'\n | 'site'\n | 'project'\n | 'task';\n\nexport interface AXMIntegrationManagementIntegrationRemoteRecordEntityModel\n extends AXPEntityModel<string> {\n /**\n * Cache partition key.\n * Simpro: integration connection id. Other providers may still use provider key (e.g. `servicem8`).\n */\n providerId: string;\n /** Data type: job | customer | site | … */\n resourceType: AXMIntegrationManagementRemoteResourceType | string;\n remoteId: string;\n name: string;\n code?: string | null;\n orderNo?: string | null;\n stage?: string | null;\n customerName?: string | null;\n siteName?: string | null;\n dueDate?: string | null;\n /** Display name of the owning integration connection (Simpro multi-connection lists). */\n connectionDisplayName?: string | null;\n payloadJson?: string | null;\n remoteFetchedAt: string;\n isActive: boolean;\n isLinked: boolean;\n}\n\nexport interface AXMIntegrationManagementIntegrationRemoteRecordUpsertInput {\n remoteId: string;\n name: string;\n code?: string | null;\n orderNo?: string | null;\n stage?: string | null;\n customerName?: string | null;\n siteName?: string | null;\n dueDate?: string | null;\n connectionDisplayName?: string | null;\n payloadJson?: string | null;\n}\n\nexport interface AXMIntegrationManagementIntegrationRemotePullResult {\n upserted: number;\n deactivated: number;\n}\n\n//#endregion\n","//#region ----- Integration remote record resource constants -----\n\nexport const AXM_INTEGRATION_RESOURCE_JOB = 'job';\nexport const AXM_INTEGRATION_RESOURCE_CUSTOMER = 'customer';\nexport const AXM_INTEGRATION_RESOURCE_SITE = 'site';\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-module-integration-management-client-contracts.mjs","sources":["../../../../libs/modules/integration-management/contracts/src/root-config.ts","../../../../libs/modules/integration-management/contracts/src/manifest.ts","../../../../libs/modules/integration-management/contracts/src/permission.keys.ts","../../../../libs/modules/integration-management/contracts/src/commands.keys.ts","../../../../libs/modules/integration-management/contracts/src/queries.keys.ts","../../../../libs/modules/integration-management/contracts/src/menu.keys.ts","../../../../libs/modules/integration-management/contracts/src/route.helpers.ts","../../../../libs/modules/integration-management/contracts/src/entities/integration-application/integration-application.types.ts","../../../../libs/modules/integration-management/contracts/src/entities/integration-connection/integration-connection.types.ts","../../../../libs/modules/integration-management/contracts/src/entities/integration-oauth-state/integration-oauth-state.types.ts","../../../../libs/modules/integration-management/contracts/src/entities/integration-remote-record/integration-remote-record.types.ts","../../../../libs/modules/integration-management/contracts/src/entities/integration-remote-record/integration-remote-record.constants.ts","../../../../libs/modules/integration-management/contracts/src/acorex-platform-module-integration-management-client-contracts.ts"],"sourcesContent":["//#region ---- Module Config ----\n\nconst config = {\n i18n: 'integration-management',\n module: 'IntegrationManagement',\n route: 'integration-management',\n};\n\nexport const RootConfig = {\n config,\n module: {\n name: config.module,\n route: config.route,\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-plug',\n },\n entities: {\n integrationConnection: {\n name: 'IntegrationConnection',\n source: `${config.module}.IntegrationConnection`,\n title: `@${config.i18n}:connections.entities.connection.title`,\n titlePlural: `@${config.i18n}:connections.entities.connection.plural`,\n icon: 'fa-light fa-link',\n },\n integrationOAuthState: {\n name: 'IntegrationOAuthState',\n source: `${config.module}.IntegrationOAuthState`,\n title: `@${config.i18n}:oauth-states.entities.oauth-state.title`,\n titlePlural: `@${config.i18n}:oauth-states.entities.oauth-state.plural`,\n icon: 'fa-light fa-key',\n },\n integrationApplication: {\n name: 'IntegrationApplication',\n source: `${config.module}.IntegrationApplication`,\n title: `@${config.i18n}:applications.entities.application.title`,\n titlePlural: `@${config.i18n}:applications.entities.application.plural`,\n icon: 'fa-light fa-shield-keyhole',\n },\n integrationRemoteRecord: {\n name: 'IntegrationRemoteRecord',\n source: `${config.module}.IntegrationRemoteRecord`,\n title: `@${config.i18n}:remote-records.entities.record.title`,\n titlePlural: `@${config.i18n}:remote-records.entities.record.plural`,\n icon: 'fa-light fa-cloud-arrow-down',\n },\n },\n queries: {\n dashboard: {\n integrationsDonut: `${config.module}:Dashboard:IntegrationsDonut`,\n },\n },\n};\n\n//#endregion\n","\nimport { AXPModuleManifest } from '@acorex-platform/framework-shared/core';\nimport { RootConfig } from './root-config';\n\nexport const IntegrationManagementManifest: 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: 'platform',\n domain: 'platform',\n required: false,\n};\n","/**\n * Administration capabilities used by this module.\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 AXMIntegrationManagementPermissionKeys = {\n Provider: {\n View: AXPAdministrationPermissionKeys.ViewIntegrations,\n },\n Connection: {\n View: AXPAdministrationPermissionKeys.ViewIntegrations,\n Management: AXPAdministrationPermissionKeys.MaintainConnections,\n },\n TenantConnection: {\n Management: AXPAdministrationPermissionKeys.MaintainConnections,\n },\n Application: {\n Management: AXPAdministrationPermissionKeys.MaintainConnections,\n },\n ConnectionHealth: {\n View: AXPAdministrationPermissionKeys.ViewIntegrations,\n },\n} as const;\n","//#region ---- Command Keys ----\n\nexport const AXMIntegrationManagementCommandKeys = {\n ConnectionConnectWithCredentials: 'IntegrationManagement.Connection:ConnectWithCredentials',\n ConnectionRefreshAuthorization: 'IntegrationManagement.Connection:RefreshAuthorization',\n ConnectionValidate: 'IntegrationManagement.Connection:Validate',\n ConnectionUpdate: 'IntegrationManagement.Connection:Update',\n ConnectionDisconnect: 'IntegrationManagement.Connection:Disconnect',\n ConnectionRevoke: 'IntegrationManagement.Connection:Revoke',\n ConnectionDelete: 'IntegrationManagement.Connection:Delete',\n ApplicationUpsert: 'IntegrationManagement.Application:Upsert',\n} as const;\n\n//#endregion\n","//#region ---- Query Keys ----\n\nexport const AXMIntegrationManagementQueryKeys = {\n DomainList: 'IntegrationManagement.Domain:List',\n ProviderList: 'IntegrationManagement.Provider:List',\n ProviderGet: 'IntegrationManagement.Provider:Get',\n ConnectionListMine: 'IntegrationManagement.Connection:ListMine',\n ConnectionGetStatus: 'IntegrationManagement.Connection:GetStatus',\n ConnectionGetAuthMethods: 'IntegrationManagement.Connection:GetAuthMethods',\n} as const;\n\n//#endregion\n","//#region ---- Menu Keys ----\n\nexport const AXMIntegrationManagementMenuKeys = {\n Integrations: 'IntegrationManagement:Menu:Integrations',\n} as const;\n\n//#endregion\n","//#region ----- Route helpers -----\n\n/** Tenant integrations admin page: `/{app}/admin/integrations`. */\nexport function buildTenantIntegrationsPagePath(appName: string): string {\n return `/${appName}/admin/integrations`;\n}\n\n/**\n * App-agnostic OAuth callback path.\n * Prefer this for providers with a fixed registered redirect URI (e.g. Simpro).\n */\nexport function buildIntegrationOAuthCallbackPath(providerId: string): string {\n return `/integrations/oauth/callback/${providerId}`;\n}\n\nexport function buildIntegrationOAuthCallbackUrl(origin: string, providerId: string): string {\n return `${origin.replace(/\\/+$/, '')}${buildIntegrationOAuthCallbackPath(providerId)}`;\n}\n\n/** Resolve the current app route slug — session first, then optional route/fallback. */\nexport function resolveAppRouteName(\n applicationName?: string | null,\n ...fallbacks: Array<string | null | undefined>\n): string | null {\n const candidates = [applicationName, ...fallbacks];\n for (const candidate of candidates) {\n const trimmed = String(candidate ?? '').trim();\n if (trimmed) {\n return trimmed;\n }\n }\n return null;\n}\n\n//#endregion\n","import type { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\n\n//#region ---- Integration application entity model ----\n\n/**\n * Tenant/app isolation lives on {@link AXPEntityModel.scopeInfo}\n * (`tenantId`, `applicationId`).\n */\nexport interface AXMIntegrationManagementIntegrationApplicationEntityModel\n extends AXPEntityModel<string> {\n providerId: string;\n clientId: string;\n clientSecretRef: string;\n authorizationEndpoint?: string | null;\n tokenEndpoint?: string | null;\n redirectUri?: string | null;\n defaultScopes?: string[] | null;\n environment?: string | null;\n isActive: boolean;\n}\n\n//#endregion\n","import type { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\nimport type {\n AXPIntegrationAuthMethodType,\n AXPIntegrationConnectionScope,\n AXPIntegrationConnectionStatus,\n} from '@acorex-platform/framework-shared/core';\n\n//#region ---- Integration connection entity model ----\n\n/**\n * Isolation lives on {@link AXPEntityModel.scopeInfo}:\n * - `tenantId` / `applicationId` always\n * - `userId` only when `connectionScope` is `user`\n */\nexport interface AXMIntegrationManagementIntegrationConnectionEntityModel\n extends AXPEntityModel<string> {\n providerId: string;\n connectionScope: AXPIntegrationConnectionScope;\n connectionKey: string;\n displayName: string;\n authMethodType: AXPIntegrationAuthMethodType;\n status: AXPIntegrationConnectionStatus;\n instanceUrl?: string | null;\n externalAccountId?: string | null;\n externalAccountName?: string | null;\n grantedScopes?: string[] | null;\n secretRef?: string | null;\n expiresAt?: string | null;\n lastConnectedAt?: string | null;\n lastValidatedAt?: string | null;\n lastSyncAt?: string | null;\n lastErrorCode?: string | null;\n lastErrorMessage?: string | null;\n isRevoked: boolean;\n isDisabled: boolean;\n config?: Record<string, unknown> | null;\n}\n\n//#endregion\n","import type { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\n\n//#region ---- Integration OAuth state entity model ----\n\n/**\n * Isolation lives on {@link AXPEntityModel.scopeInfo}\n * (`tenantId`, `applicationId`, `userId` = authorizing user).\n */\nexport interface AXMIntegrationManagementIntegrationOAuthStateEntityModel\n extends AXPEntityModel<string> {\n state: string;\n codeVerifier: string;\n providerId: string;\n redirectUri: string;\n connectionScope: string;\n connectionKey: string;\n connectionId?: string | null;\n authMethodType: string;\n expiresAt: string;\n consumedAt?: string | null;\n}\n\n//#endregion\n","//#region ----- Integration remote record (cache entity) -----\n\nimport type { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\n\n/**\n * Resource / data-type discriminator for cached remote rows.\n * For Simpro multi-connection, `providerId` on the row is the **connection id**\n * (not the integration provider key), and `resourceType` is the data type.\n */\nexport type AXMIntegrationManagementRemoteResourceType =\n | 'job'\n | 'customer'\n | 'site'\n | 'employee'\n | 'project'\n | 'task';\n\nexport interface AXMIntegrationManagementIntegrationRemoteRecordEntityModel\n extends AXPEntityModel<string> {\n /**\n * Cache partition key.\n * Simpro: integration connection id. Other providers may still use provider key (e.g. `servicem8`).\n */\n providerId: string;\n /** Data type: job | customer | site | … */\n resourceType: AXMIntegrationManagementRemoteResourceType | string;\n remoteId: string;\n name: string;\n code?: string | null;\n orderNo?: string | null;\n stage?: string | null;\n customerName?: string | null;\n siteName?: string | null;\n dueDate?: string | null;\n /** Display name of the owning integration connection (Simpro multi-connection lists). */\n connectionDisplayName?: string | null;\n payloadJson?: string | null;\n remoteFetchedAt: string;\n isActive: boolean;\n isLinked: boolean;\n}\n\nexport interface AXMIntegrationManagementIntegrationRemoteRecordUpsertInput {\n remoteId: string;\n name: string;\n code?: string | null;\n orderNo?: string | null;\n stage?: string | null;\n customerName?: string | null;\n siteName?: string | null;\n dueDate?: string | null;\n connectionDisplayName?: string | null;\n payloadJson?: string | null;\n}\n\nexport interface AXMIntegrationManagementIntegrationRemotePullResult {\n upserted: number;\n deactivated: number;\n}\n\n//#endregion\n","//#region ----- Integration remote record resource constants -----\n\nexport const AXM_INTEGRATION_RESOURCE_JOB = 'job';\nexport const AXM_INTEGRATION_RESOURCE_CUSTOMER = 'customer';\nexport const AXM_INTEGRATION_RESOURCE_SITE = 'site';\nexport const AXM_INTEGRATION_RESOURCE_EMPLOYEE = 'employee';\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;AAEA,MAAM,MAAM,GAAG;AACb,IAAA,IAAI,EAAE,wBAAwB;AAC9B,IAAA,MAAM,EAAE,uBAAuB;AAC/B,IAAA,KAAK,EAAE,wBAAwB;CAChC;AAEM,MAAM,UAAU,GAAG;IACxB,MAAM;AACN,IAAA,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC,MAAM;QACnB,KAAK,EAAE,MAAM,CAAC,KAAK;AACnB,QAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,aAAA,CAAe;AACrC,QAAA,IAAI,EAAE,kBAAkB;AACzB,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,qBAAqB,EAAE;AACrB,YAAA,IAAI,EAAE,uBAAuB;AAC7B,YAAA,MAAM,EAAE,CAAA,EAAG,MAAM,CAAC,MAAM,CAAA,sBAAA,CAAwB;AAChD,YAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,sCAAA,CAAwC;AAC9D,YAAA,WAAW,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,uCAAA,CAAyC;AACrE,YAAA,IAAI,EAAE,kBAAkB;AACzB,SAAA;AACD,QAAA,qBAAqB,EAAE;AACrB,YAAA,IAAI,EAAE,uBAAuB;AAC7B,YAAA,MAAM,EAAE,CAAA,EAAG,MAAM,CAAC,MAAM,CAAA,sBAAA,CAAwB;AAChD,YAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,wCAAA,CAA0C;AAChE,YAAA,WAAW,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,yCAAA,CAA2C;AACvE,YAAA,IAAI,EAAE,iBAAiB;AACxB,SAAA;AACD,QAAA,sBAAsB,EAAE;AACtB,YAAA,IAAI,EAAE,wBAAwB;AAC9B,YAAA,MAAM,EAAE,CAAA,EAAG,MAAM,CAAC,MAAM,CAAA,uBAAA,CAAyB;AACjD,YAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,wCAAA,CAA0C;AAChE,YAAA,WAAW,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,yCAAA,CAA2C;AACvE,YAAA,IAAI,EAAE,4BAA4B;AACnC,SAAA;AACD,QAAA,uBAAuB,EAAE;AACvB,YAAA,IAAI,EAAE,yBAAyB;AAC/B,YAAA,MAAM,EAAE,CAAA,EAAG,MAAM,CAAC,MAAM,CAAA,wBAAA,CAA0B;AAClD,YAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,qCAAA,CAAuC;AAC7D,YAAA,WAAW,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,sCAAA,CAAwC;AACpE,YAAA,IAAI,EAAE,8BAA8B;AACrC,SAAA;AACF,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,SAAS,EAAE;AACT,YAAA,iBAAiB,EAAE,CAAA,EAAG,MAAM,CAAC,MAAM,CAAA,4BAAA,CAA8B;AAClE,SAAA;AACF,KAAA;;AAGH;;ACjDO,MAAM,6BAA6B,GAAsB;AAC9D,IAAA,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC5B,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK;AAC9B,IAAA,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC5B,IAAA,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC5B,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,MAAM,EAAE,UAAU;AAClB,IAAA,QAAQ,EAAE,KAAK;;;ACZjB;;;AAGG;AACI,MAAM,+BAA+B,GAAG;AAC7C,IAAA,MAAM,EAAE,kCAAkC;AAC1C,IAAA,qBAAqB,EAAE,iDAAiD;AACxE,IAAA,cAAc,EAAE,0CAA0C;AAC1D,IAAA,gBAAgB,EAAE,4CAA4C;AAC9D,IAAA,gBAAgB,EAAE,4CAA4C;AAC9D,IAAA,mBAAmB,EAAE,+CAA+C;AACpE,IAAA,wBAAwB,EAAE,oDAAoD;AAC9E,IAAA,iBAAiB,EAAE,6CAA6C;AAChE,IAAA,qBAAqB,EAAE,iDAAiD;AACxE,IAAA,SAAS,EAAE,qCAAqC;AAChD,IAAA,aAAa,EAAE,yCAAyC;AACxD,IAAA,iBAAiB,EAAE,6CAA6C;AAChE,IAAA,UAAU,EAAE,sCAAsC;AAClD,IAAA,WAAW,EAAE,uCAAuC;AACpD,IAAA,kBAAkB,EAAE,8CAA8C;AAClE,IAAA,QAAQ,EAAE,oCAAoC;AAC9C,IAAA,gBAAgB,EAAE,4CAA4C;AAC9D,IAAA,iBAAiB,EAAE,6CAA6C;AAChE,IAAA,qBAAqB,EAAE,iDAAiD;;AAG1E;;;AAGG;AACI,MAAM,sCAAsC,GAAG;AACpD,IAAA,QAAQ,EAAE;QACR,IAAI,EAAE,+BAA+B,CAAC,gBAAgB;AACvD,KAAA;AACD,IAAA,UAAU,EAAE;QACV,IAAI,EAAE,+BAA+B,CAAC,gBAAgB;QACtD,UAAU,EAAE,+BAA+B,CAAC,mBAAmB;AAChE,KAAA;AACD,IAAA,gBAAgB,EAAE;QAChB,UAAU,EAAE,+BAA+B,CAAC,mBAAmB;AAChE,KAAA;AACD,IAAA,WAAW,EAAE;QACX,UAAU,EAAE,+BAA+B,CAAC,mBAAmB;AAChE,KAAA;AACD,IAAA,gBAAgB,EAAE;QAChB,IAAI,EAAE,+BAA+B,CAAC,gBAAgB;AACvD,KAAA;;;AC9CH;AAEO,MAAM,mCAAmC,GAAG;AACjD,IAAA,gCAAgC,EAAE,yDAAyD;AAC3F,IAAA,8BAA8B,EAAE,uDAAuD;AACvF,IAAA,kBAAkB,EAAE,2CAA2C;AAC/D,IAAA,gBAAgB,EAAE,yCAAyC;AAC3D,IAAA,oBAAoB,EAAE,6CAA6C;AACnE,IAAA,gBAAgB,EAAE,yCAAyC;AAC3D,IAAA,gBAAgB,EAAE,yCAAyC;AAC3D,IAAA,iBAAiB,EAAE,0CAA0C;;AAG/D;;ACbA;AAEO,MAAM,iCAAiC,GAAG;AAC/C,IAAA,UAAU,EAAE,mCAAmC;AAC/C,IAAA,YAAY,EAAE,qCAAqC;AACnD,IAAA,WAAW,EAAE,oCAAoC;AACjD,IAAA,kBAAkB,EAAE,2CAA2C;AAC/D,IAAA,mBAAmB,EAAE,4CAA4C;AACjE,IAAA,wBAAwB,EAAE,iDAAiD;;AAG7E;;ACXA;AAEO,MAAM,gCAAgC,GAAG;AAC9C,IAAA,YAAY,EAAE,yCAAyC;;AAGzD;;ACNA;AAEA;AACM,SAAU,+BAA+B,CAAC,OAAe,EAAA;IAC7D,OAAO,CAAA,CAAA,EAAI,OAAO,CAAA,mBAAA,CAAqB;AACzC;AAEA;;;AAGG;AACG,SAAU,iCAAiC,CAAC,UAAkB,EAAA;IAClE,OAAO,CAAA,6BAAA,EAAgC,UAAU,CAAA,CAAE;AACrD;AAEM,SAAU,gCAAgC,CAAC,MAAc,EAAE,UAAkB,EAAA;AACjF,IAAA,OAAO,CAAA,EAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,iCAAiC,CAAC,UAAU,CAAC,EAAE;AACxF;AAEA;SACgB,mBAAmB,CACjC,eAA+B,EAC/B,GAAG,SAA2C,EAAA;IAE9C,MAAM,UAAU,GAAG,CAAC,eAAe,EAAE,GAAG,SAAS,CAAC;AAClD,IAAA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;QAClC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QAC9C,IAAI,OAAO,EAAE;AACX,YAAA,OAAO,OAAO;QAChB;IACF;AACA,IAAA,OAAO,IAAI;AACb;AAEA;;ACbA;;ACiBA;;AChBA;;ACtBA;AA4DA;;AC5DA;AAEO,MAAM,4BAA4B,GAAG;AACrC,MAAM,iCAAiC,GAAG;AAC1C,MAAM,6BAA6B,GAAG;AACtC,MAAM,iCAAiC,GAAG;AAEjD;;ACPA;;AAEG;;"}
|
package/package.json
CHANGED
|
@@ -201,7 +201,7 @@ interface AXMIntegrationManagementIntegrationOAuthStateEntityModel extends AXPEn
|
|
|
201
201
|
* For Simpro multi-connection, `providerId` on the row is the **connection id**
|
|
202
202
|
* (not the integration provider key), and `resourceType` is the data type.
|
|
203
203
|
*/
|
|
204
|
-
type AXMIntegrationManagementRemoteResourceType = 'job' | 'customer' | 'site' | 'project' | 'task';
|
|
204
|
+
type AXMIntegrationManagementRemoteResourceType = 'job' | 'customer' | 'site' | 'employee' | 'project' | 'task';
|
|
205
205
|
interface AXMIntegrationManagementIntegrationRemoteRecordEntityModel extends AXPEntityModel<string> {
|
|
206
206
|
/**
|
|
207
207
|
* Cache partition key.
|
|
@@ -245,6 +245,7 @@ interface AXMIntegrationManagementIntegrationRemotePullResult {
|
|
|
245
245
|
declare const AXM_INTEGRATION_RESOURCE_JOB = "job";
|
|
246
246
|
declare const AXM_INTEGRATION_RESOURCE_CUSTOMER = "customer";
|
|
247
247
|
declare const AXM_INTEGRATION_RESOURCE_SITE = "site";
|
|
248
|
+
declare const AXM_INTEGRATION_RESOURCE_EMPLOYEE = "employee";
|
|
248
249
|
|
|
249
|
-
export { AXMIntegrationManagementCommandKeys, AXMIntegrationManagementMenuKeys, AXMIntegrationManagementPermissionKeys, AXMIntegrationManagementQueryKeys, AXM_INTEGRATION_RESOURCE_CUSTOMER, AXM_INTEGRATION_RESOURCE_JOB, AXM_INTEGRATION_RESOURCE_SITE, AXPAdministrationPermissionKeys, IntegrationManagementManifest, RootConfig, buildIntegrationOAuthCallbackPath, buildIntegrationOAuthCallbackUrl, buildTenantIntegrationsPagePath, resolveAppRouteName };
|
|
250
|
+
export { AXMIntegrationManagementCommandKeys, AXMIntegrationManagementMenuKeys, AXMIntegrationManagementPermissionKeys, AXMIntegrationManagementQueryKeys, AXM_INTEGRATION_RESOURCE_CUSTOMER, AXM_INTEGRATION_RESOURCE_EMPLOYEE, AXM_INTEGRATION_RESOURCE_JOB, AXM_INTEGRATION_RESOURCE_SITE, AXPAdministrationPermissionKeys, IntegrationManagementManifest, RootConfig, buildIntegrationOAuthCallbackPath, buildIntegrationOAuthCallbackUrl, buildTenantIntegrationsPagePath, resolveAppRouteName };
|
|
250
251
|
export type { AXMIntegrationManagementIntegrationApplicationEntityModel, AXMIntegrationManagementIntegrationConnectionEntityModel, AXMIntegrationManagementIntegrationOAuthStateEntityModel, AXMIntegrationManagementIntegrationRemotePullResult, AXMIntegrationManagementIntegrationRemoteRecordEntityModel, AXMIntegrationManagementIntegrationRemoteRecordUpsertInput, AXMIntegrationManagementRemoteResourceType };
|