@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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"}
|