@dismissible/nestjs-core 2.0.2-alpha.99ffc23.0 → 2.0.2-canary.2913ba8.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.
- package/README.md +424 -232
- package/package.json +7 -7
- package/src/api/dismissible-item.mapper.d.ts +2 -1
- package/src/api/dismissible-item.mapper.interface.d.ts +17 -0
- package/src/api/dismissible-item.mapper.interface.js +8 -0
- package/src/api/dismissible-item.mapper.interface.js.map +1 -0
- package/src/api/dismissible-item.mapper.js.map +1 -1
- package/src/api/index.d.ts +1 -0
- package/src/api/index.js +1 -0
- package/src/api/index.js.map +1 -1
- package/src/api/use-cases/dismiss/dismiss.controller.d.ts +4 -4
- package/src/api/use-cases/dismiss/dismiss.controller.js +7 -6
- package/src/api/use-cases/dismiss/dismiss.controller.js.map +1 -1
- package/src/api/use-cases/get-or-create/get-or-create.controller.d.ts +4 -4
- package/src/api/use-cases/get-or-create/get-or-create.controller.js +7 -6
- package/src/api/use-cases/get-or-create/get-or-create.controller.js.map +1 -1
- package/src/api/use-cases/restore/restore.controller.d.ts +4 -4
- package/src/api/use-cases/restore/restore.controller.js +7 -6
- package/src/api/use-cases/restore/restore.controller.js.map +1 -1
- package/src/core/dismissible-core.service.d.ts +6 -5
- package/src/core/dismissible-core.service.interface.d.ts +48 -0
- package/src/core/dismissible-core.service.interface.js +8 -0
- package/src/core/dismissible-core.service.interface.js.map +1 -0
- package/src/core/dismissible-core.service.js +6 -5
- package/src/core/dismissible-core.service.js.map +1 -1
- package/src/core/dismissible.service.d.ts +5 -4
- package/src/core/dismissible.service.interface.d.ts +33 -0
- package/src/core/dismissible.service.interface.js +8 -0
- package/src/core/dismissible.service.interface.js.map +1 -0
- package/src/core/dismissible.service.js +5 -4
- package/src/core/dismissible.service.js.map +1 -1
- package/src/core/hook-runner.interface.d.ts +56 -0
- package/src/core/hook-runner.interface.js +8 -0
- package/src/core/hook-runner.interface.js.map +1 -0
- package/src/core/hook-runner.service.d.ts +2 -1
- package/src/core/hook-runner.service.js.map +1 -1
- package/src/core/index.d.ts +3 -0
- package/src/core/index.js +3 -0
- package/src/core/index.js.map +1 -1
- package/src/dismissible.module.js +31 -1
- package/src/dismissible.module.js.map +1 -1
- package/src/response/index.d.ts +1 -0
- package/src/response/index.js +1 -0
- package/src/response/index.js.map +1 -1
- package/src/response/response.service.d.ts +2 -1
- package/src/response/response.service.interface.d.ts +19 -0
- package/src/response/response.service.interface.js +8 -0
- package/src/response/response.service.interface.js.map +1 -0
- package/src/response/response.service.js.map +1 -1
- package/src/utils/date/date.service.d.ts +2 -1
- package/src/utils/date/date.service.interface.d.ts +21 -0
- package/src/utils/date/date.service.interface.js +8 -0
- package/src/utils/date/date.service.interface.js.map +1 -0
- package/src/utils/date/date.service.js.map +1 -1
- package/src/utils/date/index.d.ts +1 -0
- package/src/utils/date/index.js +1 -0
- package/src/utils/date/index.js.map +1 -1
- package/src/utils/dismissible.helper.d.ts +2 -1
- package/src/utils/dismissible.helper.interface.d.ts +14 -0
- package/src/utils/dismissible.helper.interface.js +8 -0
- package/src/utils/dismissible.helper.interface.js.map +1 -0
- package/src/utils/dismissible.helper.js.map +1 -1
- package/src/utils/index.d.ts +1 -0
- package/src/utils/index.js +1 -0
- package/src/utils/index.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dismissible/nestjs-core",
|
|
3
|
-
"version": "2.0.2-
|
|
3
|
+
"version": "2.0.2-canary.2913ba8.0",
|
|
4
4
|
"description": "Core Dismissible state management library for NestJS applications",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"types": "./src/index.d.ts",
|
|
@@ -18,12 +18,12 @@
|
|
|
18
18
|
],
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@nestjs/event-emitter": "3.0.1",
|
|
21
|
-
"@dismissible/nestjs-hooks": "2.0.2-
|
|
22
|
-
"@dismissible/nestjs-item": "2.0.2-
|
|
23
|
-
"@dismissible/nestjs-request": "2.0.2-
|
|
24
|
-
"@dismissible/nestjs-storage": "2.0.2-
|
|
25
|
-
"@dismissible/nestjs-logger": "2.0.2-
|
|
26
|
-
"@dismissible/nestjs-validation": "2.0.2-
|
|
21
|
+
"@dismissible/nestjs-hooks": "2.0.2-canary.2913ba8.0",
|
|
22
|
+
"@dismissible/nestjs-item": "2.0.2-canary.2913ba8.0",
|
|
23
|
+
"@dismissible/nestjs-request": "2.0.2-canary.2913ba8.0",
|
|
24
|
+
"@dismissible/nestjs-storage": "2.0.2-canary.2913ba8.0",
|
|
25
|
+
"@dismissible/nestjs-logger": "2.0.2-canary.2913ba8.0",
|
|
26
|
+
"@dismissible/nestjs-validation": "2.0.2-canary.2913ba8.0"
|
|
27
27
|
},
|
|
28
28
|
"peerDependencies": {
|
|
29
29
|
"@nestjs/common": "10.0.0 || ^11.0.0",
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { DismissibleItemDto } from '@dismissible/nestjs-item';
|
|
2
2
|
import { DismissibleItemResponseDto } from './dismissible-item-response.dto';
|
|
3
|
+
import { IDismissibleItemMapper } from './dismissible-item.mapper.interface';
|
|
3
4
|
/**
|
|
4
5
|
* Mapper for converting domain objects to DTOs.
|
|
5
6
|
*/
|
|
6
|
-
export declare class DismissibleItemMapper {
|
|
7
|
+
export declare class DismissibleItemMapper implements IDismissibleItemMapper {
|
|
7
8
|
/**
|
|
8
9
|
* Convert a dismissible item to a response DTO.
|
|
9
10
|
* Converts Date objects to ISO 8601 strings.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { DismissibleItemDto } from '@dismissible/nestjs-item';
|
|
2
|
+
import { DismissibleItemResponseDto } from './dismissible-item-response.dto';
|
|
3
|
+
/**
|
|
4
|
+
* Injection token for the dismissible item mapper provider.
|
|
5
|
+
*/
|
|
6
|
+
export declare const DISMISSIBLE_ITEM_MAPPER: unique symbol;
|
|
7
|
+
/**
|
|
8
|
+
* Interface for dismissible item mapper providers.
|
|
9
|
+
* Mapper for converting domain objects to DTOs.
|
|
10
|
+
*/
|
|
11
|
+
export interface IDismissibleItemMapper {
|
|
12
|
+
/**
|
|
13
|
+
* Convert a dismissible item to a response DTO.
|
|
14
|
+
* Converts Date objects to ISO 8601 strings.
|
|
15
|
+
*/
|
|
16
|
+
toResponseDto(item: DismissibleItemDto): DismissibleItemResponseDto;
|
|
17
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DISMISSIBLE_ITEM_MAPPER = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Injection token for the dismissible item mapper provider.
|
|
6
|
+
*/
|
|
7
|
+
exports.DISMISSIBLE_ITEM_MAPPER = Symbol('DISMISSIBLE_ITEM_MAPPER');
|
|
8
|
+
//# sourceMappingURL=dismissible-item.mapper.interface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dismissible-item.mapper.interface.js","sourceRoot":"","sources":["../../../../../libs/core/src/api/dismissible-item.mapper.interface.ts"],"names":[],"mappings":";;;AAGA;;GAEG;AACU,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dismissible-item.mapper.js","sourceRoot":"","sources":["../../../../../libs/core/src/api/dismissible-item.mapper.ts"],"names":[],"mappings":";;;;AAAA,2CAA4C;AAE5C,mFAA6E;
|
|
1
|
+
{"version":3,"file":"dismissible-item.mapper.js","sourceRoot":"","sources":["../../../../../libs/core/src/api/dismissible-item.mapper.ts"],"names":[],"mappings":";;;;AAAA,2CAA4C;AAE5C,mFAA6E;AAG7E;;GAEG;AAEI,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAChC;;;OAGG;IACH,aAAa,CAAC,IAAwB;QACpC,MAAM,GAAG,GAAG,IAAI,0DAA0B,EAAE,CAAC;QAE7C,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAE7C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QACnD,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF,CAAA;AAlBY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;GACA,qBAAqB,CAkBjC"}
|
package/src/api/index.d.ts
CHANGED
package/src/api/index.js
CHANGED
|
@@ -4,5 +4,6 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
tslib_1.__exportStar(require("./use-cases"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./validation"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./dismissible-item.mapper"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./dismissible-item.mapper.interface"), exports);
|
|
7
8
|
tslib_1.__exportStar(require("./dismissible-item-response.dto"), exports);
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
package/src/api/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/core/src/api/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAE5B,uDAA6B;AAE7B,oEAA0C;AAC1C,0EAAgD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/core/src/api/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAE5B,uDAA6B;AAE7B,oEAA0C;AAC1C,8EAAoD;AACpD,0EAAgD"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { IDismissibleService } from '../../../core/dismissible.service.interface';
|
|
2
|
+
import { IDismissibleItemMapper } from '../../dismissible-item.mapper.interface';
|
|
3
3
|
import { IRequestContext } from '@dismissible/nestjs-request';
|
|
4
4
|
import { DismissResponseDto } from './dismiss.response.dto';
|
|
5
|
-
import {
|
|
5
|
+
import { IResponseService } from '../../../response/response.service.interface';
|
|
6
6
|
/**
|
|
7
7
|
* Controller for dismiss dismissible item operations.
|
|
8
8
|
*/
|
|
@@ -10,6 +10,6 @@ export declare class DismissController {
|
|
|
10
10
|
private readonly dismissibleService;
|
|
11
11
|
private readonly mapper;
|
|
12
12
|
private readonly responseService;
|
|
13
|
-
constructor(dismissibleService:
|
|
13
|
+
constructor(dismissibleService: IDismissibleService, mapper: IDismissibleItemMapper, responseService: IResponseService);
|
|
14
14
|
dismiss(userId: string, itemId: string, context: IRequestContext): Promise<DismissResponseDto>;
|
|
15
15
|
}
|
|
@@ -4,11 +4,11 @@ exports.DismissController = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const common_1 = require("@nestjs/common");
|
|
6
6
|
const swagger_1 = require("@nestjs/swagger");
|
|
7
|
-
const
|
|
8
|
-
const
|
|
7
|
+
const dismissible_service_interface_1 = require("../../../core/dismissible.service.interface");
|
|
8
|
+
const dismissible_item_mapper_interface_1 = require("../../dismissible-item.mapper.interface");
|
|
9
9
|
const nestjs_request_1 = require("@dismissible/nestjs-request");
|
|
10
10
|
const dismiss_response_dto_1 = require("./dismiss.response.dto");
|
|
11
|
-
const
|
|
11
|
+
const response_service_interface_1 = require("../../../response/response.service.interface");
|
|
12
12
|
const http_exception_filter_1 = require("../../../response/http-exception-filter");
|
|
13
13
|
const api_tags_constants_1 = require("../api-tags.constants");
|
|
14
14
|
const validation_1 = require("../../validation");
|
|
@@ -67,8 +67,9 @@ tslib_1.__decorate([
|
|
|
67
67
|
exports.DismissController = DismissController = tslib_1.__decorate([
|
|
68
68
|
(0, swagger_1.ApiTags)(api_tags_constants_1.API_TAG_DISMISSIBLE),
|
|
69
69
|
(0, common_1.Controller)('v1/users/:userId/items'),
|
|
70
|
-
tslib_1.
|
|
71
|
-
|
|
72
|
-
|
|
70
|
+
tslib_1.__param(0, (0, common_1.Inject)(dismissible_service_interface_1.DISMISSIBLE_SERVICE)),
|
|
71
|
+
tslib_1.__param(1, (0, common_1.Inject)(dismissible_item_mapper_interface_1.DISMISSIBLE_ITEM_MAPPER)),
|
|
72
|
+
tslib_1.__param(2, (0, common_1.Inject)(response_service_interface_1.DISMISSIBLE_RESPONSE_SERVICE)),
|
|
73
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object, Object])
|
|
73
74
|
], DismissController);
|
|
74
75
|
//# sourceMappingURL=dismiss.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dismiss.controller.js","sourceRoot":"","sources":["../../../../../../../libs/core/src/api/use-cases/dismiss/dismiss.controller.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"dismiss.controller.js","sourceRoot":"","sources":["../../../../../../../libs/core/src/api/use-cases/dismiss/dismiss.controller.ts"],"names":[],"mappings":";;;;AAAA,2CAAwE;AACxE,6CAA+E;AAC/E,+FAGqD;AACrD,+FAGiD;AACjD,gEAA8E;AAC9E,iEAA4D;AAC5D,6FAGsD;AACtD,mFAA8E;AAC9E,8DAA4D;AAC5D,iDAAkD;AAElD;;GAEG;AAGI,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC5B,YAEmB,kBAAuC,EAEvC,MAA8B,EAE9B,eAAiC;QAJjC,uBAAkB,GAAlB,kBAAkB,CAAqB;QAEvC,WAAM,GAAN,MAAM,CAAwB;QAE9B,oBAAe,GAAf,eAAe,CAAkB;IACjD,CAAC;IA+BE,AAAN,KAAK,CAAC,OAAO,CACD,MAAc,EACd,MAAc,EACN,OAAwB;QAE1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAE9E,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9E,CAAC;CACF,CAAA;AAhDY,8CAAiB;AAuCtB;IA7BL,IAAA,eAAM,EAAC,SAAS,CAAC;IACjB,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,iBAAiB;QAC1B,WAAW,EAAE,wCAAwC;KACtD,CAAC;IACD,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,6CAA6C;QAC1D,OAAO,EAAE,UAAU;KACpB,CAAC;IACD,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,wEAAwE;QACrF,OAAO,EAAE,mBAAmB;KAC7B,CAAC;IACD,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,oBAAoB;QACjC,IAAI,EAAE,yCAAkB;KACzB,CAAC;IACD,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,qCAAqC;KACnD,CAAC;IACD,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,qCAAqC;KACnD,CAAC;IACD,IAAA,mBAAU,EAAC,2CAAmB,CAAC;IAE7B,mBAAA,IAAA,mBAAM,GAAE,CAAA;IACR,mBAAA,IAAA,mBAAM,GAAE,CAAA;IACR,mBAAA,IAAA,+BAAc,GAAE,CAAA;;;;gDAKlB;4BA/CU,iBAAiB;IAF7B,IAAA,iBAAO,EAAC,wCAAmB,CAAC;IAC5B,IAAA,mBAAU,EAAC,wBAAwB,CAAC;IAGhC,mBAAA,IAAA,eAAM,EAAC,mDAAmB,CAAC,CAAA;IAE3B,mBAAA,IAAA,eAAM,EAAC,2DAAuB,CAAC,CAAA;IAE/B,mBAAA,IAAA,eAAM,EAAC,yDAA4B,CAAC,CAAA;;GAN5B,iBAAiB,CAgD7B"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { IDismissibleService } from '../../../core/dismissible.service.interface';
|
|
2
|
+
import { IDismissibleItemMapper } from '../../dismissible-item.mapper.interface';
|
|
3
3
|
import { IRequestContext } from '@dismissible/nestjs-request';
|
|
4
4
|
import { GetOrCreateResponseDto } from './get-or-create.response.dto';
|
|
5
|
-
import {
|
|
5
|
+
import { IResponseService } from '../../../response/response.service.interface';
|
|
6
6
|
/**
|
|
7
7
|
* Controller for get-or-create dismissible item operations.
|
|
8
8
|
*/
|
|
@@ -10,6 +10,6 @@ export declare class GetOrCreateController {
|
|
|
10
10
|
private readonly dismissibleService;
|
|
11
11
|
private readonly mapper;
|
|
12
12
|
private readonly responseService;
|
|
13
|
-
constructor(dismissibleService:
|
|
13
|
+
constructor(dismissibleService: IDismissibleService, mapper: IDismissibleItemMapper, responseService: IResponseService);
|
|
14
14
|
getOrCreate(userId: string, itemId: string, context: IRequestContext): Promise<GetOrCreateResponseDto>;
|
|
15
15
|
}
|
|
@@ -4,11 +4,11 @@ exports.GetOrCreateController = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const common_1 = require("@nestjs/common");
|
|
6
6
|
const swagger_1 = require("@nestjs/swagger");
|
|
7
|
-
const
|
|
8
|
-
const
|
|
7
|
+
const dismissible_service_interface_1 = require("../../../core/dismissible.service.interface");
|
|
8
|
+
const dismissible_item_mapper_interface_1 = require("../../dismissible-item.mapper.interface");
|
|
9
9
|
const nestjs_request_1 = require("@dismissible/nestjs-request");
|
|
10
10
|
const get_or_create_response_dto_1 = require("./get-or-create.response.dto");
|
|
11
|
-
const
|
|
11
|
+
const response_service_interface_1 = require("../../../response/response.service.interface");
|
|
12
12
|
const http_exception_filter_1 = require("../../../response/http-exception-filter");
|
|
13
13
|
const api_tags_constants_1 = require("../api-tags.constants");
|
|
14
14
|
const validation_1 = require("../../validation");
|
|
@@ -63,8 +63,9 @@ tslib_1.__decorate([
|
|
|
63
63
|
exports.GetOrCreateController = GetOrCreateController = tslib_1.__decorate([
|
|
64
64
|
(0, swagger_1.ApiTags)(api_tags_constants_1.API_TAG_DISMISSIBLE),
|
|
65
65
|
(0, common_1.Controller)('v1/users/:userId/items'),
|
|
66
|
-
tslib_1.
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
tslib_1.__param(0, (0, common_1.Inject)(dismissible_service_interface_1.DISMISSIBLE_SERVICE)),
|
|
67
|
+
tslib_1.__param(1, (0, common_1.Inject)(dismissible_item_mapper_interface_1.DISMISSIBLE_ITEM_MAPPER)),
|
|
68
|
+
tslib_1.__param(2, (0, common_1.Inject)(response_service_interface_1.DISMISSIBLE_RESPONSE_SERVICE)),
|
|
69
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object, Object])
|
|
69
70
|
], GetOrCreateController);
|
|
70
71
|
//# sourceMappingURL=get-or-create.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-or-create.controller.js","sourceRoot":"","sources":["../../../../../../../libs/core/src/api/use-cases/get-or-create/get-or-create.controller.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"get-or-create.controller.js","sourceRoot":"","sources":["../../../../../../../libs/core/src/api/use-cases/get-or-create/get-or-create.controller.ts"],"names":[],"mappings":";;;;AAAA,2CAAqE;AACrE,6CAA+E;AAC/E,+FAGqD;AACrD,+FAGiD;AACjD,gEAA8E;AAC9E,6EAAsE;AACtE,6FAGsD;AACtD,mFAA8E;AAC9E,8DAA4D;AAC5D,iDAAkD;AAElD;;GAEG;AAGI,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAChC,YAEmB,kBAAuC,EAEvC,MAA8B,EAE9B,eAAiC;QAJjC,uBAAkB,GAAlB,kBAAkB,CAAqB;QAEvC,WAAM,GAAN,MAAM,CAAwB;QAE9B,oBAAe,GAAf,eAAe,CAAkB;IACjD,CAAC;IA4BE,AAAN,KAAK,CAAC,WAAW,CACL,MAAc,EACd,MAAc,EACN,OAAwB;QAE1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAElF,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9E,CAAC;CACF,CAAA;AA7CY,sDAAqB;AAoC1B;IA1BL,IAAA,YAAG,EAAC,SAAS,CAAC;IACd,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,kCAAkC;QAC3C,WAAW,EACT,0FAA0F;KAC7F,CAAC;IACD,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,6CAA6C;QAC1D,OAAO,EAAE,UAAU;KACpB,CAAC;IACD,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,wEAAwE;QACrF,OAAO,EAAE,mBAAmB;KAC7B,CAAC;IACD,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,6CAA6C;QAC1D,IAAI,EAAE,mDAAsB;KAC7B,CAAC;IACD,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,qCAAqC;KACnD,CAAC;IACD,IAAA,mBAAU,EAAC,2CAAmB,CAAC;IAE7B,mBAAA,IAAA,mBAAM,GAAE,CAAA;IACR,mBAAA,IAAA,mBAAM,GAAE,CAAA;IACR,mBAAA,IAAA,+BAAc,GAAE,CAAA;;;;wDAKlB;gCA5CU,qBAAqB;IAFjC,IAAA,iBAAO,EAAC,wCAAmB,CAAC;IAC5B,IAAA,mBAAU,EAAC,wBAAwB,CAAC;IAGhC,mBAAA,IAAA,eAAM,EAAC,mDAAmB,CAAC,CAAA;IAE3B,mBAAA,IAAA,eAAM,EAAC,2DAAuB,CAAC,CAAA;IAE/B,mBAAA,IAAA,eAAM,EAAC,yDAA4B,CAAC,CAAA;;GAN5B,qBAAqB,CA6CjC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { IDismissibleService } from '../../../core/dismissible.service.interface';
|
|
2
|
+
import { IDismissibleItemMapper } from '../../dismissible-item.mapper.interface';
|
|
3
3
|
import { IRequestContext } from '@dismissible/nestjs-request';
|
|
4
4
|
import { RestoreResponseDto } from './restore.response.dto';
|
|
5
|
-
import {
|
|
5
|
+
import { IResponseService } from '../../../response/response.service.interface';
|
|
6
6
|
/**
|
|
7
7
|
* Controller for restore dismissible item operations.
|
|
8
8
|
*/
|
|
@@ -10,6 +10,6 @@ export declare class RestoreController {
|
|
|
10
10
|
private readonly dismissibleService;
|
|
11
11
|
private readonly mapper;
|
|
12
12
|
private readonly responseService;
|
|
13
|
-
constructor(dismissibleService:
|
|
13
|
+
constructor(dismissibleService: IDismissibleService, mapper: IDismissibleItemMapper, responseService: IResponseService);
|
|
14
14
|
restore(userId: string, itemId: string, context: IRequestContext): Promise<RestoreResponseDto>;
|
|
15
15
|
}
|
|
@@ -4,11 +4,11 @@ exports.RestoreController = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const common_1 = require("@nestjs/common");
|
|
6
6
|
const swagger_1 = require("@nestjs/swagger");
|
|
7
|
-
const
|
|
8
|
-
const
|
|
7
|
+
const dismissible_service_interface_1 = require("../../../core/dismissible.service.interface");
|
|
8
|
+
const dismissible_item_mapper_interface_1 = require("../../dismissible-item.mapper.interface");
|
|
9
9
|
const nestjs_request_1 = require("@dismissible/nestjs-request");
|
|
10
10
|
const restore_response_dto_1 = require("./restore.response.dto");
|
|
11
|
-
const
|
|
11
|
+
const response_service_interface_1 = require("../../../response/response.service.interface");
|
|
12
12
|
const http_exception_filter_1 = require("../../../response/http-exception-filter");
|
|
13
13
|
const api_tags_constants_1 = require("../api-tags.constants");
|
|
14
14
|
const validation_1 = require("../../validation");
|
|
@@ -67,8 +67,9 @@ tslib_1.__decorate([
|
|
|
67
67
|
exports.RestoreController = RestoreController = tslib_1.__decorate([
|
|
68
68
|
(0, swagger_1.ApiTags)(api_tags_constants_1.API_TAG_DISMISSIBLE),
|
|
69
69
|
(0, common_1.Controller)('v1/users/:userId/items'),
|
|
70
|
-
tslib_1.
|
|
71
|
-
|
|
72
|
-
|
|
70
|
+
tslib_1.__param(0, (0, common_1.Inject)(dismissible_service_interface_1.DISMISSIBLE_SERVICE)),
|
|
71
|
+
tslib_1.__param(1, (0, common_1.Inject)(dismissible_item_mapper_interface_1.DISMISSIBLE_ITEM_MAPPER)),
|
|
72
|
+
tslib_1.__param(2, (0, common_1.Inject)(response_service_interface_1.DISMISSIBLE_RESPONSE_SERVICE)),
|
|
73
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object, Object])
|
|
73
74
|
], RestoreController);
|
|
74
75
|
//# sourceMappingURL=restore.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restore.controller.js","sourceRoot":"","sources":["../../../../../../../libs/core/src/api/use-cases/restore/restore.controller.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"restore.controller.js","sourceRoot":"","sources":["../../../../../../../libs/core/src/api/use-cases/restore/restore.controller.ts"],"names":[],"mappings":";;;;AAAA,2CAAsE;AACtE,6CAA+E;AAC/E,+FAGqD;AACrD,+FAGiD;AACjD,gEAA8E;AAC9E,iEAA4D;AAC5D,6FAGsD;AACtD,mFAA8E;AAC9E,8DAA4D;AAC5D,iDAAkD;AAElD;;GAEG;AAGI,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC5B,YAEmB,kBAAuC,EAEvC,MAA8B,EAE9B,eAAiC;QAJjC,uBAAkB,GAAlB,kBAAkB,CAAqB;QAEvC,WAAM,GAAN,MAAM,CAAwB;QAE9B,oBAAe,GAAf,eAAe,CAAkB;IACjD,CAAC;IA+BE,AAAN,KAAK,CAAC,OAAO,CACD,MAAc,EACd,MAAc,EACN,OAAwB;QAE1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAE9E,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9E,CAAC;CACF,CAAA;AAhDY,8CAAiB;AAuCtB;IA7BL,IAAA,aAAI,EAAC,SAAS,CAAC;IACf,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,0BAA0B;QACnC,WAAW,EAAE,uCAAuC;KACrD,CAAC;IACD,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,6CAA6C;QAC1D,OAAO,EAAE,UAAU;KACpB,CAAC;IACD,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,wEAAwE;QACrF,OAAO,EAAE,mBAAmB;KAC7B,CAAC;IACD,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,mBAAmB;QAChC,IAAI,EAAE,yCAAkB;KACzB,CAAC;IACD,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,iCAAiC;KAC/C,CAAC;IACD,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,qCAAqC;KACnD,CAAC;IACD,IAAA,mBAAU,EAAC,2CAAmB,CAAC;IAE7B,mBAAA,IAAA,mBAAM,GAAE,CAAA;IACR,mBAAA,IAAA,mBAAM,GAAE,CAAA;IACR,mBAAA,IAAA,+BAAc,GAAE,CAAA;;;;gDAKlB;4BA/CU,iBAAiB;IAF7B,IAAA,iBAAO,EAAC,wCAAmB,CAAC;IAC5B,IAAA,mBAAU,EAAC,wBAAwB,CAAC;IAGhC,mBAAA,IAAA,eAAM,EAAC,mDAAmB,CAAC,CAAA;IAE3B,mBAAA,IAAA,eAAM,EAAC,2DAAuB,CAAC,CAAA;IAE/B,mBAAA,IAAA,eAAM,EAAC,yDAA4B,CAAC,CAAA;;GAN5B,iBAAiB,CAgD7B"}
|
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
import { IDismissibleStorage } from '@dismissible/nestjs-storage';
|
|
2
2
|
import { IGetOrCreateServiceResponse, IDismissServiceResponse, IRestoreServiceResponse } from './service-responses.interface';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { IDismissibleCoreService } from './dismissible-core.service.interface';
|
|
4
|
+
import { IDismissibleHelper } from '../utils/dismissible.helper.interface';
|
|
5
|
+
import { IDateService } from '../utils/date/date.service.interface';
|
|
5
6
|
import { IDismissibleLogger } from '@dismissible/nestjs-logger';
|
|
6
7
|
import { ValidationService } from '@dismissible/nestjs-validation';
|
|
7
|
-
import { DismissibleItemDto,
|
|
8
|
+
import { DismissibleItemDto, IDismissibleItemFactory } from '@dismissible/nestjs-item';
|
|
8
9
|
/**
|
|
9
10
|
* Core business logic service for dismissible operations.
|
|
10
11
|
* Handles pure CRUD operations without side effects (hooks, events).
|
|
11
12
|
*/
|
|
12
|
-
export declare class DismissibleCoreService {
|
|
13
|
+
export declare class DismissibleCoreService implements IDismissibleCoreService {
|
|
13
14
|
private readonly storage;
|
|
14
15
|
private readonly dateService;
|
|
15
16
|
private readonly logger;
|
|
16
17
|
private readonly itemFactory;
|
|
17
18
|
private readonly validationService;
|
|
18
19
|
private readonly dismissibleHelper;
|
|
19
|
-
constructor(storage: IDismissibleStorage, dateService:
|
|
20
|
+
constructor(storage: IDismissibleStorage, dateService: IDateService, logger: IDismissibleLogger, itemFactory: IDismissibleItemFactory, validationService: ValidationService, dismissibleHelper: IDismissibleHelper);
|
|
20
21
|
/**
|
|
21
22
|
* Get an existing item by user ID and item ID.
|
|
22
23
|
* @param itemId The item identifier
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { DismissibleItemDto } from '@dismissible/nestjs-item';
|
|
2
|
+
import { IGetOrCreateServiceResponse, IDismissServiceResponse, IRestoreServiceResponse } from './service-responses.interface';
|
|
3
|
+
/**
|
|
4
|
+
* Injection token for the dismissible core service provider.
|
|
5
|
+
*/
|
|
6
|
+
export declare const DISMISSIBLE_CORE_SERVICE: unique symbol;
|
|
7
|
+
/**
|
|
8
|
+
* Interface for dismissible core service providers.
|
|
9
|
+
* Core business logic service for dismissible operations.
|
|
10
|
+
*/
|
|
11
|
+
export interface IDismissibleCoreService {
|
|
12
|
+
/**
|
|
13
|
+
* Get an existing item by user ID and item ID.
|
|
14
|
+
* @param itemId The item identifier
|
|
15
|
+
* @param userId The user identifier (required)
|
|
16
|
+
* @returns The item or null if not found
|
|
17
|
+
*/
|
|
18
|
+
get(itemId: string, userId: string): Promise<DismissibleItemDto | null>;
|
|
19
|
+
/**
|
|
20
|
+
* Create a new item.
|
|
21
|
+
* @param itemId The item identifier
|
|
22
|
+
* @param userId The user identifier (required)
|
|
23
|
+
* @returns The created item
|
|
24
|
+
*/
|
|
25
|
+
create(itemId: string, userId: string): Promise<DismissibleItemDto>;
|
|
26
|
+
/**
|
|
27
|
+
* Get an existing item or create a new one.
|
|
28
|
+
* @param itemId The item identifier
|
|
29
|
+
* @param userId The user identifier (required)
|
|
30
|
+
*/
|
|
31
|
+
getOrCreate(itemId: string, userId: string): Promise<IGetOrCreateServiceResponse>;
|
|
32
|
+
/**
|
|
33
|
+
* Dismiss an item.
|
|
34
|
+
* @param itemId The item identifier
|
|
35
|
+
* @param userId The user identifier (required)
|
|
36
|
+
* @throws ItemNotFoundException if item doesn't exist
|
|
37
|
+
* @throws ItemAlreadyDismissedException if item is already dismissed
|
|
38
|
+
*/
|
|
39
|
+
dismiss(itemId: string, userId: string): Promise<IDismissServiceResponse>;
|
|
40
|
+
/**
|
|
41
|
+
* Restore a dismissed item.
|
|
42
|
+
* @param itemId The item identifier
|
|
43
|
+
* @param userId The user identifier (required)
|
|
44
|
+
* @throws ItemNotFoundException if item doesn't exist
|
|
45
|
+
* @throws ItemNotDismissedException if item is not dismissed
|
|
46
|
+
*/
|
|
47
|
+
restore(itemId: string, userId: string): Promise<IRestoreServiceResponse>;
|
|
48
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DISMISSIBLE_CORE_SERVICE = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Injection token for the dismissible core service provider.
|
|
6
|
+
*/
|
|
7
|
+
exports.DISMISSIBLE_CORE_SERVICE = Symbol('DISMISSIBLE_CORE_SERVICE');
|
|
8
|
+
//# sourceMappingURL=dismissible-core.service.interface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dismissible-core.service.interface.js","sourceRoot":"","sources":["../../../../../libs/core/src/core/dismissible-core.service.interface.ts"],"names":[],"mappings":";;;AAOA;;GAEG;AACU,QAAA,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC"}
|
|
@@ -4,8 +4,8 @@ exports.DismissibleCoreService = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const common_1 = require("@nestjs/common");
|
|
6
6
|
const nestjs_storage_1 = require("@dismissible/nestjs-storage");
|
|
7
|
-
const
|
|
8
|
-
const
|
|
7
|
+
const dismissible_helper_interface_1 = require("../utils/dismissible.helper.interface");
|
|
8
|
+
const date_service_interface_1 = require("../utils/date/date.service.interface");
|
|
9
9
|
const nestjs_logger_1 = require("@dismissible/nestjs-logger");
|
|
10
10
|
const exceptions_1 = require("../exceptions");
|
|
11
11
|
const nestjs_validation_1 = require("@dismissible/nestjs-validation");
|
|
@@ -139,9 +139,10 @@ exports.DismissibleCoreService = DismissibleCoreService;
|
|
|
139
139
|
exports.DismissibleCoreService = DismissibleCoreService = tslib_1.__decorate([
|
|
140
140
|
(0, common_1.Injectable)(),
|
|
141
141
|
tslib_1.__param(0, (0, common_1.Inject)(nestjs_storage_1.DISMISSIBLE_STORAGE_ADAPTER)),
|
|
142
|
+
tslib_1.__param(1, (0, common_1.Inject)(date_service_interface_1.DISMISSIBLE_DATE_SERVICE)),
|
|
142
143
|
tslib_1.__param(2, (0, common_1.Inject)(nestjs_logger_1.DISMISSIBLE_LOGGER)),
|
|
143
|
-
tslib_1.
|
|
144
|
-
|
|
145
|
-
|
|
144
|
+
tslib_1.__param(3, (0, common_1.Inject)(nestjs_item_1.DISMISSIBLE_ITEM_FACTORY)),
|
|
145
|
+
tslib_1.__param(5, (0, common_1.Inject)(dismissible_helper_interface_1.DISMISSIBLE_HELPER)),
|
|
146
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object, Object, Object, nestjs_validation_1.ValidationService, Object])
|
|
146
147
|
], DismissibleCoreService);
|
|
147
148
|
//# sourceMappingURL=dismissible-core.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dismissible-core.service.js","sourceRoot":"","sources":["../../../../../libs/core/src/core/dismissible-core.service.ts"],"names":[],"mappings":";;;;AAAA,2CAAoD;AACpD,gEAA+F;
|
|
1
|
+
{"version":3,"file":"dismissible-core.service.js","sourceRoot":"","sources":["../../../../../libs/core/src/core/dismissible-core.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
import { EventEmitter2 } from '@nestjs/event-emitter';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { IDismissibleCoreService } from './dismissible-core.service.interface';
|
|
3
|
+
import { IHookRunner } from './hook-runner.interface';
|
|
4
4
|
import { IDismissibleLogger } from '@dismissible/nestjs-logger';
|
|
5
5
|
import { IGetOrCreateServiceResponse, IDismissServiceResponse, IRestoreServiceResponse } from './service-responses.interface';
|
|
6
|
+
import { IDismissibleService } from './dismissible.service.interface';
|
|
6
7
|
import { IRequestContext } from '@dismissible/nestjs-request';
|
|
7
8
|
import { ValidationService } from '@dismissible/nestjs-validation';
|
|
8
9
|
/**
|
|
9
10
|
* Main orchestration service for dismissible operations.
|
|
10
11
|
* Coordinates core logic, hooks, and events.
|
|
11
12
|
*/
|
|
12
|
-
export declare class DismissibleService {
|
|
13
|
+
export declare class DismissibleService implements IDismissibleService {
|
|
13
14
|
private readonly coreService;
|
|
14
15
|
private readonly hookRunner;
|
|
15
16
|
private readonly eventEmitter;
|
|
16
17
|
private readonly logger;
|
|
17
18
|
private readonly validationService;
|
|
18
|
-
constructor(coreService:
|
|
19
|
+
constructor(coreService: IDismissibleCoreService, hookRunner: IHookRunner, eventEmitter: EventEmitter2, logger: IDismissibleLogger, validationService: ValidationService);
|
|
19
20
|
/**
|
|
20
21
|
* Validates input parameters for all service methods.
|
|
21
22
|
* Provides defense in depth when the service is used directly without controllers.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { IRequestContext } from '@dismissible/nestjs-request';
|
|
2
|
+
import { IGetOrCreateServiceResponse, IDismissServiceResponse, IRestoreServiceResponse } from './service-responses.interface';
|
|
3
|
+
/**
|
|
4
|
+
* Injection token for the dismissible service provider.
|
|
5
|
+
*/
|
|
6
|
+
export declare const DISMISSIBLE_SERVICE: unique symbol;
|
|
7
|
+
/**
|
|
8
|
+
* Interface for dismissible service providers.
|
|
9
|
+
* Main orchestration service for dismissible operations.
|
|
10
|
+
*/
|
|
11
|
+
export interface IDismissibleService {
|
|
12
|
+
/**
|
|
13
|
+
* Get an existing item or create a new one.
|
|
14
|
+
* @param itemId The item identifier
|
|
15
|
+
* @param userId The user identifier (required)
|
|
16
|
+
* @param context Optional request context for tracing
|
|
17
|
+
*/
|
|
18
|
+
getOrCreate(itemId: string, userId: string, context?: IRequestContext): Promise<IGetOrCreateServiceResponse>;
|
|
19
|
+
/**
|
|
20
|
+
* Dismiss an item.
|
|
21
|
+
* @param itemId The item identifier
|
|
22
|
+
* @param userId The user identifier (required)
|
|
23
|
+
* @param context Optional request context for tracing
|
|
24
|
+
*/
|
|
25
|
+
dismiss(itemId: string, userId: string, context?: IRequestContext): Promise<IDismissServiceResponse>;
|
|
26
|
+
/**
|
|
27
|
+
* Restore a dismissed item.
|
|
28
|
+
* @param itemId The item identifier
|
|
29
|
+
* @param userId The user identifier (required)
|
|
30
|
+
* @param context Optional request context for tracing
|
|
31
|
+
*/
|
|
32
|
+
restore(itemId: string, userId: string, context?: IRequestContext): Promise<IRestoreServiceResponse>;
|
|
33
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DISMISSIBLE_SERVICE = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Injection token for the dismissible service provider.
|
|
6
|
+
*/
|
|
7
|
+
exports.DISMISSIBLE_SERVICE = Symbol('DISMISSIBLE_SERVICE');
|
|
8
|
+
//# sourceMappingURL=dismissible.service.interface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dismissible.service.interface.js","sourceRoot":"","sources":["../../../../../libs/core/src/core/dismissible.service.interface.ts"],"names":[],"mappings":";;;AAOA;;GAEG;AACU,QAAA,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC"}
|
|
@@ -4,8 +4,9 @@ exports.DismissibleService = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const common_1 = require("@nestjs/common");
|
|
6
6
|
const event_emitter_1 = require("@nestjs/event-emitter");
|
|
7
|
-
const
|
|
7
|
+
const dismissible_core_service_interface_1 = require("./dismissible-core.service.interface");
|
|
8
8
|
const hook_runner_service_1 = require("./hook-runner.service");
|
|
9
|
+
const hook_runner_interface_1 = require("./hook-runner.interface");
|
|
9
10
|
const nestjs_logger_1 = require("@dismissible/nestjs-logger");
|
|
10
11
|
const events_1 = require("../events");
|
|
11
12
|
const events_2 = require("../events");
|
|
@@ -119,9 +120,9 @@ let DismissibleService = class DismissibleService {
|
|
|
119
120
|
exports.DismissibleService = DismissibleService;
|
|
120
121
|
exports.DismissibleService = DismissibleService = tslib_1.__decorate([
|
|
121
122
|
(0, common_1.Injectable)(),
|
|
123
|
+
tslib_1.__param(0, (0, common_1.Inject)(dismissible_core_service_interface_1.DISMISSIBLE_CORE_SERVICE)),
|
|
124
|
+
tslib_1.__param(1, (0, common_1.Inject)(hook_runner_interface_1.DISMISSIBLE_HOOK_RUNNER)),
|
|
122
125
|
tslib_1.__param(3, (0, common_1.Inject)(nestjs_logger_1.DISMISSIBLE_LOGGER)),
|
|
123
|
-
tslib_1.__metadata("design:paramtypes", [
|
|
124
|
-
hook_runner_service_1.HookRunner,
|
|
125
|
-
event_emitter_1.EventEmitter2, Object, nestjs_validation_1.ValidationService])
|
|
126
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object, event_emitter_1.EventEmitter2, Object, nestjs_validation_1.ValidationService])
|
|
126
127
|
], DismissibleService);
|
|
127
128
|
//# sourceMappingURL=dismissible.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dismissible.service.js","sourceRoot":"","sources":["../../../../../libs/core/src/core/dismissible.service.ts"],"names":[],"mappings":";;;;AAAA,2CAAoD;AACpD,yDAAsD;AACtD,
|
|
1
|
+
{"version":3,"file":"dismissible.service.js","sourceRoot":"","sources":["../../../../../libs/core/src/core/dismissible.service.ts"],"names":[],"mappings":"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"}
|