@minimaltech/node-infra 0.5.9-22 → 0.5.9-24
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/base/applications/base.application.js +40 -28
- package/dist/base/applications/default.application.js +8 -2
- package/dist/base/base.component.js +2 -2
- package/dist/base/base.helper.js +3 -4
- package/dist/base/base.provider.js +2 -2
- package/dist/base/base.sequence.js +26 -17
- package/dist/base/controllers/common.js +9 -8
- package/dist/base/controllers/crud.controller.js +67 -55
- package/dist/base/controllers/express-request-handler.js +0 -2
- package/dist/base/controllers/kv.controller.js +18 -7
- package/dist/base/controllers/relational.controller.d.ts +3 -1
- package/dist/base/controllers/relational.controller.js +57 -40
- package/dist/base/controllers/service-crud.controller.js +46 -46
- package/dist/base/datasources/base.datasource.js +0 -1
- package/dist/base/loopback/@lb/core/index.js +1 -0
- package/dist/base/loopback/@lb/repository/index.js +1 -0
- package/dist/base/loopback/authentication/index.js +2 -0
- package/dist/base/loopback/filter/index.js +2 -0
- package/dist/base/loopback/http-server/index.js +2 -0
- package/dist/base/models/base.model.d.ts +7 -0
- package/dist/base/models/base.model.js +23 -5
- package/dist/base/repositories/base.repository.d.ts +3 -0
- package/dist/base/repositories/base.repository.js +24 -5
- package/dist/base/repositories/relations/has-many-polymorphic/decorator.d.ts +8 -0
- package/dist/base/repositories/relations/has-many-polymorphic/decorator.js +10 -11
- package/dist/base/repositories/relations/has-many-polymorphic/factory.d.ts +9 -0
- package/dist/base/repositories/relations/has-many-polymorphic/factory.js +30 -12
- package/dist/base/repositories/searchable-tz-crud.repository.js +160 -129
- package/dist/base/repositories/tz-crud.repository.js +58 -23
- package/dist/base/services/base-crud.service.js +9 -6
- package/dist/base/services/base.service.js +2 -2
- package/dist/common/constants.js +89 -81
- package/dist/common/environments.js +25 -25
- package/dist/common/keys.js +2 -2
- package/dist/common/statuses.js +31 -28
- package/dist/common/types.d.ts +3 -0
- package/dist/components/authenticate/common/constants.js +13 -11
- package/dist/components/authenticate/common/keys.js +7 -7
- package/dist/components/authenticate/common/types.js +3 -11
- package/dist/components/authenticate/component.js +28 -20
- package/dist/components/authenticate/controllers/auth.controller.js +11 -13
- package/dist/components/authenticate/controllers/oauth2.controller.js +20 -18
- package/dist/components/authenticate/middleware.js +35 -25
- package/dist/components/authenticate/models/oauth2-client.model.js +3 -8
- package/dist/components/authenticate/models/oauth2-scope.model.js +0 -4
- package/dist/components/authenticate/models/oauth2-token.model.js +0 -7
- package/dist/components/authenticate/oauth2-handlers/authorization-code.handler.js +5 -4
- package/dist/components/authenticate/oauth2-handlers/base.js +110 -95
- package/dist/components/authenticate/oauth2-handlers/client-credential.handler.js +3 -2
- package/dist/components/authenticate/oauth2-handlers/oauth2.js +2 -3
- package/dist/components/authenticate/repositories/oauth2.repository.js +0 -2
- package/dist/components/authenticate/services/basic-token.service.js +29 -18
- package/dist/components/authenticate/services/basic.strategy.js +17 -7
- package/dist/components/authenticate/services/jwt-token.service.js +40 -27
- package/dist/components/authenticate/services/jwt.strategy.js +1 -2
- package/dist/components/authenticate/services/oauth2.service.js +110 -98
- package/dist/components/authenticate/services/oauth2.strategy.js +31 -19
- package/dist/components/authorize/adapters/adapter-builder.js +0 -1
- package/dist/components/authorize/adapters/base.adapter.js +9 -2
- package/dist/components/authorize/adapters/casbin-postgres-adapter.helper.js +55 -37
- package/dist/components/authorize/adapters/casbin-redis-adapter.helper.js +1 -0
- package/dist/components/authorize/common/constants.js +12 -10
- package/dist/components/authorize/common/keys.js +15 -15
- package/dist/components/authorize/common/types.js +2 -2
- package/dist/components/authorize/component.js +59 -44
- package/dist/components/authorize/decorators/index.d.ts +11 -0
- package/dist/components/authorize/decorators/index.js +14 -1
- package/dist/components/authorize/interceptor.js +80 -76
- package/dist/components/authorize/migrations/0000-create-view-policy.js +14 -3
- package/dist/components/authorize/models/defs.js +5 -24
- package/dist/components/authorize/models/role.model.js +1 -1
- package/dist/components/authorize/models/user-role.model.js +1 -0
- package/dist/components/authorize/models/view-authorize-policy.model.js +1 -4
- package/dist/components/authorize/provider.js +96 -81
- package/dist/components/authorize/repositories/authorize.repository.js +6 -3
- package/dist/components/authorize/services/enforcer.service.js +27 -20
- package/dist/components/authorize/services/generator.service.d.ts +20 -0
- package/dist/components/authorize/services/generator.service.js +96 -62
- package/dist/components/crash-report/common/keys.js +10 -8
- package/dist/components/crash-report/component.js +44 -31
- package/dist/components/crash-report/providers/provider.js +0 -1
- package/dist/components/crash-report/providers/third-parties/base.js +2 -2
- package/dist/components/crash-report/services/mt-crash-report.service.js +5 -5
- package/dist/components/grpc/common/keys.js +4 -4
- package/dist/components/grpc/components/server.component.js +8 -8
- package/dist/components/grpc/controllers/base.js +0 -1
- package/dist/components/grpc/helpers/grpc-client.js +3 -9
- package/dist/components/grpc/helpers/grpc-server.js +17 -14
- package/dist/components/grpc/persistents/grpc.connector.js +2 -8
- package/dist/components/grpc/persistents/grpc.datasource.js +3 -2
- package/dist/components/grpc/persistents/grpc.repository.js +2 -3
- package/dist/components/health-check/component.js +0 -1
- package/dist/components/migration/common/keys.js +3 -3
- package/dist/components/migration/component.js +8 -5
- package/dist/components/migration/models/migration.model.js +0 -2
- package/dist/components/socket-io/common/constants.js +10 -10
- package/dist/components/socket-io/common/keys.js +6 -6
- package/dist/components/socket-io/component.js +8 -9
- package/dist/components/socket-io/helpers/socket-io-client.helper.js +11 -7
- package/dist/components/socket-io/helpers/socket-io-server.helper.js +41 -26
- package/dist/components/static-asset/common/keys.js +4 -4
- package/dist/components/static-asset/component.js +8 -9
- package/dist/components/static-asset/controllers/asset.controller.d.ts +8 -0
- package/dist/components/static-asset/controllers/asset.controller.js +93 -71
- package/dist/components/static-asset/controllers/resource.controller.js +9 -8
- package/dist/datasources/memory/datasource.js +3 -3
- package/dist/datasources/postgres/datasource.js +10 -10
- package/dist/datasources/redis/connector.js +7 -18
- package/dist/datasources/redis/datasource.js +7 -7
- package/dist/helpers/application-environment.helper.js +3 -3
- package/dist/helpers/cron.helper.js +14 -9
- package/dist/helpers/crypto/algorithms/aes.algorithm.js +7 -8
- package/dist/helpers/crypto/algorithms/base.algorithm.js +4 -3
- package/dist/helpers/crypto/algorithms/rsa.algorithm.js +5 -4
- package/dist/helpers/database/query-builder.helper.js +5 -2
- package/dist/helpers/logger/application-logger.js +17 -7
- package/dist/helpers/logger/common/types.js +22 -20
- package/dist/helpers/logger/default-logger.js +12 -2
- package/dist/helpers/logger/factory.js +1 -1
- package/dist/helpers/logger/transports/dgram.transport.js +25 -16
- package/dist/helpers/network/http-request/base-network-request.helper.js +34 -36
- package/dist/helpers/network/http-request/fetcher/axios-fetcher.js +22 -10
- package/dist/helpers/network/http-request/fetcher/base-fetcher.js +36 -13
- package/dist/helpers/network/http-request/fetcher/node-fetcher.js +59 -37
- package/dist/helpers/network/tcp-socket/base-tcp-client.helper.js +27 -30
- package/dist/helpers/network/tcp-socket/base-tcp-server.helper.js +19 -21
- package/dist/helpers/network/tcp-socket/network-tcp-client.helper.js +1 -5
- package/dist/helpers/network/tcp-socket/network-tcp-server.helper.js +1 -5
- package/dist/helpers/network/tcp-socket/network-tls-tcp-client.helper.js +1 -5
- package/dist/helpers/network/tcp-socket/network-tls-tcp-server.helper.js +1 -5
- package/dist/helpers/network/udp-socket/network-udp-client.helper.js +18 -21
- package/dist/helpers/queue/bullmq.helper.js +22 -21
- package/dist/helpers/queue/mqtt.helper.js +17 -15
- package/dist/helpers/queue/queue.helper.js +145 -74
- package/dist/helpers/redis/default.helper.js +162 -117
- package/dist/helpers/redis/redis-cluster.helper.js +2 -7
- package/dist/helpers/redis/redis.helper.js +5 -8
- package/dist/helpers/storage/di-container.helper.js +0 -2
- package/dist/helpers/storage/minio.helper.js +128 -88
- package/dist/helpers/testing/common.js +3 -3
- package/dist/helpers/testing/describe.js +21 -14
- package/dist/helpers/testing/test-case.js +0 -5
- package/dist/helpers/testing/test-handler.js +30 -23
- package/dist/helpers/testing/test-plan/base.js +6 -9
- package/dist/helpers/worker-thread/base.js +20 -10
- package/dist/helpers/worker-thread/worker-bus.js +12 -11
- package/dist/helpers/worker-thread/worker-pool.js +25 -17
- package/dist/interceptors/content-range.interceptor.js +132 -115
- package/dist/middlewares/request-body-parser.middleware.js +16 -4
- package/dist/middlewares/request-spy.middleware.js +5 -4
- package/dist/migrations/handler.js +22 -13
- package/dist/mixins/data-type.mixin.js +0 -5
- package/dist/mixins/deprecated/user-audit.mixin.d.ts +3 -0
- package/dist/mixins/deprecated/user-audit.mixin.js +5 -2
- package/dist/mixins/duplicatable.mixin.js +0 -1
- package/dist/mixins/object-search.mixin.js +0 -1
- package/dist/mixins/principal.mixin.js +0 -2
- package/dist/mixins/soft-delete.mixin.js +0 -1
- package/dist/mixins/soft-persistent.mixin.js +0 -1
- package/dist/mixins/text-search.mixin.js +0 -1
- package/dist/mixins/tz.mixin.js +0 -2
- package/dist/mixins/user-audit.mixin.js +3 -5
- package/dist/mixins/vector.mixin.js +6 -9
- package/dist/tsconfig.base.json +6 -5
- package/dist/utilities/date.utility.js +23 -5
- package/dist/utilities/error.utility.js +0 -2
- package/dist/utilities/model.utility.js +6 -2
- package/dist/utilities/parse.utility.d.ts +16 -0
- package/dist/utilities/parse.utility.js +41 -6
- package/dist/utilities/performance.utility.js +2 -1
- package/dist/utilities/promise.utility.d.ts +17 -0
- package/dist/utilities/promise.utility.js +31 -5
- package/dist/utilities/query.utility.js +16 -8
- package/dist/utilities/request.utility.js +8 -2
- package/package.json +2 -3
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
13
|
};
|
|
@@ -21,8 +30,6 @@ const get_1 = __importDefault(require("lodash/get"));
|
|
|
21
30
|
const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
|
|
22
31
|
const { NODE_ENV, RUN_MODE, ALLOW_EMPTY_ENV_VALUE = false, APPLICATION_ENV_PREFIX = 'APP_ENV', APP_ENV_APPLICATION_NAME = 'PNT', APP_ENV_APPLICATION_TIMEZONE = 'Asia/Ho_Chi_Minh', APP_ENV_DS_MIGRATION = 'postgres', APP_ENV_DS_AUTHORIZE = 'postgres', APP_ENV_LOGGER_FOLDER_PATH = './', } = process.env;
|
|
23
32
|
class BaseApplication extends (0, boot_1.BootMixin)((0, service_proxy_1.ServiceMixin)((0, repository_1.RepositoryMixin)(rest_1.RestApplication))) {
|
|
24
|
-
logger;
|
|
25
|
-
models;
|
|
26
33
|
constructor(opts) {
|
|
27
34
|
const { scope = 'Application', serverOptions, sequence } = opts;
|
|
28
35
|
super(serverOptions);
|
|
@@ -30,6 +37,7 @@ class BaseApplication extends (0, boot_1.BootMixin)((0, service_proxy_1.ServiceM
|
|
|
30
37
|
this.initialize({ sequence });
|
|
31
38
|
}
|
|
32
39
|
initialize(opts) {
|
|
40
|
+
var _a;
|
|
33
41
|
this.logger.info('[initialize] ------------------------------------------------------------------------');
|
|
34
42
|
this.logger.info('[initialize] Starting application... | Name: %s | Env: %s', APP_ENV_APPLICATION_NAME, NODE_ENV);
|
|
35
43
|
this.logger.info('[initialize] AllowEmptyEnv: %s | Prefix: %s', ALLOW_EMPTY_ENV_VALUE, APPLICATION_ENV_PREFIX);
|
|
@@ -41,14 +49,14 @@ class BaseApplication extends (0, boot_1.BootMixin)((0, service_proxy_1.ServiceM
|
|
|
41
49
|
const { sequence } = opts;
|
|
42
50
|
this.bind(common_2.AuthenticateKeys.ALWAYS_ALLOW_PATHS).to([]);
|
|
43
51
|
this.bind(common_1.BindingKeys.APPLICATION_MIDDLEWARE_OPTIONS).to(rest_1.MiddlewareSequence.defaultOptions);
|
|
44
|
-
this.sequence(sequence
|
|
52
|
+
this.sequence(sequence !== null && sequence !== void 0 ? sequence : base_sequence_1.BaseApplicationSequence);
|
|
45
53
|
this.staticConfigure();
|
|
46
54
|
this.projectRoot = this.getProjectRoot();
|
|
47
55
|
this.component(rest_crud_1.CrudRestComponent);
|
|
48
56
|
this.logger.info('[initialize] Validating application environments...');
|
|
49
57
|
const envValidation = this.validateEnv();
|
|
50
58
|
if (!envValidation.result) {
|
|
51
|
-
throw (0, utilities_1.getError)({ message: envValidation
|
|
59
|
+
throw (0, utilities_1.getError)({ message: (_a = envValidation === null || envValidation === void 0 ? void 0 : envValidation.message) !== null && _a !== void 0 ? _a : 'Invalid application environment!' });
|
|
52
60
|
}
|
|
53
61
|
this.logger.info('[initialize] All application environments are valid...');
|
|
54
62
|
this.logger.info('[initialize] Declare application models...');
|
|
@@ -89,7 +97,7 @@ class BaseApplication extends (0, boot_1.BootMixin)((0, service_proxy_1.ServiceM
|
|
|
89
97
|
const valids = repoBindings.filter(b => {
|
|
90
98
|
const key = b.key;
|
|
91
99
|
const modelName = key.slice(key.indexOf('.') + 1, key.indexOf('Repository'));
|
|
92
|
-
if (ignoreModels
|
|
100
|
+
if (ignoreModels === null || ignoreModels === void 0 ? void 0 : ignoreModels.includes(modelName)) {
|
|
93
101
|
return false;
|
|
94
102
|
}
|
|
95
103
|
if (migrateModels && !migrateModels.includes(modelName)) {
|
|
@@ -97,6 +105,7 @@ class BaseApplication extends (0, boot_1.BootMixin)((0, service_proxy_1.ServiceM
|
|
|
97
105
|
}
|
|
98
106
|
return true;
|
|
99
107
|
});
|
|
108
|
+
// Load models
|
|
100
109
|
return Promise.all(valids.map(b => this.get(b.key)));
|
|
101
110
|
}
|
|
102
111
|
classifyModelsByDatasource(opts) {
|
|
@@ -108,7 +117,7 @@ class BaseApplication extends (0, boot_1.BootMixin)((0, service_proxy_1.ServiceM
|
|
|
108
117
|
continue;
|
|
109
118
|
}
|
|
110
119
|
const dsKey = `datasources.${dsName}`;
|
|
111
|
-
if (!modelByDs
|
|
120
|
+
if (!(modelByDs === null || modelByDs === void 0 ? void 0 : modelByDs[dsKey])) {
|
|
112
121
|
modelByDs[dsKey] = [];
|
|
113
122
|
}
|
|
114
123
|
const modelName = (0, get_1.default)(rep, 'entityClass.definition.name', '');
|
|
@@ -119,29 +128,32 @@ class BaseApplication extends (0, boot_1.BootMixin)((0, service_proxy_1.ServiceM
|
|
|
119
128
|
}
|
|
120
129
|
return modelByDs;
|
|
121
130
|
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
const
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
131
|
+
migrateModels(opts) {
|
|
132
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
133
|
+
var _a, _b;
|
|
134
|
+
const { existingSchema, ignoreModels = [], migrateModels } = opts;
|
|
135
|
+
this.logger.info('[migrateModels] Loading legacy migratable models...!');
|
|
136
|
+
const reps = yield this.getMigrateModels({ ignoreModels, migrateModels });
|
|
137
|
+
const classified = this.classifyModelsByDatasource({ reps });
|
|
138
|
+
const operation = existingSchema === 'drop' ? 'automigrate' : 'autoupdate';
|
|
139
|
+
const dsBindings = this.findByTag(repository_1.RepositoryTags.DATASOURCE);
|
|
140
|
+
for (const b of dsBindings) {
|
|
141
|
+
const t = new Date().getTime();
|
|
142
|
+
this.logger.info('[migrateModels] START | Migrating datasource %s', b.key);
|
|
143
|
+
const ds = yield this.get(b.key);
|
|
144
|
+
if (!ds) {
|
|
145
|
+
this.logger.error('[migrateModels] Invalid datasource with key %s', b.key);
|
|
146
|
+
continue;
|
|
147
|
+
}
|
|
148
|
+
const isDisableMigration = (_b = (_a = ds.settings) === null || _a === void 0 ? void 0 : _a.disableMigration) !== null && _b !== void 0 ? _b : false;
|
|
149
|
+
if (!(operation in ds) || isDisableMigration) {
|
|
150
|
+
this.logger.info('[migrateModels] Skip migrating datasource %s', b.key);
|
|
151
|
+
continue;
|
|
152
|
+
}
|
|
153
|
+
yield ds[operation](classified === null || classified === void 0 ? void 0 : classified[b.key]);
|
|
154
|
+
this.logger.info('[migrateModels] DONE | Migrating datasource %s | Took: %d(ms)', b.key, new Date().getTime() - t);
|
|
141
155
|
}
|
|
142
|
-
|
|
143
|
-
this.logger.info('[migrateModels] DONE | Migrating datasource %s | Took: %d(ms)', b.key, new Date().getTime() - t);
|
|
144
|
-
}
|
|
156
|
+
});
|
|
145
157
|
}
|
|
146
158
|
grpcController(ctor, nameOrOptions) {
|
|
147
159
|
return this.controller(ctor, nameOrOptions)
|
|
@@ -15,13 +15,14 @@ const rest_1 = require("@loopback/rest");
|
|
|
15
15
|
const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
|
|
16
16
|
const base_application_1 = require("./base.application");
|
|
17
17
|
class DefaultRestApplication extends base_application_1.BaseApplication {
|
|
18
|
-
applicationRoles = [];
|
|
19
18
|
constructor(opts) {
|
|
20
19
|
super(opts);
|
|
20
|
+
this.applicationRoles = [];
|
|
21
21
|
}
|
|
22
22
|
getApplicationRoles() {
|
|
23
|
+
var _a;
|
|
23
24
|
const roleConf = helpers_1.applicationEnvironment.get(common_1.EnvironmentKeys.APP_ENV_APPLICATION_ROLES);
|
|
24
|
-
return roleConf
|
|
25
|
+
return (_a = roleConf === null || roleConf === void 0 ? void 0 : roleConf.split(',')) === null || _a === void 0 ? void 0 : _a.map((el) => el.trim());
|
|
25
26
|
}
|
|
26
27
|
validateEnv() {
|
|
27
28
|
const rs = { result: true, message: '' };
|
|
@@ -47,13 +48,18 @@ class DefaultRestApplication extends base_application_1.BaseApplication {
|
|
|
47
48
|
this.bind(common_1.BindingKeys.APPLICATION_ENVIRONMENTS).to(helpers_1.applicationEnvironment);
|
|
48
49
|
this.applicationRoles = this.getApplicationRoles();
|
|
49
50
|
this.logger.info('[preConfigure] ApplicationRoles: %s', this.applicationRoles);
|
|
51
|
+
// Error Handler
|
|
50
52
|
this.bind(rest_1.RestBindings.ERROR_WRITER_OPTIONS).to({
|
|
51
53
|
safeFields: ['statusCode', 'name', 'message', 'messageCode'],
|
|
52
54
|
});
|
|
55
|
+
// Configuring datasources
|
|
53
56
|
this.dataSource(datasources_1.PostgresDataSource);
|
|
54
57
|
this.dataSource(datasources_1.KvMemDataSource);
|
|
58
|
+
// Migration
|
|
55
59
|
this.configureMigration();
|
|
60
|
+
// Interceptors
|
|
56
61
|
this.interceptor(content_range_interceptor_1.ContentRangeInterceptor, { global: true });
|
|
62
|
+
// controllers
|
|
57
63
|
this.bootOptions = {
|
|
58
64
|
controllers: {
|
|
59
65
|
dirs: ['controllers'],
|
|
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.BaseComponent = void 0;
|
|
4
4
|
const helpers_1 = require("../helpers");
|
|
5
5
|
class BaseComponent {
|
|
6
|
-
logger;
|
|
7
6
|
constructor(opts) {
|
|
8
|
-
|
|
7
|
+
var _a;
|
|
8
|
+
this.logger = helpers_1.LoggerFactory.getLogger([(_a = opts === null || opts === void 0 ? void 0 : opts.scope) !== null && _a !== void 0 ? _a : BaseComponent.name]);
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
exports.BaseComponent = BaseComponent;
|
package/dist/base/base.helper.js
CHANGED
|
@@ -3,11 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.BaseHelper = void 0;
|
|
4
4
|
const helpers_1 = require("../helpers");
|
|
5
5
|
class BaseHelper {
|
|
6
|
-
identifier;
|
|
7
|
-
logger;
|
|
8
6
|
constructor(opts) {
|
|
9
|
-
|
|
10
|
-
this.
|
|
7
|
+
var _a, _b;
|
|
8
|
+
this.logger = helpers_1.LoggerFactory.getLogger([opts.scope, (_a = opts.identifier) !== null && _a !== void 0 ? _a : ''].filter(el => el && el.length > 0));
|
|
9
|
+
this.identifier = (_b = opts.identifier) !== null && _b !== void 0 ? _b : '';
|
|
11
10
|
}
|
|
12
11
|
}
|
|
13
12
|
exports.BaseHelper = BaseHelper;
|
|
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.BaseProvider = void 0;
|
|
4
4
|
const helpers_1 = require("../helpers");
|
|
5
5
|
class BaseProvider {
|
|
6
|
-
logger;
|
|
7
6
|
constructor(opts) {
|
|
8
|
-
|
|
7
|
+
var _a;
|
|
8
|
+
this.logger = helpers_1.LoggerFactory.getLogger([(_a = opts === null || opts === void 0 ? void 0 : opts.scope) !== null && _a !== void 0 ? _a : BaseProvider.name]);
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
exports.BaseProvider = BaseProvider;
|
|
@@ -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
|
var BaseApplicationSequence_1;
|
|
15
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
25
|
exports.BaseApplicationSequence = void 0;
|
|
@@ -20,28 +29,28 @@ const common_1 = require("../common");
|
|
|
20
29
|
const helpers_1 = require("../helpers");
|
|
21
30
|
const utilities_1 = require("../utilities");
|
|
22
31
|
let BaseApplicationSequence = BaseApplicationSequence_1 = class BaseApplicationSequence {
|
|
23
|
-
invokeMiddleware;
|
|
24
|
-
middlewareOptions;
|
|
25
|
-
logger;
|
|
26
32
|
constructor(invokeMiddleware, middlewareOptions) {
|
|
27
33
|
this.invokeMiddleware = invokeMiddleware;
|
|
28
34
|
this.middlewareOptions = middlewareOptions;
|
|
29
35
|
this.logger = helpers_1.LoggerFactory.getLogger([BaseApplicationSequence_1.name]);
|
|
30
36
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
37
|
+
// ----------------------------------------------------------------------------------------
|
|
38
|
+
handle(context) {
|
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
const t = performance.now();
|
|
41
|
+
const { request } = context;
|
|
42
|
+
try {
|
|
43
|
+
yield this.invokeMiddleware(context, this.middlewareOptions);
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
const requestId = (0, utilities_1.getRequestId)({ request });
|
|
47
|
+
this.logger.error('[handle][%s] ERROR | Error: %s', requestId, error);
|
|
48
|
+
}
|
|
49
|
+
finally {
|
|
50
|
+
const requestedRemark = (0, utilities_1.getRequestRemark)({ request });
|
|
51
|
+
this.logger.info('[handle][%s] DONE | Took: %d(ms) | Url: %s', requestedRemark === null || requestedRemark === void 0 ? void 0 : requestedRemark.id, (0, utilities_1.getExecutedPerformance)({ from: t, digit: 6 }), requestedRemark === null || requestedRemark === void 0 ? void 0 : requestedRemark.url);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
45
54
|
}
|
|
46
55
|
};
|
|
47
56
|
exports.BaseApplicationSequence = BaseApplicationSequence;
|
|
@@ -3,20 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.BaseController = exports.applyLimit = void 0;
|
|
4
4
|
const common_1 = require("../../common");
|
|
5
5
|
const helpers_1 = require("../../helpers");
|
|
6
|
+
// --------------------------------------------------------------------------------------------------------------
|
|
6
7
|
const applyLimit = (filter) => {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
rs['limit'] = rs['limit'] ?? common_1.App.DEFAULT_QUERY_LIMIT;
|
|
8
|
+
var _a;
|
|
9
|
+
const rs = Object.assign({}, (filter !== null && filter !== void 0 ? filter : {}));
|
|
10
|
+
rs['limit'] = (_a = rs['limit']) !== null && _a !== void 0 ? _a : common_1.App.DEFAULT_QUERY_LIMIT;
|
|
11
11
|
return rs;
|
|
12
12
|
};
|
|
13
13
|
exports.applyLimit = applyLimit;
|
|
14
|
+
// --------------------------------------------------------------------------------------------------------------
|
|
14
15
|
class BaseController {
|
|
15
|
-
logger;
|
|
16
|
-
defaultLimit = common_1.App.DEFAULT_QUERY_LIMIT;
|
|
17
16
|
constructor(opts) {
|
|
18
|
-
|
|
19
|
-
this.defaultLimit =
|
|
17
|
+
var _a, _b;
|
|
18
|
+
this.defaultLimit = common_1.App.DEFAULT_QUERY_LIMIT;
|
|
19
|
+
this.logger = helpers_1.LoggerFactory.getLogger([(_a = opts === null || opts === void 0 ? void 0 : opts.scope) !== null && _a !== void 0 ? _a : BaseController.name]);
|
|
20
|
+
this.defaultLimit = (_b = opts === null || opts === void 0 ? void 0 : opts.defaultLimit) !== null && _b !== void 0 ? _b : common_1.App.DEFAULT_QUERY_LIMIT;
|
|
20
21
|
}
|
|
21
22
|
}
|
|
22
23
|
exports.BaseController = BaseController;
|
|
@@ -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");
|
|
@@ -20,7 +29,9 @@ const common_1 = require("../../common");
|
|
|
20
29
|
const common_2 = require("./common");
|
|
21
30
|
const security_1 = require("@loopback/security");
|
|
22
31
|
const model_utility_1 = require("../../utilities/model.utility");
|
|
32
|
+
// --------------------------------------------------------------------------------------------------------------
|
|
23
33
|
const defineCrudController = (opts) => {
|
|
34
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
24
35
|
const { entity: entityOptions, repository: repositoryOptions, controller: controllerOptions, schema: schemaOptions, doInjectCurrentUser, } = opts;
|
|
25
36
|
const idPathParam = {
|
|
26
37
|
name: 'id',
|
|
@@ -28,21 +39,24 @@ const defineCrudController = (opts) => {
|
|
|
28
39
|
schema: (0, model_utility_1.getIdSchema)(entityOptions),
|
|
29
40
|
};
|
|
30
41
|
class ReadController {
|
|
31
|
-
repository;
|
|
32
|
-
defaultLimit;
|
|
33
42
|
constructor(repository) {
|
|
43
|
+
var _a;
|
|
34
44
|
this.repository = repository;
|
|
35
|
-
this.defaultLimit = controllerOptions
|
|
45
|
+
this.defaultLimit = (_a = controllerOptions === null || controllerOptions === void 0 ? void 0 : controllerOptions.defaultLimit) !== null && _a !== void 0 ? _a : common_1.App.DEFAULT_QUERY_LIMIT;
|
|
36
46
|
}
|
|
47
|
+
// ----------------------------------------------------------------------------------------------------------
|
|
37
48
|
find(filter) {
|
|
38
49
|
return this.repository.find((0, common_2.applyLimit)(filter));
|
|
39
50
|
}
|
|
51
|
+
// ----------------------------------------------------------------------------------------------------------
|
|
40
52
|
findById(id, filter) {
|
|
41
53
|
return this.repository.findById(id, (0, common_2.applyLimit)(filter));
|
|
42
54
|
}
|
|
55
|
+
// ----------------------------------------------------------------------------------------------------------
|
|
43
56
|
findOne(filter) {
|
|
44
57
|
return this.repository.findOne(filter);
|
|
45
58
|
}
|
|
59
|
+
// ----------------------------------------------------------------------------------------------------------
|
|
46
60
|
count(where) {
|
|
47
61
|
return this.repository.count(where);
|
|
48
62
|
}
|
|
@@ -56,8 +70,7 @@ const defineCrudController = (opts) => {
|
|
|
56
70
|
'application/json': {
|
|
57
71
|
schema: {
|
|
58
72
|
type: 'array',
|
|
59
|
-
items: schemaOptions
|
|
60
|
-
(0, rest_1.getModelSchemaRef)(entityOptions, { includeRelations: true }),
|
|
73
|
+
items: (_a = schemaOptions === null || schemaOptions === void 0 ? void 0 : schemaOptions.find) !== null && _a !== void 0 ? _a : (0, rest_1.getModelSchemaRef)(entityOptions, { includeRelations: true }),
|
|
61
74
|
},
|
|
62
75
|
},
|
|
63
76
|
},
|
|
@@ -76,8 +89,7 @@ const defineCrudController = (opts) => {
|
|
|
76
89
|
description: `Find ${entityOptions.name} model instance`,
|
|
77
90
|
content: {
|
|
78
91
|
'application/json': {
|
|
79
|
-
schema: schemaOptions
|
|
80
|
-
(0, rest_1.getModelSchemaRef)(entityOptions, { includeRelations: true }),
|
|
92
|
+
schema: (_b = schemaOptions === null || schemaOptions === void 0 ? void 0 : schemaOptions.findById) !== null && _b !== void 0 ? _b : (0, rest_1.getModelSchemaRef)(entityOptions, { includeRelations: true }),
|
|
81
93
|
},
|
|
82
94
|
},
|
|
83
95
|
},
|
|
@@ -96,8 +108,7 @@ const defineCrudController = (opts) => {
|
|
|
96
108
|
description: `Find one ${entityOptions.name} model instance`,
|
|
97
109
|
content: {
|
|
98
110
|
'application/json': {
|
|
99
|
-
schema: schemaOptions
|
|
100
|
-
(0, rest_1.getModelSchemaRef)(entityOptions, { includeRelations: true }),
|
|
111
|
+
schema: (_c = schemaOptions === null || schemaOptions === void 0 ? void 0 : schemaOptions.findOne) !== null && _c !== void 0 ? _c : (0, rest_1.getModelSchemaRef)(entityOptions, { includeRelations: true }),
|
|
101
112
|
},
|
|
102
113
|
},
|
|
103
114
|
},
|
|
@@ -127,17 +138,17 @@ const defineCrudController = (opts) => {
|
|
|
127
138
|
__metadata("design:returntype", Promise)
|
|
128
139
|
], ReadController.prototype, "count", null);
|
|
129
140
|
if (controllerOptions.readonly) {
|
|
130
|
-
if (repositoryOptions
|
|
141
|
+
if (repositoryOptions === null || repositoryOptions === void 0 ? void 0 : repositoryOptions.name) {
|
|
131
142
|
(0, core_1.inject)(`repositories.${repositoryOptions.name}`)(ReadController, undefined, 0);
|
|
132
143
|
}
|
|
133
144
|
return ReadController;
|
|
134
145
|
}
|
|
135
146
|
class CrudController extends ReadController {
|
|
136
|
-
getCurrentUser;
|
|
137
147
|
constructor(repository, getCurrentUser) {
|
|
138
148
|
super(repository);
|
|
139
149
|
this.getCurrentUser = getCurrentUser;
|
|
140
150
|
}
|
|
151
|
+
// ----------------------------------------------------------------------------------------------------------
|
|
141
152
|
_getContextUser() {
|
|
142
153
|
return new Promise((resolve, reject) => {
|
|
143
154
|
if (!this.getCurrentUser) {
|
|
@@ -147,13 +158,14 @@ const defineCrudController = (opts) => {
|
|
|
147
158
|
this.getCurrentUser().then(resolve).catch(reject);
|
|
148
159
|
});
|
|
149
160
|
}
|
|
161
|
+
// ----------------------------------------------------------------------------------------------------------
|
|
150
162
|
create(data) {
|
|
151
163
|
return new Promise((resolve, reject) => {
|
|
152
164
|
this._getContextUser()
|
|
153
165
|
.then(currentUser => {
|
|
154
166
|
this.repository
|
|
155
167
|
.create(data, {
|
|
156
|
-
authorId: currentUser
|
|
168
|
+
authorId: currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId,
|
|
157
169
|
})
|
|
158
170
|
.then(resolve)
|
|
159
171
|
.catch(reject);
|
|
@@ -161,44 +173,50 @@ const defineCrudController = (opts) => {
|
|
|
161
173
|
.catch(reject);
|
|
162
174
|
});
|
|
163
175
|
}
|
|
176
|
+
// ----------------------------------------------------------------------------------------------------------
|
|
164
177
|
updateAll(data, where) {
|
|
165
178
|
return new Promise((resolve, reject) => {
|
|
166
179
|
this._getContextUser().then(currentUser => {
|
|
167
180
|
this.repository
|
|
168
181
|
.updateAll(data, where, {
|
|
169
|
-
authorId: currentUser
|
|
182
|
+
authorId: currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId,
|
|
170
183
|
})
|
|
171
184
|
.then(resolve)
|
|
172
185
|
.catch(reject);
|
|
173
186
|
});
|
|
174
187
|
});
|
|
175
188
|
}
|
|
189
|
+
// ----------------------------------------------------------------------------------------------------------
|
|
176
190
|
updateById(id, data) {
|
|
177
191
|
return new Promise((resolve, reject) => {
|
|
178
192
|
this._getContextUser().then(currentUser => {
|
|
179
193
|
this.repository
|
|
180
194
|
.updateWithReturn(id, data, {
|
|
181
|
-
authorId: currentUser
|
|
195
|
+
authorId: currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId,
|
|
182
196
|
})
|
|
183
197
|
.then(resolve)
|
|
184
198
|
.catch(reject);
|
|
185
199
|
});
|
|
186
200
|
});
|
|
187
201
|
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
202
|
+
// ----------------------------------------------------------------------------------------------------------
|
|
203
|
+
replaceById(id, data) {
|
|
204
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
205
|
+
return new Promise((resolve, reject) => {
|
|
206
|
+
this._getContextUser().then(currentUser => {
|
|
207
|
+
this.repository
|
|
208
|
+
.replaceById(id, data, {
|
|
209
|
+
authorId: currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId,
|
|
210
|
+
})
|
|
211
|
+
.then(() => {
|
|
212
|
+
resolve(Object.assign(Object.assign({}, data), { id }));
|
|
213
|
+
})
|
|
214
|
+
.catch(reject);
|
|
215
|
+
});
|
|
199
216
|
});
|
|
200
217
|
});
|
|
201
218
|
}
|
|
219
|
+
// ----------------------------------------------------------------------------------------------------------
|
|
202
220
|
deleteById(id) {
|
|
203
221
|
return new Promise((resolve, reject) => {
|
|
204
222
|
this.repository
|
|
@@ -217,7 +235,7 @@ const defineCrudController = (opts) => {
|
|
|
217
235
|
description: `Create ${entityOptions.name} model instance`,
|
|
218
236
|
content: {
|
|
219
237
|
'application/json': {
|
|
220
|
-
schema: schemaOptions
|
|
238
|
+
schema: (_d = schemaOptions === null || schemaOptions === void 0 ? void 0 : schemaOptions.create) !== null && _d !== void 0 ? _d : (0, rest_1.getModelSchemaRef)(entityOptions),
|
|
221
239
|
},
|
|
222
240
|
},
|
|
223
241
|
},
|
|
@@ -226,11 +244,10 @@ const defineCrudController = (opts) => {
|
|
|
226
244
|
__param(0, (0, rest_1.requestBody)({
|
|
227
245
|
content: {
|
|
228
246
|
'application/json': {
|
|
229
|
-
schema: schemaOptions
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
}),
|
|
247
|
+
schema: (_e = schemaOptions === null || schemaOptions === void 0 ? void 0 : schemaOptions.createRequestBody) !== null && _e !== void 0 ? _e : (0, rest_1.getModelSchemaRef)(entityOptions, {
|
|
248
|
+
title: `New ${entityOptions.name} payload`,
|
|
249
|
+
exclude: ['id', 'createdAt', 'modifiedAt'],
|
|
250
|
+
}),
|
|
234
251
|
},
|
|
235
252
|
},
|
|
236
253
|
})),
|
|
@@ -254,11 +271,10 @@ const defineCrudController = (opts) => {
|
|
|
254
271
|
__param(0, (0, rest_1.requestBody)({
|
|
255
272
|
content: {
|
|
256
273
|
'application/json': {
|
|
257
|
-
schema: schemaOptions
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
}),
|
|
274
|
+
schema: (_f = schemaOptions === null || schemaOptions === void 0 ? void 0 : schemaOptions.updateAll) !== null && _f !== void 0 ? _f : (0, rest_1.getModelSchemaRef)(entityOptions, {
|
|
275
|
+
title: `Partial fields of ${entityOptions.name}`,
|
|
276
|
+
partial: true,
|
|
277
|
+
}),
|
|
262
278
|
},
|
|
263
279
|
},
|
|
264
280
|
})),
|
|
@@ -274,10 +290,9 @@ const defineCrudController = (opts) => {
|
|
|
274
290
|
description: `Updated ${entityOptions.name} models`,
|
|
275
291
|
content: {
|
|
276
292
|
'application/json': {
|
|
277
|
-
schema: schemaOptions
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
}),
|
|
293
|
+
schema: (_g = schemaOptions === null || schemaOptions === void 0 ? void 0 : schemaOptions.updateById) !== null && _g !== void 0 ? _g : (0, rest_1.getModelSchemaRef)(entityOptions, {
|
|
294
|
+
title: `Updated ${entityOptions.name} models`,
|
|
295
|
+
}),
|
|
281
296
|
},
|
|
282
297
|
},
|
|
283
298
|
},
|
|
@@ -287,11 +302,10 @@ const defineCrudController = (opts) => {
|
|
|
287
302
|
__param(1, (0, rest_1.requestBody)({
|
|
288
303
|
content: {
|
|
289
304
|
'application/json': {
|
|
290
|
-
schema: schemaOptions
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
}),
|
|
305
|
+
schema: (_h = schemaOptions === null || schemaOptions === void 0 ? void 0 : schemaOptions.updateByIdRequestBody) !== null && _h !== void 0 ? _h : (0, rest_1.getModelSchemaRef)(entityOptions, {
|
|
306
|
+
title: `Partial fields of ${entityOptions.name}`,
|
|
307
|
+
partial: true,
|
|
308
|
+
}),
|
|
295
309
|
},
|
|
296
310
|
},
|
|
297
311
|
})),
|
|
@@ -309,10 +323,9 @@ const defineCrudController = (opts) => {
|
|
|
309
323
|
__param(1, (0, rest_1.requestBody)({
|
|
310
324
|
content: {
|
|
311
325
|
'application/json': {
|
|
312
|
-
schema: schemaOptions
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
}),
|
|
326
|
+
schema: (_j = schemaOptions === null || schemaOptions === void 0 ? void 0 : schemaOptions.replaceById) !== null && _j !== void 0 ? _j : (0, rest_1.getModelSchemaRef)(entityOptions, {
|
|
327
|
+
title: `Fields of ${entityOptions.name}`,
|
|
328
|
+
}),
|
|
316
329
|
},
|
|
317
330
|
},
|
|
318
331
|
})),
|
|
@@ -327,11 +340,10 @@ const defineCrudController = (opts) => {
|
|
|
327
340
|
description: `${entityOptions.name} was deleted`,
|
|
328
341
|
content: {
|
|
329
342
|
'application/json': {
|
|
330
|
-
schema: schemaOptions
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
}),
|
|
343
|
+
schema: (_k = schemaOptions === null || schemaOptions === void 0 ? void 0 : schemaOptions.deleteById) !== null && _k !== void 0 ? _k : (0, rest_1.getModelSchemaRef)(entityOptions, {
|
|
344
|
+
partial: true,
|
|
345
|
+
title: `Deleted ${entityOptions.name} models`,
|
|
346
|
+
}),
|
|
335
347
|
},
|
|
336
348
|
},
|
|
337
349
|
},
|
|
@@ -342,7 +354,7 @@ const defineCrudController = (opts) => {
|
|
|
342
354
|
__metadata("design:paramtypes", [Object]),
|
|
343
355
|
__metadata("design:returntype", Promise)
|
|
344
356
|
], CrudController.prototype, "deleteById", null);
|
|
345
|
-
if (repositoryOptions
|
|
357
|
+
if (repositoryOptions === null || repositoryOptions === void 0 ? void 0 : repositoryOptions.name) {
|
|
346
358
|
(0, core_1.inject)(`repositories.${repositoryOptions.name}`)(CrudController, undefined, 0);
|
|
347
359
|
}
|
|
348
360
|
if (doInjectCurrentUser) {
|
|
@@ -4,8 +4,6 @@ exports.AbstractExpressRequestHandler = void 0;
|
|
|
4
4
|
const logger_1 = require("../../helpers/logger");
|
|
5
5
|
const rest_1 = require("@loopback/rest");
|
|
6
6
|
class AbstractExpressRequestHandler extends rest_1.ExpressServer {
|
|
7
|
-
logger;
|
|
8
|
-
injectionGetter;
|
|
9
7
|
constructor(opts) {
|
|
10
8
|
const { scope, config, context } = opts;
|
|
11
9
|
super(config, context);
|