@servicelabsco/nestjs-utility-services 2.0.8 → 2.0.9
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/CLAUDE.md +93 -0
- package/dist/common/libraries/generic.index.parser.d.ts +3 -1
- package/dist/common/libraries/generic.index.parser.js +3 -3
- package/dist/common/libraries/generic.index.parser.js.map +1 -1
- package/dist/common/libraries/index.d.ts +0 -1
- package/dist/common/libraries/index.js +0 -1
- package/dist/common/libraries/index.js.map +1 -1
- package/dist/common/libraries/list.manager.js +1 -2
- package/dist/common/libraries/list.manager.js.map +1 -1
- package/dist/common/libraries/report.list.manager.js +1 -2
- package/dist/common/libraries/report.list.manager.js.map +1 -1
- package/dist/platformUtility/es6.classes.d.ts +2 -2
- package/dist/platformUtility/services/sql.service.d.ts +7 -2
- package/dist/platformUtility/services/sql.service.js +79 -15
- package/dist/platformUtility/services/sql.service.js.map +1 -1
- package/dist/system/constants/storage.constants.d.ts +4 -3
- package/dist/system/constants/storage.constants.js +5 -4
- package/dist/system/constants/storage.constants.js.map +1 -1
- package/dist/system/controllers/base.controller.d.ts +3 -1
- package/dist/system/controllers/base.controller.js +6 -3
- package/dist/system/controllers/base.controller.js.map +1 -1
- package/dist/system/dtos/index.d.ts +0 -2
- package/dist/system/dtos/index.js +0 -2
- package/dist/system/dtos/index.js.map +1 -1
- package/dist/system/es6.classes.d.ts +6 -1
- package/dist/system/es6.classes.js +3 -0
- package/dist/system/es6.classes.js.map +1 -1
- package/dist/system/index.d.ts +1 -0
- package/dist/system/index.js +1 -0
- package/dist/system/index.js.map +1 -1
- package/dist/system/interfaces/bulk.delete.result.interface.d.ts +6 -0
- package/dist/system/interfaces/bulk.delete.result.interface.js +3 -0
- package/dist/system/interfaces/bulk.delete.result.interface.js.map +1 -0
- package/dist/system/{dtos/engine.feature.support.dto.d.ts → interfaces/engine.feature.support.interface.d.ts} +1 -1
- package/dist/system/interfaces/engine.feature.support.interface.js +3 -0
- package/dist/system/interfaces/engine.feature.support.interface.js.map +1 -0
- package/dist/system/interfaces/index.d.ts +8 -0
- package/dist/system/interfaces/index.js +25 -0
- package/dist/system/interfaces/index.js.map +1 -0
- package/dist/system/interfaces/list.options.interface.d.ts +8 -0
- package/dist/system/{dtos/engine.feature.support.dto.js → interfaces/list.options.interface.js} +1 -1
- package/dist/system/interfaces/list.options.interface.js.map +1 -0
- package/dist/system/interfaces/migration.target.interface.d.ts +5 -0
- package/dist/system/interfaces/migration.target.interface.js +3 -0
- package/dist/system/interfaces/migration.target.interface.js.map +1 -0
- package/dist/system/interfaces/object.ref.interface.d.ts +5 -0
- package/dist/system/{dtos/storage.ref.dto.js → interfaces/object.ref.interface.js} +1 -1
- package/dist/system/interfaces/object.ref.interface.js.map +1 -0
- package/dist/system/interfaces/storage.object.interface.d.ts +8 -0
- package/dist/system/interfaces/storage.object.interface.js +3 -0
- package/dist/system/interfaces/storage.object.interface.js.map +1 -0
- package/dist/system/interfaces/storage.object.metadata.interface.d.ts +5 -0
- package/dist/system/interfaces/storage.object.metadata.interface.js +3 -0
- package/dist/system/interfaces/storage.object.metadata.interface.js.map +1 -0
- package/dist/system/interfaces/storage.ref.interface.d.ts +2 -0
- package/dist/system/interfaces/storage.ref.interface.js +3 -0
- package/dist/system/interfaces/storage.ref.interface.js.map +1 -0
- package/dist/system/libraries/common.storage.service.d.ts +6 -5
- package/dist/system/libraries/common.storage.service.js.map +1 -1
- package/dist/system/libraries/generate.downloadable.report.file.js +1 -1
- package/dist/system/libraries/generate.downloadable.report.file.js.map +1 -1
- package/dist/system/libraries/get.report.query.d.ts +4 -2
- package/dist/system/libraries/get.report.query.js +11 -11
- package/dist/system/libraries/get.report.query.js.map +1 -1
- package/dist/system/services/aws.s3.service.d.ts +3 -3
- package/dist/system/services/aws.s3.service.js +1 -1
- package/dist/system/services/aws.s3.service.js.map +1 -1
- package/dist/system/services/cloudflare.r2.service.d.ts +3 -3
- package/dist/system/services/cloudflare.r2.service.js +1 -1
- package/dist/system/services/cloudflare.r2.service.js.map +1 -1
- package/dist/system/services/storage.service.d.ts +32 -22
- package/dist/system/services/storage.service.js +12 -8
- package/dist/system/services/storage.service.js.map +1 -1
- package/dist/system/services/upload.service.d.ts +4 -4
- package/dist/system/system.module.js +2 -14
- package/dist/system/system.module.js.map +1 -1
- package/package.json +1 -1
- package/dist/common/libraries/sql.safety.d.ts +0 -5
- package/dist/common/libraries/sql.safety.js +0 -72
- package/dist/common/libraries/sql.safety.js.map +0 -1
- package/dist/system/dtos/engine.feature.support.dto.js.map +0 -1
- package/dist/system/dtos/storage.ref.dto.d.ts +0 -37
- package/dist/system/dtos/storage.ref.dto.js.map +0 -1
package/CLAUDE.md
CHANGED
|
@@ -94,3 +94,96 @@ Jest config lives in `package.json` (`rootDir: src`, `testRegex: .*\\.spec\\.ts$
|
|
|
94
94
|
- Migrations: instantiate `MigrationUtility` (or `ReverseMigrationUtility`) in the generated migration class so the `up`/`down` semantics handle the reverse-migration flag correctly. Migration filenames follow `<timestamp>-<PascalCaseDescription>.ts`.
|
|
95
95
|
- After adding files to a module, regenerate or update that module's `es6.classes.ts` so DI picks it up.
|
|
96
96
|
- Library/exported public API: anything added under the five top-level modules is reachable by consumer apps via `@servicelabsco/nestjs-utility-services`. Avoid breaking renames/removals of exports without considering downstream impact, and rebuild (`yarn build`) before publishing.
|
|
97
|
+
|
|
98
|
+
## File and class naming conventions
|
|
99
|
+
|
|
100
|
+
These rules are not merely stylistic — the `slnu syncClassess` dev CLI walks every module subdirectory and emits `import { ClassName } from './${dir}/${file}'` for every file it finds. If a file does not export a named symbol matching its filename, the generated `es6.classes.ts` will not compile. Honour the conventions even when you think they don't matter.
|
|
101
|
+
|
|
102
|
+
### Filename ↔ export name match
|
|
103
|
+
|
|
104
|
+
The filename basename (dot-separated lowercase) maps to PascalCase + a suffix derived from the file's last segment:
|
|
105
|
+
|
|
106
|
+
| Filename | Required named export |
|
|
107
|
+
|----------------------------------|-----------------------------------|
|
|
108
|
+
| `aws.s3.service.ts` | `AwsS3Service` |
|
|
109
|
+
| `create.user.dto.ts` | `CreateUserDto` |
|
|
110
|
+
| `user.entity.ts` | `UserEntity` |
|
|
111
|
+
| `object.ref.interface.ts` | `ObjectRefInterface` |
|
|
112
|
+
| `scheduled.event.subscriber.ts` | `ScheduledEventSubscriber` |
|
|
113
|
+
| `recurring.query.job.ts` | `RecurringQueryJob` |
|
|
114
|
+
| `storage.constants.ts` | `StorageConstants` (object — see below) |
|
|
115
|
+
|
|
116
|
+
Single primary export per file. Helpers tightly coupled to the primary (e.g. `storage.upload.options.dto.ts` exports `StorageSseOptions` next to the primary `StorageUploadOptionsDto`) may co-locate, but **peer types must each live in their own file** — do not stuff multiple unrelated interfaces in one file.
|
|
117
|
+
|
|
118
|
+
### Interfaces and types live in `interfaces/`, not `dtos/`
|
|
119
|
+
|
|
120
|
+
`dtos/` is for class-based DTOs (often with `class-validator` decorators). Pure TypeScript `interface` / `type` declarations belong under a sibling `interfaces/` directory:
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
src/system/dtos/file.upload.dto.ts # class FileUploadDto {}
|
|
124
|
+
src/system/interfaces/object.ref.interface.ts # interface ObjectRefInterface {}
|
|
125
|
+
src/system/interfaces/storage.ref.interface.ts # type StorageRefInterface = string | ObjectRefInterface
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
File suffix `.interface.ts`, type name suffix `Interface`. One type per file when types are peers.
|
|
129
|
+
|
|
130
|
+
### Constants: single-bag object pattern
|
|
131
|
+
|
|
132
|
+
Constants files are exempt from "one class per file" but still must match the filename↔export rule. Use a **named object export** (not `export = ...`, which breaks the dev CLI's named-import generation):
|
|
133
|
+
|
|
134
|
+
```ts
|
|
135
|
+
// src/system/constants/storage.constants.ts
|
|
136
|
+
export const StorageConstants = {
|
|
137
|
+
ENGINE_S3: 's3',
|
|
138
|
+
ENGINE_R2: 'r2',
|
|
139
|
+
};
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Consumers: `import { StorageConstants } from '...'; StorageConstants.ENGINE_S3`.
|
|
143
|
+
|
|
144
|
+
`src/config/source.hash.ts` uses the older `export = SourceHash` + `import SourceHash = require(...)` pattern — that's legacy. New constants files should use `export const Foo = {...}`.
|
|
145
|
+
|
|
146
|
+
### No "bag of functions" files
|
|
147
|
+
|
|
148
|
+
Do not create files (like the now-removed `sql.safety.ts`) whose only purpose is to `export function ...`. The convention is one class/object per file; bare functions don't fit it. Fold helpers into the class that owns the responsibility — e.g. SQL safety helpers (`isSafeOrderBy`, `escapeSqlString`, `detectSqlInjectionSignature`, `detectHighConfidenceInjection`) live as **instance methods** on `SqlService`.
|
|
149
|
+
|
|
150
|
+
When the helper needs to be reached from a manually-instantiated (non-DI) class like `GenericIndexParser` or `GetReportQuery`, thread the owning service through the constructor:
|
|
151
|
+
|
|
152
|
+
```ts
|
|
153
|
+
new GenericIndexParser(query, this.sqlService).process();
|
|
154
|
+
new GetReportQuery(this.report, this.sqlService).process(...);
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### Prefer instance methods over static
|
|
158
|
+
|
|
159
|
+
Service methods should be instance methods (`this.sqlService.isSafeOrderBy(x)`), not static (`SqlService.isSafeOrderBy(x)`). Instance methods give consistent DI/mocking semantics and stay testable via the injected instance. Reserve `static` for genuinely class-level concerns like factories or singletons.
|
|
160
|
+
|
|
161
|
+
### Module wiring lives in `es6.classes.ts`, not inline in module files
|
|
162
|
+
|
|
163
|
+
The dev CLI regenerates each module's `es6.classes.ts` from filesystem contents. Module files (`system.module.ts`, `platform.utility.module.ts`, etc.) should be minimal:
|
|
164
|
+
|
|
165
|
+
```ts
|
|
166
|
+
@Module({
|
|
167
|
+
imports: [TypeOrmModule.forFeature(es6Classes.entities), ...],
|
|
168
|
+
controllers: es6Classes.controllers,
|
|
169
|
+
providers: [...es6Classes.services, ...es6Classes.subscribers, ...es6Classes.jobs],
|
|
170
|
+
exports: [...es6Classes.services, ...es6Classes.jobs],
|
|
171
|
+
})
|
|
172
|
+
export class SystemModule {}
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Avoid inline `{ provide: SOME_TOKEN, useFactory: ... }` provider blocks. If a service consumes a set of adapter classes, **inject the adapter classes directly** rather than introducing a DI token + factory:
|
|
176
|
+
|
|
177
|
+
```ts
|
|
178
|
+
// Good — wiring is automatic via es6Classes.services
|
|
179
|
+
constructor(private readonly s3: AwsS3Service, private readonly r2: CloudflareR2Service) {
|
|
180
|
+
this.registry = new Map([[s3.engineId, s3], [r2.engineId, r2]]);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
// Avoid — pulls bespoke wiring into the module file
|
|
184
|
+
constructor(@Inject(STORAGE_ENGINE_ADAPTERS) adapters: CommonStorageService[]) { ... }
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Fixing CLI fallout
|
|
188
|
+
|
|
189
|
+
If `slnu syncClassess` emits a broken import, the source file violates the naming convention — fix the source file (rename, add the missing export, move it to the right directory). Do not hand-edit `es6.classes.ts` as a permanent workaround; the next CLI run will overwrite your edit.
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { SqlService } from '../../platformUtility/services/sql.service';
|
|
1
2
|
import { GenericIndexParamDto } from '../dtos/generic.index.param.dto';
|
|
2
3
|
export declare class GenericIndexParser {
|
|
4
|
+
private readonly sqlService;
|
|
3
5
|
private query;
|
|
4
6
|
private params;
|
|
5
|
-
constructor(query: any);
|
|
7
|
+
constructor(query: any, sqlService: SqlService);
|
|
6
8
|
process(): GenericIndexParamDto;
|
|
7
9
|
setLimit(): void;
|
|
8
10
|
setPage(): void;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GenericIndexParser = void 0;
|
|
4
|
-
const sql_safety_1 = require("./sql.safety");
|
|
5
4
|
class GenericIndexParser {
|
|
6
|
-
constructor(query) {
|
|
5
|
+
constructor(query, sqlService) {
|
|
6
|
+
this.sqlService = sqlService;
|
|
7
7
|
this.query = query;
|
|
8
8
|
this.init();
|
|
9
9
|
}
|
|
@@ -45,7 +45,7 @@ class GenericIndexParser {
|
|
|
45
45
|
if (!this.query.order)
|
|
46
46
|
return;
|
|
47
47
|
const normalized = String(this.query.order).replace(/`/g, '"');
|
|
48
|
-
if (!
|
|
48
|
+
if (!this.sqlService.isSafeOrderBy(normalized)) {
|
|
49
49
|
throw new Error(`Invalid order clause: ${this.query.order}`);
|
|
50
50
|
}
|
|
51
51
|
this.params.order = normalized;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic.index.parser.js","sourceRoot":"","sources":["../../../src/common/libraries/generic.index.parser.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"generic.index.parser.js","sourceRoot":"","sources":["../../../src/common/libraries/generic.index.parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,5 +44,4 @@ __exportStar(require("./report.data.manager"), exports);
|
|
|
44
44
|
__exportStar(require("./report.list.manager"), exports);
|
|
45
45
|
__exportStar(require("./reverse.migration.utility"), exports);
|
|
46
46
|
__exportStar(require("./seeder.utility"), exports);
|
|
47
|
-
__exportStar(require("./sql.safety"), exports);
|
|
48
47
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/libraries/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AAAA,uDAAqC;AAAA,2DAAyC;AAAA,iDAA+B;AAAA,oDAAkC;AAAA,kDAAgC;AAAA,+CAA6B;AAAA,sDAAoC;AAAA,wDAAsC;AAAA,mDAAiC;AAAA,sDAAoC;AAAA,iDAA+B;AAAA,kDAAgC;AAAA,iDAA+B;AAAA,6DAA2C;AAAA,8CAA4B;AAAA,qDAAmC;AAAA,yDAAuC;AAAA,wDAAsC;AAAA,yCAAuB;AAAA,mDAAiC;AAAA,iDAA+B;AAAA,sDAAoC;AAAA,qDAAmC;AAAA,mDAAiC;AAAA,uDAAqC;AAAA,wDAAsC;AAAA,wDAAsC;AAAA,8DAA4C;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/libraries/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AAAA,uDAAqC;AAAA,2DAAyC;AAAA,iDAA+B;AAAA,oDAAkC;AAAA,kDAAgC;AAAA,+CAA6B;AAAA,sDAAoC;AAAA,wDAAsC;AAAA,mDAAiC;AAAA,sDAAoC;AAAA,iDAA+B;AAAA,kDAAgC;AAAA,iDAA+B;AAAA,6DAA2C;AAAA,8CAA4B;AAAA,qDAAmC;AAAA,yDAAuC;AAAA,wDAAsC;AAAA,yCAAuB;AAAA,mDAAiC;AAAA,iDAA+B;AAAA,sDAAoC;AAAA,qDAAmC;AAAA,mDAAiC;AAAA,uDAAqC;AAAA,wDAAsC;AAAA,wDAAsC;AAAA,8DAA4C;AAAA,mDAAgC"}
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ListManager = void 0;
|
|
4
4
|
const relationship_entity_1 = require("../../system/entities/relationship.entity");
|
|
5
5
|
const data_manager_1 = require("./data.manager");
|
|
6
|
-
const sql_safety_1 = require("./sql.safety");
|
|
7
6
|
const SourceHash = require("../../config/source.hash");
|
|
8
7
|
class ListManager extends data_manager_1.DataManager {
|
|
9
8
|
constructor(modelService, sqlService, cacheService, preferenceService, businessRuleService) {
|
|
@@ -90,7 +89,7 @@ class ListManager extends data_manager_1.DataManager {
|
|
|
90
89
|
if (this.params.query)
|
|
91
90
|
sql += ` and (${this.params.query})`;
|
|
92
91
|
if (this.params.order) {
|
|
93
|
-
if (!
|
|
92
|
+
if (!this.sqlService.isSafeOrderBy(this.params.order)) {
|
|
94
93
|
throw new Error(`Invalid order clause: ${this.params.order}`);
|
|
95
94
|
}
|
|
96
95
|
sql += ` ORDER BY ${this.params.order}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.manager.js","sourceRoot":"","sources":["../../../src/common/libraries/list.manager.ts"],"names":[],"mappings":";;;AAEA,mFAA+E;AAK/E,iDAA6C;AAC7C,
|
|
1
|
+
{"version":3,"file":"list.manager.js","sourceRoot":"","sources":["../../../src/common/libraries/list.manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,6 @@ exports.ReportListManager = void 0;
|
|
|
4
4
|
const SourceHash = require("../../config/source.hash");
|
|
5
5
|
const relationship_entity_1 = require("../../system/entities/relationship.entity");
|
|
6
6
|
const report_data_manager_1 = require("./report.data.manager");
|
|
7
|
-
const sql_safety_1 = require("./sql.safety");
|
|
8
7
|
class ReportListManager extends report_data_manager_1.ReportDataManager {
|
|
9
8
|
constructor(modelService, cacheService, preferenceService, sqlService, reportService) {
|
|
10
9
|
super(modelService, cacheService, preferenceService, reportService);
|
|
@@ -85,7 +84,7 @@ class ReportListManager extends report_data_manager_1.ReportDataManager {
|
|
|
85
84
|
if (this.params.query)
|
|
86
85
|
sql += ` and (${this.params.query})`;
|
|
87
86
|
if (this.params.order) {
|
|
88
|
-
if (!
|
|
87
|
+
if (!this.sqlService.isSafeOrderBy(this.params.order)) {
|
|
89
88
|
throw new Error(`Invalid order clause: ${this.params.order}`);
|
|
90
89
|
}
|
|
91
90
|
sql += ` ORDER BY ${this.params.order}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.list.manager.js","sourceRoot":"","sources":["../../../src/common/libraries/report.list.manager.ts"],"names":[],"mappings":";;;AAAA,uDAAwD;AAGxD,mFAA+E;AAK/E,+DAA0D;
|
|
1
|
+
{"version":3,"file":"report.list.manager.js","sourceRoot":"","sources":["../../../src/common/libraries/report.list.manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -73,12 +73,12 @@ import { RemoteRequestLogSubscriber } from './subscribers/remote.request.log.sub
|
|
|
73
73
|
declare const es6Classes: {
|
|
74
74
|
consumers: (typeof JobConsumer)[];
|
|
75
75
|
controllers: (typeof BullJobController | typeof QueueController)[];
|
|
76
|
-
dtos: (typeof SourceColumnDto | typeof
|
|
76
|
+
dtos: (typeof SourceColumnDto | typeof AwsConfigDto | typeof R2ConfigDto | typeof JobPayloadDto | typeof QueueOptionsDto | typeof CommonAttributesDto | typeof MailOptionsDto | typeof SmtpConfigDto | typeof RemoteRawResponseDto | typeof LambdaZipDto | typeof FcmResponseDto | typeof KaleyraCallbackPayloadDto | typeof PushNotificationResponseDto | typeof PushNotificationTemplateDto | typeof SetSmsPayloadDto | typeof SmsPayloadDto | typeof StringSearchDto)[];
|
|
77
77
|
entities: (typeof FailedBullJobEntity | typeof PendingBullJobEntity | typeof RemoteRequestLogEntity)[];
|
|
78
78
|
jobs: (typeof TestJob | typeof LoadFailedBullJob | typeof ProcessSesDeliveryWebhookJob | typeof ProcessTrackingWebhookJob | typeof RecordWatcherJob | typeof ReloadPendingBullJob | typeof RemoteRequestLogJob)[];
|
|
79
79
|
libraries: (typeof ProcessAuditLogData | typeof ProcessCommonMail | typeof ProcessSesMail | typeof ProcessSesRawMail | typeof ProcessSmtpMail | typeof CommonSqsPolling | typeof FileSystemUtility | typeof CreateEntityConstantsFile | typeof CreateEs6ClassesFile | typeof CreateEs6JobsFile | typeof CreateEs6ServiceFile | typeof CreateIndexFile | typeof ProcessKaleyraCallbackResponse | typeof ProcessKaleyraSms | typeof SetSmsMessage)[];
|
|
80
80
|
middlewares: (typeof MaintenanceMiddleware | typeof TrimPipe)[];
|
|
81
|
-
services: (typeof RedisService | typeof CacheService | typeof
|
|
81
|
+
services: (typeof RedisService | typeof CacheService | typeof AwsConfigService | typeof R2ConfigService | typeof SqlService | typeof LocalPropertyService | typeof SqsService | typeof QueueService | typeof DynamoService | typeof AuditService | typeof MailService | typeof RemoteRequestService | typeof ZipService | typeof MaintenanceService | typeof SesMailNotificationService | typeof AwsSecretService | typeof Es6JobsService | typeof Es6Service | typeof FcmNotificationService | typeof S3Service | typeof ShutdownService | typeof SmsService | typeof StartupService)[];
|
|
82
82
|
subscribers: (typeof BaseSubscriber | typeof RemoteRequestLogSubscriber)[];
|
|
83
83
|
};
|
|
84
84
|
export default es6Classes;
|
|
@@ -6,8 +6,13 @@ export declare class SqlService extends CommonService {
|
|
|
6
6
|
private readonly readReplica;
|
|
7
7
|
protected publicExposed: boolean;
|
|
8
8
|
constructor(connection: DataSource, readReplica: DataSource);
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
isSafeOrderBy(value: string): boolean;
|
|
10
|
+
isSafeIdentifier(value: string): boolean;
|
|
11
|
+
escapeSqlString(value: unknown): string;
|
|
12
|
+
detectSqlInjectionSignature(fragment: string): string | null;
|
|
13
|
+
detectHighConfidenceInjection(query: string): string | null;
|
|
14
|
+
private guardQuery;
|
|
15
|
+
private logQuery;
|
|
11
16
|
sql(query: string): Promise<any>;
|
|
12
17
|
read(query: string): Promise<any>;
|
|
13
18
|
boundSql(query: string, params?: any[]): Promise<any>;
|
|
@@ -44,7 +44,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
44
44
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
45
45
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
46
46
|
};
|
|
47
|
-
var SqlService_1;
|
|
48
47
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
48
|
exports.SqlService = void 0;
|
|
50
49
|
require("dotenv/config");
|
|
@@ -55,17 +54,82 @@ const class_transformer_1 = require("class-transformer");
|
|
|
55
54
|
const typeorm_2 = require("typeorm");
|
|
56
55
|
const operation_exception_1 = require("../../common/exceptions/operation.exception");
|
|
57
56
|
const common_service_1 = require("../../common/libraries/common.service");
|
|
58
|
-
const sql_safety_1 = require("../../common/libraries/sql.safety");
|
|
59
57
|
const sqlLogEnabled = process.env.ENABLE_SQL_LOG;
|
|
60
|
-
let SqlService =
|
|
58
|
+
let SqlService = class SqlService extends common_service_1.CommonService {
|
|
61
59
|
constructor(connection, readReplica) {
|
|
62
60
|
super();
|
|
63
61
|
this.connection = connection;
|
|
64
62
|
this.readReplica = readReplica;
|
|
65
63
|
this.publicExposed = true;
|
|
66
64
|
}
|
|
67
|
-
|
|
68
|
-
|
|
65
|
+
isSafeOrderBy(value) {
|
|
66
|
+
if (typeof value !== 'string' || value.length === 0 || value.length > 256)
|
|
67
|
+
return false;
|
|
68
|
+
const identifier = String.raw `(?:"[A-Za-z_][\w]*"|[A-Za-z_][\w]*)(?:\.(?:"[A-Za-z_][\w]*"|[A-Za-z_][\w]*))*`;
|
|
69
|
+
const ordinal = String.raw `[0-9]+`;
|
|
70
|
+
const item = `(?:${ordinal}|${identifier})(?:\\s+(?:ASC|DESC|asc|desc))?`;
|
|
71
|
+
const re = new RegExp(`^\\s*${item}(?:\\s*,\\s*${item})*\\s*$`);
|
|
72
|
+
return re.test(value);
|
|
73
|
+
}
|
|
74
|
+
isSafeIdentifier(value) {
|
|
75
|
+
if (typeof value !== 'string' || value.length === 0 || value.length > 128)
|
|
76
|
+
return false;
|
|
77
|
+
return /^(?:"[A-Za-z_][\w]*"|[A-Za-z_][\w]*)(?:\.(?:"[A-Za-z_][\w]*"|[A-Za-z_][\w]*))*$/.test(value);
|
|
78
|
+
}
|
|
79
|
+
escapeSqlString(value) {
|
|
80
|
+
if (value === null || value === undefined)
|
|
81
|
+
return '';
|
|
82
|
+
const str = String(value);
|
|
83
|
+
if (str.indexOf(String.fromCharCode(0)) !== -1) {
|
|
84
|
+
throw new Error('Null byte not allowed in SQL string literal');
|
|
85
|
+
}
|
|
86
|
+
return str.replace(/'/g, "''");
|
|
87
|
+
}
|
|
88
|
+
detectSqlInjectionSignature(fragment) {
|
|
89
|
+
if (typeof fragment !== 'string' || !fragment)
|
|
90
|
+
return null;
|
|
91
|
+
const normalized = fragment.replace(/\s+/g, ' ').trim();
|
|
92
|
+
const lower = normalized.toLowerCase();
|
|
93
|
+
if (/--/.test(normalized) || /\/\*/.test(normalized) || /(^|\s)#/.test(normalized)) {
|
|
94
|
+
return 'sql-comment-marker';
|
|
95
|
+
}
|
|
96
|
+
if (/;\s*\w/.test(normalized)) {
|
|
97
|
+
return 'stacked-statement';
|
|
98
|
+
}
|
|
99
|
+
if (/\b(drop|truncate|alter|create|insert|update|delete|grant|revoke)\s+\b/i.test(lower)) {
|
|
100
|
+
return 'destructive-statement';
|
|
101
|
+
}
|
|
102
|
+
if (/\bunion\s+(all\s+)?select\b/i.test(lower)) {
|
|
103
|
+
return 'union-select';
|
|
104
|
+
}
|
|
105
|
+
if (/\bpg_sleep\s*\(/i.test(lower) || /\bsleep\s*\(/i.test(lower) || /\bbenchmark\s*\(/i.test(lower) || /\bwaitfor\s+delay\b/i.test(lower)) {
|
|
106
|
+
return 'time-based-probe';
|
|
107
|
+
}
|
|
108
|
+
if (/\b(pg_read_file|pg_ls_dir|lo_export|lo_import|copy)\s*\(/i.test(lower)) {
|
|
109
|
+
return 'fs-or-superuser-fn';
|
|
110
|
+
}
|
|
111
|
+
if (/0x[0-9a-f]{32,}/i.test(lower)) {
|
|
112
|
+
return 'long-hex-literal';
|
|
113
|
+
}
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
detectHighConfidenceInjection(query) {
|
|
117
|
+
if (typeof query !== 'string' || !query)
|
|
118
|
+
return null;
|
|
119
|
+
const lower = query.toLowerCase();
|
|
120
|
+
if (/\bpg_sleep\s*\(/i.test(lower) || /\bsleep\s*\(/i.test(lower) || /\bbenchmark\s*\(/i.test(lower) || /\bwaitfor\s+delay\b/i.test(lower)) {
|
|
121
|
+
return 'time-based-probe';
|
|
122
|
+
}
|
|
123
|
+
if (/\b(pg_read_file|pg_ls_dir|lo_export|lo_import)\s*\(/i.test(lower)) {
|
|
124
|
+
return 'fs-or-superuser-fn';
|
|
125
|
+
}
|
|
126
|
+
if (/0x[0-9a-f]{32,}/i.test(lower)) {
|
|
127
|
+
return 'long-hex-literal';
|
|
128
|
+
}
|
|
129
|
+
return null;
|
|
130
|
+
}
|
|
131
|
+
guardQuery(query, sourceMethod) {
|
|
132
|
+
const matched = this.detectHighConfidenceInjection(query);
|
|
69
133
|
if (!matched)
|
|
70
134
|
return;
|
|
71
135
|
Sentry.captureMessage(`SqlService injection signature detected: ${matched} via ${sourceMethod}`, {
|
|
@@ -74,15 +138,15 @@ let SqlService = SqlService_1 = class SqlService extends common_service_1.Common
|
|
|
74
138
|
});
|
|
75
139
|
throw new operation_exception_1.OperationException('issue with internal query');
|
|
76
140
|
}
|
|
77
|
-
|
|
141
|
+
logQuery(query) {
|
|
78
142
|
if (!sqlLogEnabled)
|
|
79
143
|
return;
|
|
80
144
|
const truncated = query.length > 500 ? `${query.slice(0, 500)}...[truncated ${query.length - 500} chars]` : query;
|
|
81
145
|
global.console.log('sql-query : ', truncated);
|
|
82
146
|
}
|
|
83
147
|
async sql(query) {
|
|
84
|
-
|
|
85
|
-
|
|
148
|
+
this.guardQuery(query, 'sql');
|
|
149
|
+
this.logQuery(query);
|
|
86
150
|
try {
|
|
87
151
|
return await this.connection.query(query);
|
|
88
152
|
}
|
|
@@ -93,8 +157,8 @@ let SqlService = SqlService_1 = class SqlService extends common_service_1.Common
|
|
|
93
157
|
}
|
|
94
158
|
}
|
|
95
159
|
async read(query) {
|
|
96
|
-
|
|
97
|
-
|
|
160
|
+
this.guardQuery(query, 'read');
|
|
161
|
+
this.logQuery(query);
|
|
98
162
|
try {
|
|
99
163
|
return await this.readReplica.query(query);
|
|
100
164
|
}
|
|
@@ -105,8 +169,8 @@ let SqlService = SqlService_1 = class SqlService extends common_service_1.Common
|
|
|
105
169
|
}
|
|
106
170
|
}
|
|
107
171
|
async boundSql(query, params = []) {
|
|
108
|
-
|
|
109
|
-
|
|
172
|
+
this.guardQuery(query, 'boundSql');
|
|
173
|
+
this.logQuery(query);
|
|
110
174
|
try {
|
|
111
175
|
return await this.connection.query(query, params);
|
|
112
176
|
}
|
|
@@ -117,8 +181,8 @@ let SqlService = SqlService_1 = class SqlService extends common_service_1.Common
|
|
|
117
181
|
}
|
|
118
182
|
}
|
|
119
183
|
async boundRead(query, params = []) {
|
|
120
|
-
|
|
121
|
-
|
|
184
|
+
this.guardQuery(query, 'boundRead');
|
|
185
|
+
this.logQuery(query);
|
|
122
186
|
try {
|
|
123
187
|
return await this.readReplica.query(query, params);
|
|
124
188
|
}
|
|
@@ -164,7 +228,7 @@ let SqlService = SqlService_1 = class SqlService extends common_service_1.Common
|
|
|
164
228
|
}
|
|
165
229
|
};
|
|
166
230
|
exports.SqlService = SqlService;
|
|
167
|
-
exports.SqlService = SqlService =
|
|
231
|
+
exports.SqlService = SqlService = __decorate([
|
|
168
232
|
(0, common_1.Injectable)(),
|
|
169
233
|
__param(0, (0, typeorm_1.InjectDataSource)('default')),
|
|
170
234
|
__param(1, (0, typeorm_1.InjectDataSource)('read')),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql.service.js","sourceRoot":"","sources":["../../../src/platformUtility/services/sql.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sql.service.js","sourceRoot":"","sources":["../../../src/platformUtility/services/sql.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yBAAuB;AAEvB,2CAA4C;AAC5C,6CAAmD;AACnD,qDAAuC;AACvC,yDAAoD;AACpD,qCAAqC;AACrC,qFAAiF;AACjF,0EAAsE;AAEtE,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;AAS1C,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,8BAAa;IAQzC,YAEI,UAAuC,EAGvC,WAAwC;QAExC,KAAK,EAAE,CAAC;QALS,eAAU,GAAV,UAAU,CAAY;QAGtB,gBAAW,GAAX,WAAW,CAAY;QAZlC,kBAAa,GAAG,IAAI,CAAC;IAe/B,CAAC;IAQD,aAAa,CAAC,KAAa;QACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG;YAAE,OAAO,KAAK,CAAC;QACxF,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAA,+EAA+E,CAAC;QAC7G,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAA,QAAQ,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,OAAO,IAAI,UAAU,iCAAiC,CAAC;QAC1E,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,QAAQ,IAAI,eAAe,IAAI,SAAS,CAAC,CAAC;QAChE,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAKD,gBAAgB,CAAC,KAAa;QAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG;YAAE,OAAO,KAAK,CAAC;QACxF,OAAO,iFAAiF,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzG,CAAC;IAYD,eAAe,CAAC,KAAc;QAC1B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACrD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAWD,2BAA2B,CAAC,QAAgB;QACxC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE3D,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QAEvC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACjF,OAAO,oBAAoB,CAAC;QAChC,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,OAAO,mBAAmB,CAAC;QAC/B,CAAC;QAED,IAAI,wEAAwE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACvF,OAAO,uBAAuB,CAAC;QACnC,CAAC;QAED,IAAI,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,OAAO,cAAc,CAAC;QAC1B,CAAC;QAED,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACzI,OAAO,kBAAkB,CAAC;QAC9B,CAAC;QAED,IAAI,2DAA2D,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1E,OAAO,oBAAoB,CAAC;QAChC,CAAC;QAED,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,kBAAkB,CAAC;QAC9B,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IASD,6BAA6B,CAAC,KAAa;QACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACrD,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAElC,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACzI,OAAO,kBAAkB,CAAC;QAC9B,CAAC;QAED,IAAI,sDAAsD,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrE,OAAO,oBAAoB,CAAC;QAChC,CAAC;QAED,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,kBAAkB,CAAC;QAC9B,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAUO,UAAU,CAAC,KAAa,EAAE,YAAoB;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,CAAC,cAAc,CAAC,4CAA4C,OAAO,QAAQ,YAAY,EAAE,EAAE;YAC7F,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE;SACnC,CAAC,CAAC;QACH,MAAM,IAAI,wCAAkB,CAAC,2BAA2B,CAAC,CAAC;IAC9D,CAAC;IAOO,QAAQ,CAAC,KAAa;QAC1B,IAAI,CAAC,aAAa;YAAE,OAAO;QAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,iBAAiB,KAAK,CAAC,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;QAClH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAClD,CAAC;IAYD,KAAK,CAAC,GAAG,CAAC,KAAa;QACnB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAErB,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YAC/E,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,IAAI,wCAAkB,CAAC,2BAA2B,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;IAWD,KAAK,CAAC,IAAI,CAAC,KAAa;QACpB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAErB,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YAC/E,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,IAAI,wCAAkB,CAAC,2BAA2B,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;IASD,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,SAAgB,EAAE;QAC5C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAErB,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YAC/E,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,IAAI,wCAAkB,CAAC,2BAA2B,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;IAKD,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,SAAgB,EAAE;QAC7C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAErB,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YAC/E,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,IAAI,wCAAkB,CAAC,2BAA2B,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;IAQD,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,MAAe;QAE1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEtC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtD,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,OAAO,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAQD,KAAK,CAAC,KAAK,CAAC,KAAa,EAAE,MAAe;QAEtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAErC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtD,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,OAAO,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAMD,aAAa;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAQD,KAAK,CAAC,IAAI,CAAC,SAAc,EAAE,GAAQ;QAC/B,MAAM,MAAM,GAAQ,IAAA,mCAAe,EAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAEpD,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAEpB,OAAO,MAAM,CAAC;IAClB,CAAC;IASD,KAAK,CAAC,kBAAkB,CAAC,UAAe,EAAE,MAAc,EAAE,SAAiB;QACvE,OAAO,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,CAAC;IAC7G,CAAC;IAMD,KAAK,CAAC,YAAY;QACd,MAAM,GAAG,GAAG,4GAA4G,CAAC;QACzH,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IASD,KAAK,CAAC,eAAe,CAAC,SAAiB;QACnC,MAAM,GAAG,GAAG;gFAC4D,CAAC;QACzE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3C,CAAC;CACJ,CAAA;AAzUY,gCAAU;qBAAV,UAAU;IADtB,IAAA,mBAAU,GAAE;IAUJ,WAAA,IAAA,0BAAgB,EAAC,SAAS,CAAC,CAAA;IAG3B,WAAA,IAAA,0BAAgB,EAAC,MAAM,CAAC,CAAA;qCAFI,oBAAU;QAGT,oBAAU;GAbnC,UAAU,CAyUtB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export declare const
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export declare const StorageConstants: {
|
|
2
|
+
ENGINE_S3: string;
|
|
3
|
+
ENGINE_R2: string;
|
|
4
|
+
};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
exports.StorageConstants = void 0;
|
|
4
|
+
exports.StorageConstants = {
|
|
5
|
+
ENGINE_S3: 's3',
|
|
6
|
+
ENGINE_R2: 'r2',
|
|
7
|
+
};
|
|
7
8
|
//# sourceMappingURL=storage.constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.constants.js","sourceRoot":"","sources":["../../../src/system/constants/storage.constants.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"storage.constants.js","sourceRoot":"","sources":["../../../src/system/constants/storage.constants.ts"],"names":[],"mappings":";;;AAKa,QAAA,gBAAgB,GAAG;IAC5B,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;CAClB,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { ModelService } from '../../system/services/model.service';
|
|
|
4
4
|
import { PreferenceService } from '../../system/services/preference.service';
|
|
5
5
|
import { AuditService } from './../../platformUtility/services/audit.service';
|
|
6
6
|
import { LocalPropertyService } from './../../platformUtility/services/local.property.service';
|
|
7
|
+
import { SqlService } from './../../platformUtility/services/sql.service';
|
|
7
8
|
export declare class BaseController {
|
|
8
9
|
private readonly listService;
|
|
9
10
|
private readonly modelService;
|
|
@@ -11,7 +12,8 @@ export declare class BaseController {
|
|
|
11
12
|
private readonly clientScriptService;
|
|
12
13
|
private readonly auditService;
|
|
13
14
|
private readonly localPropertyService;
|
|
14
|
-
|
|
15
|
+
private readonly sqlService;
|
|
16
|
+
constructor(listService: ListService, modelService: ModelService, preferenceService: PreferenceService, clientScriptService: ClientScriptService, auditService: AuditService, localPropertyService: LocalPropertyService, sqlService: SqlService);
|
|
15
17
|
get(hash: string, query: any): Promise<any>;
|
|
16
18
|
create(hash: string): Promise<any>;
|
|
17
19
|
show(param: any, query: any): Promise<any>;
|
|
@@ -24,17 +24,19 @@ const model_service_1 = require("../../system/services/model.service");
|
|
|
24
24
|
const preference_service_1 = require("../../system/services/preference.service");
|
|
25
25
|
const audit_service_1 = require("./../../platformUtility/services/audit.service");
|
|
26
26
|
const local_property_service_1 = require("./../../platformUtility/services/local.property.service");
|
|
27
|
+
const sql_service_1 = require("./../../platformUtility/services/sql.service");
|
|
27
28
|
let BaseController = class BaseController {
|
|
28
|
-
constructor(listService, modelService, preferenceService, clientScriptService, auditService, localPropertyService) {
|
|
29
|
+
constructor(listService, modelService, preferenceService, clientScriptService, auditService, localPropertyService, sqlService) {
|
|
29
30
|
this.listService = listService;
|
|
30
31
|
this.modelService = modelService;
|
|
31
32
|
this.preferenceService = preferenceService;
|
|
32
33
|
this.clientScriptService = clientScriptService;
|
|
33
34
|
this.auditService = auditService;
|
|
34
35
|
this.localPropertyService = localPropertyService;
|
|
36
|
+
this.sqlService = sqlService;
|
|
35
37
|
}
|
|
36
38
|
async get(hash, query) {
|
|
37
|
-
const params = new generic_index_parser_1.GenericIndexParser(query).process();
|
|
39
|
+
const params = new generic_index_parser_1.GenericIndexParser(query, this.sqlService).process();
|
|
38
40
|
params.model = await this.modelService.validateHashAccess(hash, 'r');
|
|
39
41
|
params.hash = params.model.model_hash;
|
|
40
42
|
return this.listService.index(params);
|
|
@@ -182,6 +184,7 @@ exports.BaseController = BaseController = __decorate([
|
|
|
182
184
|
preference_service_1.PreferenceService,
|
|
183
185
|
client_script_service_1.ClientScriptService,
|
|
184
186
|
audit_service_1.AuditService,
|
|
185
|
-
local_property_service_1.LocalPropertyService
|
|
187
|
+
local_property_service_1.LocalPropertyService,
|
|
188
|
+
sql_service_1.SqlService])
|
|
186
189
|
], BaseController);
|
|
187
190
|
//# sourceMappingURL=base.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.controller.js","sourceRoot":"","sources":["../../../src/system/controllers/base.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwF;AACxF,yDAA2E;AAC3E,qFAAiF;AACjF,sFAAiF;AACjF,oFAA+E;AAC/E,uFAAkF;AAClF,qEAAiE;AACjE,uEAAmE;AACnE,iFAA6E;AAC7E,kFAA8E;AAC9E,oGAA+F;
|
|
1
|
+
{"version":3,"file":"base.controller.js","sourceRoot":"","sources":["../../../src/system/controllers/base.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,6 @@ export * from './comment.attributes.dto';
|
|
|
9
9
|
export * from './credential.ip.attributes.dto';
|
|
10
10
|
export * from './data.log.attributes.dto';
|
|
11
11
|
export * from './document.attributes.dto';
|
|
12
|
-
export * from './engine.feature.support.dto';
|
|
13
12
|
export * from './event.log.attributes.dto';
|
|
14
13
|
export * from './executable.script.attributes.dto';
|
|
15
14
|
export * from './executable.script.payload.dto';
|
|
@@ -31,7 +30,6 @@ export * from './report.sheet.attributes.dto';
|
|
|
31
30
|
export * from './s3.object.info.dto';
|
|
32
31
|
export * from './s3.upload.options.dto';
|
|
33
32
|
export * from './sms.message.attributes.dto';
|
|
34
|
-
export * from './storage.ref.dto';
|
|
35
33
|
export * from './storage.upload.options.dto';
|
|
36
34
|
export * from './system.log.attributes.dto';
|
|
37
35
|
export * from './user.preference.creation.dto';
|
|
@@ -25,7 +25,6 @@ __exportStar(require("./comment.attributes.dto"), exports);
|
|
|
25
25
|
__exportStar(require("./credential.ip.attributes.dto"), exports);
|
|
26
26
|
__exportStar(require("./data.log.attributes.dto"), exports);
|
|
27
27
|
__exportStar(require("./document.attributes.dto"), exports);
|
|
28
|
-
__exportStar(require("./engine.feature.support.dto"), exports);
|
|
29
28
|
__exportStar(require("./event.log.attributes.dto"), exports);
|
|
30
29
|
__exportStar(require("./executable.script.attributes.dto"), exports);
|
|
31
30
|
__exportStar(require("./executable.script.payload.dto"), exports);
|
|
@@ -47,7 +46,6 @@ __exportStar(require("./report.sheet.attributes.dto"), exports);
|
|
|
47
46
|
__exportStar(require("./s3.object.info.dto"), exports);
|
|
48
47
|
__exportStar(require("./s3.upload.options.dto"), exports);
|
|
49
48
|
__exportStar(require("./sms.message.attributes.dto"), exports);
|
|
50
|
-
__exportStar(require("./storage.ref.dto"), exports);
|
|
51
49
|
__exportStar(require("./storage.upload.options.dto"), exports);
|
|
52
50
|
__exportStar(require("./system.log.attributes.dto"), exports);
|
|
53
51
|
__exportStar(require("./user.preference.creation.dto"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/system/dtos/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAAA,wDAAsC;AAAA,0DAAwC;AAAA,qEAAmD;AAAA,0DAAwC;AAAA,gEAA8C;AAAA,mEAAiD;AAAA,2DAAyC;AAAA,iEAA+C;AAAA,4DAA0C;AAAA,4DAA0C;AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/system/dtos/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAAA,wDAAsC;AAAA,0DAAwC;AAAA,qEAAmD;AAAA,0DAAwC;AAAA,gEAA8C;AAAA,mEAAiD;AAAA,2DAAyC;AAAA,iEAA+C;AAAA,4DAA0C;AAAA,4DAA0C;AAAA,6DAA2C;AAAA,qEAAmD;AAAA,kEAAgD;AAAA,oDAAkC;AAAA,yDAAuC;AAAA,yDAAuC;AAAA,6DAA2C;AAAA,8DAA4C;AAAA,kEAAgD;AAAA,wDAAsC;AAAA,iEAA+C;AAAA,sEAAoD;AAAA,0DAAwC;AAAA,6DAA2C;AAAA,uEAAqD;AAAA,uDAAqC;AAAA,mEAAiD;AAAA,gEAA8C;AAAA,uDAAqC;AAAA,0DAAwC;AAAA,+DAA6C;AAAA,+DAA6C;AAAA,8DAA4C;AAAA,iEAA+C;AAAA,2DAAwC"}
|