@plyaz/core 1.1.1 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/index.d.ts +16 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/nestjs.d.ts +79 -0
- package/dist/adapters/nestjs.d.ts.map +1 -0
- package/dist/adapters/nextjs.d.ts +28 -0
- package/dist/adapters/nextjs.d.ts.map +1 -0
- package/dist/backend/example/example.controller.d.ts +121 -0
- package/dist/backend/example/example.controller.d.ts.map +1 -0
- package/dist/backend/example/example.module.d.ts +29 -0
- package/dist/backend/example/example.module.d.ts.map +1 -0
- package/dist/backend/example/index.d.ts +8 -0
- package/dist/backend/example/index.d.ts.map +1 -0
- package/dist/backend/featureFlags/FeatureFlagDomainService.d.ts +150 -0
- package/dist/backend/featureFlags/FeatureFlagDomainService.d.ts.map +1 -0
- package/dist/backend/featureFlags/config/feature-flag.config.d.ts +89 -0
- package/dist/backend/featureFlags/config/feature-flag.config.d.ts.map +1 -0
- package/dist/backend/featureFlags/config/validation.d.ts +181 -0
- package/dist/backend/featureFlags/config/validation.d.ts.map +1 -0
- package/dist/backend/featureFlags/decorators/feature-disabled.decorator.d.ts +6 -0
- package/dist/backend/featureFlags/decorators/feature-disabled.decorator.d.ts.map +1 -0
- package/dist/backend/featureFlags/decorators/feature-enabled.decorator.d.ts +8 -0
- package/dist/backend/featureFlags/decorators/feature-enabled.decorator.d.ts.map +1 -0
- package/dist/backend/featureFlags/decorators/feature-flag.decorator.d.ts +11 -0
- package/dist/backend/featureFlags/decorators/feature-flag.decorator.d.ts.map +1 -0
- package/dist/backend/featureFlags/feature-flag.controller.d.ts +14 -56
- package/dist/backend/featureFlags/feature-flag.controller.d.ts.map +1 -1
- package/dist/backend/featureFlags/feature-flag.module.d.ts +36 -44
- package/dist/backend/featureFlags/feature-flag.module.d.ts.map +1 -1
- package/dist/backend/featureFlags/guards/feature-flag.guard.d.ts +33 -0
- package/dist/backend/featureFlags/guards/feature-flag.guard.d.ts.map +1 -0
- package/dist/backend/featureFlags/index.d.ts +14 -41
- package/dist/backend/featureFlags/index.d.ts.map +1 -1
- package/dist/backend/featureFlags/interceptors/error-handling-interceptor.d.ts +16 -0
- package/dist/backend/featureFlags/interceptors/error-handling-interceptor.d.ts.map +1 -0
- package/dist/backend/featureFlags/interceptors/feature-flag-logging-interceptor.d.ts +18 -0
- package/dist/backend/featureFlags/interceptors/feature-flag-logging-interceptor.d.ts.map +1 -0
- package/dist/backend/featureFlags/middleware/feature-flag-middleware.d.ts +162 -0
- package/dist/backend/featureFlags/middleware/feature-flag-middleware.d.ts.map +1 -0
- package/dist/backend/index.d.ts +5 -0
- package/dist/backend/index.d.ts.map +1 -1
- package/dist/base/cache/CacheKeyBuilder.d.ts +115 -0
- package/dist/base/cache/CacheKeyBuilder.d.ts.map +1 -0
- package/dist/base/cache/feature/caching.d.ts +16 -0
- package/dist/base/cache/feature/caching.d.ts.map +1 -0
- package/dist/base/cache/index.d.ts +2 -0
- package/dist/base/cache/index.d.ts.map +1 -1
- package/dist/base/cache/strategies/redis.d.ts.map +1 -1
- package/dist/base/observability/BaseAdapter.d.ts +79 -0
- package/dist/base/observability/BaseAdapter.d.ts.map +1 -0
- package/dist/base/observability/CompositeAdapter.d.ts +72 -0
- package/dist/base/observability/CompositeAdapter.d.ts.map +1 -0
- package/dist/base/observability/DatadogAdapter.d.ts +117 -0
- package/dist/base/observability/DatadogAdapter.d.ts.map +1 -0
- package/dist/base/observability/LoggerAdapter.d.ts +54 -0
- package/dist/base/observability/LoggerAdapter.d.ts.map +1 -0
- package/dist/base/observability/ObservabilityService.d.ts +160 -0
- package/dist/base/observability/ObservabilityService.d.ts.map +1 -0
- package/dist/base/observability/index.d.ts +17 -0
- package/dist/base/observability/index.d.ts.map +1 -0
- package/dist/domain/base/BaseBackendDomainService.d.ts +528 -0
- package/dist/domain/base/BaseBackendDomainService.d.ts.map +1 -0
- package/dist/domain/base/BaseDomainService.d.ts +284 -0
- package/dist/domain/base/BaseDomainService.d.ts.map +1 -0
- package/dist/domain/base/BaseFrontendDomainService.d.ts +493 -0
- package/dist/domain/base/BaseFrontendDomainService.d.ts.map +1 -0
- package/dist/domain/base/BaseMapper.d.ts +100 -0
- package/dist/domain/base/BaseMapper.d.ts.map +1 -0
- package/dist/domain/base/BaseValidator.d.ts +105 -0
- package/dist/domain/base/BaseValidator.d.ts.map +1 -0
- package/dist/domain/base/index.d.ts +10 -0
- package/dist/domain/base/index.d.ts.map +1 -0
- package/dist/domain/example/BackendExampleDomainService.d.ts +257 -0
- package/dist/domain/example/BackendExampleDomainService.d.ts.map +1 -0
- package/dist/domain/example/FrontendExampleDomainService.d.ts +164 -0
- package/dist/domain/example/FrontendExampleDomainService.d.ts.map +1 -0
- package/dist/domain/example/index.d.ts +10 -0
- package/dist/domain/example/index.d.ts.map +1 -0
- package/dist/domain/example/mappers/ExampleMapper.d.ts +67 -0
- package/dist/domain/example/mappers/ExampleMapper.d.ts.map +1 -0
- package/dist/domain/example/validators/ExampleValidator.d.ts +33 -0
- package/dist/domain/example/validators/ExampleValidator.d.ts.map +1 -0
- package/dist/domain/featureFlags/FrontendFeatureFlagDomainService.d.ts +86 -0
- package/dist/domain/featureFlags/FrontendFeatureFlagDomainService.d.ts.map +1 -0
- package/dist/domain/featureFlags/index.d.ts +10 -5
- package/dist/domain/featureFlags/index.d.ts.map +1 -1
- package/dist/domain/featureFlags/mappers/FeatureFlagMapper.d.ts +72 -0
- package/dist/domain/featureFlags/mappers/FeatureFlagMapper.d.ts.map +1 -0
- package/dist/domain/featureFlags/mappers/index.d.ts +8 -0
- package/dist/domain/featureFlags/mappers/index.d.ts.map +1 -0
- package/dist/domain/featureFlags/module.d.ts +20 -0
- package/dist/domain/featureFlags/module.d.ts.map +1 -0
- package/dist/domain/featureFlags/provider.d.ts +40 -1
- package/dist/domain/featureFlags/provider.d.ts.map +1 -1
- package/dist/domain/featureFlags/providers/api.d.ts +59 -34
- package/dist/domain/featureFlags/providers/api.d.ts.map +1 -1
- package/dist/domain/featureFlags/providers/database.d.ts +59 -52
- package/dist/domain/featureFlags/providers/database.d.ts.map +1 -1
- package/dist/domain/featureFlags/providers/factory.d.ts +50 -33
- package/dist/domain/featureFlags/providers/factory.d.ts.map +1 -1
- package/dist/domain/featureFlags/providers/file.d.ts +48 -1
- package/dist/domain/featureFlags/providers/file.d.ts.map +1 -1
- package/dist/domain/featureFlags/providers/memory.d.ts +32 -6
- package/dist/domain/featureFlags/providers/memory.d.ts.map +1 -1
- package/dist/domain/featureFlags/providers/redis.d.ts +6 -1
- package/dist/domain/featureFlags/providers/redis.d.ts.map +1 -1
- package/dist/domain/featureFlags/service.d.ts +112 -0
- package/dist/domain/featureFlags/service.d.ts.map +1 -0
- package/dist/domain/index.d.ts +2 -0
- package/dist/domain/index.d.ts.map +1 -1
- package/dist/engine/featureFlags/engine.d.ts +8 -0
- package/dist/engine/featureFlags/engine.d.ts.map +1 -1
- package/dist/entry-backend.d.ts +24 -0
- package/dist/entry-backend.d.ts.map +1 -0
- package/dist/entry-backend.js +15635 -0
- package/dist/entry-backend.js.map +1 -0
- package/dist/entry-backend.mjs +15506 -0
- package/dist/entry-backend.mjs.map +1 -0
- package/dist/entry-frontend.d.ts +23 -0
- package/dist/entry-frontend.d.ts.map +1 -0
- package/dist/entry-frontend.js +11152 -0
- package/dist/entry-frontend.js.map +1 -0
- package/dist/entry-frontend.mjs +11089 -0
- package/dist/entry-frontend.mjs.map +1 -0
- package/dist/events/CoreEventManager.d.ts +116 -0
- package/dist/events/CoreEventManager.d.ts.map +1 -0
- package/dist/events/index.d.ts +27 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/frontend/base/index.d.ts +8 -0
- package/dist/frontend/base/index.d.ts.map +1 -0
- package/dist/frontend/components/InitializationError.d.ts +25 -0
- package/dist/frontend/components/InitializationError.d.ts.map +1 -0
- package/dist/frontend/components/InitializationLoading.d.ts +22 -0
- package/dist/frontend/components/InitializationLoading.d.ts.map +1 -0
- package/dist/frontend/components/index.d.ts +9 -0
- package/dist/frontend/components/index.d.ts.map +1 -0
- package/dist/frontend/example/index.d.ts +9 -0
- package/dist/frontend/example/index.d.ts.map +1 -0
- package/dist/frontend/featureFlags/index.d.ts +28 -7
- package/dist/frontend/featureFlags/index.d.ts.map +1 -1
- package/dist/frontend/index.d.ts +5 -0
- package/dist/frontend/index.d.ts.map +1 -1
- package/dist/frontend/providers/ApiProvider.d.ts +41 -0
- package/dist/frontend/providers/ApiProvider.d.ts.map +1 -0
- package/dist/frontend/providers/PlyazProvider.d.ts +305 -0
- package/dist/frontend/providers/PlyazProvider.d.ts.map +1 -0
- package/dist/frontend/providers/index.d.ts +8 -0
- package/dist/frontend/providers/index.d.ts.map +1 -0
- package/dist/frontend/store/feature-flags.d.ts +63 -0
- package/dist/frontend/store/feature-flags.d.ts.map +1 -0
- package/dist/frontend/store/index.d.ts +14 -0
- package/dist/frontend/store/index.d.ts.map +1 -0
- package/dist/frontend/store/integrations.d.ts +36 -0
- package/dist/frontend/store/integrations.d.ts.map +1 -0
- package/dist/frontend/store/service-accessors.d.ts +78 -0
- package/dist/frontend/store/service-accessors.d.ts.map +1 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15450 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +13461 -2440
- package/dist/index.mjs.map +1 -1
- package/dist/init/CoreInitializer.d.ts +582 -0
- package/dist/init/CoreInitializer.d.ts.map +1 -0
- package/dist/init/ServiceRegistry.d.ts +256 -0
- package/dist/init/ServiceRegistry.d.ts.map +1 -0
- package/dist/init/index.d.ts +14 -0
- package/dist/init/index.d.ts.map +1 -0
- package/dist/init/nestjs/CoreModule.d.ts +63 -0
- package/dist/init/nestjs/CoreModule.d.ts.map +1 -0
- package/dist/init/nestjs/index.d.ts +5 -0
- package/dist/init/nestjs/index.d.ts.map +1 -0
- package/dist/init/nestjs/index.js +9059 -0
- package/dist/init/nestjs/index.js.map +1 -0
- package/dist/init/nestjs/index.mjs +9055 -0
- package/dist/init/nestjs/index.mjs.map +1 -0
- package/dist/init/react.d.ts +33 -0
- package/dist/init/react.d.ts.map +1 -0
- package/dist/models/example/ExampleRepository.d.ts +124 -0
- package/dist/models/example/ExampleRepository.d.ts.map +1 -0
- package/dist/models/example/index.d.ts +7 -0
- package/dist/models/example/index.d.ts.map +1 -0
- package/dist/models/featureFlags/FeatureFlagRepository.d.ts +560 -0
- package/dist/models/featureFlags/FeatureFlagRepository.d.ts.map +1 -0
- package/dist/models/featureFlags/index.d.ts +7 -0
- package/dist/models/featureFlags/index.d.ts.map +1 -0
- package/dist/models/index.d.ts +9 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/services/ApiClientService.d.ts +178 -0
- package/dist/services/ApiClientService.d.ts.map +1 -0
- package/dist/services/CacheService.d.ts +176 -0
- package/dist/services/CacheService.d.ts.map +1 -0
- package/dist/services/DbService.d.ts +391 -0
- package/dist/services/DbService.d.ts.map +1 -0
- package/dist/services/NotificationService.d.ts +151 -0
- package/dist/services/NotificationService.d.ts.map +1 -0
- package/dist/services/StorageService.d.ts +144 -0
- package/dist/services/StorageService.d.ts.map +1 -0
- package/dist/services/index.d.ts +12 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/utils/common/id.d.ts +83 -0
- package/dist/utils/common/id.d.ts.map +1 -0
- package/dist/utils/common/index.d.ts +3 -1
- package/dist/utils/common/index.d.ts.map +1 -1
- package/dist/utils/common/object.d.ts +70 -0
- package/dist/utils/common/object.d.ts.map +1 -0
- package/dist/utils/common/validation.d.ts +20 -0
- package/dist/utils/common/validation.d.ts.map +1 -0
- package/dist/utils/featureFlags/conditions.d.ts.map +1 -1
- package/dist/utils/featureFlags/context.d.ts +0 -1
- package/dist/utils/featureFlags/context.d.ts.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/mapperUtils.d.ts +38 -0
- package/dist/utils/mapperUtils.d.ts.map +1 -0
- package/dist/utils/runtime.d.ts +15 -0
- package/dist/utils/runtime.d.ts.map +1 -0
- package/dist/version.d.ts +24 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/web_app/auth/add_user.d.ts +3 -0
- package/dist/web_app/auth/add_user.d.ts.map +1 -0
- package/dist/web_app/auth/update_user.d.ts +2 -0
- package/dist/web_app/auth/update_user.d.ts.map +1 -0
- package/package.json +102 -15
- package/dist/backend/featureFlags/feature-flag.repository.d.ts +0 -85
- package/dist/backend/featureFlags/feature-flag.repository.d.ts.map +0 -1
- package/dist/backend/featureFlags/feature-flag.service.d.ts +0 -123
- package/dist/backend/featureFlags/feature-flag.service.d.ts.map +0 -1
- package/dist/frontend/featureFlags/hooks/useFeatureFlag.d.ts +0 -103
- package/dist/frontend/featureFlags/hooks/useFeatureFlag.d.ts.map +0 -1
- package/dist/frontend/featureFlags/hooks/useFeatureFlagActions.d.ts +0 -35
- package/dist/frontend/featureFlags/hooks/useFeatureFlagActions.d.ts.map +0 -1
- package/dist/frontend/featureFlags/hooks/useFeatureFlagHelpers.d.ts +0 -55
- package/dist/frontend/featureFlags/hooks/useFeatureFlagHelpers.d.ts.map +0 -1
- package/dist/frontend/featureFlags/hooks/useFeatureFlagProvider.d.ts +0 -57
- package/dist/frontend/featureFlags/hooks/useFeatureFlagProvider.d.ts.map +0 -1
- package/dist/frontend/featureFlags/providers/FeatureFlagProvider.d.ts +0 -99
- package/dist/frontend/featureFlags/providers/FeatureFlagProvider.d.ts.map +0 -1
- package/dist/frontend/featureFlags/providers/FeatureFlagProviderHelpers.d.ts +0 -31
- package/dist/frontend/featureFlags/providers/FeatureFlagProviderHelpers.d.ts.map +0 -1
- package/dist/frontend/featureFlags/providers/types.d.ts +0 -21
- package/dist/frontend/featureFlags/providers/types.d.ts.map +0 -1
- package/dist/index.cjs +0 -4383
- package/dist/index.cjs.map +0 -1
|
@@ -0,0 +1,528 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Backend Domain Service
|
|
3
|
+
*
|
|
4
|
+
* Extends BaseDomainService with common backend patterns:
|
|
5
|
+
* - Automatic validation → mapper → repository → mapper flow
|
|
6
|
+
* - Event emission throughout CRUD lifecycle
|
|
7
|
+
* - Repository-based data access
|
|
8
|
+
* - Configurable error throwing behavior
|
|
9
|
+
* - Template methods with lifecycle hooks
|
|
10
|
+
*
|
|
11
|
+
* Backend domain services should extend this class to get automatic
|
|
12
|
+
* CRUD operation handling with standardized validation, mapping, and events.
|
|
13
|
+
*
|
|
14
|
+
* Note: This class ONLY handles repository operations. If you need HTTP API
|
|
15
|
+
* calls, import and use fetchers from `@plyaz/api` directly in your service.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* import { BaseBackendDomainService } from '@plyaz/core/domain/base';
|
|
20
|
+
* import type { BaseRepository } from '@plyaz/db';
|
|
21
|
+
*
|
|
22
|
+
* class MyBackendService extends BaseBackendDomainService<
|
|
23
|
+
* MyBackendServiceConfig,
|
|
24
|
+
* MyEntity,
|
|
25
|
+
* MyResponseDTO,
|
|
26
|
+
* CreateMyDTO,
|
|
27
|
+
* UpdateMyDTO,
|
|
28
|
+
* PatchMyDTO,
|
|
29
|
+
* QueryMyDTO,
|
|
30
|
+
* DeleteMyOptions,
|
|
31
|
+
* MyRepository,
|
|
32
|
+
* MyDatabaseRow,
|
|
33
|
+
* MyMapper,
|
|
34
|
+
* MyValidator
|
|
35
|
+
* > {
|
|
36
|
+
* protected repository: MyRepository;
|
|
37
|
+
* protected eventPrefix = 'my-entity';
|
|
38
|
+
*
|
|
39
|
+
* constructor(config: MyBackendServiceConfig) {
|
|
40
|
+
* super({
|
|
41
|
+
* serviceName: 'MyBackendService',
|
|
42
|
+
* supportedRuntimes: ['backend'],
|
|
43
|
+
* serviceConfig: config,
|
|
44
|
+
* mapperClass: MyMapperClass,
|
|
45
|
+
* validatorClass: MyValidatorClass,
|
|
46
|
+
* });
|
|
47
|
+
* this.repository = MyRepository.create();
|
|
48
|
+
* }
|
|
49
|
+
* }
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
import { BaseDomainService } from './BaseDomainService';
|
|
53
|
+
import { type CacheManager } from '@/base/cache';
|
|
54
|
+
import type { CoreBaseBackendServiceConfig, CoreBaseMapperInstance, CoreBaseValidatorInstance, CoreServiceCreateOptions, CoreBaseServiceConfig, CrudOperationOptions } from '@plyaz/types/core';
|
|
55
|
+
import type { DatabaseResult, PaginatedResult, QueryOptions, OperationConfig, TransactionFn, TransactionOptions } from '@plyaz/types/db';
|
|
56
|
+
import type { CoreValidationStartedPayload, CoreValidationSuccessPayload, CoreValidationFailedPayload, CoreSanitizationStartedPayload, CoreSanitizationSuccessPayload, CoreEntityCreatingPayload, CoreEntityCreatedPayload, CoreEntityPatchingPayload, CoreEntityPatchedPayload, CoreEntityDeletingPayload, CoreEntityDeletedPayload, CoreEntityErrorPayload, CoreEntityCompletePayload } from '@plyaz/types/core';
|
|
57
|
+
export type { CoreBaseBackendServiceConfig } from '@plyaz/types/core';
|
|
58
|
+
/**
|
|
59
|
+
* Union type of all event payloads used in BaseBackendDomainService
|
|
60
|
+
*/
|
|
61
|
+
type BaseBackendEventPayload = CoreValidationStartedPayload | CoreValidationSuccessPayload | CoreValidationFailedPayload | CoreSanitizationStartedPayload | CoreSanitizationSuccessPayload | CoreEntityCreatingPayload<unknown> | CoreEntityCreatedPayload<unknown> | CoreEntityPatchingPayload<unknown> | CoreEntityPatchedPayload<unknown> | CoreEntityDeletingPayload | CoreEntityDeletedPayload | CoreEntityErrorPayload | CoreEntityCompletePayload;
|
|
62
|
+
/**
|
|
63
|
+
* Abstract base class for backend domain services with automatic CRUD handling.
|
|
64
|
+
*
|
|
65
|
+
* Provides:
|
|
66
|
+
* - Template methods for create/patch/delete/getById
|
|
67
|
+
* - Automatic validation → mapper → repository → mapper flow
|
|
68
|
+
* - Event emission throughout lifecycle
|
|
69
|
+
* - Repository-based data access only
|
|
70
|
+
* - Configurable error throwing
|
|
71
|
+
* - Lifecycle hooks for customization
|
|
72
|
+
*
|
|
73
|
+
* @typeParam TConfig - Service configuration type
|
|
74
|
+
* @typeParam TEntity - Domain entity type
|
|
75
|
+
* @typeParam TResponseDTO - API response DTO type
|
|
76
|
+
* @typeParam TCreateDTO - Create DTO type (POST)
|
|
77
|
+
* @typeParam TUpdateDTO - Update DTO type (PUT)
|
|
78
|
+
* @typeParam TPatchDTO - Patch DTO type (PATCH)
|
|
79
|
+
* @typeParam TQueryDTO - Query DTO type for listing/filtering (defaults to Record<string, unknown>)
|
|
80
|
+
* @typeParam TDeleteOptions - Delete options type
|
|
81
|
+
* @typeParam TRepository - Repository type (must have create/update/delete/findById/findMany methods)
|
|
82
|
+
* @typeParam TDatabaseRow - Database row type
|
|
83
|
+
* @typeParam TStoreState - Store state type (serializable)
|
|
84
|
+
* @typeParam TMapper - Mapper type
|
|
85
|
+
* @typeParam TValidator - Validator type
|
|
86
|
+
*/
|
|
87
|
+
export declare abstract class BaseBackendDomainService<TConfig extends CoreBaseBackendServiceConfig, TEntity, TResponseDTO, TCreateDTO extends Record<string, unknown>, TUpdateDTO extends Record<string, unknown> = TCreateDTO, TPatchDTO extends Partial<Record<string, unknown>> = Partial<TCreateDTO>, TQueryDTO extends Record<string, unknown> = Record<string, unknown>, TDeleteOptions = {
|
|
88
|
+
soft: boolean;
|
|
89
|
+
}, TDatabaseRow extends Record<string, unknown> = TCreateDTO & {
|
|
90
|
+
id: string;
|
|
91
|
+
}, TRepository extends {
|
|
92
|
+
create(data: TCreateDTO): Promise<DatabaseResult<TDatabaseRow>>;
|
|
93
|
+
update(id: string, data: TPatchDTO): Promise<DatabaseResult<TDatabaseRow>>;
|
|
94
|
+
softDelete(id: string): Promise<DatabaseResult<void>>;
|
|
95
|
+
delete(id: string): Promise<DatabaseResult<void>>;
|
|
96
|
+
findById(id: string): Promise<DatabaseResult<TDatabaseRow | null>>;
|
|
97
|
+
findMany(options?: QueryOptions<TDatabaseRow>, config?: OperationConfig): Promise<DatabaseResult<PaginatedResult<TDatabaseRow>>>;
|
|
98
|
+
/** Get table name for transaction operations */
|
|
99
|
+
getTableName(): string;
|
|
100
|
+
} = never, TStoreState = TEntity, TMapper extends CoreBaseMapperInstance<TEntity, TResponseDTO, TCreateDTO, TUpdateDTO, TPatchDTO, unknown, TStoreState> = CoreBaseMapperInstance<TEntity, TResponseDTO, TCreateDTO, TUpdateDTO, TPatchDTO, unknown, TStoreState>, TValidator extends CoreBaseValidatorInstance<TCreateDTO, TUpdateDTO, TPatchDTO, TDeleteOptions> = CoreBaseValidatorInstance<TCreateDTO, TUpdateDTO, TPatchDTO, TDeleteOptions>> extends BaseDomainService<TConfig, TMapper, TValidator> {
|
|
101
|
+
/**
|
|
102
|
+
* Repository instance for database operations.
|
|
103
|
+
* Subclasses must initialize this in constructor.
|
|
104
|
+
*/
|
|
105
|
+
protected abstract repository: TRepository;
|
|
106
|
+
/**
|
|
107
|
+
* Event prefix for event emission (e.g., 'example', 'user', 'product').
|
|
108
|
+
* Used to construct event names like '{prefix}:creating', '{prefix}:created'.
|
|
109
|
+
*/
|
|
110
|
+
protected abstract eventPrefix: string;
|
|
111
|
+
/**
|
|
112
|
+
* Whether to use cache by default for all CRUD operations.
|
|
113
|
+
* Set from config.cache.enabled or defaults to true.
|
|
114
|
+
* Individual operations can override this via options.cache.useCache.
|
|
115
|
+
* Only applies if cacheManager is available.
|
|
116
|
+
*/
|
|
117
|
+
protected useCacheByDefault: boolean;
|
|
118
|
+
/**
|
|
119
|
+
* Default TTL for cache entries (in seconds).
|
|
120
|
+
* Set from config.cache.defaultTtl or defaults to 300 (5 minutes).
|
|
121
|
+
*/
|
|
122
|
+
protected defaultCacheTtl: number;
|
|
123
|
+
/**
|
|
124
|
+
* Check if should throw on validation errors (default: true)
|
|
125
|
+
*/
|
|
126
|
+
protected get throwOnValidationError(): boolean;
|
|
127
|
+
/**
|
|
128
|
+
* Check if should throw on repository errors (default: true)
|
|
129
|
+
*/
|
|
130
|
+
protected get throwOnRepositoryError(): boolean;
|
|
131
|
+
/**
|
|
132
|
+
* Check if should emit events (default: true)
|
|
133
|
+
*/
|
|
134
|
+
protected get emitEvents(): boolean;
|
|
135
|
+
constructor(baseConfig: CoreBaseServiceConfig<TConfig, TMapper, TValidator>);
|
|
136
|
+
/**
|
|
137
|
+
* Create a new entity (POST)
|
|
138
|
+
*
|
|
139
|
+
* Flow:
|
|
140
|
+
* 1. Assert service is ready
|
|
141
|
+
* 2. Emit validation:started event
|
|
142
|
+
* 3. Validate data using validator
|
|
143
|
+
* 4. Emit validation:success event
|
|
144
|
+
* 5. Emit sanitization:started event (Zod transforms already applied)
|
|
145
|
+
* 6. Map to create DTO using mapper
|
|
146
|
+
* 7. Emit creating event
|
|
147
|
+
* 8. Call repository.create()
|
|
148
|
+
* 9. Map response to domain entity
|
|
149
|
+
* 10. Cache the new entity (if enabled)
|
|
150
|
+
* 11. Emit created event
|
|
151
|
+
*
|
|
152
|
+
* @param data - Raw data to validate and create
|
|
153
|
+
* @param options - Operation options (cache, etc.)
|
|
154
|
+
* @returns Created entity
|
|
155
|
+
* @throws ValidationError[] if validation fails (array of errors)
|
|
156
|
+
* @throws CorePackageError if repository call fails
|
|
157
|
+
*/
|
|
158
|
+
create<TInput = unknown>(data: TInput, options?: CrudOperationOptions): Promise<TEntity>;
|
|
159
|
+
/**
|
|
160
|
+
* Patch an entity (PATCH - partial update)
|
|
161
|
+
*
|
|
162
|
+
* Flow similar to create but for partial updates
|
|
163
|
+
*
|
|
164
|
+
* @param id - Entity ID
|
|
165
|
+
* @param data - Raw data to validate and patch
|
|
166
|
+
* @param options - Operation options (cache, etc.)
|
|
167
|
+
* @returns Updated entity
|
|
168
|
+
* @throws ValidationError[] if validation fails
|
|
169
|
+
* @throws CorePackageError if repository call fails
|
|
170
|
+
*/
|
|
171
|
+
patch<TInput = unknown>(id: string, data: TInput, options?: CrudOperationOptions): Promise<TEntity>;
|
|
172
|
+
/**
|
|
173
|
+
* Delete an entity (DELETE)
|
|
174
|
+
*
|
|
175
|
+
* @param id - Entity ID
|
|
176
|
+
* @param deleteOptions - Delete options (e.g., soft delete)
|
|
177
|
+
* @param crudOptions - CRUD operation options (cache, etc.)
|
|
178
|
+
* @returns void
|
|
179
|
+
* @throws ValidationError[] if options validation fails
|
|
180
|
+
* @throws CorePackageError if repository call fails
|
|
181
|
+
*/
|
|
182
|
+
delete<TInput = TDeleteOptions>(id: string, deleteOptions?: TInput, crudOptions?: CrudOperationOptions): Promise<void>;
|
|
183
|
+
/**
|
|
184
|
+
* Get entity by ID (GET) with cache-aside pattern
|
|
185
|
+
*
|
|
186
|
+
* Cache-aside flow:
|
|
187
|
+
* 1. Check cache first (if enabled)
|
|
188
|
+
* 2. If cache hit, return cached entity
|
|
189
|
+
* 3. If cache miss, fetch from DB
|
|
190
|
+
* 4. Cache the result (if enabled)
|
|
191
|
+
*
|
|
192
|
+
* @param id - Entity ID
|
|
193
|
+
* @param options - Operation options (cache, pagination, etc.)
|
|
194
|
+
* @returns Entity or null if not found
|
|
195
|
+
* @throws CorePackageError if repository call fails
|
|
196
|
+
*
|
|
197
|
+
* @example
|
|
198
|
+
* ```typescript
|
|
199
|
+
* // With cache
|
|
200
|
+
* const entity = await service.getById('123', {
|
|
201
|
+
* cache: { useCache: true, cacheTtl: 300 }
|
|
202
|
+
* });
|
|
203
|
+
*
|
|
204
|
+
* // Without cache
|
|
205
|
+
* const entity = await service.getById('123', {
|
|
206
|
+
* cache: { useCache: false }
|
|
207
|
+
* });
|
|
208
|
+
*
|
|
209
|
+
* // With custom cache key (still prefixed with cachePrefix)
|
|
210
|
+
* const entity = await service.getById('123', {
|
|
211
|
+
* cache: { customKey: 'user:active:123' }
|
|
212
|
+
* });
|
|
213
|
+
* // Final cache key will be: 'example:user:active:123'
|
|
214
|
+
* ```
|
|
215
|
+
*/
|
|
216
|
+
getById(id: string, options?: CrudOperationOptions): Promise<TEntity | null>;
|
|
217
|
+
/**
|
|
218
|
+
* Get all entities (list/query)
|
|
219
|
+
*
|
|
220
|
+
* Flow:
|
|
221
|
+
* 1. Check cache (if enabled)
|
|
222
|
+
* 2. If cache miss, fetch from repository
|
|
223
|
+
* 3. Map response to domain entities
|
|
224
|
+
* 4. Cache the result
|
|
225
|
+
* 5. Return entities
|
|
226
|
+
*
|
|
227
|
+
* @param query - Query parameters for filtering/pagination
|
|
228
|
+
* @param options - Operation options (cache, etc.)
|
|
229
|
+
* @returns Array of entities
|
|
230
|
+
*
|
|
231
|
+
* @example
|
|
232
|
+
* ```typescript
|
|
233
|
+
* // Basic list
|
|
234
|
+
* const users = await service.getAll();
|
|
235
|
+
*
|
|
236
|
+
* // With filters
|
|
237
|
+
* const users = await service.getAll({ status: 'active', page: 1, limit: 10 });
|
|
238
|
+
*
|
|
239
|
+
* // With cache options
|
|
240
|
+
* const users = await service.getAll(
|
|
241
|
+
* { status: 'active' },
|
|
242
|
+
* { cache: { useCache: true, cacheTtl: 600 } }
|
|
243
|
+
* );
|
|
244
|
+
*
|
|
245
|
+
* // With custom cache key
|
|
246
|
+
* const users = await service.getAll(
|
|
247
|
+
* { status: 'active' },
|
|
248
|
+
* { cache: { customKey: CacheKeyBuilder.query('active', { status: 'active' }) } }
|
|
249
|
+
* );
|
|
250
|
+
* ```
|
|
251
|
+
*/
|
|
252
|
+
getAll(query?: Partial<TQueryDTO>, options?: CrudOperationOptions): Promise<TEntity[]>;
|
|
253
|
+
/**
|
|
254
|
+
* Check if an entity exists by ID
|
|
255
|
+
*
|
|
256
|
+
* More efficient than getById when you only need to check existence.
|
|
257
|
+
* Uses cache if available, falls back to repository.findById.
|
|
258
|
+
*
|
|
259
|
+
* @param id - Entity ID to check
|
|
260
|
+
* @param options - Optional CRUD operation options
|
|
261
|
+
* @returns Promise resolving to boolean (true if exists, false otherwise)
|
|
262
|
+
*
|
|
263
|
+
* @example
|
|
264
|
+
* ```typescript
|
|
265
|
+
* const exists = await service.exists('123');
|
|
266
|
+
* if (exists) {
|
|
267
|
+
* // Entity exists
|
|
268
|
+
* }
|
|
269
|
+
* ```
|
|
270
|
+
*/
|
|
271
|
+
exists(id: string, options?: CrudOperationOptions): Promise<boolean>;
|
|
272
|
+
/**
|
|
273
|
+
* Create multiple entities at once (bulk operation)
|
|
274
|
+
*
|
|
275
|
+
* **Transaction Support (Default: ON)**
|
|
276
|
+
* - Uses database transaction by default for atomic operations
|
|
277
|
+
* - All entities created successfully or none (rollback on failure)
|
|
278
|
+
* - Falls back to sequential creation if transactions not supported
|
|
279
|
+
* - Disable with `options.transaction.useTransaction: false`
|
|
280
|
+
*
|
|
281
|
+
* @param dataArray - Array of data to create entities from
|
|
282
|
+
* @param options - Optional CRUD operation options (includes transaction config)
|
|
283
|
+
* @returns Promise resolving to array of created entities
|
|
284
|
+
*
|
|
285
|
+
* @example
|
|
286
|
+
* ```typescript
|
|
287
|
+
* // Default: Uses transaction (atomic)
|
|
288
|
+
* const entities = await service.bulkCreate([
|
|
289
|
+
* { name: 'Entity 1', amount: 100 },
|
|
290
|
+
* { name: 'Entity 2', amount: 200 },
|
|
291
|
+
* ]);
|
|
292
|
+
*
|
|
293
|
+
* // Explicit: Disable transaction (sequential, partial failures possible)
|
|
294
|
+
* const entities = await service.bulkCreate(data, {
|
|
295
|
+
* transaction: { useTransaction: false }
|
|
296
|
+
* });
|
|
297
|
+
* ```
|
|
298
|
+
*/
|
|
299
|
+
bulkCreate<TInput = unknown>(dataArray: TInput[], options?: CrudOperationOptions): Promise<TEntity[]>;
|
|
300
|
+
/**
|
|
301
|
+
* Delete multiple entities at once (bulk operation)
|
|
302
|
+
*
|
|
303
|
+
* **Transaction Support (Default: ON)**
|
|
304
|
+
* - Uses database transaction by default for atomic operations
|
|
305
|
+
* - All entities deleted successfully or none (rollback on failure)
|
|
306
|
+
* - Falls back to sequential deletion if transactions not supported
|
|
307
|
+
* - Disable with `crudOptions.transaction.useTransaction: false`
|
|
308
|
+
*
|
|
309
|
+
* @param ids - Array of entity IDs to delete
|
|
310
|
+
* @param deleteOptions - Optional delete options (soft/hard delete)
|
|
311
|
+
* @param crudOptions - Optional CRUD operation options (includes transaction config)
|
|
312
|
+
* @returns Promise resolving when all deletions complete
|
|
313
|
+
*
|
|
314
|
+
* @example
|
|
315
|
+
* ```typescript
|
|
316
|
+
* // Default: Uses transaction (atomic)
|
|
317
|
+
* await service.bulkDelete(['id1', 'id2', 'id3'], { soft: true });
|
|
318
|
+
*
|
|
319
|
+
* // Explicit: Disable transaction
|
|
320
|
+
* await service.bulkDelete(ids, { soft: true }, {
|
|
321
|
+
* transaction: { useTransaction: false }
|
|
322
|
+
* });
|
|
323
|
+
* ```
|
|
324
|
+
*/
|
|
325
|
+
bulkDelete<TInput = TDeleteOptions>(ids: string[], deleteOptions?: TInput, crudOptions?: CrudOperationOptions): Promise<void>;
|
|
326
|
+
/**
|
|
327
|
+
* Execute operations within a database transaction
|
|
328
|
+
*
|
|
329
|
+
* Provides atomic operations with automatic rollback on failure.
|
|
330
|
+
* Uses the underlying database adapter's transaction support.
|
|
331
|
+
*
|
|
332
|
+
* @param fn - Function containing operations to execute within transaction
|
|
333
|
+
* @param options - Optional transaction configuration
|
|
334
|
+
* @returns Promise resolving to the transaction result
|
|
335
|
+
* @throws Error if transaction fails (auto-rollback occurs)
|
|
336
|
+
*
|
|
337
|
+
* @example
|
|
338
|
+
* ```typescript
|
|
339
|
+
* // Single service transaction
|
|
340
|
+
* const result = await userService.withTransaction(async (trx) => {
|
|
341
|
+
* const user = await trx.create('users', userData);
|
|
342
|
+
* const profile = await trx.create('profiles', { userId: user.id, ...profileData });
|
|
343
|
+
* return { user, profile };
|
|
344
|
+
* });
|
|
345
|
+
*
|
|
346
|
+
* // Cross-service transaction (using shared db instance)
|
|
347
|
+
* const db = Core.db.getDatabase();
|
|
348
|
+
* const result = await db.transaction(async (trx) => {
|
|
349
|
+
* await trx.create('users', userData);
|
|
350
|
+
* await trx.create('audit_logs', { action: 'user_created', ... });
|
|
351
|
+
* });
|
|
352
|
+
* ```
|
|
353
|
+
*/
|
|
354
|
+
withTransaction<T>(fn: TransactionFn<T>, options?: TransactionOptions): Promise<DatabaseResult<T>>;
|
|
355
|
+
/**
|
|
356
|
+
* Check if transaction support is available
|
|
357
|
+
*
|
|
358
|
+
* @returns true if the database adapter supports transactions
|
|
359
|
+
*/
|
|
360
|
+
get supportsTransactions(): boolean;
|
|
361
|
+
/**
|
|
362
|
+
* Called before create operation
|
|
363
|
+
* Override to add custom logic before creating
|
|
364
|
+
*/
|
|
365
|
+
protected beforeCreate(_data: TCreateDTO): Promise<void>;
|
|
366
|
+
/**
|
|
367
|
+
* Called after create operation
|
|
368
|
+
* Override to add custom logic after creating
|
|
369
|
+
*/
|
|
370
|
+
protected afterCreate(_entity: TEntity): Promise<void>;
|
|
371
|
+
/**
|
|
372
|
+
* Called before bulk create operation
|
|
373
|
+
* Override to add custom logic before bulk creating
|
|
374
|
+
*/
|
|
375
|
+
protected beforeBulkCreate<TInput = unknown>(_dataArray: TInput[]): Promise<void>;
|
|
376
|
+
/**
|
|
377
|
+
* Called after bulk create operation
|
|
378
|
+
* Override to add custom logic after bulk creating
|
|
379
|
+
*/
|
|
380
|
+
protected afterBulkCreate<TInput = unknown>(_entities: TEntity[], _dataArray: TInput[]): Promise<void>;
|
|
381
|
+
/**
|
|
382
|
+
* Called before getAll operation
|
|
383
|
+
* Override to add custom logic before fetching list
|
|
384
|
+
*/
|
|
385
|
+
protected beforeGetAll(_query?: Partial<TQueryDTO>): Promise<void>;
|
|
386
|
+
/**
|
|
387
|
+
* Called after getAll operation
|
|
388
|
+
* Override to add custom logic after fetching list (e.g., invalidate related caches)
|
|
389
|
+
*/
|
|
390
|
+
protected afterGetAll(_entities: TEntity[], _query?: Partial<TQueryDTO>): Promise<void>;
|
|
391
|
+
/**
|
|
392
|
+
* Called before patch operation
|
|
393
|
+
* Override to add custom logic before patching
|
|
394
|
+
*/
|
|
395
|
+
protected beforePatch(_id: string, _data: TPatchDTO): Promise<void>;
|
|
396
|
+
/**
|
|
397
|
+
* Called after patch operation
|
|
398
|
+
* Override to add custom logic after patching
|
|
399
|
+
*/
|
|
400
|
+
protected afterPatch(_id: string, _entity: TEntity): Promise<void>;
|
|
401
|
+
/**
|
|
402
|
+
* Called before delete operation
|
|
403
|
+
* Override to add custom logic before deleting
|
|
404
|
+
*/
|
|
405
|
+
protected beforeDelete(_id: string, _options: TDeleteOptions): Promise<void>;
|
|
406
|
+
/**
|
|
407
|
+
* Called after delete operation
|
|
408
|
+
* Override to add custom logic after deleting
|
|
409
|
+
*/
|
|
410
|
+
protected afterDelete(_id: string, _options: TDeleteOptions): Promise<void>;
|
|
411
|
+
/**
|
|
412
|
+
* Called before bulk delete operation
|
|
413
|
+
* Override to add custom logic before bulk deleting
|
|
414
|
+
*/
|
|
415
|
+
protected beforeBulkDelete<TInput = TDeleteOptions>(_ids: string[], _deleteOptions?: TInput): Promise<void>;
|
|
416
|
+
/**
|
|
417
|
+
* Called after bulk delete operation
|
|
418
|
+
* Override to add custom logic after bulk deleting
|
|
419
|
+
*/
|
|
420
|
+
protected afterBulkDelete<TInput = TDeleteOptions>(_ids: string[], _deleteOptions?: TInput): Promise<void>;
|
|
421
|
+
/**
|
|
422
|
+
* Called before exists check
|
|
423
|
+
* Override to add custom logic before checking existence
|
|
424
|
+
*/
|
|
425
|
+
protected beforeExists(_id: string): Promise<void>;
|
|
426
|
+
/**
|
|
427
|
+
* Called after exists check
|
|
428
|
+
* Override to add custom logic after checking existence
|
|
429
|
+
*/
|
|
430
|
+
protected afterExists(_id: string, _exists: boolean): Promise<void>;
|
|
431
|
+
/**
|
|
432
|
+
* Get default delete options
|
|
433
|
+
* Override to customize default behavior
|
|
434
|
+
*/
|
|
435
|
+
protected getDefaultDeleteOptions(): TDeleteOptions;
|
|
436
|
+
/**
|
|
437
|
+
* Emit event with prefix
|
|
438
|
+
* Only emits if emitEvents is true
|
|
439
|
+
*/
|
|
440
|
+
protected emitEvent<TPayload extends BaseBackendEventPayload>(event: string, payload: TPayload): void;
|
|
441
|
+
/**
|
|
442
|
+
* Build cache key with service prefix.
|
|
443
|
+
* ALWAYS applies the cachePrefix. Override this method to customize key structure.
|
|
444
|
+
*
|
|
445
|
+
* @param key - Cache key (without prefix)
|
|
446
|
+
* @returns Prefixed cache key (e.g., 'example:entity:123')
|
|
447
|
+
*
|
|
448
|
+
* @example
|
|
449
|
+
* ```typescript
|
|
450
|
+
* // Default behavior
|
|
451
|
+
* buildCacheKey('entity:123') // Returns: 'example:entity:123'
|
|
452
|
+
*
|
|
453
|
+
* // Override for custom namespacing
|
|
454
|
+
* protected buildCacheKey(key: string): string {
|
|
455
|
+
* const baseKey = super.buildCacheKey(key);
|
|
456
|
+
* return `${baseKey}:tenant:${this.tenantId}`;
|
|
457
|
+
* }
|
|
458
|
+
* ```
|
|
459
|
+
*/
|
|
460
|
+
protected buildCacheKey(key: string): string;
|
|
461
|
+
/**
|
|
462
|
+
* Get value from cache with automatic prefix.
|
|
463
|
+
* Prefix is ALWAYS applied via buildCacheKey().
|
|
464
|
+
*
|
|
465
|
+
* @param key - Cache key (will be prefixed automatically)
|
|
466
|
+
* @returns Cached value or null
|
|
467
|
+
*/
|
|
468
|
+
protected cacheGet<T = unknown>(key: string): Promise<T | null>;
|
|
469
|
+
/**
|
|
470
|
+
* Set value in cache with automatic prefix.
|
|
471
|
+
* Prefix is ALWAYS applied via buildCacheKey().
|
|
472
|
+
*
|
|
473
|
+
* @param key - Cache key (will be prefixed automatically)
|
|
474
|
+
* @param value - Value to cache
|
|
475
|
+
* @param ttl - TTL in seconds (optional)
|
|
476
|
+
*/
|
|
477
|
+
protected cacheSet<T = unknown>(key: string, value: T, ttl?: number): Promise<void>;
|
|
478
|
+
/**
|
|
479
|
+
* Delete value from cache with automatic prefix.
|
|
480
|
+
* Prefix is ALWAYS applied via buildCacheKey().
|
|
481
|
+
*
|
|
482
|
+
* @param key - Cache key (will be prefixed automatically)
|
|
483
|
+
*/
|
|
484
|
+
protected cacheDelete(key: string): Promise<void>;
|
|
485
|
+
/**
|
|
486
|
+
* Clear all cache for this service (by prefix pattern)
|
|
487
|
+
*/
|
|
488
|
+
protected cacheClear(): Promise<void>;
|
|
489
|
+
/**
|
|
490
|
+
* Check if cache is available
|
|
491
|
+
*/
|
|
492
|
+
protected get hasCacheManager(): boolean;
|
|
493
|
+
/**
|
|
494
|
+
* Get cache manager instance from create options.
|
|
495
|
+
* The cache instance is injected by ServiceRegistry, not created here.
|
|
496
|
+
*
|
|
497
|
+
* @param options - Service create options from ServiceRegistry
|
|
498
|
+
* @returns CacheManager instance or undefined if not available
|
|
499
|
+
*/
|
|
500
|
+
static getCacheManager(options?: CoreServiceCreateOptions): CacheManager | undefined;
|
|
501
|
+
/**
|
|
502
|
+
* Track a CRUD operation with observability (span + metrics).
|
|
503
|
+
* Wraps an operation with automatic span creation, duration recording, and error tracking.
|
|
504
|
+
*
|
|
505
|
+
* @param operation - Operation name (create, patch, delete, getById, getAll)
|
|
506
|
+
* @param entityId - Optional entity ID for context
|
|
507
|
+
* @param fn - The operation function to execute
|
|
508
|
+
* @returns Result of the operation
|
|
509
|
+
*
|
|
510
|
+
* @example
|
|
511
|
+
* ```typescript
|
|
512
|
+
* const entity = await this.trackOperation('create', undefined, async () => {
|
|
513
|
+
* return await this.repository.create(data);
|
|
514
|
+
* });
|
|
515
|
+
* ```
|
|
516
|
+
*/
|
|
517
|
+
protected trackOperation<T>(operation: 'create' | 'patch' | 'delete' | 'getById' | 'getAll' | 'bulkCreate' | 'bulkDelete' | 'transaction', entityId: string | undefined, fn: () => Promise<T>): Promise<T>;
|
|
518
|
+
/**
|
|
519
|
+
* Record operation metrics (duration and count).
|
|
520
|
+
* Called automatically by CRUD methods when observability is enabled.
|
|
521
|
+
*/
|
|
522
|
+
protected recordOperationMetrics(operation: string, duration: number, success: boolean): Promise<void>;
|
|
523
|
+
/**
|
|
524
|
+
* Record cache hit/miss metric.
|
|
525
|
+
*/
|
|
526
|
+
protected recordCacheMetric(hit: boolean, operation: string): Promise<void>;
|
|
527
|
+
}
|
|
528
|
+
//# sourceMappingURL=BaseBackendDomainService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseBackendDomainService.d.ts","sourceRoot":"","sources":["../../../src/domain/base/BaseBackendDomainService.ts"],"names":[],"mappings":"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"}
|