sea-backend-helpers 1.5.10 → 1.5.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.
- package/dist/constants/cache/index.d.ts +1 -0
- package/dist/constants/cache/index.d.ts.map +1 -1
- package/dist/constants/cache/index.js +2 -0
- package/dist/modules/remote/remote.service.d.ts +3 -0
- package/dist/modules/remote/remote.service.d.ts.map +1 -1
- package/dist/modules/remote/remote.service.js +27 -2
- package/dist/services/sequelize-crud.service.d.ts +17 -6
- package/dist/services/sequelize-crud.service.d.ts.map +1 -1
- package/dist/services/sequelize-crud.service.js +38 -7
- package/dist/types/notification/index.d.ts +5 -9
- package/dist/types/notification/index.d.ts.map +1 -1
- package/dist/types/queue/dto/email/index.d.ts +22 -0
- package/dist/types/queue/dto/email/index.d.ts.map +1 -0
- package/dist/types/queue/dto/email/index.js +2 -0
- package/dist/types/queue/dto/index.d.ts +1 -0
- package/dist/types/queue/dto/index.d.ts.map +1 -1
- package/dist/types/queue/dto/index.js +2 -1
- package/dist/types/queue/dto/notification/index.d.ts +3 -3
- package/dist/types/queue/dto/notification/index.d.ts.map +1 -1
- package/dist/types/queue/index.d.ts +6 -1
- package/dist/types/queue/index.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -11,6 +11,7 @@ export declare enum CacheableModules {
|
|
|
11
11
|
ProjectMilestone = "ProjectMilestone",
|
|
12
12
|
ProjectSection = "ProjectSection",
|
|
13
13
|
Initiative = "Initiative",
|
|
14
|
+
Activity = "Activity",
|
|
14
15
|
KPI = "KPI"
|
|
15
16
|
}
|
|
16
17
|
export declare const getCacheModuleName: (module: CacheableModules) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/constants/cache/index.ts"],"names":[],"mappings":"AAAA,oBAAY,gBAAgB;IAC1B,OAAO,YAAY;IACnB,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,aAAa,kBAAkB;IAC/B,oBAAoB,yBAAyB;IAC7C,IAAI,SAAS;IACb,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,gBAAgB,qBAAqB;IACrC,cAAc,mBAAmB;IACjC,UAAU,eAAe;IACzB,GAAG,QAAQ;CACZ;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/constants/cache/index.ts"],"names":[],"mappings":"AAAA,oBAAY,gBAAgB;IAC1B,OAAO,YAAY;IACnB,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,aAAa,kBAAkB;IAC/B,oBAAoB,yBAAyB;IAC7C,IAAI,SAAS;IACb,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,gBAAgB,qBAAqB;IACrC,cAAc,mBAAmB;IACjC,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,GAAG,QAAQ;CACZ;AAkBD,eAAO,MAAM,kBAAkB,GAAI,QAAQ,gBAAgB,KAAG,MAE7D,CAAC"}
|
|
@@ -15,6 +15,7 @@ var CacheableModules;
|
|
|
15
15
|
CacheableModules["ProjectMilestone"] = "ProjectMilestone";
|
|
16
16
|
CacheableModules["ProjectSection"] = "ProjectSection";
|
|
17
17
|
CacheableModules["Initiative"] = "Initiative";
|
|
18
|
+
CacheableModules["Activity"] = "Activity";
|
|
18
19
|
CacheableModules["KPI"] = "KPI";
|
|
19
20
|
})(CacheableModules || (exports.CacheableModules = CacheableModules = {}));
|
|
20
21
|
const CacheableModuleNames = {
|
|
@@ -30,6 +31,7 @@ const CacheableModuleNames = {
|
|
|
30
31
|
[CacheableModules.ProjectSection]: "Remote-ProjectSection",
|
|
31
32
|
[CacheableModules.Program]: "Remote-Program",
|
|
32
33
|
[CacheableModules.Initiative]: "Remote-Initiative",
|
|
34
|
+
[CacheableModules.Activity]: "Remote-Activity",
|
|
33
35
|
[CacheableModules.KPI]: "Remote-KPI",
|
|
34
36
|
};
|
|
35
37
|
const getCacheModuleName = (module) => {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { HttpService } from "@nestjs/axios";
|
|
2
2
|
import { CacheableModules } from "../../constants/cache";
|
|
3
|
+
import { IArrayDataResponse } from "sea-platform-helpers/dist/dto/global";
|
|
3
4
|
export interface RemoteServiceOptions {
|
|
4
5
|
baseURL: string;
|
|
5
6
|
auth?: {
|
|
@@ -27,6 +28,8 @@ export declare class RemoteService {
|
|
|
27
28
|
checkFindById<T>(id: string): Promise<T | null>;
|
|
28
29
|
fetchByIds<T>(ids: string[]): Promise<(Awaited<T> | null)[]>;
|
|
29
30
|
fetchAll<T>(query?: string): Promise<T[]>;
|
|
31
|
+
fetchAllWithPagination<T>(page?: number, limit?: number, query?: string): Promise<IArrayDataResponse<T>>;
|
|
32
|
+
update<T, K>(id: string, body: K): Promise<T | null>;
|
|
30
33
|
deleteById<T>(id: string): Promise<T | null>;
|
|
31
34
|
}
|
|
32
35
|
//# sourceMappingURL=remote.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote.service.d.ts","sourceRoot":"","sources":["../../../src/modules/remote/remote.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"remote.service.d.ts","sourceRoot":"","sources":["../../../src/modules/remote/remote.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,gBAAgB,CAAC;IAExB,KAAK,CAAC,EAAE;QACN,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QACzC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACrE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;KACzC,CAAC;CACH;AAED,qBAAa,aAAa;IAEtB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,oBAAoB;IAGzC,cAAc;IAId,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM;YAIX,YAAY;YASZ,UAAU;YASV,eAAe;IASvB,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAkB3C,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAQ/C,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE;IAM3B,QAAQ,CAAC,CAAC,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAWrC,sBAAsB,CAAC,CAAC,EAC5B,IAAI,GAAE,MAAU,EAChB,KAAK,GAAE,MAAW,EAClB,KAAK,SAAK,GACT,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAe3B,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAehC,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;CAenD"}
|
|
@@ -86,7 +86,8 @@ class RemoteService {
|
|
|
86
86
|
}
|
|
87
87
|
fetchByIds(ids) {
|
|
88
88
|
return __awaiter(this, void 0, void 0, function* () {
|
|
89
|
-
|
|
89
|
+
let results = yield Promise.all(ids.map((id) => this.fetchById(id)));
|
|
90
|
+
results = results.filter((r) => Boolean(r));
|
|
90
91
|
return results;
|
|
91
92
|
});
|
|
92
93
|
}
|
|
@@ -101,13 +102,37 @@ class RemoteService {
|
|
|
101
102
|
}
|
|
102
103
|
});
|
|
103
104
|
}
|
|
105
|
+
fetchAllWithPagination() {
|
|
106
|
+
return __awaiter(this, arguments, void 0, function* (page = 1, limit = 10, query = "") {
|
|
107
|
+
try {
|
|
108
|
+
const response = yield (0, rxjs_1.firstValueFrom)(this.httpService.get(this.getUrl() + `?page=${page}&limit=${limit}&q=${query}`));
|
|
109
|
+
return (response.data || { data: [], limit, page, totalCount: 0, totalPages: 0 });
|
|
110
|
+
}
|
|
111
|
+
catch (_a) {
|
|
112
|
+
return { data: [], limit, page, totalCount: 0, totalPages: 0 };
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
update(id, body) {
|
|
117
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
118
|
+
const cacheKey = `${this.options.model}:${id}`;
|
|
119
|
+
try {
|
|
120
|
+
const response = yield (0, rxjs_1.firstValueFrom)(this.httpService.put(this.getUrl(id), body));
|
|
121
|
+
yield this.setToCache(cacheKey, response.data);
|
|
122
|
+
return response.data;
|
|
123
|
+
}
|
|
124
|
+
catch (_a) {
|
|
125
|
+
return null;
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
}
|
|
104
129
|
deleteById(id) {
|
|
105
130
|
return __awaiter(this, void 0, void 0, function* () {
|
|
106
131
|
const cacheKey = `${this.options.model}:${id}`;
|
|
132
|
+
console.log("Key to delete: ", cacheKey);
|
|
107
133
|
yield this.removeFromCache(cacheKey);
|
|
108
134
|
try {
|
|
109
135
|
const response = yield (0, rxjs_1.firstValueFrom)(this.httpService.delete(this.getUrl(id)));
|
|
110
|
-
yield this.setToCache(cacheKey, response.data);
|
|
111
136
|
return response.data;
|
|
112
137
|
}
|
|
113
138
|
catch (_a) {
|
|
@@ -1,20 +1,31 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { FindAndCountOptions, FindOptions, Attributes, CreationAttributes, InstanceDestroyOptions } from "sequelize";
|
|
1
|
+
import { FindAndCountOptions, FindOptions, Attributes, CreationAttributes, InstanceDestroyOptions, DestroyOptions } from "sequelize";
|
|
3
2
|
import { Model, ModelCtor } from "sequelize-typescript";
|
|
4
|
-
export
|
|
3
|
+
export type AllType = "all";
|
|
4
|
+
export declare const AllValue: AllType;
|
|
5
|
+
export type IncludeQuery<TInclude extends string = string> = TInclude[] | AllType;
|
|
6
|
+
export declare class SequelizeCRUDService<T extends Model<T>, R = any, TInclude extends string = never> {
|
|
5
7
|
protected readonly repository: ModelCtor<T>;
|
|
6
8
|
private readonly entityName;
|
|
7
|
-
|
|
9
|
+
protected readonly allowedIncludes: readonly TInclude[];
|
|
10
|
+
constructor(repository: ModelCtor<T>, entityName: string, allowedIncludes?: readonly TInclude[]);
|
|
8
11
|
findAll(options?: FindAndCountOptions<Attributes<T>>, page?: number, limit?: number, all?: boolean): Promise<{
|
|
9
12
|
totalCount: number;
|
|
10
13
|
rows: T[];
|
|
11
14
|
}>;
|
|
15
|
+
countAll(options?: FindAndCountOptions<Attributes<T>>): Promise<{
|
|
16
|
+
rows: T[];
|
|
17
|
+
count: number;
|
|
18
|
+
}>;
|
|
19
|
+
findByPk(id: string): Promise<T | null>;
|
|
20
|
+
checkIsFoundByPk(id: string): Promise<T>;
|
|
12
21
|
findOne(options?: FindOptions<Attributes<T>>): Promise<T | null>;
|
|
13
22
|
checkIsFound(options?: FindOptions<Attributes<T>>): Promise<T>;
|
|
14
23
|
create(data: CreationAttributes<T>): Promise<T>;
|
|
24
|
+
bulkCreate(data: CreationAttributes<T>[]): Promise<T[]>;
|
|
15
25
|
update(entity: T, data: Partial<Attributes<T>>): Promise<T>;
|
|
16
26
|
delete(entity: T, options?: InstanceDestroyOptions): Promise<T>;
|
|
17
|
-
|
|
18
|
-
|
|
27
|
+
deleteAll(options: DestroyOptions<Attributes<T>>): Promise<number>;
|
|
28
|
+
makeResponse(entity: T | null | undefined, include?: IncludeQuery<TInclude>): Promise<R>;
|
|
29
|
+
makeResponses(entities: T[], include?: IncludeQuery<TInclude>): Promise<R[]>;
|
|
19
30
|
}
|
|
20
31
|
//# sourceMappingURL=sequelize-crud.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequelize-crud.service.d.ts","sourceRoot":"","sources":["../../src/services/sequelize-crud.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sequelize-crud.service.d.ts","sourceRoot":"","sources":["../../src/services/sequelize-crud.service.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACf,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,MAAM,OAAO,GAAG,KAAK,CAAC;AAC5B,eAAO,MAAM,QAAQ,EAAE,OAAe,CAAC;AAEvC,MAAM,MAAM,YAAY,CAAC,QAAQ,SAAS,MAAM,GAAG,MAAM,IACrD,QAAQ,EAAE,GACV,OAAO,CAAC;AAEZ,qBACa,oBAAoB,CAC/B,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,EAClB,CAAC,GAAG,GAAG,EACP,QAAQ,SAAS,MAAM,GAAG,KAAK;IAG7B,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,SAAS,QAAQ,EAAE;gBAFpC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,EAC1B,UAAU,EAAE,MAAM,EAChB,eAAe,GAAE,SAAS,QAAQ,EAAO;IAIxD,OAAO,CACX,OAAO,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAC5C,IAAI,SAAI,EACR,KAAK,SAAK,EACV,GAAG,UAAQ;;cAUwB,CAAC,EAAE;;IAGlC,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;;;;IAIrD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAIvC,gBAAgB,CAAC,EAAE,EAAE,MAAM;IAS3B,OAAO,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAI5C,YAAY,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAWjD,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAKlC,UAAU,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE;IAIxC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAI9C,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,sBAAsB;IAKlD,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAKhD,YAAY,CAChB,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,EAC5B,OAAO,GAAE,YAAY,CAAC,QAAQ,CAAM,GACnC,OAAO,CAAC,CAAC,CAAC;IAMP,aAAa,CACjB,QAAQ,EAAE,CAAC,EAAE,EACb,OAAO,GAAE,YAAY,CAAC,QAAQ,CAAM,GACnC,OAAO,CAAC,CAAC,EAAE,CAAC;CAKhB"}
|
|
@@ -18,12 +18,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
18
18
|
});
|
|
19
19
|
};
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
exports.SequelizeCRUDService = void 0;
|
|
21
|
+
exports.SequelizeCRUDService = exports.AllValue = void 0;
|
|
22
22
|
const common_1 = require("@nestjs/common");
|
|
23
|
+
exports.AllValue = "all";
|
|
23
24
|
let SequelizeCRUDService = class SequelizeCRUDService {
|
|
24
|
-
constructor(repository, entityName
|
|
25
|
+
constructor(repository, entityName, allowedIncludes = [] // ✅ suggestions come from here
|
|
26
|
+
) {
|
|
25
27
|
this.repository = repository;
|
|
26
28
|
this.entityName = entityName;
|
|
29
|
+
this.allowedIncludes = allowedIncludes;
|
|
27
30
|
}
|
|
28
31
|
// --- Basic CRUD methods ---
|
|
29
32
|
findAll(options_1) {
|
|
@@ -36,6 +39,24 @@ let SequelizeCRUDService = class SequelizeCRUDService {
|
|
|
36
39
|
return { totalCount, rows: rows };
|
|
37
40
|
});
|
|
38
41
|
}
|
|
42
|
+
countAll(options) {
|
|
43
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
+
return yield this.repository.findAndCountAll(options);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
findByPk(id) {
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
return yield this.repository.findByPk(id);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
checkIsFoundByPk(id) {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
const entity = yield this.findByPk(id);
|
|
55
|
+
if (!entity)
|
|
56
|
+
throw new common_1.NotFoundException(`${this.entityName} with id ${id} is not found!`);
|
|
57
|
+
return entity;
|
|
58
|
+
});
|
|
59
|
+
}
|
|
39
60
|
findOne(options) {
|
|
40
61
|
return __awaiter(this, void 0, void 0, function* () {
|
|
41
62
|
return (yield this.repository.findOne(options));
|
|
@@ -45,19 +66,24 @@ let SequelizeCRUDService = class SequelizeCRUDService {
|
|
|
45
66
|
return __awaiter(this, void 0, void 0, function* () {
|
|
46
67
|
const entity = yield this.findOne(options);
|
|
47
68
|
if (!entity)
|
|
48
|
-
throw new common_1.NotFoundException(`${this.entityName} is not found!`);
|
|
69
|
+
throw new common_1.NotFoundException(`${this.entityName} with options ${JSON.stringify(options)} is not found!`);
|
|
49
70
|
return entity;
|
|
50
71
|
});
|
|
51
72
|
}
|
|
52
73
|
create(data) {
|
|
53
74
|
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
-
|
|
75
|
+
const object = yield this.repository.create(data);
|
|
76
|
+
return object;
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
bulkCreate(data) {
|
|
80
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
81
|
+
return this.repository.bulkCreate(data);
|
|
55
82
|
});
|
|
56
83
|
}
|
|
57
84
|
update(entity, data) {
|
|
58
85
|
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
-
yield entity.update(data);
|
|
60
|
-
return entity;
|
|
86
|
+
return yield entity.update(data);
|
|
61
87
|
});
|
|
62
88
|
}
|
|
63
89
|
delete(entity, options) {
|
|
@@ -66,6 +92,11 @@ let SequelizeCRUDService = class SequelizeCRUDService {
|
|
|
66
92
|
return entity;
|
|
67
93
|
});
|
|
68
94
|
}
|
|
95
|
+
deleteAll(options) {
|
|
96
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
97
|
+
return yield this.repository.destroy(options);
|
|
98
|
+
});
|
|
99
|
+
}
|
|
69
100
|
// --- Generic response builders ---
|
|
70
101
|
makeResponse(entity_1) {
|
|
71
102
|
return __awaiter(this, arguments, void 0, function* (entity, include = []) {
|
|
@@ -81,5 +112,5 @@ let SequelizeCRUDService = class SequelizeCRUDService {
|
|
|
81
112
|
exports.SequelizeCRUDService = SequelizeCRUDService;
|
|
82
113
|
exports.SequelizeCRUDService = SequelizeCRUDService = __decorate([
|
|
83
114
|
(0, common_1.Injectable)(),
|
|
84
|
-
__metadata("design:paramtypes", [Object, String])
|
|
115
|
+
__metadata("design:paramtypes", [Object, String, Array])
|
|
85
116
|
], SequelizeCRUDService);
|
|
@@ -11,24 +11,20 @@ export interface NewCommentAddedMetadata {
|
|
|
11
11
|
model: DTO.Comment.CommentSupportedModels;
|
|
12
12
|
addedById: string;
|
|
13
13
|
}
|
|
14
|
-
export interface NewEventShownToEndUserMetadata {
|
|
15
|
-
eventId: string;
|
|
16
|
-
}
|
|
17
14
|
/**
|
|
18
15
|
* Map each Notification type to its metadata type
|
|
19
16
|
*/
|
|
20
17
|
export type NotificationMetadataMap = {
|
|
21
|
-
[CONSTANTS.
|
|
18
|
+
[CONSTANTS.AccountAlertSetting.AlertActions.Login]: {};
|
|
19
|
+
[CONSTANTS.AccountAlertSetting.AlertActions
|
|
22
20
|
.TaskAssignedToYou]: TaskAssignedToYouMetadata;
|
|
23
|
-
[CONSTANTS.
|
|
21
|
+
[CONSTANTS.AccountAlertSetting.AlertActions
|
|
24
22
|
.TaskUnassignedFromYou]: TaskUnassignedFromYouMetadata;
|
|
25
|
-
[CONSTANTS.
|
|
23
|
+
[CONSTANTS.AccountAlertSetting.AlertActions
|
|
26
24
|
.NewCommentAdded]: NewCommentAddedMetadata;
|
|
27
|
-
[CONSTANTS.Notification.NotificationTypes
|
|
28
|
-
.NewEventShownToEndUser]: NewEventShownToEndUserMetadata;
|
|
29
25
|
};
|
|
30
26
|
/**
|
|
31
27
|
* Generic Metadata type resolver
|
|
32
28
|
*/
|
|
33
|
-
export type NotificationMetadata<T extends CONSTANTS.
|
|
29
|
+
export type NotificationMetadata<T extends CONSTANTS.AccountAlertSetting.AlertActions> = NotificationMetadataMap[T];
|
|
34
30
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/notification/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/notification/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,CAAC,SAAS,CAAC,mBAAmB,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;IACvD,CAAC,SAAS,CAAC,mBAAmB,CAAC,YAAY;SACxC,iBAAiB,CAAC,EAAE,yBAAyB,CAAC;IACjD,CAAC,SAAS,CAAC,mBAAmB,CAAC,YAAY;SACxC,qBAAqB,CAAC,EAAE,6BAA6B,CAAC;IACzD,CAAC,SAAS,CAAC,mBAAmB,CAAC,YAAY;SACxC,eAAe,CAAC,EAAE,uBAAuB,CAAC;CAC9C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,CAC9B,CAAC,SAAS,SAAS,CAAC,mBAAmB,CAAC,YAAY,IAClD,uBAAuB,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { CONSTANTS } from "sea-platform-helpers";
|
|
2
|
+
export interface IBaseEmail {
|
|
3
|
+
accountId: string;
|
|
4
|
+
}
|
|
5
|
+
export interface ILogin<T extends CONSTANTS.AccountAlertSetting.AlertActions = CONSTANTS.AccountAlertSetting.AlertActions> extends IBaseEmail {
|
|
6
|
+
device: string;
|
|
7
|
+
time: string;
|
|
8
|
+
location: string;
|
|
9
|
+
ip_address: string;
|
|
10
|
+
}
|
|
11
|
+
export interface INewCommentAdded<T extends CONSTANTS.AccountAlertSetting.AlertActions = CONSTANTS.AccountAlertSetting.AlertActions> extends IBaseEmail {
|
|
12
|
+
commentId: string;
|
|
13
|
+
}
|
|
14
|
+
export interface ITaskAssignedToYou<T extends CONSTANTS.AccountAlertSetting.AlertActions = CONSTANTS.AccountAlertSetting.AlertActions> extends IBaseEmail {
|
|
15
|
+
taskId: string;
|
|
16
|
+
time: string;
|
|
17
|
+
}
|
|
18
|
+
export interface ITaskUnassignedFromYou<T extends CONSTANTS.AccountAlertSetting.AlertActions = CONSTANTS.AccountAlertSetting.AlertActions> extends IBaseEmail {
|
|
19
|
+
taskId: string;
|
|
20
|
+
time: string;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/types/queue/dto/email/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,MAAM,CACrB,CAAC,SAAS,SAAS,CAAC,mBAAmB,CAAC,YAAY,GAAG,SAAS,CAAC,mBAAmB,CAAC,YAAY,CACjG,SAAQ,UAAU;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB,CAC/B,CAAC,SAAS,SAAS,CAAC,mBAAmB,CAAC,YAAY,GAAG,SAAS,CAAC,mBAAmB,CAAC,YAAY,CACjG,SAAQ,UAAU;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB,CACjC,CAAC,SAAS,SAAS,CAAC,mBAAmB,CAAC,YAAY,GAAG,SAAS,CAAC,mBAAmB,CAAC,YAAY,CACjG,SAAQ,UAAU;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,sBAAsB,CACrC,CAAC,SAAS,SAAS,CAAC,mBAAmB,CAAC,YAAY,GAAG,SAAS,CAAC,mBAAmB,CAAC,YAAY,CACjG,SAAQ,UAAU;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/queue/dto/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,WAAW,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/queue/dto/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,WAAW,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,QAAQ,MAAM,SAAS,CAAC"}
|
|
@@ -33,6 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.ActivityDto = exports.NotificationDto = void 0;
|
|
36
|
+
exports.EmailDto = exports.ActivityDto = exports.NotificationDto = void 0;
|
|
37
37
|
exports.NotificationDto = __importStar(require("./notification"));
|
|
38
38
|
exports.ActivityDto = __importStar(require("./activity"));
|
|
39
|
+
exports.EmailDto = __importStar(require("./email"));
|
|
@@ -4,15 +4,15 @@ interface IBaseNotification {
|
|
|
4
4
|
applicationKey: CONSTANTS.Application.ApplicationKeys;
|
|
5
5
|
objectId?: string;
|
|
6
6
|
}
|
|
7
|
-
export interface ITaskAssignedToYou<T extends CONSTANTS.
|
|
7
|
+
export interface ITaskAssignedToYou<T extends CONSTANTS.AccountAlertSetting.AlertActions = CONSTANTS.AccountAlertSetting.AlertActions> extends IBaseNotification {
|
|
8
8
|
accountId: string;
|
|
9
9
|
metadata: NotificationMetadata<T>;
|
|
10
10
|
}
|
|
11
|
-
export interface ITaskUnassignedFromYou<T extends CONSTANTS.
|
|
11
|
+
export interface ITaskUnassignedFromYou<T extends CONSTANTS.AccountAlertSetting.AlertActions = CONSTANTS.AccountAlertSetting.AlertActions> extends IBaseNotification {
|
|
12
12
|
accountId: string;
|
|
13
13
|
metadata: NotificationMetadata<T>;
|
|
14
14
|
}
|
|
15
|
-
export interface INewCommentAdded<T extends CONSTANTS.
|
|
15
|
+
export interface INewCommentAdded<T extends CONSTANTS.AccountAlertSetting.AlertActions = CONSTANTS.AccountAlertSetting.AlertActions> extends IBaseNotification {
|
|
16
16
|
accountId: string;
|
|
17
17
|
metadata: NotificationMetadata<T>;
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/types/queue/dto/notification/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,UAAU,iBAAiB;IACzB,cAAc,EAAE,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB,CACjC,CAAC,SAAS,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/types/queue/dto/notification/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,UAAU,iBAAiB;IACzB,cAAc,EAAE,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB,CACjC,CAAC,SAAS,SAAS,CAAC,mBAAmB,CAAC,YAAY,GAAG,SAAS,CAAC,mBAAmB,CAAC,YAAY,CACjG,SAAQ,iBAAiB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,sBAAsB,CACrC,CAAC,SAAS,SAAS,CAAC,mBAAmB,CAAC,YAAY,GAAG,SAAS,CAAC,mBAAmB,CAAC,YAAY,CACjG,SAAQ,iBAAiB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB,CAC/B,CAAC,SAAS,SAAS,CAAC,mBAAmB,CAAC,YAAY,GAAG,SAAS,CAAC,mBAAmB,CAAC,YAAY,CACjG,SAAQ,iBAAiB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;CACnC"}
|
|
@@ -20,7 +20,12 @@ export type ActivityJobTypes = {
|
|
|
20
20
|
ProgramGetUpdated: DTO.ActivityDto.IProgramGetUpdated;
|
|
21
21
|
ProgramGetDeleted: DTO.ActivityDto.IProgramGetDeleted;
|
|
22
22
|
};
|
|
23
|
-
export type EmailJobTypes = {
|
|
23
|
+
export type EmailJobTypes = {
|
|
24
|
+
Login: DTO.EmailDto.ILogin;
|
|
25
|
+
NewCommentAdded: DTO.EmailDto.INewCommentAdded;
|
|
26
|
+
TaskAssignedToYou: DTO.EmailDto.ITaskAssignedToYou;
|
|
27
|
+
TaskUnassignedFromYou: DTO.EmailDto.ITaskUnassignedFromYou;
|
|
28
|
+
};
|
|
24
29
|
export type MessageJobMap = {
|
|
25
30
|
[Messages.Notification]: NotificationJobTypes;
|
|
26
31
|
[Messages.Email]: EmailJobTypes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/queue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAE7B,MAAM,MAAM,oBAAoB,GAAG;IACjC,iBAAiB,EAAE,GAAG,CAAC,eAAe,CAAC,kBAAkB,CAAC;IAC1D,qBAAqB,EAAE,GAAG,CAAC,eAAe,CAAC,sBAAsB,CAAC;IAClE,eAAe,EAAE,GAAG,CAAC,eAAe,CAAC,gBAAgB,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,YAAY,EAAE,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC;IAC5C,eAAe,EAAE,GAAG,CAAC,WAAW,CAAC,gBAAgB,CAAC;IAClD,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC;IACtD,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC;IACtD,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC;IAChD,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC;IAChD,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC;IAChD,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC;IACtD,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC;IACtD,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC;IACtD,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC;IACtD,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC;IACtD,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/queue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAE7B,MAAM,MAAM,oBAAoB,GAAG;IACjC,iBAAiB,EAAE,GAAG,CAAC,eAAe,CAAC,kBAAkB,CAAC;IAC1D,qBAAqB,EAAE,GAAG,CAAC,eAAe,CAAC,sBAAsB,CAAC;IAClE,eAAe,EAAE,GAAG,CAAC,eAAe,CAAC,gBAAgB,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,YAAY,EAAE,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC;IAC5C,eAAe,EAAE,GAAG,CAAC,WAAW,CAAC,gBAAgB,CAAC;IAClD,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC;IACtD,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC;IACtD,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC;IAChD,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC;IAChD,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC;IAChD,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC;IACtD,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC;IACtD,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC;IACtD,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC;IACtD,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC;IACtD,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC3B,eAAe,EAAE,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAC/C,iBAAiB,EAAE,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACnD,qBAAqB,EAAE,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC;CAC5D,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,oBAAoB,CAAC;IAC9C,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAChC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CACvC,CAAC;AAGF,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CAC7E,CAAC,EAAE,MAAM,CAAC,KACP,IAAI,GACL,CAAC,GACD,KAAK,CAAC;AAGV,KAAK,aAAa,CAAC,CAAC,IAAI;KACrB,CAAC,IAAI,MAAM,CAAC,GAAG;SACb,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5D;CACF,CAAC,MAAM,CAAC,CAAC,CAAC;AAGX,MAAM,MAAM,IAAI,GAAG,mBAAmB,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;AAGrE,MAAM,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC;AACjC,MAAM,MAAM,UAAU,CAAC,IAAI,SAAS,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sea-backend-helpers",
|
|
3
3
|
"description": "SEA Backend helpers library",
|
|
4
|
-
"version": "1.5.
|
|
4
|
+
"version": "1.5.12",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"build": "tsc --build",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"reflect-metadata": "^0.1.13",
|
|
34
34
|
"rxjs": "^7.0.0",
|
|
35
35
|
"sea-backend-helpers": "file:",
|
|
36
|
-
"sea-platform-helpers": "^1.5.
|
|
36
|
+
"sea-platform-helpers": "^1.5.18",
|
|
37
37
|
"sequelize": "^6.37.5",
|
|
38
38
|
"sequelize-typescript": "^2.1.6"
|
|
39
39
|
},
|