@minimaltech/node-infra 0.3.12 → 0.3.13
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.
@@ -1,8 +1,10 @@
|
|
1
|
+
import { Getter } from '@loopback/core';
|
1
2
|
import { CrudRestControllerOptions } from '@loopback/rest-crud';
|
2
3
|
import { Count, Filter, FilterExcludingWhere, Where } from '@loopback/repository';
|
3
4
|
import { SchemaRef } from '@loopback/rest';
|
4
5
|
import { BaseIdEntity, BaseTzEntity, AbstractTzRepository } from './../';
|
5
6
|
import { EntityRelationType, IdType } from '../../common/types';
|
7
|
+
import { IJWTTokenPayload } from '../../components/authenticate/common/types';
|
6
8
|
export interface ICrudControllerOptions<E extends BaseIdEntity> {
|
7
9
|
entity: typeof BaseIdEntity & {
|
8
10
|
prototype: E;
|
@@ -26,6 +28,7 @@ export interface ICrudControllerOptions<E extends BaseIdEntity> {
|
|
26
28
|
replaceById?: SchemaRef;
|
27
29
|
deleteById?: SchemaRef;
|
28
30
|
};
|
31
|
+
doInjectCurrentUser?: boolean;
|
29
32
|
}
|
30
33
|
export declare const defineCrudController: <E extends BaseTzEntity>(opts: ICrudControllerOptions<E>) => {
|
31
34
|
new (repository: AbstractTzRepository<E, EntityRelationType>): {
|
@@ -36,4 +39,21 @@ export declare const defineCrudController: <E extends BaseTzEntity>(opts: ICrudC
|
|
36
39
|
findOne(filter?: Filter<E>): Promise<(E & EntityRelationType) | null>;
|
37
40
|
count(where?: Where<E>): Promise<Count>;
|
38
41
|
};
|
42
|
+
} | {
|
43
|
+
new (repository: AbstractTzRepository<E, EntityRelationType>, getCurrentUser?: Getter<IJWTTokenPayload>): {
|
44
|
+
getCurrentUser?: Getter<IJWTTokenPayload>;
|
45
|
+
create(data: Omit<E, "id">): Promise<E>;
|
46
|
+
updateAll(data: Partial<E>, where?: Where<E>): Promise<Count>;
|
47
|
+
updateById(id: IdType, data: Partial<E>): Promise<E>;
|
48
|
+
replaceById(id: IdType, data: E): Promise<E>;
|
49
|
+
deleteById(id: IdType): Promise<{
|
50
|
+
id: IdType;
|
51
|
+
}>;
|
52
|
+
repository: AbstractTzRepository<E, EntityRelationType>;
|
53
|
+
defaultLimit: number;
|
54
|
+
find(filter?: Filter<E>): Promise<(E & EntityRelationType)[]>;
|
55
|
+
findById(id: IdType, filter?: FilterExcludingWhere<E>): Promise<E & EntityRelationType>;
|
56
|
+
findOne(filter?: Filter<E>): Promise<(E & EntityRelationType) | null>;
|
57
|
+
count(where?: Where<E>): Promise<Count>;
|
58
|
+
};
|
39
59
|
};
|
@@ -11,6 +11,15 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
11
11
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
12
12
|
return function (target, key) { decorator(target, key, paramIndex); }
|
13
13
|
};
|
14
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
15
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
16
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
17
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
18
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
19
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
20
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
21
|
+
});
|
22
|
+
};
|
14
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
15
24
|
exports.defineCrudController = void 0;
|
16
25
|
const core_1 = require("@loopback/core");
|
@@ -18,10 +27,11 @@ const repository_1 = require("@loopback/repository");
|
|
18
27
|
const rest_1 = require("@loopback/rest");
|
19
28
|
const common_1 = require("../../common");
|
20
29
|
const common_2 = require("./common");
|
30
|
+
const security_1 = require("@loopback/security");
|
21
31
|
// --------------------------------------------------------------------------------------------------------------
|
22
32
|
const defineCrudController = (opts) => {
|
23
33
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
24
|
-
const { entity: entityOptions, repository: repositoryOptions, controller: controllerOptions, schema: schemaOptions, } = opts;
|
34
|
+
const { entity: entityOptions, repository: repositoryOptions, controller: controllerOptions, schema: schemaOptions, doInjectCurrentUser, } = opts;
|
25
35
|
const idPathParam = {
|
26
36
|
name: 'id',
|
27
37
|
in: 'path',
|
@@ -129,26 +139,46 @@ const defineCrudController = (opts) => {
|
|
129
139
|
return ReadController;
|
130
140
|
}
|
131
141
|
class CRUDController extends ReadController {
|
132
|
-
constructor(repository) {
|
142
|
+
constructor(repository, getCurrentUser) {
|
133
143
|
super(repository);
|
144
|
+
this.getCurrentUser = getCurrentUser;
|
134
145
|
}
|
135
146
|
create(data) {
|
136
|
-
return this
|
147
|
+
return __awaiter(this, void 0, void 0, function* () {
|
148
|
+
if (!this.getCurrentUser) {
|
149
|
+
return this.repository.create(data);
|
150
|
+
}
|
151
|
+
const currentUser = yield this.getCurrentUser();
|
152
|
+
return this.repository.create(data, { authorId: currentUser.userId });
|
153
|
+
});
|
137
154
|
}
|
138
155
|
updateAll(data, where) {
|
139
|
-
return this
|
156
|
+
return __awaiter(this, void 0, void 0, function* () {
|
157
|
+
if (!this.getCurrentUser) {
|
158
|
+
return this.repository.updateAll(data, where);
|
159
|
+
}
|
160
|
+
const currentUser = yield this.getCurrentUser();
|
161
|
+
return this.repository.updateAll(data, where, { authorId: currentUser.userId });
|
162
|
+
});
|
140
163
|
}
|
141
164
|
updateById(id, data) {
|
142
|
-
return this
|
165
|
+
return __awaiter(this, void 0, void 0, function* () {
|
166
|
+
if (!this.getCurrentUser) {
|
167
|
+
return this.repository.updateWithReturn(id, data);
|
168
|
+
}
|
169
|
+
const currentUser = yield this.getCurrentUser();
|
170
|
+
return this.repository.updateWithReturn(id, data, { authorId: currentUser.userId });
|
171
|
+
});
|
143
172
|
}
|
144
173
|
replaceById(id, data) {
|
145
|
-
return
|
146
|
-
this.
|
147
|
-
.replaceById(id, data)
|
148
|
-
.
|
149
|
-
|
150
|
-
|
151
|
-
|
174
|
+
return __awaiter(this, void 0, void 0, function* () {
|
175
|
+
if (!this.getCurrentUser) {
|
176
|
+
yield this.repository.replaceById(id, data);
|
177
|
+
return Object.assign(Object.assign({}, data), { id });
|
178
|
+
}
|
179
|
+
const currentUser = yield this.getCurrentUser();
|
180
|
+
yield this.repository.replaceById(id, data, { authorId: currentUser.userId });
|
181
|
+
return Object.assign(Object.assign({}, data), { id });
|
152
182
|
});
|
153
183
|
}
|
154
184
|
deleteById(id) {
|
@@ -291,6 +321,9 @@ const defineCrudController = (opts) => {
|
|
291
321
|
if (repositoryOptions === null || repositoryOptions === void 0 ? void 0 : repositoryOptions.name) {
|
292
322
|
(0, core_1.inject)(`repositories.${repositoryOptions.name}`)(CRUDController, undefined, 0);
|
293
323
|
}
|
324
|
+
if (doInjectCurrentUser) {
|
325
|
+
core_1.inject.getter(security_1.SecurityBindings.USER)(CRUDController, undefined, 1);
|
326
|
+
}
|
294
327
|
return CRUDController;
|
295
328
|
};
|
296
329
|
exports.defineCrudController = defineCrudController;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"crud.controller.js","sourceRoot":"","sources":["../../../src/base/controllers/crud.controller.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"crud.controller.js","sourceRoot":"","sources":["../../../src/base/controllers/crud.controller.ts"],"names":[],"mappings":"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"}
|