@acorex-platform/extension-bamboohr-client 2.0.0-next.1 → 2.0.0-next.12

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.
@@ -5,7 +5,7 @@ import { AXPEntityService, ensureListActions, actionExists, AXP_ENTITY_MODIFIER
5
5
  import { AXPCommandService, provideCommandSetups } from '@acorex-platform/framework-client/runtime';
6
6
  import * as i0 from '@angular/core';
7
7
  import { inject, Injectable, NgModule, input, computed, ChangeDetectionStrategy, Component } from '@angular/core';
8
- import { AXE_BAMBOOHR_PROVIDER_ID, AXEBambooHRCommandKeys, RootConfig as RootConfig$1, AXE_BAMBOOHR_DOMAIN_ID, AXPAdministrationPermissionKeys, AXEBambooHRMenuKeys } from '@acorex-platform/extension-bamboohr-client/contracts';
8
+ import { AXE_BAMBOOHR_PROVIDER_ID, AXPAdministrationPermissionKeys, AXEBambooHRCommandKeys, RootConfig as RootConfig$1, AXE_BAMBOOHR_DOMAIN_ID, AXEBambooHRMenuKeys } from '@acorex-platform/extension-bamboohr-client/contracts';
9
9
  import { RootConfig } from '@acorex-platform/module-human-capital-management-client/contracts';
10
10
  import { AXPSystemActionType, AXP_INTEGRATION_CAPABILITY, AXP_INTEGRATION_CATEGORY, AXPWidgetsList, AXP_INTEGRATION_AUTH_METHOD_TYPE, AXP_INTEGRATION_CONNECTION_SCOPE, AXP_INTEGRATION_CONNECTION_STATUS } from '@acorex-platform/framework-shared/core';
11
11
  import { AXPEntityCommandScope } from '@acorex-platform/framework-shared/entity';
@@ -55,6 +55,7 @@ class AXEBambooHREmployeeLinkExpressionEvaluatorScopeProvider {
55
55
  //#endregion
56
56
  const SYNC_ALL_ORDER = 36;
57
57
  const SYNC_ONE_ORDER = 37;
58
+ const MANAGE_INTEGRATION_ACTIONS_HIDDEN = `{{ !permission.check("${AXPAdministrationPermissionKeys.ManageIntegrationActions}") }}`;
58
59
  function buildSyncAllAction() {
59
60
  return {
60
61
  name: AXEBambooHRCommandKeys.EmployeeSyncFromBambooHR,
@@ -65,6 +66,8 @@ function buildSyncAllAction() {
65
66
  icon: 'fa-light fa-users',
66
67
  scope: AXPEntityCommandScope.TypeLevel,
67
68
  order: SYNC_ALL_ORDER,
69
+ permissions: [AXPAdministrationPermissionKeys.ManageIntegrationActions],
70
+ hidden: MANAGE_INTEGRATION_ACTIONS_HIDDEN,
68
71
  };
69
72
  }
70
73
  function buildSyncOneAction() {
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-extension-bamboohr-client.mjs","sources":["../../../../libs/extensions/bamboohr/client/src/lib/features/human-capital/bamboohr-expression-scope.ts","../../../../libs/extensions/bamboohr/client/src/lib/features/human-capital/bamboohr-employee-link-expression-evaluator-scope.provider.ts","../../../../libs/extensions/bamboohr/client/src/lib/features/human-capital/employee-bamboohr.entity-modifier.ts","../../../../libs/extensions/bamboohr/client/src/lib/integration/human-capital.integration-domain.provider.ts","../../../../libs/extensions/bamboohr/client/src/lib/brand/bamboohr-logo-key.ts","../../../../libs/extensions/bamboohr/client/src/lib/integration/bamboohr.integration.provider.ts","../../../../libs/extensions/bamboohr/client/src/lib/integration/bamboohr.integration-runtime.provider.ts","../../../../libs/extensions/bamboohr/client/src/lib/integration/bamboohr.connection-lifecycle.handler.ts","../../../../libs/extensions/bamboohr/client/src/lib/menu.provider.ts","../../../../libs/extensions/bamboohr/client/src/lib/settings.provider.ts","../../../../libs/extensions/bamboohr/client/src/lib/brand/bamboohr-logo.provider.ts","../../../../libs/extensions/bamboohr/client/src/lib/bamboohr-extension.module.ts","../../../../libs/extensions/bamboohr/client/src/lib/brand/bamboohr-mark.paths.ts","../../../../libs/extensions/bamboohr/client/src/lib/brand/bamboohr-logo.component.ts","../../../../libs/extensions/bamboohr/client/src/acorex-platform-extension-bamboohr-client.ts"],"sourcesContent":["export const AXE_BAMBOOHR_EXPRESSION_SCOPE = 'BambooHRExtension';\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 { AXE_BAMBOOHR_PROVIDER_ID } from '@acorex-platform/extension-bamboohr-client/contracts';\nimport { RootConfig as HcmRootConfig } from '@acorex-platform/module-human-capital-management-client/contracts';\nimport type { AXMHumanCapitalManagementEmployeeEntityModel } from '@acorex-platform/module-human-capital-management-client/contracts';\nimport { AXE_BAMBOOHR_EXPRESSION_SCOPE } from './bamboohr-expression-scope';\n\n//#endregion\n\nexport class AXEBambooHREmployeeLinkExpressionEvaluatorScopeProvider 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_BAMBOOHR_EXPRESSION_SCOPE, {\n hasEmployeeLink: async (platformEmployeeIdRaw?: unknown): Promise<boolean> => {\n const platformEmployeeId = typeof platformEmployeeIdRaw === 'string' ? platformEmployeeIdRaw.trim() : '';\n if (!platformEmployeeId) {\n return false;\n }\n\n const employee = (await this.entityService\n .withEntity(HcmRootConfig.module.name, HcmRootConfig.entities.employee.name)\n .data<string, AXMHumanCapitalManagementEmployeeEntityModel>()\n .byKey(platformEmployeeId)) as AXMHumanCapitalManagementEmployeeEntityModel | null;\n\n return employee?.integrationRef?.source === AXE_BAMBOOHR_PROVIDER_ID;\n },\n hasBambooHRConnection: async (): Promise<boolean> => {\n try {\n await this.integrationRuntime.getConnection({\n providerId: AXE_BAMBOOHR_PROVIDER_ID,\n connectionScope: 'tenant',\n });\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 { AXEBambooHRCommandKeys } from '@acorex-platform/extension-bamboohr-client/contracts';\nimport { RootConfig as HcmRootConfig } from '@acorex-platform/module-human-capital-management-client/contracts';\nimport { AXE_BAMBOOHR_EXPRESSION_SCOPE } from './bamboohr-expression-scope';\n\n//#endregion\n\nconst SYNC_ALL_ORDER = 36;\nconst SYNC_ONE_ORDER = 37;\n\nfunction buildSyncAllAction(): AXPEntityAction {\n return {\n name: AXEBambooHRCommandKeys.EmployeeSyncFromBambooHR,\n title: '@extensions-bamboohr:actions.sync-from-bamboohr.title',\n command: { name: AXEBambooHRCommandKeys.EmployeeSyncFromBambooHR },\n priority: 'secondary',\n type: AXPSystemActionType.Import,\n icon: 'fa-light fa-users',\n scope: AXPEntityCommandScope.TypeLevel,\n order: SYNC_ALL_ORDER,\n };\n}\n\nfunction buildSyncOneAction(): AXPEntityAction {\n return {\n name: AXEBambooHRCommandKeys.EmployeeSync,\n title: '@extensions-bamboohr:actions.sync.title',\n command: {\n name: AXEBambooHRCommandKeys.EmployeeSync,\n options: { platformEmployeeId: '{{ 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_ONE_ORDER,\n hidden: `{{ !(await ${AXE_BAMBOOHR_EXPRESSION_SCOPE}.hasEmployeeLink(context.eval(\"id\"))) }}`,\n };\n}\n\n/** Adds BambooHR sync actions to HumanCapitalManagement.Employee views. */\nexport const AXEBambooHREmployeeEntityModifier: AXPEntityModifierProvider = {\n entityName: HcmRootConfig.entities.employee.name,\n order: 50,\n modifier: (ctx) => {\n if (ctx.module.get() !== HcmRootConfig.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, AXEBambooHRCommandKeys.EmployeeSyncFromBambooHR)) {\n listActions.push(buildSyncAllAction());\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, AXEBambooHRCommandKeys.EmployeeSync)) {\n singleActions.push(buildSyncOneAction());\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 ----- Imports -----\n\nimport { AXP_INTEGRATION_CATEGORY, AXP_INTEGRATION_CAPABILITY } from '@acorex-platform/framework-shared/core';\nimport {\n type AXPIntegrationDomainProvider,\n AXPIntegrationDomainProviderContext,\n} from '@acorex-platform/framework-client/common';\nimport { Injectable } from '@angular/core';\nimport { AXE_BAMBOOHR_DOMAIN_ID, RootConfig } from '@acorex-platform/extension-bamboohr-client/contracts';\n\n//#endregion\n\n@Injectable()\nexport class AXEHumanCapitalIntegrationDomainProvider implements AXPIntegrationDomainProvider {\n async provide(context: AXPIntegrationDomainProviderContext): Promise<void> {\n const I18N = `@${RootConfig.config.i18n}:integration.domain`;\n\n context.register({\n id: AXE_BAMBOOHR_DOMAIN_ID,\n module: RootConfig.module.name,\n displayName: `${I18N}.title`,\n description: `${I18N}.description`,\n icon: RootConfig.module.icon,\n category: AXP_INTEGRATION_CATEGORY.HumanCapital,\n capabilities: [AXP_INTEGRATION_CAPABILITY.Sync, AXP_INTEGRATION_CAPABILITY.Import],\n sortOrder: 25,\n });\n }\n}\n\n//#endregion\n","//#region ----- BambooHR logo registry key -----\n\nexport const axpBambooHRLogoKey = 'bamboohr' as const;\n\n//#endregion\n","//#region ----- Imports -----\n\nimport {\n AXP_INTEGRATION_AUTH_METHOD_TYPE,\n AXP_INTEGRATION_CAPABILITY,\n AXP_INTEGRATION_CONNECTION_SCOPE,\n AXPWidgetsList,\n} from '@acorex-platform/framework-shared/core';\nimport { AXPIntegrationProvider, AXPIntegrationProviderContext } from '@acorex-platform/framework-client/common';\nimport { Injectable } from '@angular/core';\nimport {\n AXE_BAMBOOHR_DOMAIN_ID,\n AXE_BAMBOOHR_PROVIDER_ID,\n AXEBambooHRCommandKeys,\n RootConfig,\n} from '@acorex-platform/extension-bamboohr-client/contracts';\nimport { axpBambooHRLogoKey } from '../brand/bamboohr-logo-key';\n\n//#endregion\n\n@Injectable()\nexport class AXEBambooHRIntegrationProvider implements AXPIntegrationProvider {\n async provide(context: AXPIntegrationProviderContext): Promise<void> {\n const I18N = `@${RootConfig.config.i18n}:integration`;\n\n context.register({\n domainId: AXE_BAMBOOHR_DOMAIN_ID,\n id: AXE_BAMBOOHR_PROVIDER_ID,\n module: RootConfig.module.name,\n displayName: `${I18N}.display-name`,\n description: `${I18N}.description`,\n icon: RootConfig.module.icon,\n logoKey: axpBambooHRLogoKey,\n capabilities: [AXP_INTEGRATION_CAPABILITY.Sync, AXP_INTEGRATION_CAPABILITY.Import],\n connectionScopes: [AXP_INTEGRATION_CONNECTION_SCOPE.Tenant],\n allowMultipleConnections: false,\n defaultConnectionKey: 'default',\n connectCommandKey: AXEBambooHRCommandKeys.ConnectionConnect,\n authMethods: [\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: 'companyDomain',\n options: { placeholder: `${I18N}.auth.api-token.company-domain.placeholder` },\n },\n {\n type: AXPWidgetsList.Editors.PasswordBox,\n path: 'apiKey',\n options: { placeholder: `${I18N}.auth.api-token.api-key.placeholder` },\n },\n ],\n },\n ],\n });\n }\n}\n\n//#endregion\n","//#region ----- Imports -----\n\nimport {\n AXP_INTEGRATION_CONNECTION_STATUS,\n type AXPIntegrationProviderRuntimeHooks,\n type AXPIntegrationRuntimeContext,\n type AXPIntegrationValidationResult,\n} 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 type { AXEBambooHRConnectionConfig } from '@acorex-platform/extension-bamboohr-client/contracts';\nimport { AXE_BAMBOOHR_PROVIDER_ID } from '@acorex-platform/extension-bamboohr-client/contracts';\nimport { Injectable, inject } from '@angular/core';\nimport { defaultTo, trim } from 'lodash-es';\n\n//#endregion\n\n@Injectable()\nexport class AXEBambooHRIntegrationRuntimeProvider implements AXPIntegrationRuntimeProvider {\n readonly providerId = AXE_BAMBOOHR_PROVIDER_ID;\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 };\n }\n\n private async validateConnection(ctx: AXPIntegrationRuntimeContext): Promise<AXPIntegrationValidationResult> {\n const config = (ctx.config ?? {}) as AXEBambooHRConnectionConfig;\n const companyDomain = trim(defaultTo(config.companyDomain, ''));\n const apiKey = trim(defaultTo(config.apiKey, await this.resolveApiKeyFromSecret(ctx)));\n\n if (!companyDomain || !apiKey) {\n return {\n valid: false,\n status: AXP_INTEGRATION_CONNECTION_STATUS.Invalid,\n errorMessage: 'BambooHR company domain and API key are required.',\n };\n }\n\n return {\n valid: true,\n status: AXP_INTEGRATION_CONNECTION_STATUS.Connected,\n externalAccountName: `${companyDomain}.bamboohr.com`,\n };\n }\n\n private async resolveApiKeyFromSecret(ctx: AXPIntegrationRuntimeContext): Promise<string> {\n if (!this.secretStore || !trim(defaultTo(ctx.secretRef, ''))) {\n return '';\n }\n const credentials = await this.secretStore.resolve(ctx.secretRef, ctx);\n return trim(defaultTo(credentials.apiToken ?? credentials.token ?? credentials.password, ''));\n }\n}\n\nexport const provideBambooHRIntegrationRuntimeProvider = {\n provide: AXP_INTEGRATION_RUNTIME_PROVIDER,\n useClass: AXEBambooHRIntegrationRuntimeProvider,\n multi: true,\n};\n\n//#endregion\n","//#region ----- Imports -----\n\nimport {\n AXP_INTEGRATION_CONNECTION_ESTABLISHED,\n AXP_INTEGRATION_CONNECTION_LIFECYCLE,\n type AXPIntegrationConnectionEstablishedHandler,\n type AXPIntegrationConnectionLifecycleHandler,\n} from '@acorex-platform/framework-client/common';\nimport { AXP_INTEGRATION_CONNECTION_STATUS, type AXPSafeIntegrationConnectionDto } from '@acorex-platform/framework-shared/core';\nimport { AXPCommandService } from '@acorex-platform/framework-client/runtime';\nimport {\n AXE_BAMBOOHR_PROVIDER_ID,\n AXEBambooHRCommandKeys,\n type AXEBambooHRConnectionLifecycleAction,\n} from '@acorex-platform/extension-bamboohr-client/contracts';\nimport { Injectable, inject } from '@angular/core';\n\n//#endregion\n\n//#region ----- Handler -----\n\n@Injectable()\nexport class AXEBambooHRConnectionLifecycleHandler\n implements AXPIntegrationConnectionLifecycleHandler, AXPIntegrationConnectionEstablishedHandler\n{\n readonly providerId = AXE_BAMBOOHR_PROVIDER_ID;\n\n private readonly commandService = inject(AXPCommandService);\n\n async onEstablished(connection: AXPSafeIntegrationConnectionDto): Promise<void> {\n if (connection.status === AXP_INTEGRATION_CONNECTION_STATUS.Connected) {\n await this.runLifecycle(connection.id, 'connected');\n }\n }\n\n async onDisconnected(connection: AXPSafeIntegrationConnectionDto): Promise<void> {\n await this.runLifecycle(connection.id, 'disconnected');\n }\n\n async onDeleted(connection: AXPSafeIntegrationConnectionDto): Promise<void> {\n await this.runLifecycle(connection.id, 'deleted');\n }\n\n async onEnabledChanged(connection: AXPSafeIntegrationConnectionDto, enabled: boolean): Promise<void> {\n if (enabled) {\n if (connection.status === AXP_INTEGRATION_CONNECTION_STATUS.Connected) {\n await this.runLifecycle(connection.id, 'enabled');\n }\n return;\n }\n await this.runLifecycle(connection.id, 'disabled');\n }\n\n private async runLifecycle(\n connectionId: string,\n action: AXEBambooHRConnectionLifecycleAction,\n ): Promise<void> {\n await this.commandService.execute(AXEBambooHRCommandKeys.ConnectionLifecycle, {\n connectionId,\n action,\n });\n }\n}\n\nexport const provideBambooHRConnectionLifecycleHandler = {\n provide: AXP_INTEGRATION_CONNECTION_LIFECYCLE,\n useClass: AXEBambooHRConnectionLifecycleHandler,\n multi: true,\n};\n\nexport const provideBambooHRConnectionEstablishedHandler = {\n provide: AXP_INTEGRATION_CONNECTION_ESTABLISHED,\n useClass: AXEBambooHRConnectionLifecycleHandler,\n multi: true,\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 { Injectable } from '@angular/core';\nimport {\n AXEBambooHRMenuKeys,\n RootConfig,\n AXPAdministrationPermissionKeys\n} from '@acorex-platform/extension-bamboohr-client/contracts';\n\n//#endregion\n\n@Injectable()\nexport class AXEBambooHRMenuProvider implements AXPMenuProvider {\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(AXEBambooHRMenuKeys.BambooHRExtensionConfig).exists) {\n configMenu.addItems([\n {\n name: AXEBambooHRMenuKeys.BambooHRExtensionConfig,\n text: '@extensions-bamboohr:module.menus.configuration.title',\n icon: module.icon,\n type: 'menu',\n priority: 8930,\n policy,\n children: [],\n },\n ]);\n }\n }\n}\n\n//#endregion\n","//#region ----- Imports -----\n\nimport {\n AXP_SETTING_DEFINITION_PROVIDER,\n AXPSettingDefinitionProvider,\n AXPSettingDefinitionProviderContext,\n} from '@acorex-platform/framework-client/common';\nimport { Injectable } from '@angular/core';\n\n//#endregion\n\n//#region ----- Provider -----\n\n@Injectable()\nexport class AXEBambooHRSettingsProvider implements AXPSettingDefinitionProvider {\n async provide(_context: AXPSettingDefinitionProviderContext): Promise<void> {\n // Tenant BambooHR connections are managed on Administration → Integrations.\n }\n}\n\nexport const provideBambooHRSettingsProvider = {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useClass: AXEBambooHRSettingsProvider,\n multi: true,\n};\n\n//#endregion\n","//#region ----- Imports -----\n\nimport {\n AXP_LOGO_PROVIDER,\n type AXPLogoProvider,\n type AXPLogoRequest,\n type AXPLogoView,\n} from '@acorex-platform/framework-client/core';\nimport { axpBambooHRLogoKey } from './bamboohr-logo-key';\n\n//#endregion\n\nconst bambooHRLogoProvider: AXPLogoProvider = {\n key: axpBambooHRLogoKey,\n resolve: async (request: AXPLogoRequest): Promise<AXPLogoView> => ({\n kind: 'component',\n load: () => import('./bamboohr-logo.component').then((module) => module.AXEBambooHRLogoComponent),\n inputs: {\n appearance: request.appearance,\n size: request.size,\n },\n }),\n};\n\nexport const AXE_BAMBOOHR_LOGO_PROVIDER = {\n provide: AXP_LOGO_PROVIDER,\n useValue: bambooHRLogoProvider,\n multi: true,\n} as const;\n","//#region ----- Imports -----\n\nimport { AXMIntegrationManagementModule } from '@acorex-platform/module-integration-management-client';\nimport {\n AXP_INTEGRATION_DOMAIN_PROVIDER,\n AXP_INTEGRATION_PROVIDER,\n AXP_MENU_PROVIDER,\n} from '@acorex-platform/framework-client/common';\nimport { AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER } from '@acorex-platform/framework-client/core';\nimport { AXP_ENTITY_MODIFIER } from '@acorex-platform/framework-client/layout/entity';\nimport { provideCommandSetups } from '@acorex-platform/framework-client/runtime';\nimport { NgModule } from '@angular/core';\nimport { AXEBambooHRCommandKeys } from '@acorex-platform/extension-bamboohr-client/contracts';\nimport { AXEBambooHREmployeeLinkExpressionEvaluatorScopeProvider } from './features/human-capital/bamboohr-employee-link-expression-evaluator-scope.provider';\nimport { AXEBambooHREmployeeEntityModifier } from './features/human-capital/employee-bamboohr.entity-modifier';\nimport { AXEHumanCapitalIntegrationDomainProvider } from './integration/human-capital.integration-domain.provider';\nimport { AXEBambooHRIntegrationProvider } from './integration/bamboohr.integration.provider';\nimport { provideBambooHRIntegrationRuntimeProvider } from './integration/bamboohr.integration-runtime.provider';\nimport {\n provideBambooHRConnectionEstablishedHandler,\n provideBambooHRConnectionLifecycleHandler,\n} from './integration/bamboohr.connection-lifecycle.handler';\nimport { AXEBambooHRMenuProvider } from './menu.provider';\nimport { provideBambooHRSettingsProvider } from './settings.provider';\nimport { AXE_BAMBOOHR_LOGO_PROVIDER } from './brand/bamboohr-logo.provider';\n\n//#endregion\n\n@NgModule({\n imports: [AXMIntegrationManagementModule],\n providers: [\n AXE_BAMBOOHR_LOGO_PROVIDER,\n { provide: AXP_MENU_PROVIDER, useClass: AXEBambooHRMenuProvider, multi: true },\n { provide: AXP_ENTITY_MODIFIER, useValue: AXEBambooHREmployeeEntityModifier, multi: true },\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXEBambooHREmployeeLinkExpressionEvaluatorScopeProvider,\n multi: true,\n },\n {\n provide: AXP_INTEGRATION_DOMAIN_PROVIDER,\n useClass: AXEHumanCapitalIntegrationDomainProvider,\n multi: true,\n },\n { provide: AXP_INTEGRATION_PROVIDER, useClass: AXEBambooHRIntegrationProvider, multi: true },\n provideBambooHRIntegrationRuntimeProvider,\n provideBambooHRConnectionLifecycleHandler,\n provideBambooHRConnectionEstablishedHandler,\n provideBambooHRSettingsProvider,\n provideCommandSetups([\n {\n key: AXEBambooHRCommandKeys.ConnectionConnect,\n command: () =>\n import('./features/connect/connect-bamboohr.command').then((c) => c.ConnectBambooHRCommand),\n },\n ]),\n ],\n})\nexport class AXEBambooHRExtensionModule {}\n\n//#endregion\n","//#region ----- BambooHR mark vector paths -----\n\n/** Official BambooHR brand green (sampled from bamboohr.com wordmark). */\nexport const AXE_BAMBOOHR_MARK_GREEN = '#73C41D';\n\n/**\n * Icon-only BambooHR sprout (two leaves, no wordmark).\n * Traced from the official leaf mark on bamboohr.com media assets and fitted to 24×24.\n */\nexport const AXE_BAMBOOHR_MARK_PATH =\n 'M11.39 3.37 Q 14.66 4.84 16.92 7.49 Q 18.39 9.23 19.32 11.53 L 22 20.21 Q 21.82 20.63 21.63 20.29 L 19.54 19.85 L 17.74 19.69 L 15.65 19.09 L 12.81 17.74 L 11.08 16.32 L 8.1 12.73 L 3.98 8.62 L 2.11 7.04 Q 2 6.71 2.34 6.82 L 5.62 7.43 L 10.56 9.36 L 13.84 11.16 L 16.76 13.56 L 16.76 13.78 L 18.94 15.95 L 19.02 15.73 Q 17.2 11.55 14.82 7.94 L 11.39 3.37 Z';\n\n//#endregion\n","//#region ----- Imports -----\n\nimport type { AXPLogoAppearance } from '@acorex-platform/framework-client/core';\nimport { Component, computed, input, ChangeDetectionStrategy } from '@angular/core';\nimport { AXE_BAMBOOHR_MARK_GREEN, AXE_BAMBOOHR_MARK_PATH } from './bamboohr-mark.paths';\n\n//#endregion\n\n//#region ----- Component -----\n\n@Component({\n selector: 'axe-bamboohr-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]=\"markPath\" />\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]=\"markGreen\" [attr.d]=\"markPath\" />\n </svg>\n }\n }\n `,\n})\nexport class AXEBambooHRLogoComponent {\n appearance = input<AXPLogoAppearance>('colored');\n size = input(20);\n\n protected readonly markPath = AXE_BAMBOOHR_MARK_PATH;\n protected readonly markGreen = AXE_BAMBOOHR_MARK_GREEN;\n\n protected readonly resolvedAppearance = computed(() => {\n const value = this.appearance();\n return value === 'monochrome' ? 'monochrome' : 'colored';\n });\n}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["HcmRootConfig","RootConfig"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-extension-bamboohr-client.mjs","sources":["../../../../libs/extensions/bamboohr/client/src/lib/features/human-capital/bamboohr-expression-scope.ts","../../../../libs/extensions/bamboohr/client/src/lib/features/human-capital/bamboohr-employee-link-expression-evaluator-scope.provider.ts","../../../../libs/extensions/bamboohr/client/src/lib/features/human-capital/employee-bamboohr.entity-modifier.ts","../../../../libs/extensions/bamboohr/client/src/lib/integration/human-capital.integration-domain.provider.ts","../../../../libs/extensions/bamboohr/client/src/lib/brand/bamboohr-logo-key.ts","../../../../libs/extensions/bamboohr/client/src/lib/integration/bamboohr.integration.provider.ts","../../../../libs/extensions/bamboohr/client/src/lib/integration/bamboohr.integration-runtime.provider.ts","../../../../libs/extensions/bamboohr/client/src/lib/integration/bamboohr.connection-lifecycle.handler.ts","../../../../libs/extensions/bamboohr/client/src/lib/menu.provider.ts","../../../../libs/extensions/bamboohr/client/src/lib/settings.provider.ts","../../../../libs/extensions/bamboohr/client/src/lib/brand/bamboohr-logo.provider.ts","../../../../libs/extensions/bamboohr/client/src/lib/bamboohr-extension.module.ts","../../../../libs/extensions/bamboohr/client/src/lib/brand/bamboohr-mark.paths.ts","../../../../libs/extensions/bamboohr/client/src/lib/brand/bamboohr-logo.component.ts","../../../../libs/extensions/bamboohr/client/src/acorex-platform-extension-bamboohr-client.ts"],"sourcesContent":["export const AXE_BAMBOOHR_EXPRESSION_SCOPE = 'BambooHRExtension';\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 { AXE_BAMBOOHR_PROVIDER_ID } from '@acorex-platform/extension-bamboohr-client/contracts';\nimport { RootConfig as HcmRootConfig } from '@acorex-platform/module-human-capital-management-client/contracts';\nimport type { AXMHumanCapitalManagementEmployeeEntityModel } from '@acorex-platform/module-human-capital-management-client/contracts';\nimport { AXE_BAMBOOHR_EXPRESSION_SCOPE } from './bamboohr-expression-scope';\n\n//#endregion\n\nexport class AXEBambooHREmployeeLinkExpressionEvaluatorScopeProvider 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_BAMBOOHR_EXPRESSION_SCOPE, {\n hasEmployeeLink: async (platformEmployeeIdRaw?: unknown): Promise<boolean> => {\n const platformEmployeeId = typeof platformEmployeeIdRaw === 'string' ? platformEmployeeIdRaw.trim() : '';\n if (!platformEmployeeId) {\n return false;\n }\n\n const employee = (await this.entityService\n .withEntity(HcmRootConfig.module.name, HcmRootConfig.entities.employee.name)\n .data<string, AXMHumanCapitalManagementEmployeeEntityModel>()\n .byKey(platformEmployeeId)) as AXMHumanCapitalManagementEmployeeEntityModel | null;\n\n return employee?.integrationRef?.source === AXE_BAMBOOHR_PROVIDER_ID;\n },\n hasBambooHRConnection: async (): Promise<boolean> => {\n try {\n await this.integrationRuntime.getConnection({\n providerId: AXE_BAMBOOHR_PROVIDER_ID,\n connectionScope: 'tenant',\n });\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 {\n AXEBambooHRCommandKeys,\n AXPAdministrationPermissionKeys,\n} from '@acorex-platform/extension-bamboohr-client/contracts';\nimport { RootConfig as HcmRootConfig } from '@acorex-platform/module-human-capital-management-client/contracts';\nimport { AXE_BAMBOOHR_EXPRESSION_SCOPE } from './bamboohr-expression-scope';\n\n//#endregion\n\nconst SYNC_ALL_ORDER = 36;\nconst SYNC_ONE_ORDER = 37;\n\nconst MANAGE_INTEGRATION_ACTIONS_HIDDEN = `{{ !permission.check(\"${AXPAdministrationPermissionKeys.ManageIntegrationActions}\") }}`;\n\nfunction buildSyncAllAction(): AXPEntityAction {\n return {\n name: AXEBambooHRCommandKeys.EmployeeSyncFromBambooHR,\n title: '@extensions-bamboohr:actions.sync-from-bamboohr.title',\n command: { name: AXEBambooHRCommandKeys.EmployeeSyncFromBambooHR },\n priority: 'secondary',\n type: AXPSystemActionType.Import,\n icon: 'fa-light fa-users',\n scope: AXPEntityCommandScope.TypeLevel,\n order: SYNC_ALL_ORDER,\n permissions: [AXPAdministrationPermissionKeys.ManageIntegrationActions],\n hidden: MANAGE_INTEGRATION_ACTIONS_HIDDEN,\n };\n}\n\nfunction buildSyncOneAction(): AXPEntityAction {\n return {\n name: AXEBambooHRCommandKeys.EmployeeSync,\n title: '@extensions-bamboohr:actions.sync.title',\n command: {\n name: AXEBambooHRCommandKeys.EmployeeSync,\n options: { platformEmployeeId: '{{ 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_ONE_ORDER,\n hidden: `{{ !(await ${AXE_BAMBOOHR_EXPRESSION_SCOPE}.hasEmployeeLink(context.eval(\"id\"))) }}`,\n };\n}\n\n/** Adds BambooHR sync actions to HumanCapitalManagement.Employee views. */\nexport const AXEBambooHREmployeeEntityModifier: AXPEntityModifierProvider = {\n entityName: HcmRootConfig.entities.employee.name,\n order: 50,\n modifier: (ctx) => {\n if (ctx.module.get() !== HcmRootConfig.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, AXEBambooHRCommandKeys.EmployeeSyncFromBambooHR)) {\n listActions.push(buildSyncAllAction());\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, AXEBambooHRCommandKeys.EmployeeSync)) {\n singleActions.push(buildSyncOneAction());\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 ----- Imports -----\n\nimport { AXP_INTEGRATION_CATEGORY, AXP_INTEGRATION_CAPABILITY } from '@acorex-platform/framework-shared/core';\nimport {\n type AXPIntegrationDomainProvider,\n AXPIntegrationDomainProviderContext,\n} from '@acorex-platform/framework-client/common';\nimport { Injectable } from '@angular/core';\nimport { AXE_BAMBOOHR_DOMAIN_ID, RootConfig } from '@acorex-platform/extension-bamboohr-client/contracts';\n\n//#endregion\n\n@Injectable()\nexport class AXEHumanCapitalIntegrationDomainProvider implements AXPIntegrationDomainProvider {\n async provide(context: AXPIntegrationDomainProviderContext): Promise<void> {\n const I18N = `@${RootConfig.config.i18n}:integration.domain`;\n\n context.register({\n id: AXE_BAMBOOHR_DOMAIN_ID,\n module: RootConfig.module.name,\n displayName: `${I18N}.title`,\n description: `${I18N}.description`,\n icon: RootConfig.module.icon,\n category: AXP_INTEGRATION_CATEGORY.HumanCapital,\n capabilities: [AXP_INTEGRATION_CAPABILITY.Sync, AXP_INTEGRATION_CAPABILITY.Import],\n sortOrder: 25,\n });\n }\n}\n\n//#endregion\n","//#region ----- BambooHR logo registry key -----\n\nexport const axpBambooHRLogoKey = 'bamboohr' as const;\n\n//#endregion\n","//#region ----- Imports -----\n\nimport {\n AXP_INTEGRATION_AUTH_METHOD_TYPE,\n AXP_INTEGRATION_CAPABILITY,\n AXP_INTEGRATION_CONNECTION_SCOPE,\n AXPWidgetsList,\n} from '@acorex-platform/framework-shared/core';\nimport { AXPIntegrationProvider, AXPIntegrationProviderContext } from '@acorex-platform/framework-client/common';\nimport { Injectable } from '@angular/core';\nimport {\n AXE_BAMBOOHR_DOMAIN_ID,\n AXE_BAMBOOHR_PROVIDER_ID,\n AXEBambooHRCommandKeys,\n RootConfig,\n} from '@acorex-platform/extension-bamboohr-client/contracts';\nimport { axpBambooHRLogoKey } from '../brand/bamboohr-logo-key';\n\n//#endregion\n\n@Injectable()\nexport class AXEBambooHRIntegrationProvider implements AXPIntegrationProvider {\n async provide(context: AXPIntegrationProviderContext): Promise<void> {\n const I18N = `@${RootConfig.config.i18n}:integration`;\n\n context.register({\n domainId: AXE_BAMBOOHR_DOMAIN_ID,\n id: AXE_BAMBOOHR_PROVIDER_ID,\n module: RootConfig.module.name,\n displayName: `${I18N}.display-name`,\n description: `${I18N}.description`,\n icon: RootConfig.module.icon,\n logoKey: axpBambooHRLogoKey,\n capabilities: [AXP_INTEGRATION_CAPABILITY.Sync, AXP_INTEGRATION_CAPABILITY.Import],\n connectionScopes: [AXP_INTEGRATION_CONNECTION_SCOPE.Tenant],\n allowMultipleConnections: false,\n defaultConnectionKey: 'default',\n connectCommandKey: AXEBambooHRCommandKeys.ConnectionConnect,\n authMethods: [\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: 'companyDomain',\n options: { placeholder: `${I18N}.auth.api-token.company-domain.placeholder` },\n },\n {\n type: AXPWidgetsList.Editors.PasswordBox,\n path: 'apiKey',\n options: { placeholder: `${I18N}.auth.api-token.api-key.placeholder` },\n },\n ],\n },\n ],\n });\n }\n}\n\n//#endregion\n","//#region ----- Imports -----\n\nimport {\n AXP_INTEGRATION_CONNECTION_STATUS,\n type AXPIntegrationProviderRuntimeHooks,\n type AXPIntegrationRuntimeContext,\n type AXPIntegrationValidationResult,\n} 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 type { AXEBambooHRConnectionConfig } from '@acorex-platform/extension-bamboohr-client/contracts';\nimport { AXE_BAMBOOHR_PROVIDER_ID } from '@acorex-platform/extension-bamboohr-client/contracts';\nimport { Injectable, inject } from '@angular/core';\nimport { defaultTo, trim } from 'lodash-es';\n\n//#endregion\n\n@Injectable()\nexport class AXEBambooHRIntegrationRuntimeProvider implements AXPIntegrationRuntimeProvider {\n readonly providerId = AXE_BAMBOOHR_PROVIDER_ID;\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 };\n }\n\n private async validateConnection(ctx: AXPIntegrationRuntimeContext): Promise<AXPIntegrationValidationResult> {\n const config = (ctx.config ?? {}) as AXEBambooHRConnectionConfig;\n const companyDomain = trim(defaultTo(config.companyDomain, ''));\n const apiKey = trim(defaultTo(config.apiKey, await this.resolveApiKeyFromSecret(ctx)));\n\n if (!companyDomain || !apiKey) {\n return {\n valid: false,\n status: AXP_INTEGRATION_CONNECTION_STATUS.Invalid,\n errorMessage: 'BambooHR company domain and API key are required.',\n };\n }\n\n return {\n valid: true,\n status: AXP_INTEGRATION_CONNECTION_STATUS.Connected,\n externalAccountName: `${companyDomain}.bamboohr.com`,\n };\n }\n\n private async resolveApiKeyFromSecret(ctx: AXPIntegrationRuntimeContext): Promise<string> {\n if (!this.secretStore || !trim(defaultTo(ctx.secretRef, ''))) {\n return '';\n }\n const credentials = await this.secretStore.resolve(ctx.secretRef, ctx);\n return trim(defaultTo(credentials.apiToken ?? credentials.token ?? credentials.password, ''));\n }\n}\n\nexport const provideBambooHRIntegrationRuntimeProvider = {\n provide: AXP_INTEGRATION_RUNTIME_PROVIDER,\n useClass: AXEBambooHRIntegrationRuntimeProvider,\n multi: true,\n};\n\n//#endregion\n","//#region ----- Imports -----\n\nimport {\n AXP_INTEGRATION_CONNECTION_ESTABLISHED,\n AXP_INTEGRATION_CONNECTION_LIFECYCLE,\n type AXPIntegrationConnectionEstablishedHandler,\n type AXPIntegrationConnectionLifecycleHandler,\n} from '@acorex-platform/framework-client/common';\nimport { AXP_INTEGRATION_CONNECTION_STATUS, type AXPSafeIntegrationConnectionDto } from '@acorex-platform/framework-shared/core';\nimport { AXPCommandService } from '@acorex-platform/framework-client/runtime';\nimport {\n AXE_BAMBOOHR_PROVIDER_ID,\n AXEBambooHRCommandKeys,\n type AXEBambooHRConnectionLifecycleAction,\n} from '@acorex-platform/extension-bamboohr-client/contracts';\nimport { Injectable, inject } from '@angular/core';\n\n//#endregion\n\n//#region ----- Handler -----\n\n@Injectable()\nexport class AXEBambooHRConnectionLifecycleHandler\n implements AXPIntegrationConnectionLifecycleHandler, AXPIntegrationConnectionEstablishedHandler\n{\n readonly providerId = AXE_BAMBOOHR_PROVIDER_ID;\n\n private readonly commandService = inject(AXPCommandService);\n\n async onEstablished(connection: AXPSafeIntegrationConnectionDto): Promise<void> {\n if (connection.status === AXP_INTEGRATION_CONNECTION_STATUS.Connected) {\n await this.runLifecycle(connection.id, 'connected');\n }\n }\n\n async onDisconnected(connection: AXPSafeIntegrationConnectionDto): Promise<void> {\n await this.runLifecycle(connection.id, 'disconnected');\n }\n\n async onDeleted(connection: AXPSafeIntegrationConnectionDto): Promise<void> {\n await this.runLifecycle(connection.id, 'deleted');\n }\n\n async onEnabledChanged(connection: AXPSafeIntegrationConnectionDto, enabled: boolean): Promise<void> {\n if (enabled) {\n if (connection.status === AXP_INTEGRATION_CONNECTION_STATUS.Connected) {\n await this.runLifecycle(connection.id, 'enabled');\n }\n return;\n }\n await this.runLifecycle(connection.id, 'disabled');\n }\n\n private async runLifecycle(\n connectionId: string,\n action: AXEBambooHRConnectionLifecycleAction,\n ): Promise<void> {\n await this.commandService.execute(AXEBambooHRCommandKeys.ConnectionLifecycle, {\n connectionId,\n action,\n });\n }\n}\n\nexport const provideBambooHRConnectionLifecycleHandler = {\n provide: AXP_INTEGRATION_CONNECTION_LIFECYCLE,\n useClass: AXEBambooHRConnectionLifecycleHandler,\n multi: true,\n};\n\nexport const provideBambooHRConnectionEstablishedHandler = {\n provide: AXP_INTEGRATION_CONNECTION_ESTABLISHED,\n useClass: AXEBambooHRConnectionLifecycleHandler,\n multi: true,\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 { Injectable } from '@angular/core';\nimport {\n AXEBambooHRMenuKeys,\n RootConfig,\n AXPAdministrationPermissionKeys\n} from '@acorex-platform/extension-bamboohr-client/contracts';\n\n//#endregion\n\n@Injectable()\nexport class AXEBambooHRMenuProvider implements AXPMenuProvider {\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(AXEBambooHRMenuKeys.BambooHRExtensionConfig).exists) {\n configMenu.addItems([\n {\n name: AXEBambooHRMenuKeys.BambooHRExtensionConfig,\n text: '@extensions-bamboohr:module.menus.configuration.title',\n icon: module.icon,\n type: 'menu',\n priority: 8930,\n policy,\n children: [],\n },\n ]);\n }\n }\n}\n\n//#endregion\n","//#region ----- Imports -----\n\nimport {\n AXP_SETTING_DEFINITION_PROVIDER,\n AXPSettingDefinitionProvider,\n AXPSettingDefinitionProviderContext,\n} from '@acorex-platform/framework-client/common';\nimport { Injectable } from '@angular/core';\n\n//#endregion\n\n//#region ----- Provider -----\n\n@Injectable()\nexport class AXEBambooHRSettingsProvider implements AXPSettingDefinitionProvider {\n async provide(_context: AXPSettingDefinitionProviderContext): Promise<void> {\n // Tenant BambooHR connections are managed on Administration → Integrations.\n }\n}\n\nexport const provideBambooHRSettingsProvider = {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useClass: AXEBambooHRSettingsProvider,\n multi: true,\n};\n\n//#endregion\n","//#region ----- Imports -----\n\nimport {\n AXP_LOGO_PROVIDER,\n type AXPLogoProvider,\n type AXPLogoRequest,\n type AXPLogoView,\n} from '@acorex-platform/framework-client/core';\nimport { axpBambooHRLogoKey } from './bamboohr-logo-key';\n\n//#endregion\n\nconst bambooHRLogoProvider: AXPLogoProvider = {\n key: axpBambooHRLogoKey,\n resolve: async (request: AXPLogoRequest): Promise<AXPLogoView> => ({\n kind: 'component',\n load: () => import('./bamboohr-logo.component').then((module) => module.AXEBambooHRLogoComponent),\n inputs: {\n appearance: request.appearance,\n size: request.size,\n },\n }),\n};\n\nexport const AXE_BAMBOOHR_LOGO_PROVIDER = {\n provide: AXP_LOGO_PROVIDER,\n useValue: bambooHRLogoProvider,\n multi: true,\n} as const;\n","//#region ----- Imports -----\n\nimport { AXMIntegrationManagementModule } from '@acorex-platform/module-integration-management-client';\nimport {\n AXP_INTEGRATION_DOMAIN_PROVIDER,\n AXP_INTEGRATION_PROVIDER,\n AXP_MENU_PROVIDER,\n} from '@acorex-platform/framework-client/common';\nimport { AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER } from '@acorex-platform/framework-client/core';\nimport { AXP_ENTITY_MODIFIER } from '@acorex-platform/framework-client/layout/entity';\nimport { provideCommandSetups } from '@acorex-platform/framework-client/runtime';\nimport { NgModule } from '@angular/core';\nimport { AXEBambooHRCommandKeys } from '@acorex-platform/extension-bamboohr-client/contracts';\nimport { AXEBambooHREmployeeLinkExpressionEvaluatorScopeProvider } from './features/human-capital/bamboohr-employee-link-expression-evaluator-scope.provider';\nimport { AXEBambooHREmployeeEntityModifier } from './features/human-capital/employee-bamboohr.entity-modifier';\nimport { AXEHumanCapitalIntegrationDomainProvider } from './integration/human-capital.integration-domain.provider';\nimport { AXEBambooHRIntegrationProvider } from './integration/bamboohr.integration.provider';\nimport { provideBambooHRIntegrationRuntimeProvider } from './integration/bamboohr.integration-runtime.provider';\nimport {\n provideBambooHRConnectionEstablishedHandler,\n provideBambooHRConnectionLifecycleHandler,\n} from './integration/bamboohr.connection-lifecycle.handler';\nimport { AXEBambooHRMenuProvider } from './menu.provider';\nimport { provideBambooHRSettingsProvider } from './settings.provider';\nimport { AXE_BAMBOOHR_LOGO_PROVIDER } from './brand/bamboohr-logo.provider';\n\n//#endregion\n\n@NgModule({\n imports: [AXMIntegrationManagementModule],\n providers: [\n AXE_BAMBOOHR_LOGO_PROVIDER,\n { provide: AXP_MENU_PROVIDER, useClass: AXEBambooHRMenuProvider, multi: true },\n { provide: AXP_ENTITY_MODIFIER, useValue: AXEBambooHREmployeeEntityModifier, multi: true },\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXEBambooHREmployeeLinkExpressionEvaluatorScopeProvider,\n multi: true,\n },\n {\n provide: AXP_INTEGRATION_DOMAIN_PROVIDER,\n useClass: AXEHumanCapitalIntegrationDomainProvider,\n multi: true,\n },\n { provide: AXP_INTEGRATION_PROVIDER, useClass: AXEBambooHRIntegrationProvider, multi: true },\n provideBambooHRIntegrationRuntimeProvider,\n provideBambooHRConnectionLifecycleHandler,\n provideBambooHRConnectionEstablishedHandler,\n provideBambooHRSettingsProvider,\n provideCommandSetups([\n {\n key: AXEBambooHRCommandKeys.ConnectionConnect,\n command: () =>\n import('./features/connect/connect-bamboohr.command').then((c) => c.ConnectBambooHRCommand),\n },\n ]),\n ],\n})\nexport class AXEBambooHRExtensionModule {}\n\n//#endregion\n","//#region ----- BambooHR mark vector paths -----\n\n/** Official BambooHR brand green (sampled from bamboohr.com wordmark). */\nexport const AXE_BAMBOOHR_MARK_GREEN = '#73C41D';\n\n/**\n * Icon-only BambooHR sprout (two leaves, no wordmark).\n * Traced from the official leaf mark on bamboohr.com media assets and fitted to 24×24.\n */\nexport const AXE_BAMBOOHR_MARK_PATH =\n 'M11.39 3.37 Q 14.66 4.84 16.92 7.49 Q 18.39 9.23 19.32 11.53 L 22 20.21 Q 21.82 20.63 21.63 20.29 L 19.54 19.85 L 17.74 19.69 L 15.65 19.09 L 12.81 17.74 L 11.08 16.32 L 8.1 12.73 L 3.98 8.62 L 2.11 7.04 Q 2 6.71 2.34 6.82 L 5.62 7.43 L 10.56 9.36 L 13.84 11.16 L 16.76 13.56 L 16.76 13.78 L 18.94 15.95 L 19.02 15.73 Q 17.2 11.55 14.82 7.94 L 11.39 3.37 Z';\n\n//#endregion\n","//#region ----- Imports -----\n\nimport type { AXPLogoAppearance } from '@acorex-platform/framework-client/core';\nimport { Component, computed, input, ChangeDetectionStrategy } from '@angular/core';\nimport { AXE_BAMBOOHR_MARK_GREEN, AXE_BAMBOOHR_MARK_PATH } from './bamboohr-mark.paths';\n\n//#endregion\n\n//#region ----- Component -----\n\n@Component({\n selector: 'axe-bamboohr-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]=\"markPath\" />\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]=\"markGreen\" [attr.d]=\"markPath\" />\n </svg>\n }\n }\n `,\n})\nexport class AXEBambooHRLogoComponent {\n appearance = input<AXPLogoAppearance>('colored');\n size = input(20);\n\n protected readonly markPath = AXE_BAMBOOHR_MARK_PATH;\n protected readonly markGreen = AXE_BAMBOOHR_MARK_GREEN;\n\n protected readonly resolvedAppearance = computed(() => {\n const value = this.appearance();\n return value === 'monochrome' ? 'monochrome' : 'colored';\n });\n}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["HcmRootConfig","RootConfig"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex-platform/extension-bamboohr-client",
3
- "version": "2.0.0-next.1",
3
+ "version": "2.0.0-next.12",
4
4
  "sideEffects": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^21.0.0 || ^22.0.0",