@ubs-platform/crud-base 5.8.0 → 6.1.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/base-crud-controller.d.ts +12 -6
- package/base-crud-controller.js +40 -18
- package/base-crud-controller.js.map +1 -1
- package/base-crud-service.d.ts +11 -9
- package/base-crud-service.js +15 -12
- package/base-crud-service.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { BaseCrudService } from '@ubs-platform/crud-base';
|
|
2
2
|
import { SearchRequest } from '@ubs-platform/crud-base-common';
|
|
3
|
+
import { UserAuthBackendDTO } from '@ubs-platform/users-common';
|
|
4
|
+
import { Optional } from '@ubs-platform/crud-base-common/utils';
|
|
3
5
|
export type RoleAuthorizationConfigKey = 'EDIT' | 'ADD' | 'REMOVE' | 'GETALL' | 'GETID' | 'ALL';
|
|
4
6
|
export type RoleAuthorizationDetailed = {
|
|
5
7
|
needsAuthenticated?: boolean;
|
|
@@ -15,15 +17,19 @@ export declare const BaseCrudControllerGenerator: <MODEL, INPUT extends {
|
|
|
15
17
|
_id?: any;
|
|
16
18
|
}, OUTPUT, SEARCH>(r: ControllerConfiguration) => {
|
|
17
19
|
new (servicex: BaseCrudService<MODEL, INPUT, OUTPUT, SEARCH>): {
|
|
18
|
-
fetchAll(s?: SEARCH): Promise<OUTPUT[]>;
|
|
19
|
-
search(s: SEARCH & SearchRequest): Promise<import("@ubs-platform/crud-base-common").SearchResult<OUTPUT>>;
|
|
20
|
+
fetchAll(s?: SEARCH, user?: UserAuthBackendDTO): Promise<OUTPUT[]>;
|
|
21
|
+
search(s: SEARCH & SearchRequest, user?: UserAuthBackendDTO): Promise<import("@ubs-platform/crud-base-common").SearchResult<OUTPUT>>;
|
|
20
22
|
fetchOne({ id }: {
|
|
21
23
|
id: any;
|
|
22
|
-
}): Promise<OUTPUT>;
|
|
23
|
-
add(body: INPUT): Promise<OUTPUT>;
|
|
24
|
-
edit(body: INPUT): Promise<OUTPUT>;
|
|
24
|
+
}, user?: UserAuthBackendDTO): Promise<OUTPUT>;
|
|
25
|
+
add(body: INPUT, user?: UserAuthBackendDTO): Promise<OUTPUT>;
|
|
26
|
+
edit(body: INPUT, user?: UserAuthBackendDTO): Promise<OUTPUT>;
|
|
25
27
|
remove({ id }: {
|
|
26
28
|
id: any;
|
|
27
|
-
}): Promise<OUTPUT>;
|
|
29
|
+
}, user?: UserAuthBackendDTO): Promise<OUTPUT>;
|
|
30
|
+
checkUser(operation: "ADD" | "EDIT" | "REMOVE" | "GETALL" | "GETID", user: Optional<UserAuthBackendDTO>, queriesAndPaths: Optional<{
|
|
31
|
+
[key: string]: any;
|
|
32
|
+
}>, body: Optional<INPUT>): Promise<void>;
|
|
33
|
+
manipulateSearch(user: Optional<UserAuthBackendDTO>, queriesAndPaths: Optional<SEARCH>): any;
|
|
28
34
|
};
|
|
29
35
|
};
|
package/base-crud-controller.js
CHANGED
|
@@ -62,74 +62,96 @@ const BaseCrudControllerGenerator = (r) => {
|
|
|
62
62
|
constructor(servicex) {
|
|
63
63
|
service = servicex;
|
|
64
64
|
}
|
|
65
|
-
async fetchAll(s) {
|
|
66
|
-
|
|
65
|
+
async fetchAll(s, user) {
|
|
66
|
+
const manipulatedSearch = this.manipulateSearch(user, s);
|
|
67
|
+
return await service.fetchAll(manipulatedSearch, user);
|
|
67
68
|
}
|
|
68
|
-
async search(s) {
|
|
69
|
-
|
|
69
|
+
async search(s, user) {
|
|
70
|
+
const manipulatedSearch = this.manipulateSearch(user, s);
|
|
71
|
+
return await service.searchPagination(manipulatedSearch, user);
|
|
70
72
|
}
|
|
71
|
-
async fetchOne({ id }) {
|
|
72
|
-
return await service.fetchOne(id);
|
|
73
|
+
async fetchOne({ id }, user) {
|
|
74
|
+
return await service.fetchOne(id, user);
|
|
73
75
|
}
|
|
74
|
-
async add(body) {
|
|
75
|
-
|
|
76
|
+
async add(body, user) {
|
|
77
|
+
await this.checkUser('ADD', user, null, body);
|
|
78
|
+
return await service.create(body, user);
|
|
76
79
|
}
|
|
77
|
-
async edit(body) {
|
|
80
|
+
async edit(body, user) {
|
|
78
81
|
if (body._id == null) {
|
|
79
82
|
throw new common_1.NotFoundException();
|
|
80
83
|
}
|
|
81
|
-
|
|
84
|
+
await this.checkUser('EDIT', user, null, body);
|
|
85
|
+
return await service.edit(body, user);
|
|
82
86
|
}
|
|
83
|
-
async remove({ id }) {
|
|
84
|
-
|
|
87
|
+
async remove({ id }, user) {
|
|
88
|
+
await this.checkUser('REMOVE', user, { id }, null);
|
|
89
|
+
return await service.remove(id, user);
|
|
90
|
+
}
|
|
91
|
+
async checkUser(operation, user, queriesAndPaths, body) {
|
|
92
|
+
}
|
|
93
|
+
manipulateSearch(user, queriesAndPaths) {
|
|
94
|
+
return queriesAndPaths;
|
|
85
95
|
}
|
|
86
96
|
}
|
|
87
97
|
__decorate([
|
|
88
98
|
RoleConfig('GETALL'),
|
|
89
99
|
(0, common_1.Get)(),
|
|
100
|
+
(0, common_1.UseGuards)(users_microservice_helper_1.UserIntercept),
|
|
90
101
|
__param(0, (0, common_1.Query)()),
|
|
102
|
+
__param(1, (0, users_microservice_helper_1.CurrentUser)()),
|
|
91
103
|
__metadata("design:type", Function),
|
|
92
|
-
__metadata("design:paramtypes", [Object]),
|
|
104
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
93
105
|
__metadata("design:returntype", Promise)
|
|
94
106
|
], ControllerClass.prototype, "fetchAll", null);
|
|
95
107
|
__decorate([
|
|
96
108
|
RoleConfig('GETALL'),
|
|
97
109
|
(0, common_1.Get)('_search'),
|
|
110
|
+
(0, common_1.UseGuards)(users_microservice_helper_1.UserIntercept),
|
|
98
111
|
__param(0, (0, common_1.Query)()),
|
|
112
|
+
__param(1, (0, users_microservice_helper_1.CurrentUser)()),
|
|
99
113
|
__metadata("design:type", Function),
|
|
100
|
-
__metadata("design:paramtypes", [Object]),
|
|
114
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
101
115
|
__metadata("design:returntype", Promise)
|
|
102
116
|
], ControllerClass.prototype, "search", null);
|
|
103
117
|
__decorate([
|
|
104
118
|
(0, common_1.Get)('/:id'),
|
|
105
119
|
RoleConfig('GETID'),
|
|
120
|
+
(0, common_1.UseGuards)(users_microservice_helper_1.UserIntercept),
|
|
106
121
|
__param(0, (0, common_1.Param)()),
|
|
122
|
+
__param(1, (0, users_microservice_helper_1.CurrentUser)()),
|
|
107
123
|
__metadata("design:type", Function),
|
|
108
|
-
__metadata("design:paramtypes", [Object]),
|
|
124
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
109
125
|
__metadata("design:returntype", Promise)
|
|
110
126
|
], ControllerClass.prototype, "fetchOne", null);
|
|
111
127
|
__decorate([
|
|
112
128
|
RoleConfig('ADD'),
|
|
113
129
|
(0, common_1.Post)(),
|
|
130
|
+
(0, common_1.UseGuards)(users_microservice_helper_1.UserIntercept),
|
|
114
131
|
__param(0, (0, common_1.Body)()),
|
|
132
|
+
__param(1, (0, users_microservice_helper_1.CurrentUser)()),
|
|
115
133
|
__metadata("design:type", Function),
|
|
116
|
-
__metadata("design:paramtypes", [Object]),
|
|
134
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
117
135
|
__metadata("design:returntype", Promise)
|
|
118
136
|
], ControllerClass.prototype, "add", null);
|
|
119
137
|
__decorate([
|
|
120
138
|
RoleConfig('EDIT'),
|
|
121
139
|
(0, common_1.Put)(),
|
|
140
|
+
(0, common_1.UseGuards)(users_microservice_helper_1.UserIntercept),
|
|
122
141
|
__param(0, (0, common_1.Body)()),
|
|
142
|
+
__param(1, (0, users_microservice_helper_1.CurrentUser)()),
|
|
123
143
|
__metadata("design:type", Function),
|
|
124
|
-
__metadata("design:paramtypes", [Object]),
|
|
144
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
125
145
|
__metadata("design:returntype", Promise)
|
|
126
146
|
], ControllerClass.prototype, "edit", null);
|
|
127
147
|
__decorate([
|
|
128
148
|
(0, common_1.Delete)(':id'),
|
|
129
149
|
RoleConfig('REMOVE'),
|
|
150
|
+
(0, common_1.UseGuards)(users_microservice_helper_1.UserIntercept),
|
|
130
151
|
__param(0, (0, common_1.Param)()),
|
|
152
|
+
__param(1, (0, users_microservice_helper_1.CurrentUser)()),
|
|
131
153
|
__metadata("design:type", Function),
|
|
132
|
-
__metadata("design:paramtypes", [Object]),
|
|
154
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
133
155
|
__metadata("design:returntype", Promise)
|
|
134
156
|
], ControllerClass.prototype, "remove", null);
|
|
135
157
|
return ControllerClass;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-crud-controller.js","sourceRoot":"","sources":["../../../../../libs/crud-base/src/base-crud-controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAWwB;AAExB,
|
|
1
|
+
{"version":3,"file":"base-crud-controller.js","sourceRoot":"","sources":["../../../../../libs/crud-base/src/base-crud-controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAWwB;AAExB,uFAIiD;AAEjD,2DAA8D;AA+BvD,MAAM,2BAA2B,GAAG,CAMvC,CAA0B,EAC5B,EAAE;IACA,MAAM,aAAa,GAAG,CAAC,KAAiC,EAAE,EAAE;QACxD,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC;QACtD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACb,OAAO;gBACH,kBAAkB,EAAE,IAAI;gBACxB,KAAK,EAAE,EAAE;aACiB,CAAC;QACnC,CAAC;aAAM,IAAI,CAAC,CAAC,EAAE,CAAC;YACZ,OAAO;gBACH,kBAAkB,EAAE,KAAK;gBACzB,KAAK,EAAE,EAAE;aACiB,CAAC;QACnC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,CAAC,kBAAkB,IAAI,IAAI,EAAE,CAAC;gBAC/B,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;oBAClB,CAAC,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACJ,CAAC,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBACjC,CAAC;YACL,CAAC;YACD,OAAO,CAA8B,CAAC;QAC1C,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,KAAiC,EAAE,EAAE;QACrD,IAAI,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QAEzC,MAAM,KAAK,GAAG,IAAA,kBAAS,EAEnB,GAAG;YACC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,wCAAY,CAAC,CAAC,CAAC,IAAI;YACtD,aAAa,CAAC,kBAAkB,IAAI,aAAa,CAAC,KAAK;gBACnD,CAAC,CAAC,wBAAU;gBACZ,CAAC,CAAC,IAAI;SACb,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CACrB,CAAC;QACF,MAAM,KAAK,GAAG,IAAA,mBAAK,EAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAEzC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE;YACnC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YACnC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACvC,CAAC,CAAC;IACN,CAAC,CAAC;IACF,IAAI,OAAsD,CAAC;IAE3D,MAAM,eAAe;QACjB,YAAY,QAAuD;YAC/D,OAAO,GAAG,QAAQ,CAAC;QACvB,CAAC;QAOK,AAAN,KAAK,CAAC,QAAQ,CACD,CAAU,EACJ,IAAyB;YAExC,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACzD,OAAO,MAAM,OAAO,CAAC,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAC3D,CAAC;QAIK,AAAN,KAAK,CAAC,MAAM,CACC,CAAyB,EACnB,IAAyB;YAExC,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACzD,OAAO,MAAM,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QACnE,CAAC;QAIK,AAAN,KAAK,CAAC,QAAQ,CACD,EAAE,EAAE,EAAe,EACb,IAAyB;YAExC,OAAO,MAAM,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;QAKK,AAAN,KAAK,CAAC,GAAG,CACG,IAAW,EACJ,IAAyB;YAExC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAE9C,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;QAKK,AAAN,KAAK,CAAC,IAAI,CACE,IAAW,EACJ,IAAyB;YAExC,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,0BAAiB,EAAE,CAAC;YAClC,CAAC;YACD,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAG/C,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC;QAKK,AAAN,KAAK,CAAC,MAAM,CACC,EAAE,EAAE,EAAe,EACb,IAAyB;YAExC,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YAInD,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC;QAED,KAAK,CAAC,SAAS,CACX,SAAyD,EACzD,IAAkC,EAClC,eAAiD,EACjD,IAAqB;QAGzB,CAAC;QAED,gBAAgB,CACZ,IAAkC,EAClC,eAAiC;YAGjC,OAAO,eAAe,CAAC;QAC3B,CAAC;KACJ;IArFS;QAHL,UAAU,CAAC,QAAQ,CAAC;QACpB,IAAA,YAAG,GAAE;QACL,IAAA,kBAAS,EAAC,yCAAa,CAAC;QAEpB,WAAA,IAAA,cAAK,GAAE,CAAA;QACP,WAAA,IAAA,uCAAW,GAAE,CAAA;;;;mDAIjB;IAIK;QAHL,UAAU,CAAC,QAAQ,CAAC;QACpB,IAAA,YAAG,EAAC,SAAS,CAAC;QACd,IAAA,kBAAS,EAAC,yCAAa,CAAC;QAEpB,WAAA,IAAA,cAAK,GAAE,CAAA;QACP,WAAA,IAAA,uCAAW,GAAE,CAAA;;;;iDAIjB;IAIK;QAHL,IAAA,YAAG,EAAC,MAAM,CAAC;QACX,UAAU,CAAC,OAAO,CAAC;QACnB,IAAA,kBAAS,EAAC,yCAAa,CAAC;QAEpB,WAAA,IAAA,cAAK,GAAE,CAAA;QACP,WAAA,IAAA,uCAAW,GAAE,CAAA;;;;mDAGjB;IAKK;QAHL,UAAU,CAAC,KAAK,CAAC;QACjB,IAAA,aAAI,GAAE;QACN,IAAA,kBAAS,EAAC,yCAAa,CAAC;QAEpB,WAAA,IAAA,aAAI,GAAE,CAAA;QACN,WAAA,IAAA,uCAAW,GAAE,CAAA;;;;8CAKjB;IAKK;QAHL,UAAU,CAAC,MAAM,CAAC;QAClB,IAAA,YAAG,GAAE;QACL,IAAA,kBAAS,EAAC,yCAAa,CAAC;QAEpB,WAAA,IAAA,aAAI,GAAE,CAAA;QACN,WAAA,IAAA,uCAAW,GAAE,CAAA;;;;+CASjB;IAKK;QAHL,IAAA,eAAM,EAAC,KAAK,CAAC;QACb,UAAU,CAAC,QAAQ,CAAC;QACpB,IAAA,kBAAS,EAAC,yCAAa,CAAC;QAEpB,WAAA,IAAA,cAAK,GAAE,CAAA;QACP,WAAA,IAAA,uCAAW,GAAE,CAAA;;;;iDAOjB;IAoBL,OAAO,eAAe,CAAC;AAC3B,CAAC,CAAC;AAvJW,QAAA,2BAA2B,+BAuJtC"}
|
package/base-crud-service.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { SearchRequest, SearchResult } from '@ubs-platform/crud-base-common';
|
|
2
2
|
import { FilterQuery, Model, ObjectId } from 'mongoose';
|
|
3
3
|
import { BaseCrudKlass } from './base-crud-klass';
|
|
4
|
+
import { UserAuthBackendDTO } from '@ubs-platform/users-common';
|
|
4
5
|
export declare abstract class BaseCrudService<MODEL, INPUT extends {
|
|
5
6
|
_id?: any;
|
|
6
7
|
}, OUTPUT, SEARCH> extends BaseCrudKlass {
|
|
@@ -8,13 +9,14 @@ export declare abstract class BaseCrudService<MODEL, INPUT extends {
|
|
|
8
9
|
constructor(m: Model<MODEL>);
|
|
9
10
|
abstract toOutput(m: MODEL): Promise<OUTPUT> | OUTPUT;
|
|
10
11
|
abstract moveIntoModel(model: MODEL, i: INPUT): Promise<MODEL> | MODEL;
|
|
11
|
-
abstract searchParams(s?: Partial<SEARCH>): FilterQuery<MODEL
|
|
12
|
-
convertAndReturnTheList(list: MODEL[]): Promise<OUTPUT[]>;
|
|
13
|
-
searchPagination(searchAndPagination?: SEARCH & SearchRequest): Promise<SearchResult<OUTPUT>>;
|
|
14
|
-
fetchAll(s?: Partial<SEARCH
|
|
15
|
-
fetchOne(id: string | ObjectId): Promise<OUTPUT>;
|
|
16
|
-
create(input: INPUT): Promise<OUTPUT>;
|
|
17
|
-
edit(input: INPUT): Promise<OUTPUT>;
|
|
18
|
-
remove(id: string | ObjectId): Promise<OUTPUT>;
|
|
19
|
-
afterCreate(m: OUTPUT): Promise<void>;
|
|
12
|
+
abstract searchParams(s?: Partial<SEARCH>): Promise<FilterQuery<MODEL>>;
|
|
13
|
+
convertAndReturnTheList(list: MODEL[], user?: UserAuthBackendDTO): Promise<OUTPUT[]>;
|
|
14
|
+
searchPagination(searchAndPagination?: SEARCH & SearchRequest, user?: UserAuthBackendDTO): Promise<SearchResult<OUTPUT>>;
|
|
15
|
+
fetchAll(s?: Partial<SEARCH>, user?: UserAuthBackendDTO): Promise<OUTPUT[]>;
|
|
16
|
+
fetchOne(id: string | ObjectId, user?: UserAuthBackendDTO): Promise<OUTPUT>;
|
|
17
|
+
create(input: INPUT, user?: UserAuthBackendDTO): Promise<OUTPUT>;
|
|
18
|
+
edit(input: INPUT, user?: UserAuthBackendDTO): Promise<OUTPUT>;
|
|
19
|
+
remove(id: string | ObjectId, user?: UserAuthBackendDTO): Promise<OUTPUT>;
|
|
20
|
+
afterCreate(m: OUTPUT, user?: UserAuthBackendDTO): Promise<void>;
|
|
21
|
+
beforeCreateOrEdit(i: MODEL, mode: 'EDIT' | 'CREATE', user?: UserAuthBackendDTO): Promise<void>;
|
|
20
22
|
}
|
package/base-crud-service.js
CHANGED
|
@@ -8,7 +8,7 @@ class BaseCrudService extends base_crud_klass_1.BaseCrudKlass {
|
|
|
8
8
|
super();
|
|
9
9
|
this.m = m;
|
|
10
10
|
}
|
|
11
|
-
async convertAndReturnTheList(list) {
|
|
11
|
+
async convertAndReturnTheList(list, user) {
|
|
12
12
|
const outputList = [];
|
|
13
13
|
for (let index = 0; index < list.length; index++) {
|
|
14
14
|
const item = list[index];
|
|
@@ -16,9 +16,9 @@ class BaseCrudService extends base_crud_klass_1.BaseCrudKlass {
|
|
|
16
16
|
}
|
|
17
17
|
return outputList;
|
|
18
18
|
}
|
|
19
|
-
async searchPagination(searchAndPagination) {
|
|
19
|
+
async searchPagination(searchAndPagination, user) {
|
|
20
20
|
const page = searchAndPagination?.page || 0, size = searchAndPagination?.size || 10;
|
|
21
|
-
let s = this.searchParams(searchAndPagination);
|
|
21
|
+
let s = await this.searchParams(searchAndPagination);
|
|
22
22
|
let sort;
|
|
23
23
|
if (searchAndPagination?.sortBy && searchAndPagination.sortRotation) {
|
|
24
24
|
sort = {};
|
|
@@ -28,33 +28,36 @@ class BaseCrudService extends base_crud_klass_1.BaseCrudKlass {
|
|
|
28
28
|
$match: s,
|
|
29
29
|
})).mapAsync((a) => this.toOutput(a));
|
|
30
30
|
}
|
|
31
|
-
async fetchAll(s) {
|
|
32
|
-
const list = await this.m.find(this.searchParams(s)).exec();
|
|
33
|
-
return await this.convertAndReturnTheList(list);
|
|
31
|
+
async fetchAll(s, user) {
|
|
32
|
+
const list = await this.m.find(await this.searchParams(s)).exec();
|
|
33
|
+
return await this.convertAndReturnTheList(list, user);
|
|
34
34
|
}
|
|
35
|
-
async fetchOne(id) {
|
|
35
|
+
async fetchOne(id, user) {
|
|
36
36
|
return this.toOutput((await this.m.findById(id)));
|
|
37
37
|
}
|
|
38
|
-
async create(input) {
|
|
38
|
+
async create(input, user) {
|
|
39
39
|
let newModel = new this.m();
|
|
40
40
|
await this.moveIntoModel(newModel, input);
|
|
41
|
+
await this.beforeCreateOrEdit(newModel, 'CREATE', user);
|
|
41
42
|
await newModel.save();
|
|
42
43
|
const out = await this.toOutput(newModel);
|
|
43
|
-
await this.afterCreate(out);
|
|
44
|
+
await this.afterCreate(out, user);
|
|
44
45
|
return out;
|
|
45
46
|
}
|
|
46
|
-
async edit(input) {
|
|
47
|
+
async edit(input, user) {
|
|
47
48
|
const newModelFirst = await this.m.findById(input._id);
|
|
48
49
|
const newModel = await this.moveIntoModel(newModelFirst, input);
|
|
50
|
+
await this.beforeCreateOrEdit(newModel, 'EDIT', user);
|
|
49
51
|
await newModel.save();
|
|
50
52
|
return this.toOutput(newModel);
|
|
51
53
|
}
|
|
52
|
-
async remove(id) {
|
|
54
|
+
async remove(id, user) {
|
|
53
55
|
let ac = await this.m.findById(id);
|
|
54
56
|
await ac.deleteOne();
|
|
55
57
|
return this.toOutput(ac);
|
|
56
58
|
}
|
|
57
|
-
async afterCreate(m) { }
|
|
59
|
+
async afterCreate(m, user) { }
|
|
60
|
+
async beforeCreateOrEdit(i, mode, user) { }
|
|
58
61
|
}
|
|
59
62
|
exports.BaseCrudService = BaseCrudService;
|
|
60
63
|
//# sourceMappingURL=base-crud-service.js.map
|
package/base-crud-service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-crud-service.js","sourceRoot":"","sources":["../../../../../libs/crud-base/src/base-crud-service.ts"],"names":[],"mappings":";;;AAIA,uDAAkD;AAClD,oDAAgD;
|
|
1
|
+
{"version":3,"file":"base-crud-service.js","sourceRoot":"","sources":["../../../../../libs/crud-base/src/base-crud-service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@ubs-platform/crud-base","repository":{"url":"https://github.com/ubs-platform/ubs-mona-mr"},"homepage":"https://github.com/ubs-platform/ubs-mona-mr","version":"
|
|
1
|
+
{"name":"@ubs-platform/crud-base","repository":{"url":"https://github.com/ubs-platform/ubs-mona-mr"},"homepage":"https://github.com/ubs-platform/ubs-mona-mr","version":"6.1.0","iksir":{"type":"LIBRARY","libraryMode":"PEER","buildSubFolder":""},"peerDependencies":{"@nestjs/common":"11.0.16","@ubs-platform/users-microservice-helper":"6.1.0","@ubs-platform/users-roles":"6.1.0","@ubs-platform/crud-base-common":"6.1.0"}}
|