taon 21.0.56 → 21.0.58
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/browser/fesm2022/taon-browser.mjs +1 -0
- package/browser/fesm2022/taon-browser.mjs.map +1 -1
- package/browser/package.json +1 -1
- package/browser-prod/fesm2022/taon-browser.mjs +1 -0
- package/browser-prod/fesm2022/taon-browser.mjs.map +1 -1
- package/browser-prod/package.json +1 -1
- package/lib/build-info._auto-generated_.d.ts +1 -1
- package/lib/build-info._auto-generated_.js +1 -1
- package/lib/endpoint-context.js +2 -2
- package/lib/endpoint-context.js.map +1 -1
- package/lib/package.json +1 -1
- package/lib/ui/index.js +2 -2
- package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
- package/lib-prod/base-classes/base-abstract-entity.js +9 -21
- package/lib-prod/base-classes/base-abstract-entity.js.map +1 -1
- package/lib-prod/base-classes/base-angular-service.js +3 -7
- package/lib-prod/base-classes/base-angular-service.js.map +1 -1
- package/lib-prod/base-classes/base-class.js +10 -14
- package/lib-prod/base-classes/base-class.js.map +1 -1
- package/lib-prod/base-classes/base-context.js +9 -12
- package/lib-prod/base-classes/base-context.js.map +1 -1
- package/lib-prod/base-classes/base-controller.js +26 -41
- package/lib-prod/base-classes/base-controller.js.map +1 -1
- package/lib-prod/base-classes/base-crud-controller.js +50 -65
- package/lib-prod/base-classes/base-crud-controller.js.map +1 -1
- package/lib-prod/base-classes/base-custom-repository.js +6 -15
- package/lib-prod/base-classes/base-custom-repository.js.map +1 -1
- package/lib-prod/base-classes/base-entity.js +6 -15
- package/lib-prod/base-classes/base-entity.js.map +1 -1
- package/lib-prod/base-classes/base-file-upload.middleware.js +14 -23
- package/lib-prod/base-classes/base-file-upload.middleware.js.map +1 -1
- package/lib-prod/base-classes/base-injector.js +13 -17
- package/lib-prod/base-classes/base-injector.js.map +1 -1
- package/lib-prod/base-classes/base-middleware.js +2 -6
- package/lib-prod/base-classes/base-middleware.js.map +1 -1
- package/lib-prod/base-classes/base-migration.js +7 -11
- package/lib-prod/base-classes/base-migration.js.map +1 -1
- package/lib-prod/base-classes/base-provider.js +2 -6
- package/lib-prod/base-classes/base-provider.js.map +1 -1
- package/lib-prod/base-classes/base-repository.js +19 -31
- package/lib-prod/base-classes/base-repository.js.map +1 -1
- package/lib-prod/base-classes/base-subscriber-for-entity.js +6 -15
- package/lib-prod/base-classes/base-subscriber-for-entity.js.map +1 -1
- package/lib-prod/base-classes/base.js +1 -2
- package/lib-prod/base-classes/base.js.map +1 -1
- package/lib-prod/build-info._auto-generated_.d.ts +1 -1
- package/lib-prod/build-info._auto-generated_.js +6 -9
- package/lib-prod/build-info._auto-generated_.js.map +1 -1
- package/lib-prod/config/controller-config.js +3 -8
- package/lib-prod/config/controller-config.js.map +1 -1
- package/lib-prod/config/controller-options.js +2 -6
- package/lib-prod/config/controller-options.js.map +1 -1
- package/lib-prod/config/method-config.js +1 -5
- package/lib-prod/config/method-config.js.map +1 -1
- package/lib-prod/config/param-config.js +1 -5
- package/lib-prod/config/param-config.js.map +1 -1
- package/lib-prod/constants.js +7 -5
- package/lib-prod/constants.js.map +1 -1
- package/lib-prod/context-db-migrations.js +17 -21
- package/lib-prod/context-db-migrations.js.map +1 -1
- package/lib-prod/create-context.js +13 -18
- package/lib-prod/create-context.js.map +1 -1
- package/lib-prod/decorators/classes/controller-decorator.js +6 -9
- package/lib-prod/decorators/classes/controller-decorator.js.map +1 -1
- package/lib-prod/decorators/classes/entity-decorator.js +16 -21
- package/lib-prod/decorators/classes/entity-decorator.js.map +1 -1
- package/lib-prod/decorators/classes/middleware-decorator.js +9 -14
- package/lib-prod/decorators/classes/middleware-decorator.js.map +1 -1
- package/lib-prod/decorators/classes/migration-decorator.js +8 -13
- package/lib-prod/decorators/classes/migration-decorator.js.map +1 -1
- package/lib-prod/decorators/classes/provider-decorator.js +8 -13
- package/lib-prod/decorators/classes/provider-decorator.js.map +1 -1
- package/lib-prod/decorators/classes/repository-decorator.js +8 -13
- package/lib-prod/decorators/classes/repository-decorator.js.map +1 -1
- package/lib-prod/decorators/classes/subscriber-decorator.js +8 -13
- package/lib-prod/decorators/classes/subscriber-decorator.js.map +1 -1
- package/lib-prod/decorators/decorator-abstract-opt.js +1 -5
- package/lib-prod/decorators/decorator-abstract-opt.js.map +1 -1
- package/lib-prod/decorators/http/http-decorators.js +2 -5
- package/lib-prod/decorators/http/http-decorators.js.map +1 -1
- package/lib-prod/decorators/http/http-methods-decorators.js +11 -20
- package/lib-prod/decorators/http/http-methods-decorators.js.map +1 -1
- package/lib-prod/decorators/http/http-params-decorators.js +7 -14
- package/lib-prod/decorators/http/http-params-decorators.js.map +1 -1
- package/lib-prod/dependency-injection/di-container.js +1 -5
- package/lib-prod/dependency-injection/di-container.js.map +1 -1
- package/lib-prod/endpoint-context-storage.js +3 -7
- package/lib-prod/endpoint-context-storage.js.map +1 -1
- package/lib-prod/endpoint-context.js +282 -286
- package/lib-prod/endpoint-context.js.map +1 -1
- package/lib-prod/entity-process.js +54 -60
- package/lib-prod/entity-process.js.map +1 -1
- package/lib-prod/env/env.angular-node-app.js +64 -68
- package/lib-prod/env/env.angular-node-app.js.map +1 -1
- package/lib-prod/env/env.docs-webapp.js +64 -68
- package/lib-prod/env/env.docs-webapp.js.map +1 -1
- package/lib-prod/env/env.electron-app.js +64 -68
- package/lib-prod/env/env.electron-app.js.map +1 -1
- package/lib-prod/env/env.mobile-app.js +64 -68
- package/lib-prod/env/env.mobile-app.js.map +1 -1
- package/lib-prod/env/env.npm-lib-and-cli-tool.js +64 -68
- package/lib-prod/env/env.npm-lib-and-cli-tool.js.map +1 -1
- package/lib-prod/env/env.vscode-plugin.js +64 -68
- package/lib-prod/env/env.vscode-plugin.js.map +1 -1
- package/lib-prod/env/index.js +6 -22
- package/lib-prod/env/index.js.map +1 -1
- package/lib-prod/express-types.js +1 -2
- package/lib-prod/formly/formly.models.js +1 -2
- package/lib-prod/formly/fromly.js +29 -32
- package/lib-prod/formly/fromly.js.map +1 -1
- package/lib-prod/formly/type-from-entity.js +15 -23
- package/lib-prod/formly/type-from-entity.js.map +1 -1
- package/lib-prod/get-response-value.js +1 -5
- package/lib-prod/get-response-value.js.map +1 -1
- package/lib-prod/global-state/taon-global-state/index.js +5 -21
- package/lib-prod/global-state/taon-global-state/index.js.map +1 -1
- package/lib-prod/global-state/taon-global-state/taon-global-state.abstract.context.js +14 -17
- package/lib-prod/global-state/taon-global-state/taon-global-state.abstract.context.js.map +1 -1
- package/lib-prod/global-state/taon-global-state/taon-global-state.constants.js +3 -6
- package/lib-prod/global-state/taon-global-state/taon-global-state.constants.js.map +1 -1
- package/lib-prod/global-state/taon-global-state/taon-global-state.controller.js +16 -31
- package/lib-prod/global-state/taon-global-state/taon-global-state.controller.js.map +1 -1
- package/lib-prod/global-state/taon-global-state/taon-global-state.entity.js +13 -25
- package/lib-prod/global-state/taon-global-state/taon-global-state.entity.js.map +1 -1
- package/lib-prod/global-state/taon-global-state/taon-global-state.middleware.js +6 -15
- package/lib-prod/global-state/taon-global-state/taon-global-state.middleware.js.map +1 -1
- package/lib-prod/global-state/taon-global-state/taon-global-state.models.js +3 -6
- package/lib-prod/global-state/taon-global-state/taon-global-state.models.js.map +1 -1
- package/lib-prod/global-state/taon-global-state/taon-global-state.provider.js +6 -15
- package/lib-prod/global-state/taon-global-state/taon-global-state.provider.js.map +1 -1
- package/lib-prod/global-state/taon-global-state/taon-global-state.repository.js +13 -22
- package/lib-prod/global-state/taon-global-state/taon-global-state.repository.js.map +1 -1
- package/lib-prod/global-state/taon-global-state/taon-global-state.subscriber.js +10 -19
- package/lib-prod/global-state/taon-global-state/taon-global-state.subscriber.js.map +1 -1
- package/lib-prod/global-state/taon-global-state/taon-global-state.utils.js +3 -7
- package/lib-prod/global-state/taon-global-state/taon-global-state.utils.js.map +1 -1
- package/lib-prod/global-state/taon-transaction-registry/index.js +10 -26
- package/lib-prod/global-state/taon-transaction-registry/index.js.map +1 -1
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.js +16 -19
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.js.map +1 -1
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.constants.js +1 -4
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.constants.js.map +1 -1
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.controller.js +14 -29
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.controller.js.map +1 -1
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.entity.js +14 -26
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.entity.js.map +1 -1
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.middleware.js +6 -15
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.middleware.js.map +1 -1
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.models.js +2 -5
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.models.js.map +1 -1
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.provider.js +6 -15
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.provider.js.map +1 -1
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.repository.js +10 -19
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.repository.js.map +1 -1
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.js +10 -19
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.js.map +1 -1
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.utils.js +1 -4
- package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.utils.js.map +1 -1
- package/lib-prod/helpers/class-helpers.js +60 -77
- package/lib-prod/helpers/class-helpers.js.map +1 -1
- package/lib-prod/helpers/clone-obj.js +7 -11
- package/lib-prod/helpers/clone-obj.js.map +1 -1
- package/lib-prod/helpers/taon-helpers.js +21 -35
- package/lib-prod/helpers/taon-helpers.js.map +1 -1
- package/lib-prod/index.js +73 -93
- package/lib-prod/index.js.map +1 -1
- package/lib-prod/inject.js +4 -8
- package/lib-prod/inject.js.map +1 -1
- package/lib-prod/migrations/index.js +1 -17
- package/lib-prod/migrations/index.js.map +1 -1
- package/lib-prod/models.js +14 -20
- package/lib-prod/models.js.map +1 -1
- package/lib-prod/orm/columns.js +22 -69
- package/lib-prod/orm/columns.js.map +1 -1
- package/lib-prod/orm/index.js +1 -17
- package/lib-prod/orm/index.js.map +1 -1
- package/lib-prod/package.json +1 -1
- package/lib-prod/realtime/realtime-client.js +23 -27
- package/lib-prod/realtime/realtime-client.js.map +1 -1
- package/lib-prod/realtime/realtime-core.js +16 -20
- package/lib-prod/realtime/realtime-core.js.map +1 -1
- package/lib-prod/realtime/realtime-server.js +28 -32
- package/lib-prod/realtime/realtime-server.js.map +1 -1
- package/lib-prod/realtime/realtime-strategy/index.js +4 -20
- package/lib-prod/realtime/realtime-strategy/index.js.map +1 -1
- package/lib-prod/realtime/realtime-strategy/realtime-strategy-ipc.js +11 -18
- package/lib-prod/realtime/realtime-strategy/realtime-strategy-ipc.js.map +1 -1
- package/lib-prod/realtime/realtime-strategy/realtime-strategy-mock.js +5 -9
- package/lib-prod/realtime/realtime-strategy/realtime-strategy-mock.js.map +1 -1
- package/lib-prod/realtime/realtime-strategy/realtime-strategy-socket-io.js +6 -10
- package/lib-prod/realtime/realtime-strategy/realtime-strategy-socket-io.js.map +1 -1
- package/lib-prod/realtime/realtime-strategy/realtime-strategy.js +1 -5
- package/lib-prod/realtime/realtime-strategy/realtime-strategy.js.map +1 -1
- package/lib-prod/realtime/realtime-subs-manager.js +11 -15
- package/lib-prod/realtime/realtime-subs-manager.js.map +1 -1
- package/lib-prod/realtime/realtime.models.js +1 -2
- package/lib-prod/realtime/realtime.models.js.map +1 -1
- package/lib-prod/symbols.js +14 -17
- package/lib-prod/symbols.js.map +1 -1
- package/lib-prod/ui/index.d.ts +1 -1
- package/lib-prod/ui/index.js +1 -4
- package/lib-prod/ui/index.js.map +1 -1
- package/lib-prod/ui/taon-admin-mode-configuration/index.d.ts +1 -1
- package/lib-prod/ui/taon-admin-mode-configuration/index.js +1 -4
- package/lib-prod/ui/taon-admin-mode-configuration/index.js.map +1 -1
- package/lib-prod/validators.js +12 -19
- package/lib-prod/validators.js.map +1 -1
- package/package.json +1 -1
- package/websql/fesm2022/taon-websql.mjs +1 -0
- package/websql/fesm2022/taon-websql.mjs.map +1 -1
- package/websql/package.json +1 -1
- package/websql-prod/fesm2022/taon-websql.mjs +1 -0
- package/websql-prod/fesm2022/taon-websql.mjs.map +1 -1
- package/websql-prod/package.json +1 -1
|
@@ -1,27 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
};
|
|
11
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.TaonBaseController = void 0;
|
|
16
|
-
const FormData = require("form-data"); // @backend
|
|
17
|
-
const lib_prod_1 = require("ng2-rest/lib-prod");
|
|
18
|
-
const lib_prod_2 = require("tnp-core/lib-prod");
|
|
19
|
-
const controller_decorator_1 = require("../decorators/classes/controller-decorator");
|
|
20
|
-
const http_methods_decorators_1 = require("../decorators/http/http-methods-decorators");
|
|
21
|
-
const http_params_decorators_1 = require("../decorators/http/http-params-decorators");
|
|
22
|
-
const base_file_upload_middleware_1 = require("./base-file-upload.middleware");
|
|
23
|
-
const base_injector_1 = require("./base-injector");
|
|
24
|
-
let TaonBaseController = class TaonBaseController extends base_injector_1.TaonBaseInjector {
|
|
1
|
+
import * as FormData from 'form-data'; // @backend
|
|
2
|
+
import { HttpResponseError, } from 'ng2-rest/lib-prod';
|
|
3
|
+
import { crossPlatformPath, fse, path, CoreModels__NS__TaonHttpErrorCustomProp, UtilsTerminal__NS__waitMilliseconds } from 'tnp-core/lib-prod';
|
|
4
|
+
import { TaonController } from '../decorators/classes/controller-decorator';
|
|
5
|
+
import { POST } from '../decorators/http/http-methods-decorators';
|
|
6
|
+
import { Body, Query } from '../decorators/http/http-params-decorators';
|
|
7
|
+
import { TaonBaseFileUploadMiddleware } from './base-file-upload.middleware';
|
|
8
|
+
import { TaonBaseInjector } from './base-injector';
|
|
9
|
+
let TaonBaseController = class TaonBaseController extends TaonBaseInjector {
|
|
25
10
|
/**
|
|
26
11
|
* Hook that is called when taon app is inited
|
|
27
12
|
* (all contexts are created and inited)
|
|
@@ -36,14 +21,14 @@ let TaonBaseController = class TaonBaseController extends base_injector_1.TaonBa
|
|
|
36
21
|
throw 'No file(s) received';
|
|
37
22
|
}
|
|
38
23
|
const responseArr = files.map(f => {
|
|
39
|
-
const savedAbs =
|
|
24
|
+
const savedAbs = crossPlatformPath(path.resolve(f.path));
|
|
40
25
|
// const savedRel = crossPlatformPath(
|
|
41
26
|
// path.relative(this.ctx.cwd, savedAbs),
|
|
42
27
|
// );
|
|
43
28
|
return {
|
|
44
29
|
ok: true,
|
|
45
30
|
originalName: f.originalname,
|
|
46
|
-
savedAs:
|
|
31
|
+
savedAs: path.basename(savedAbs),
|
|
47
32
|
// savedPath: void 0, // not needed
|
|
48
33
|
size: f.size,
|
|
49
34
|
mimetype: f.mimetype,
|
|
@@ -69,11 +54,11 @@ let TaonBaseController = class TaonBaseController extends base_injector_1.TaonBa
|
|
|
69
54
|
//#region upload local file to server
|
|
70
55
|
async uploadLocalFileToServer(absFilePath, options, queryParams) {
|
|
71
56
|
//#region @backendFunc
|
|
72
|
-
const stat =
|
|
73
|
-
const stream =
|
|
57
|
+
const stat = fse.statSync(absFilePath);
|
|
58
|
+
const stream = fse.createReadStream(absFilePath);
|
|
74
59
|
const form = new FormData();
|
|
75
60
|
form.append('file', stream, {
|
|
76
|
-
filename:
|
|
61
|
+
filename: path.basename(absFilePath),
|
|
77
62
|
knownLength: stat.size,
|
|
78
63
|
});
|
|
79
64
|
const data = await this.uploadFormDataToServer(form, queryParams).request(options || {});
|
|
@@ -107,7 +92,7 @@ let TaonBaseController = class TaonBaseController extends base_injector_1.TaonBa
|
|
|
107
92
|
let i = 0;
|
|
108
93
|
let httpErrorsCount = 0;
|
|
109
94
|
while (true) {
|
|
110
|
-
await
|
|
95
|
+
await UtilsTerminal__NS__waitMilliseconds(poolingInterval);
|
|
111
96
|
try {
|
|
112
97
|
const resp = await taonRequest({
|
|
113
98
|
reqIndexNum: i,
|
|
@@ -120,10 +105,10 @@ let TaonBaseController = class TaonBaseController extends base_injector_1.TaonBa
|
|
|
120
105
|
catch (error) {
|
|
121
106
|
httpErrorsCount++;
|
|
122
107
|
if (options.loopRequestsOnBackendError) {
|
|
123
|
-
const isProperTaonError = error instanceof
|
|
124
|
-
error.body.json[
|
|
125
|
-
const isHttpError = error instanceof
|
|
126
|
-
const isUnknownError = !(error instanceof
|
|
108
|
+
const isProperTaonError = error instanceof HttpResponseError &&
|
|
109
|
+
error.body.json[CoreModels__NS__TaonHttpErrorCustomProp];
|
|
110
|
+
const isHttpError = error instanceof HttpResponseError && !isProperTaonError;
|
|
111
|
+
const isUnknownError = !(error instanceof HttpResponseError);
|
|
127
112
|
const resBool = await options.loopRequestsOnBackendError({
|
|
128
113
|
taonError: isProperTaonError ? error : void 0,
|
|
129
114
|
unknownHttpError: isHttpError ? error : void 0,
|
|
@@ -150,24 +135,24 @@ let TaonBaseController = class TaonBaseController extends base_injector_1.TaonBa
|
|
|
150
135
|
}
|
|
151
136
|
}
|
|
152
137
|
};
|
|
153
|
-
exports.TaonBaseController = TaonBaseController;
|
|
154
138
|
__decorate([
|
|
155
|
-
|
|
139
|
+
POST({
|
|
156
140
|
overrideContentType: 'multipart/form-data',
|
|
157
141
|
middlewares: ({ parentMiddlewares }) => ({
|
|
158
142
|
...parentMiddlewares,
|
|
159
|
-
TaonBaseFileUploadMiddleware
|
|
143
|
+
TaonBaseFileUploadMiddleware,
|
|
160
144
|
}),
|
|
161
145
|
}),
|
|
162
|
-
__param(0,
|
|
163
|
-
__param(1,
|
|
146
|
+
__param(0, Body()),
|
|
147
|
+
__param(1, Query()),
|
|
164
148
|
__metadata("design:type", Function),
|
|
165
149
|
__metadata("design:paramtypes", [FormData, Object]),
|
|
166
150
|
__metadata("design:returntype", Object)
|
|
167
151
|
], TaonBaseController.prototype, "uploadFormDataToServer", null);
|
|
168
|
-
|
|
169
|
-
|
|
152
|
+
TaonBaseController = __decorate([
|
|
153
|
+
TaonController({
|
|
170
154
|
className: 'TaonBaseController',
|
|
171
155
|
})
|
|
172
156
|
], TaonBaseController);
|
|
157
|
+
export { TaonBaseController };
|
|
173
158
|
//# sourceMappingURL=base-controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-controller.js","sourceRoot":"","sources":[""],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base-controller.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
|
|
@@ -1,55 +1,40 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.TaonBaseCrudController = void 0;
|
|
16
1
|
//#region imports
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
2
|
+
import { ___NS__isArray, ___NS__isFunction, ___NS__isString, Helpers__NS__error, Helpers__NS__warn } from 'tnp-core/lib-prod';
|
|
3
|
+
import { TaonController } from '../decorators/classes/controller-decorator';
|
|
4
|
+
import { GET, PUT, DELETE, POST, PATCH, } from '../decorators/http/http-methods-decorators';
|
|
5
|
+
import { Query, Body } from '../decorators/http/http-params-decorators';
|
|
6
|
+
import { ClassHelpers__NS__getClassFnFromObject, ClassHelpers__NS__getName } from '../helpers/class-helpers';
|
|
7
|
+
import { Symbols__NS__metadata, Symbols__NS__old } from '../symbols';
|
|
8
|
+
import { Validators__NS__preventUndefinedModel } from '../validators';
|
|
9
|
+
import { TaonBaseController } from './base-controller';
|
|
25
10
|
//#endregion
|
|
26
11
|
/**
|
|
27
12
|
* Please override property entityClassFn with entity class.
|
|
28
13
|
*/
|
|
29
|
-
let TaonBaseCrudController = class TaonBaseCrudController extends
|
|
14
|
+
let TaonBaseCrudController = class TaonBaseCrudController extends TaonBaseController {
|
|
30
15
|
//#region fields
|
|
31
16
|
db;
|
|
32
17
|
//#endregion
|
|
33
18
|
//#region init
|
|
34
19
|
async _() {
|
|
35
|
-
if (!
|
|
36
|
-
|
|
20
|
+
if (!___NS__isFunction(this.entityClassResolveFn)) {
|
|
21
|
+
Helpers__NS__warn(`Skipping initing CRUD controller ${ClassHelpers__NS__getName(this)} because entityClassResolveFn is not provided.`);
|
|
37
22
|
return;
|
|
38
23
|
}
|
|
39
24
|
let entityClassFn = this.entityClassResolveFn();
|
|
40
25
|
this.db = this.injectRepo(entityClassFn);
|
|
41
26
|
if (entityClassFn) {
|
|
42
|
-
const configEntity = Reflect.getMetadata(
|
|
27
|
+
const configEntity = Reflect.getMetadata(Symbols__NS__metadata.options.entity, ClassHelpers__NS__getClassFnFromObject(this));
|
|
43
28
|
if (configEntity?.createTable === false) {
|
|
44
|
-
|
|
29
|
+
Helpers__NS__warn(`Table for entity ${ClassHelpers__NS__getName(entityClassFn)} will not be created. Crud will not work properly.`);
|
|
45
30
|
}
|
|
46
31
|
}
|
|
47
32
|
else {
|
|
48
|
-
|
|
33
|
+
Helpers__NS__error(`Entity class not provided for controller ${ClassHelpers__NS__getName(this)}.
|
|
49
34
|
|
|
50
35
|
Please provide entity as class property entityClassFn:
|
|
51
36
|
|
|
52
|
-
class ${
|
|
37
|
+
class ${ClassHelpers__NS__getName(this)} extends TaonBaseCrudController<Entity> {
|
|
53
38
|
// ...
|
|
54
39
|
entityClassResolveFn = ()=> MyEntityClass;
|
|
55
40
|
// ...
|
|
@@ -68,10 +53,10 @@ let TaonBaseCrudController = class TaonBaseCrudController extends base_controlle
|
|
|
68
53
|
if (model === void 0) {
|
|
69
54
|
return;
|
|
70
55
|
}
|
|
71
|
-
|
|
56
|
+
Validators__NS__preventUndefinedModel(model, id);
|
|
72
57
|
let value = model[property];
|
|
73
58
|
let result;
|
|
74
|
-
if (
|
|
59
|
+
if (___NS__isString(value) || ___NS__isArray(value)) {
|
|
75
60
|
result = value.slice(alreadyLength);
|
|
76
61
|
}
|
|
77
62
|
return result;
|
|
@@ -102,7 +87,7 @@ let TaonBaseCrudController = class TaonBaseCrudController extends base_controlle
|
|
|
102
87
|
take: take,
|
|
103
88
|
skip: skip,
|
|
104
89
|
});
|
|
105
|
-
response?.setHeader(
|
|
90
|
+
response?.setHeader(Symbols__NS__old.X_TOTAL_COUNT, total);
|
|
106
91
|
// const lastPage = Math.ceil(total / take);
|
|
107
92
|
// const nextPage = page + 1 > lastPage ? null : page + 1;
|
|
108
93
|
// const prevPage = page - 1 < 1 ? null : page - 1;
|
|
@@ -123,7 +108,7 @@ let TaonBaseCrudController = class TaonBaseCrudController extends base_controlle
|
|
|
123
108
|
return async (request, response) => {
|
|
124
109
|
if (this.db.repositoryExists) {
|
|
125
110
|
const { models, totalCount } = await this.db.getAll();
|
|
126
|
-
response?.setHeader(
|
|
111
|
+
response?.setHeader(Symbols__NS__old.X_TOTAL_COUNT, totalCount);
|
|
127
112
|
return models;
|
|
128
113
|
}
|
|
129
114
|
return [];
|
|
@@ -223,96 +208,96 @@ let TaonBaseCrudController = class TaonBaseCrudController extends base_controlle
|
|
|
223
208
|
//#endregion
|
|
224
209
|
}
|
|
225
210
|
};
|
|
226
|
-
exports.TaonBaseCrudController = TaonBaseCrudController;
|
|
227
211
|
__decorate([
|
|
228
|
-
|
|
229
|
-
__param(0,
|
|
230
|
-
__param(1,
|
|
231
|
-
__param(2,
|
|
212
|
+
GET(),
|
|
213
|
+
__param(0, Query(`id`)),
|
|
214
|
+
__param(1, Query(`property`)),
|
|
215
|
+
__param(2, Query('alreadyLength')),
|
|
232
216
|
__metadata("design:type", Function),
|
|
233
217
|
__metadata("design:paramtypes", [Object, String, Number]),
|
|
234
218
|
__metadata("design:returntype", Object)
|
|
235
219
|
], TaonBaseCrudController.prototype, "bufforedChanges", null);
|
|
236
220
|
__decorate([
|
|
237
|
-
|
|
238
|
-
__param(0,
|
|
239
|
-
__param(1,
|
|
240
|
-
__param(2,
|
|
221
|
+
GET(),
|
|
222
|
+
__param(0, Query('pageNumber')),
|
|
223
|
+
__param(1, Query('pageSize')),
|
|
224
|
+
__param(2, Query('search')),
|
|
241
225
|
__metadata("design:type", Function),
|
|
242
226
|
__metadata("design:paramtypes", [Number, Number, String]),
|
|
243
227
|
__metadata("design:returntype", Object)
|
|
244
228
|
], TaonBaseCrudController.prototype, "pagination", null);
|
|
245
229
|
__decorate([
|
|
246
|
-
|
|
230
|
+
GET(),
|
|
247
231
|
__metadata("design:type", Function),
|
|
248
232
|
__metadata("design:paramtypes", []),
|
|
249
233
|
__metadata("design:returntype", Object)
|
|
250
234
|
], TaonBaseCrudController.prototype, "getAll", null);
|
|
251
235
|
__decorate([
|
|
252
|
-
|
|
253
|
-
__param(0,
|
|
236
|
+
GET(),
|
|
237
|
+
__param(0, Query(`id`)),
|
|
254
238
|
__metadata("design:type", Function),
|
|
255
239
|
__metadata("design:paramtypes", [Object]),
|
|
256
240
|
__metadata("design:returntype", Object)
|
|
257
241
|
], TaonBaseCrudController.prototype, "getBy", null);
|
|
258
242
|
__decorate([
|
|
259
|
-
|
|
260
|
-
__param(0,
|
|
261
|
-
__param(1,
|
|
243
|
+
PUT(),
|
|
244
|
+
__param(0, Query(`id`)),
|
|
245
|
+
__param(1, Body()),
|
|
262
246
|
__metadata("design:type", Function),
|
|
263
247
|
__metadata("design:paramtypes", [Object, Object]),
|
|
264
248
|
__metadata("design:returntype", Object)
|
|
265
249
|
], TaonBaseCrudController.prototype, "updateById", null);
|
|
266
250
|
__decorate([
|
|
267
|
-
|
|
268
|
-
__param(0,
|
|
269
|
-
__param(1,
|
|
251
|
+
PATCH(),
|
|
252
|
+
__param(0, Query(`id`)),
|
|
253
|
+
__param(1, Body()),
|
|
270
254
|
__metadata("design:type", Function),
|
|
271
255
|
__metadata("design:paramtypes", [Object, Object]),
|
|
272
256
|
__metadata("design:returntype", Object)
|
|
273
257
|
], TaonBaseCrudController.prototype, "patchById", null);
|
|
274
258
|
__decorate([
|
|
275
|
-
|
|
276
|
-
__param(0,
|
|
259
|
+
PUT(),
|
|
260
|
+
__param(0, Body()),
|
|
277
261
|
__metadata("design:type", Function),
|
|
278
262
|
__metadata("design:paramtypes", [Array]),
|
|
279
263
|
__metadata("design:returntype", Object)
|
|
280
264
|
], TaonBaseCrudController.prototype, "bulkUpdate", null);
|
|
281
265
|
__decorate([
|
|
282
|
-
|
|
283
|
-
__param(0,
|
|
266
|
+
DELETE(),
|
|
267
|
+
__param(0, Query(`id`)),
|
|
284
268
|
__metadata("design:type", Function),
|
|
285
269
|
__metadata("design:paramtypes", [Object]),
|
|
286
270
|
__metadata("design:returntype", Object)
|
|
287
271
|
], TaonBaseCrudController.prototype, "deleteById", null);
|
|
288
272
|
__decorate([
|
|
289
|
-
|
|
290
|
-
__param(0,
|
|
273
|
+
DELETE(),
|
|
274
|
+
__param(0, Query(`ids`)),
|
|
291
275
|
__metadata("design:type", Function),
|
|
292
276
|
__metadata("design:paramtypes", [Array]),
|
|
293
277
|
__metadata("design:returntype", Object)
|
|
294
278
|
], TaonBaseCrudController.prototype, "bulkDelete", null);
|
|
295
279
|
__decorate([
|
|
296
|
-
|
|
280
|
+
DELETE(),
|
|
297
281
|
__metadata("design:type", Function),
|
|
298
282
|
__metadata("design:paramtypes", []),
|
|
299
283
|
__metadata("design:returntype", Object)
|
|
300
284
|
], TaonBaseCrudController.prototype, "clearTable", null);
|
|
301
285
|
__decorate([
|
|
302
|
-
|
|
303
|
-
__param(0,
|
|
286
|
+
POST(),
|
|
287
|
+
__param(0, Body()),
|
|
304
288
|
__metadata("design:type", Function),
|
|
305
289
|
__metadata("design:paramtypes", [Object]),
|
|
306
290
|
__metadata("design:returntype", Object)
|
|
307
291
|
], TaonBaseCrudController.prototype, "save", null);
|
|
308
292
|
__decorate([
|
|
309
|
-
|
|
310
|
-
__param(0,
|
|
293
|
+
POST(),
|
|
294
|
+
__param(0, Body()),
|
|
311
295
|
__metadata("design:type", Function),
|
|
312
296
|
__metadata("design:paramtypes", [Object]),
|
|
313
297
|
__metadata("design:returntype", Object)
|
|
314
298
|
], TaonBaseCrudController.prototype, "bulkCreate", null);
|
|
315
|
-
|
|
316
|
-
|
|
299
|
+
TaonBaseCrudController = __decorate([
|
|
300
|
+
TaonController({ className: 'TaonBaseCrudController' })
|
|
317
301
|
], TaonBaseCrudController);
|
|
302
|
+
export { TaonBaseCrudController };
|
|
318
303
|
//# sourceMappingURL=base-crud-controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-crud-controller.js","sourceRoot":"","sources":[""],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base-crud-controller.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.TaonBaseCustomRepository = void 0;
|
|
10
|
-
const repository_decorator_1 = require("../decorators/classes/repository-decorator");
|
|
11
|
-
const base_injector_1 = require("./base-injector");
|
|
1
|
+
import { TaonRepository } from '../decorators/classes/repository-decorator';
|
|
2
|
+
import { TaonBaseInjector } from './base-injector';
|
|
12
3
|
//#endregion
|
|
13
|
-
let TaonBaseCustomRepository = class TaonBaseCustomRepository extends
|
|
4
|
+
let TaonBaseCustomRepository = class TaonBaseCustomRepository extends TaonBaseInjector {
|
|
14
5
|
};
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
(0, repository_decorator_1.TaonRepository)({ className: 'TaonBaseCustomRepository' })
|
|
6
|
+
TaonBaseCustomRepository = __decorate([
|
|
7
|
+
TaonRepository({ className: 'TaonBaseCustomRepository' })
|
|
18
8
|
], TaonBaseCustomRepository);
|
|
9
|
+
export { TaonBaseCustomRepository };
|
|
19
10
|
//# sourceMappingURL=base-custom-repository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-custom-repository.js","sourceRoot":"","sources":[""],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base-custom-repository.js","sourceRoot":"","sources":[""],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAE5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,YAAY;AAGL,IAAe,wBAAwB,GAAvC,MAAe,wBAAyB,SAAQ,gBAAgB;CAAG,CAAA;AAApD,wBAAwB;IAD7C,cAAc,CAAC,EAAE,SAAS,EAAE,0BAA0B,EAAE,CAAC;GACpC,wBAAwB,CAA4B"}
|
|
@@ -1,16 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.TaonBaseEntity = void 0;
|
|
10
|
-
const lib_prod_1 = require("taon-typeorm/lib-prod"); // @websql
|
|
11
|
-
const base_class_1 = require("./base-class");
|
|
1
|
+
import { Entity } from 'taon-typeorm/lib-prod'; // @websql
|
|
2
|
+
import { TaonBaseClass } from './base-class';
|
|
12
3
|
//#region @websql
|
|
13
|
-
let TaonBaseEntity = class TaonBaseEntity extends
|
|
4
|
+
let TaonBaseEntity = class TaonBaseEntity extends TaonBaseClass {
|
|
14
5
|
/**
|
|
15
6
|
* simple check if relation is ok
|
|
16
7
|
*/
|
|
@@ -24,9 +15,9 @@ let TaonBaseEntity = class TaonBaseEntity extends base_class_1.TaonBaseClass {
|
|
|
24
15
|
return relationNames;
|
|
25
16
|
}
|
|
26
17
|
};
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
(0, lib_prod_1.Entity)()
|
|
18
|
+
TaonBaseEntity = __decorate([
|
|
19
|
+
Entity()
|
|
30
20
|
//#endregion
|
|
31
21
|
], TaonBaseEntity);
|
|
22
|
+
export { TaonBaseEntity };
|
|
32
23
|
//# sourceMappingURL=base-entity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-entity.js","sourceRoot":"","sources":[""],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base-entity.js","sourceRoot":"","sources":[""],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC,CAAC,UAAU;AAG1D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,iBAAiB;AAGV,IAAe,cAAc,GAA7B,MAAe,cAKpB,SAAQ,aAAqB;IAC7B;;OAEG;IACH,QAAQ,CAAC,YAAkC;QACzC,OAAO,YAAsB,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,aAAqC;QAC7C,OAAO,aAAyB,CAAC;IACnC,CAAC;CACF,CAAA;AAnBqB,cAAc;IAFnC,MAAM,EAAE;IACT,YAAY;GACU,cAAc,CAmBnC"}
|
|
@@ -1,46 +1,37 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.TaonBaseFileUploadMiddleware = void 0;
|
|
10
1
|
//#region imports
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
2
|
+
import * as crypto from 'crypto';
|
|
3
|
+
import * as multer from 'multer';
|
|
4
|
+
import { crossPlatformPath, fse, path } from 'tnp-core/lib-prod';
|
|
5
|
+
import { TaonMiddleware } from '../decorators/classes/middleware-decorator';
|
|
6
|
+
import { TaonBaseMiddleware, } from './base-middleware';
|
|
16
7
|
//#endregion
|
|
17
8
|
/**
|
|
18
9
|
* Configurable file upload middleware (multer based)
|
|
19
10
|
*/
|
|
20
|
-
let TaonBaseFileUploadMiddleware = class TaonBaseFileUploadMiddleware extends
|
|
11
|
+
let TaonBaseFileUploadMiddleware = class TaonBaseFileUploadMiddleware extends TaonBaseMiddleware {
|
|
21
12
|
async interceptServerMethod({ req, res, next }, { methodName, expressPath }) {
|
|
22
13
|
return this.middleware()(req, res, next);
|
|
23
14
|
}
|
|
24
15
|
//#region upload Dir
|
|
25
16
|
uploadDir() {
|
|
26
|
-
return
|
|
17
|
+
return crossPlatformPath([this.ctx.cwd, 'uploaded-files']);
|
|
27
18
|
}
|
|
28
19
|
//#endregion
|
|
29
20
|
//#region storage
|
|
30
21
|
storage() {
|
|
31
22
|
//#region @backendFunc
|
|
32
23
|
const uploadDir = this.uploadDir();
|
|
33
|
-
if (!
|
|
24
|
+
if (!fse.existsSync(uploadDir)) {
|
|
34
25
|
try {
|
|
35
|
-
|
|
26
|
+
fse.mkdirSync(uploadDir, { recursive: true });
|
|
36
27
|
}
|
|
37
28
|
catch (error) { }
|
|
38
29
|
}
|
|
39
30
|
return multer.diskStorage({
|
|
40
31
|
destination: (_req, _file, cb) => cb(null, uploadDir),
|
|
41
32
|
filename: (_req, file, cb) => {
|
|
42
|
-
const ext =
|
|
43
|
-
const base =
|
|
33
|
+
const ext = path.extname(file.originalname).toLowerCase();
|
|
34
|
+
const base = path
|
|
44
35
|
.basename(file.originalname, ext)
|
|
45
36
|
.replace(/[^\w.-]/g, '_');
|
|
46
37
|
const uniq = `${Date.now()}-${crypto.randomBytes(6).toString('hex')}`;
|
|
@@ -76,10 +67,10 @@ let TaonBaseFileUploadMiddleware = class TaonBaseFileUploadMiddleware extends ba
|
|
|
76
67
|
//#endregion
|
|
77
68
|
}
|
|
78
69
|
};
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
(0, middleware_decorator_1.TaonMiddleware)({
|
|
70
|
+
TaonBaseFileUploadMiddleware = __decorate([
|
|
71
|
+
TaonMiddleware({
|
|
82
72
|
className: 'TaonBaseFileUploadMiddleware',
|
|
83
73
|
})
|
|
84
74
|
], TaonBaseFileUploadMiddleware);
|
|
75
|
+
export { TaonBaseFileUploadMiddleware };
|
|
85
76
|
//# sourceMappingURL=base-file-upload.middleware.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-file-upload.middleware.js","sourceRoot":"","sources":[""],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base-file-upload.middleware.js","sourceRoot":"","sources":[""],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAGjC,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAMjC,OAAO,EAAE,iBAAiB,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAE5E,OAAO,EACL,kBAAkB,GAEnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY;AAEZ;;GAEG;AAII,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,kBAAkB;IAClE,KAAK,CAAC,qBAAqB,CACzB,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAwC,EACxD,EAAE,UAAU,EAAE,WAAW,EAAsC;QAE/D,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,oBAAoB;IACpB,SAAS;QACP,OAAO,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD,YAAY;IAEZ,iBAAiB;IACjB,OAAO;QACL,sBAAsB;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC,CAAA,CAAC;QACpB,CAAC;QACD,OAAO,MAAM,CAAC,WAAW,CAAC;YACxB,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC;YACrD,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;gBAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC1D,MAAM,IAAI,GAAG,IAAI;qBACd,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC;qBAChC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;gBAC5B,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtE,MAAM,iBAAiB,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;gBAClD,EAAE,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;YAC9B,CAAC;SACF,CAAC,CAAC;QACH,YAAY;IACd,CAAC;IACD,YAAY;IAEZ,gBAAgB;IAChB,MAAM;QACJ,sBAAsB;QACtB,OAAO,MAAM,CAAC;YACZ,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YACvB,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE,6BAA6B;YACvE,uCAAuC;YACvC,oCAAoC;YACpC,8CAA8C;YAC9C,oEAAoE;YACpE,2DAA2D;YAC3D,MAAM;YACN,oBAAoB;YACpB,KAAK;SACN,CAAC,CAAC;QACH,YAAY;IACd,CAAC;IACD,YAAY;IAEZ,oBAAoB;IACpB,UAAU;QACR,sBAAsB;QACtB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;QAC3B,YAAY;IACd,CAAC;CAEF,CAAA;AAjEY,4BAA4B;IAHxC,cAAc,CAAC;QACd,SAAS,EAAE,8BAA8B;KAC1C,CAAC;GACW,4BAA4B,CAiExC"}
|