@lenne.tech/nest-server 11.33.1 → 11.34.1
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/rules/testing.md +181 -3
- package/FRAMEWORK-API.md +1 -1
- package/dist/core/common/helpers/gridfs.helper.d.ts +1 -0
- package/dist/core/common/helpers/gridfs.helper.js +43 -5
- package/dist/core/common/helpers/gridfs.helper.js.map +1 -1
- package/dist/core/common/helpers/validation-message.helper.d.ts +3 -0
- package/dist/core/common/helpers/validation-message.helper.js +41 -0
- package/dist/core/common/helpers/validation-message.helper.js.map +1 -0
- package/dist/core/common/pipes/map-and-validate.pipe.js +16 -6
- package/dist/core/common/pipes/map-and-validate.pipe.js.map +1 -1
- package/dist/core/common/services/core-s3.service.d.ts +4 -0
- package/dist/core/common/services/core-s3.service.js +28 -1
- package/dist/core/common/services/core-s3.service.js.map +1 -1
- package/dist/core/modules/file/core-file.service.d.ts +4 -2
- package/dist/core/modules/file/core-file.service.js +46 -47
- package/dist/core/modules/file/core-file.service.js.map +1 -1
- package/dist/core/modules/hub/helpers/hub-client-js.helper.js +12 -1
- package/dist/core/modules/hub/helpers/hub-client-js.helper.js.map +1 -1
- package/dist/core/modules/hub/hub-action-messages.d.ts +1 -0
- package/dist/core/modules/hub/hub-action-messages.js +1 -0
- package/dist/core/modules/hub/hub-action-messages.js.map +1 -1
- package/dist/core/modules/hub/interfaces/hub-panels.interface.d.ts +9 -0
- package/dist/core/modules/hub/services/core-hub-actions.service.d.ts +2 -0
- package/dist/core/modules/hub/services/core-hub-actions.service.js.map +1 -1
- package/dist/core/modules/hub/services/core-hub-db.service.d.ts +10 -2
- package/dist/core/modules/hub/services/core-hub-db.service.js +85 -29
- package/dist/core/modules/hub/services/core-hub-db.service.js.map +1 -1
- package/dist/server/modules/file/file.service.d.ts +2 -1
- package/dist/server/modules/file/file.service.js +2 -2
- package/dist/server/modules/file/file.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/migration-guides/11.23.x-to-11.24.0.md +1 -1
- package/migration-guides/11.32.x-to-11.33.x.md +2 -0
- package/migration-guides/11.33.x-to-11.34.x.md +394 -0
- package/migration-guides/11.34.0-to-11.34.1.md +132 -0
- package/package.json +3 -1
- package/src/core/common/helpers/gridfs.helper.ts +92 -7
- package/src/core/common/helpers/validation-message.helper.ts +83 -0
- package/src/core/common/pipes/map-and-validate.pipe.ts +25 -7
- package/src/core/common/services/core-s3.service.ts +71 -9
- package/src/core/modules/file/README.md +42 -6
- package/src/core/modules/file/core-file.service.ts +131 -59
- package/src/core/modules/hub/README.md +35 -9
- package/src/core/modules/hub/helpers/hub-client-js.helper.ts +12 -1
- package/src/core/modules/hub/hub-action-messages.ts +9 -1
- package/src/core/modules/hub/interfaces/hub-panels.interface.ts +31 -1
- package/src/core/modules/hub/services/core-hub-actions.service.ts +10 -2
- package/src/core/modules/hub/services/core-hub-db.service.ts +155 -31
- package/src/server/modules/file/file.service.ts +20 -3
package/.claude/rules/testing.md
CHANGED
|
@@ -34,7 +34,7 @@ mis-named suite fails the build instead of silently passing. Type-only tests
|
|
|
34
34
|
|
|
35
35
|
## Infrastructure containers (Redis + S3)
|
|
36
36
|
|
|
37
|
-
**
|
|
37
|
+
**Eight** e2e suites talk to a **real** Redis and/or a **real** S3-compatible store rather than a
|
|
38
38
|
mock, and they **fail loudly** when it is missing — a silently skipped infrastructure test is how an
|
|
39
39
|
untested driver ships:
|
|
40
40
|
|
|
@@ -44,13 +44,14 @@ untested driver ships:
|
|
|
44
44
|
| `tests/redis-consumers.e2e-spec.ts` | Redis |
|
|
45
45
|
| `tests/multi-replica.e2e-spec.ts` | Redis |
|
|
46
46
|
| `tests/s3-infra.e2e-spec.ts` | S3 |
|
|
47
|
-
| `tests/file-storage-
|
|
47
|
+
| `tests/file-storage-parity.e2e-spec.ts` | S3 |
|
|
48
|
+
| `tests/file-storage-http-parity.e2e-spec.ts` | S3 |
|
|
48
49
|
| `tests/redis-s3-bootstrap.e2e-spec.ts` | Redis + S3 |
|
|
49
50
|
| `tests/graceful-shutdown.e2e-spec.ts` | Redis + S3 |
|
|
50
51
|
|
|
51
52
|
`tests/global-setup.ts` starts both containers automatically, so `pnpm test` works from a clean
|
|
52
53
|
machine with no manual docker command. It is idempotent (a running container is reused) and never
|
|
53
|
-
fatal: without Docker every other suite still runs, and the
|
|
54
|
+
fatal: without Docker every other suite still runs, and the eight above report their own actionable
|
|
54
55
|
error.
|
|
55
56
|
|
|
56
57
|
```bash
|
|
@@ -153,6 +154,179 @@ pnpm run test:cleanup
|
|
|
153
154
|
- Coverage: Collected from `src/**/*.{ts,js}`. The two runners are separate vitest processes, so
|
|
154
155
|
they write separate reports (`coverage/unit`, `coverage/e2e`) rather than overwriting each other.
|
|
155
156
|
|
|
157
|
+
## Behaviour matrices: test the CONTRACT once, against every implementation
|
|
158
|
+
|
|
159
|
+
**Rule: when one contract has several interchangeable implementations, there is ONE list of
|
|
160
|
+
behaviours and it runs against all of them. Never one suite per implementation.**
|
|
161
|
+
|
|
162
|
+
File storage is the worked example, and it is a worked example because getting it wrong shipped two
|
|
163
|
+
defects. Three drivers (`filesystem`, `gridfs`, `s3`) sat behind one `CoreFileService` contract with
|
|
164
|
+
one suite each — different files, different drivers, overlapping intent, no shared list. A behaviour
|
|
165
|
+
that was correct under GridFS and broken under `filesystem` had nowhere to surface. 11.33.0 shipped
|
|
166
|
+
exactly that (`getRawFileInfoByName()` consulted two of the three stores), and every suite was green.
|
|
167
|
+
|
|
168
|
+
| Piece | Where |
|
|
169
|
+
|-------|-------|
|
|
170
|
+
| The matrix — cases, drivers, exclusions, folded-in receipts | `tests/helpers/file-storage-matrix.ts` |
|
|
171
|
+
| Per-driver plumbing (config, planting into a non-active store, byte probes) | `tests/helpers/file-storage-drivers.ts` |
|
|
172
|
+
| Service-contract executor | `tests/file-storage-parity.e2e-spec.ts` |
|
|
173
|
+
| Route-contract executor (boots the real `ServerModule` per driver) | `tests/file-storage-http-parity.e2e-spec.ts` |
|
|
174
|
+
| Structural guard | `tests/unit/file-storage-parity-matrix.spec.ts` |
|
|
175
|
+
|
|
176
|
+
### A cell is EXECUTED, IMPOSSIBLE, or DIFFERENT-BY-DESIGN — never merely absent
|
|
177
|
+
|
|
178
|
+
Omitting a case for one implementation and declaring it impossible there produce the same artefact
|
|
179
|
+
in a report: nothing. That is how a gap hides, so the three states are declared and the guard fails
|
|
180
|
+
on anything else:
|
|
181
|
+
|
|
182
|
+
- **EXECUTED** — the case lists the driver; the executor registers a real `it()` via `parityIt()`.
|
|
183
|
+
- **IMPOSSIBLE:** — the behaviour has no equivalent primitive in that store. No `provenBy`, nothing
|
|
184
|
+
registered; there is nothing to assert instead.
|
|
185
|
+
- **DIFFERENT-BY-DESIGN:** — the driver behaves differently on purpose. MUST name a `provenBy` case
|
|
186
|
+
that runs for that driver, and MUST register a `parityComplement()` asserting what happens
|
|
187
|
+
instead. A design difference nobody asserts is indistinguishable from a bug nobody noticed.
|
|
188
|
+
|
|
189
|
+
An exclusion is a claim about the PRODUCT. If you are adding one to get green, you are writing down
|
|
190
|
+
a bug.
|
|
191
|
+
|
|
192
|
+
### Consolidating suites requires a receipt
|
|
193
|
+
|
|
194
|
+
Folding a per-implementation suite into the matrix must not trade breadth for tidiness. Each case
|
|
195
|
+
the old suite asserted gets an entry in `FOLDED_IN` (`from`, `was`, `into`), and the guard asserts
|
|
196
|
+
every `into` still names a live case, that the folded-in cases cover **all** drivers, and that the
|
|
197
|
+
origin files are gone rather than left behind to drift.
|
|
198
|
+
|
|
199
|
+
## Regression tests must carry their evidence
|
|
200
|
+
|
|
201
|
+
**Rule: a test that claims to pin a defect declares `@regression` AND `@seen-failing`, and the
|
|
202
|
+
`@seen-failing` line names a mutation registered in `tests/regression-mutations.json`.**
|
|
203
|
+
|
|
204
|
+
### Why — two vacuous tests, in the session that was fixing the bug
|
|
205
|
+
|
|
206
|
+
While fixing 11.33.1, two tests written specifically to pin the defect **passed with the defect
|
|
207
|
+
fully restored**:
|
|
208
|
+
|
|
209
|
+
1. The `deleteFileByName()` ownership case drove a rule that read a missing `currentUser` as
|
|
210
|
+
"internal, allow". The broken, context-less inner lookup therefore succeeded too, and the whole
|
|
211
|
+
assertion held with the bug present. It only detects anything because the rule now **fails
|
|
212
|
+
closed**.
|
|
213
|
+
2. A by-name lookup case asserted around the defect rather than on it.
|
|
214
|
+
|
|
215
|
+
Both were caught only because somebody re-broke the source by hand and re-ran them. A green test
|
|
216
|
+
looks identical whether it is checking something or nothing; the single thing that separates the two
|
|
217
|
+
is having watched it go red — and that observation used to live in terminal scrollback.
|
|
218
|
+
|
|
219
|
+
### The convention
|
|
220
|
+
|
|
221
|
+
```typescript
|
|
222
|
+
/**
|
|
223
|
+
* @regression 11.33.1 — deleteFileByName() re-resolved the file with an EMPTY context, so an
|
|
224
|
+
* overridden checkRights() was asked two different questions about one request.
|
|
225
|
+
* @seen-failing Drop `serviceOptions` from the getFileInfoByName() call in
|
|
226
|
+
* src/core/modules/file/core-file.service.ts — registered as mutation
|
|
227
|
+
* `delete-by-name-drops-context` in tests/regression-mutations.json.
|
|
228
|
+
*/
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
```bash
|
|
232
|
+
pnpm run check:mutations # apply every registered mutation, require its specs to go RED
|
|
233
|
+
pnpm run check:mutations -- --id=<id> # one mutation
|
|
234
|
+
pnpm run check:mutations -- --list # the registry, without running anything
|
|
235
|
+
pnpm run check:mutations -- --allow-dirty # when the fix and its evidence share a working tree
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
Not part of `pnpm run check` — it edits source and re-runs whole e2e suites. It belongs in review
|
|
239
|
+
and on the publish path. Between runs the registry is kept from rotting by
|
|
240
|
+
`tests/unit/regression-evidence.spec.ts`, which asserts every `find` still matches its target
|
|
241
|
+
**exactly once**: a stale mutation would silently become a no-op, and a no-op "confirms" evidence
|
|
242
|
+
that was never checked.
|
|
243
|
+
|
|
244
|
+
`tests/unit/regression-evidence.spec.ts` also enforces the other direction — every registered
|
|
245
|
+
mutation must be referenced by some `@regression` block, and each referenced mutation must actually
|
|
246
|
+
run the file the tag lives in.
|
|
247
|
+
|
|
248
|
+
Free prose ("Regression guard: …") is untouched by any of this. It predates the convention and often
|
|
249
|
+
sits on tests whose defect has no reachable mutation any more; retro-fitting it would produce
|
|
250
|
+
ceremony, not evidence. **The tag is the promise.**
|
|
251
|
+
|
|
252
|
+
### What a reviewer must ask for
|
|
253
|
+
|
|
254
|
+
When a change adds or edits a test that claims to fix or pin a bug:
|
|
255
|
+
|
|
256
|
+
1. **"Show me it red."** Either the `@seen-failing` line with a registered mutation id, or the
|
|
257
|
+
pasted output of `pnpm run check:mutations -- --id=<id>`.
|
|
258
|
+
2. **"Which cases went red, and under which driver/configuration?"** One red case where you expected
|
|
259
|
+
four means the mutation is not the defect, or the coverage is narrower than claimed.
|
|
260
|
+
3. **"Would a permissive fixture also make this pass?"** For anything driving an authorization hook,
|
|
261
|
+
the paired refusal case is mandatory — without it, a rule that has silently gone permissive
|
|
262
|
+
explains the green just as well as the fix does.
|
|
263
|
+
4. **"Is the mutation the defect, or a proxy for it?"** A mutation that breaks everything proves
|
|
264
|
+
nothing about the specific behaviour.
|
|
265
|
+
|
|
266
|
+
## Consumer gate: the starter runs BEFORE publish, not after
|
|
267
|
+
|
|
268
|
+
`pnpm run check:consumer` builds the tarball (`pnpm pack`), installs it into a **throwaway copy** of
|
|
269
|
+
`nest-server-starter`, and runs the consumer's own checks against it.
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
pnpm run check:consumer # full: the starter's own `check`
|
|
273
|
+
pnpm run check:consumer -- --fast # typecheck + build + tests (~5 min)
|
|
274
|
+
pnpm run check:consumer -- --starter=<path> # else ../nest-server-starter, or NEST_SERVER_STARTER_PATH
|
|
275
|
+
pnpm run check:consumer -- --keep # keep the workspace for inspection
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
It is not a duplicate of `pnpm run check`. This repo's suite exercises `src/server` — a consumer
|
|
279
|
+
that, by construction, tracks every framework change in the same commit and imports `src/` by
|
|
280
|
+
relative path. The starter does neither: it subclasses the shipped `Core*` classes and consumes
|
|
281
|
+
`dist/` through the package's public entry points. It therefore catches what nothing else can: a
|
|
282
|
+
`files`/`exports` mistake that drops something from the tarball, a signature change only a
|
|
283
|
+
**subclass** notices, a `devDependency` used at runtime by framework code, and behaviour that
|
|
284
|
+
differs under the starter's configuration.
|
|
285
|
+
|
|
286
|
+
Wired into `.github/workflows/publish.yml` before the publish step, with `--fast`. Deliberately not
|
|
287
|
+
on every push (~5 minutes), and deliberately not the starter's full `check` in CI: that also runs
|
|
288
|
+
the starter's own `pnpm audit` / `format:check` / `lint`, none of which say anything about our
|
|
289
|
+
tarball — a fresh advisory in one of the starter's own dependencies would otherwise block an
|
|
290
|
+
unrelated release.
|
|
291
|
+
|
|
292
|
+
## Consumer contracts: exercise the extension points, in executed code
|
|
293
|
+
|
|
294
|
+
**Rule: an overridable seam that only `src/server`'s defaults ever touch is an untested seam.**
|
|
295
|
+
`src/server` IS a consumer of `src/core`, but for a long time it was a consumer that took every
|
|
296
|
+
default — and a `@Restricted`/`checkRights()`/`securityCheck()` override documented only in a JSDoc
|
|
297
|
+
`@example` is never compiled, never type-checked and never run.
|
|
298
|
+
|
|
299
|
+
| Seam | Contract suite |
|
|
300
|
+
|------|----------------|
|
|
301
|
+
| `CoreFileService.checkRights()` | `tests/file-ownership.e2e-spec.ts` (+ the parity matrix, per driver) |
|
|
302
|
+
| `CoreModel.securityCheck()` | `tests/security-check-contract.e2e-spec.ts` |
|
|
303
|
+
|
|
304
|
+
A contract suite tests the SEAM, not one consumer of it. `security-check-contract` is the shape to
|
|
305
|
+
copy: its models' `securityCheck()` **records its own invocation** (`checkedFor`) as well as
|
|
306
|
+
narrowing fields, so "the response looks redacted" — which a `@Restricted` rule, `prepareOutput` or
|
|
307
|
+
a typo in the fixture would produce too — becomes "the hook ran, with this user, on this object".
|
|
308
|
+
|
|
309
|
+
## Structural invariants over `src/`
|
|
310
|
+
|
|
311
|
+
Some properties cannot be observed by running the code, only by reading it — and a runtime guard
|
|
312
|
+
catches the *failure*, never the *disarming* of the safety property.
|
|
313
|
+
|
|
314
|
+
| Invariant | Guard |
|
|
315
|
+
|-----------|-------|
|
|
316
|
+
| DI tokens live in import-free leaves (SWC/TDZ) | `tests/unit/import-cycle-invariants.spec.ts` |
|
|
317
|
+
| Internal calls forward the caller's `ServiceOptions` | `tests/unit/service-options-forwarding.spec.ts` |
|
|
318
|
+
| The parity matrix is complete and honest | `tests/unit/file-storage-parity-matrix.spec.ts` |
|
|
319
|
+
| Regression tests carry re-runnable evidence | `tests/unit/regression-evidence.spec.ts` |
|
|
320
|
+
|
|
321
|
+
`service-options-forwarding` is 11.33.1 generalised: inside `src/core/`, a method that HAS the
|
|
322
|
+
caller's context must pass it to every internal call that accepts one. Passing a local derived from
|
|
323
|
+
it counts (`const config = { ...serviceOptions, … }`). A call that must genuinely run context-free
|
|
324
|
+
says so at the call site — the opt-out is a claim about authorization, so it belongs in the diff:
|
|
325
|
+
|
|
326
|
+
```typescript
|
|
327
|
+
// serviceOptions-forwarding: <why this call must not carry the caller's context>
|
|
328
|
+
```
|
|
329
|
+
|
|
156
330
|
## Test Best Practices
|
|
157
331
|
|
|
158
332
|
1. **Always run tests before completing changes**: `pnpm test`
|
|
@@ -160,6 +334,10 @@ pnpm run test:cleanup
|
|
|
160
334
|
3. **Use TestHelper** for GraphQL and REST API testing
|
|
161
335
|
4. **Clean up test data** in `afterAll` hooks
|
|
162
336
|
5. **Unique test data** - Use timestamps/random strings to avoid conflicts
|
|
337
|
+
6. **One contract, one matrix** — see "Behaviour matrices" above before writing a second suite for
|
|
338
|
+
the same contract with a different implementation
|
|
339
|
+
7. **A regression test carries `@regression` + `@seen-failing`** — see "Regression tests must carry
|
|
340
|
+
their evidence"
|
|
163
341
|
|
|
164
342
|
## Test File Structure
|
|
165
343
|
|
package/FRAMEWORK-API.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @lenne.tech/nest-server — Framework API Reference
|
|
2
2
|
|
|
3
|
-
> Auto-generated from source code on 2026-08-
|
|
3
|
+
> Auto-generated from source code on 2026-08-14 (v11.34.1)
|
|
4
4
|
> File: `FRAMEWORK-API.md` — compact, machine-readable API surface for Claude Code
|
|
5
5
|
|
|
6
6
|
## CoreModule.forRoot()
|
|
@@ -29,6 +29,7 @@ export declare class GridFSHelper {
|
|
|
29
29
|
static findFileById(bucket: GridFSBucket, id: string | Types.ObjectId): Promise<GridFSFileInfo | null>;
|
|
30
30
|
static findFileByName(bucket: GridFSBucket, filename: string): Promise<GridFSFileInfo | null>;
|
|
31
31
|
static findFiles(bucket: GridFSBucket, filter?: any, options?: any): Promise<GridFSFileInfo[]>;
|
|
32
|
+
private static mapContentTypeKeys;
|
|
32
33
|
static deleteFile(bucket: GridFSBucket, id: string | Types.ObjectId): Promise<void>;
|
|
33
34
|
static openDownloadStream(bucket: GridFSBucket, id: string | Types.ObjectId): GridFSBucketReadStream;
|
|
34
35
|
static openDownloadStreamByName(bucket: GridFSBucket, filename: string): GridFSBucketReadStream;
|
|
@@ -19,8 +19,30 @@ class GridFSHelper {
|
|
|
19
19
|
const uploadStream = bucket.openUploadStream(options.filename, {
|
|
20
20
|
metadata,
|
|
21
21
|
});
|
|
22
|
-
|
|
22
|
+
let settled = false;
|
|
23
|
+
const fail = (error) => {
|
|
24
|
+
if (settled) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
settled = true;
|
|
23
28
|
reject(error);
|
|
29
|
+
};
|
|
30
|
+
const succeed = (fileInfo) => {
|
|
31
|
+
if (settled) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
settled = true;
|
|
35
|
+
resolve(fileInfo);
|
|
36
|
+
};
|
|
37
|
+
stream.on('error', (error) => {
|
|
38
|
+
Promise.resolve(uploadStream.abort?.()).catch(() => undefined);
|
|
39
|
+
fail(error);
|
|
40
|
+
});
|
|
41
|
+
uploadStream.on('error', (error) => {
|
|
42
|
+
if (!stream.destroyed) {
|
|
43
|
+
stream.destroy();
|
|
44
|
+
}
|
|
45
|
+
fail(error);
|
|
24
46
|
});
|
|
25
47
|
uploadStream.on('finish', () => {
|
|
26
48
|
bucket
|
|
@@ -28,13 +50,13 @@ class GridFSHelper {
|
|
|
28
50
|
.toArray()
|
|
29
51
|
.then((files) => {
|
|
30
52
|
if (files && files.length > 0) {
|
|
31
|
-
|
|
53
|
+
succeed(GridFSHelper.normalizeFileInfo(files[0]));
|
|
32
54
|
}
|
|
33
55
|
else {
|
|
34
|
-
|
|
56
|
+
fail(new Error('File uploaded but metadata not found'));
|
|
35
57
|
}
|
|
36
58
|
})
|
|
37
|
-
.catch(
|
|
59
|
+
.catch(fail);
|
|
38
60
|
});
|
|
39
61
|
stream.pipe(uploadStream);
|
|
40
62
|
});
|
|
@@ -74,9 +96,25 @@ class GridFSHelper {
|
|
|
74
96
|
return files.length > 0 ? GridFSHelper.normalizeFileInfo(files[0]) : null;
|
|
75
97
|
}
|
|
76
98
|
static async findFiles(bucket, filter = {}, options = {}) {
|
|
77
|
-
const
|
|
99
|
+
const query = GridFSHelper.mapContentTypeKeys(filter);
|
|
100
|
+
const findOptions = options && options.sort ? { ...options, sort: GridFSHelper.mapContentTypeKeys(options.sort) } : options;
|
|
101
|
+
const files = await bucket.find(query, findOptions).toArray();
|
|
78
102
|
return files.map((file) => GridFSHelper.normalizeFileInfo(file));
|
|
79
103
|
}
|
|
104
|
+
static mapContentTypeKeys(value) {
|
|
105
|
+
if (Array.isArray(value)) {
|
|
106
|
+
return value.map((entry) => GridFSHelper.mapContentTypeKeys(entry));
|
|
107
|
+
}
|
|
108
|
+
if (!value || typeof value !== 'object' || value instanceof RegExp || value instanceof Date) {
|
|
109
|
+
return value;
|
|
110
|
+
}
|
|
111
|
+
const mapped = {};
|
|
112
|
+
for (const [key, entry] of Object.entries(value)) {
|
|
113
|
+
const nested = key === '$and' || key === '$nor' || key === '$or' ? GridFSHelper.mapContentTypeKeys(entry) : entry;
|
|
114
|
+
mapped[key === 'contentType' ? 'metadata.contentType' : key] = nested;
|
|
115
|
+
}
|
|
116
|
+
return mapped;
|
|
117
|
+
}
|
|
80
118
|
static async deleteFile(bucket, id) {
|
|
81
119
|
const objectId = typeof id === 'string' ? new ObjectId(id) : id;
|
|
82
120
|
await bucket.delete(objectId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gridfs.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/gridfs.helper.ts"],"names":[],"mappings":";;;AAAA,uCAAwC;AAIxC,MAAM,QAAQ,GAAG,gBAAK,CAAC,QAAQ,CAAC;AAyDhC,MAAa,YAAY;IAKf,MAAM,CAAC,iBAAiB,CAAC,QAAuB;QACtD,OAAO;YACL,GAAG,QAAQ;YACX,WAAW,EAAE,QAAQ,CAAC,QAAQ,EAAE,WAAW;SAC5C,CAAC;IACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"gridfs.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/gridfs.helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { ValidationArguments } from 'class-validator';
|
|
2
|
+
export declare function constraintToString(constraint: unknown): string;
|
|
3
|
+
export declare function replaceMessageSpecialTokens(message: ((args: ValidationArguments) => string) | string, validationArguments: ValidationArguments): string;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.constraintToString = constraintToString;
|
|
4
|
+
exports.replaceMessageSpecialTokens = replaceMessageSpecialTokens;
|
|
5
|
+
function constraintToString(constraint) {
|
|
6
|
+
if (Array.isArray(constraint)) {
|
|
7
|
+
return constraint.join(', ');
|
|
8
|
+
}
|
|
9
|
+
if (typeof constraint === 'symbol') {
|
|
10
|
+
constraint = constraint.description;
|
|
11
|
+
}
|
|
12
|
+
return `${constraint}`;
|
|
13
|
+
}
|
|
14
|
+
function replaceMessageSpecialTokens(message, validationArguments) {
|
|
15
|
+
let messageString = '';
|
|
16
|
+
if (typeof message === 'function') {
|
|
17
|
+
messageString = message(validationArguments);
|
|
18
|
+
}
|
|
19
|
+
else if (typeof message === 'string') {
|
|
20
|
+
messageString = message;
|
|
21
|
+
}
|
|
22
|
+
if (messageString && Array.isArray(validationArguments.constraints)) {
|
|
23
|
+
validationArguments.constraints.forEach((constraint, index) => {
|
|
24
|
+
messageString = messageString.replace(new RegExp(`\\$constraint${index + 1}`, 'g'), constraintToString(constraint));
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
if (messageString &&
|
|
28
|
+
validationArguments.value !== undefined &&
|
|
29
|
+
validationArguments.value !== null &&
|
|
30
|
+
['boolean', 'number', 'string'].includes(typeof validationArguments.value)) {
|
|
31
|
+
messageString = messageString.replace(/\$value/g, `${validationArguments.value}`);
|
|
32
|
+
}
|
|
33
|
+
if (messageString) {
|
|
34
|
+
messageString = messageString.replace(/\$property/g, validationArguments.property);
|
|
35
|
+
}
|
|
36
|
+
if (messageString) {
|
|
37
|
+
messageString = messageString.replace(/\$target/g, validationArguments.targetName);
|
|
38
|
+
}
|
|
39
|
+
return messageString;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=validation-message.helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation-message.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/validation-message.helper.ts"],"names":[],"mappings":";;AAUA,gDAQC;AA4BD,kEAoCC;AAxED,SAAgB,kBAAkB,CAAC,UAAmB;IACpD,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC;IACtC,CAAC;IACD,OAAO,GAAG,UAAU,EAAE,CAAC;AACzB,CAAC;AA4BD,SAAgB,2BAA2B,CACzC,OAAyD,EACzD,mBAAwC;IAExC,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QAClC,aAAa,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC/C,CAAC;SAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvC,aAAa,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,IAAI,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;QACpE,mBAAmB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;YAC5D,aAAa,GAAG,aAAa,CAAC,OAAO,CACnC,IAAI,MAAM,CAAC,gBAAgB,KAAK,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAC5C,kBAAkB,CAAC,UAAU,CAAC,CAC/B,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IACE,aAAa;QACb,mBAAmB,CAAC,KAAK,KAAK,SAAS;QACvC,mBAAmB,CAAC,KAAK,KAAK,IAAI;QAClC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,mBAAmB,CAAC,KAAK,CAAC,EAC1E,CAAC;QACD,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,mBAAmB,CAAC,KAAK,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,aAAa,EAAE,CAAC;QAClB,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,aAAa,EAAE,CAAC;QAClB,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACrF,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC"}
|
|
@@ -16,6 +16,7 @@ const class_validator_1 = require("class-validator");
|
|
|
16
16
|
const util_1 = require("util");
|
|
17
17
|
const unified_field_decorator_1 = require("../decorators/unified-field.decorator");
|
|
18
18
|
const input_helper_1 = require("../helpers/input.helper");
|
|
19
|
+
const validation_message_helper_1 = require("../helpers/validation-message.helper");
|
|
19
20
|
const config_service_1 = require("../services/config.service");
|
|
20
21
|
const error_codes_1 = require("../../modules/error-code/error-codes");
|
|
21
22
|
const DEBUG_VALIDATION = process.env.DEBUG_VALIDATION === 'true';
|
|
@@ -168,13 +169,13 @@ async function validateWithInheritance(object, originalPlainValue) {
|
|
|
168
169
|
}
|
|
169
170
|
if (!isValid) {
|
|
170
171
|
const constraintName = metadata.name || 'customValidation';
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
}
|
|
175
|
-
else {
|
|
176
|
-
errorMessage = `${propertyName} failed custom validation`;
|
|
172
|
+
let messageTemplate = metadata.message;
|
|
173
|
+
if (!messageTemplate && typeof constraintInstance.defaultMessage === 'function') {
|
|
174
|
+
messageTemplate = constraintInstance.defaultMessage(validationArgs);
|
|
177
175
|
}
|
|
176
|
+
errorMessage = messageTemplate
|
|
177
|
+
? (0, validation_message_helper_1.replaceMessageSpecialTokens)(messageTemplate, validationArgs)
|
|
178
|
+
: `${propertyName} failed custom validation`;
|
|
178
179
|
propertyError.constraints[constraintName] = errorMessage;
|
|
179
180
|
continue;
|
|
180
181
|
}
|
|
@@ -447,6 +448,15 @@ async function validateWithInheritance(object, originalPlainValue) {
|
|
|
447
448
|
continue;
|
|
448
449
|
}
|
|
449
450
|
if (!isValid) {
|
|
451
|
+
if (metadata.message) {
|
|
452
|
+
errorMessage = (0, validation_message_helper_1.replaceMessageSpecialTokens)(metadata.message, {
|
|
453
|
+
constraints: metadata.constraints || [],
|
|
454
|
+
object: tempInstance,
|
|
455
|
+
property: propertyName,
|
|
456
|
+
targetName: targetClass.name,
|
|
457
|
+
value: propertyValue,
|
|
458
|
+
});
|
|
459
|
+
}
|
|
450
460
|
propertyError.constraints[constraintType] = errorMessage;
|
|
451
461
|
}
|
|
452
462
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-and-validate.pipe.js","sourceRoot":"","sources":["../../../../src/core/common/pipes/map-and-validate.pipe.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"map-and-validate.pipe.js","sourceRoot":"","sources":["../../../../src/core/common/pipes/map-and-validate.pipe.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,10 @@ export declare class CoreS3Service implements OnApplicationShutdown, OnModuleIni
|
|
|
28
28
|
protected bucketExists(bucket: string): Promise<boolean>;
|
|
29
29
|
getClient(): S3Client;
|
|
30
30
|
putObject(key: string, body: Buffer | Readable | string, contentType?: string, contentLength?: number): Promise<void>;
|
|
31
|
+
protected guardBodyStream(stream: Readable): {
|
|
32
|
+
body: Readable;
|
|
33
|
+
sourceError: () => Error | undefined;
|
|
34
|
+
};
|
|
31
35
|
copyObject(sourceKey: string, destinationKey: string, sourceBucket?: string, contentType?: string): Promise<void>;
|
|
32
36
|
static readonly MAX_COPY_OBJECT_BYTES: number;
|
|
33
37
|
protected copySource(bucket: string, key: string): string;
|
|
@@ -12,6 +12,7 @@ var CoreS3Service_1;
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
exports.CoreS3Service = void 0;
|
|
14
14
|
const common_1 = require("@nestjs/common");
|
|
15
|
+
const stream_1 = require("stream");
|
|
15
16
|
const content_disposition_helper_1 = require("../helpers/content-disposition.helper");
|
|
16
17
|
const config_service_1 = require("./config.service");
|
|
17
18
|
const MAX_PRESIGNED_EXPIRY_SECONDS = 604_800;
|
|
@@ -148,13 +149,39 @@ let CoreS3Service = class CoreS3Service {
|
|
|
148
149
|
else if (length === undefined && typeof body !== 'string') {
|
|
149
150
|
length = body.length;
|
|
150
151
|
}
|
|
151
|
-
|
|
152
|
+
const send = () => client.send(new sdk.PutObjectCommand({
|
|
152
153
|
Body: payload,
|
|
153
154
|
Bucket: config.bucket,
|
|
154
155
|
...(contentType ? { ContentType: contentType } : {}),
|
|
155
156
|
...(length === undefined ? {} : { ContentLength: length }),
|
|
156
157
|
Key: key,
|
|
157
158
|
}));
|
|
159
|
+
if (this.isStream(payload)) {
|
|
160
|
+
const guard = this.guardBodyStream(payload);
|
|
161
|
+
payload = guard.body;
|
|
162
|
+
try {
|
|
163
|
+
await send();
|
|
164
|
+
}
|
|
165
|
+
catch (error) {
|
|
166
|
+
throw guard.sourceError() ?? error;
|
|
167
|
+
}
|
|
168
|
+
const failure = guard.sourceError();
|
|
169
|
+
if (failure) {
|
|
170
|
+
throw failure;
|
|
171
|
+
}
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
await send();
|
|
175
|
+
}
|
|
176
|
+
guardBodyStream(stream) {
|
|
177
|
+
const relay = new stream_1.PassThrough();
|
|
178
|
+
let sourceError;
|
|
179
|
+
stream.on('error', (error) => {
|
|
180
|
+
sourceError = error;
|
|
181
|
+
relay.end();
|
|
182
|
+
});
|
|
183
|
+
stream.pipe(relay);
|
|
184
|
+
return { body: relay, sourceError: () => sourceError };
|
|
158
185
|
}
|
|
159
186
|
async copyObject(sourceKey, destinationKey, sourceBucket, contentType) {
|
|
160
187
|
const { client, config, sdk } = this.requireInit();
|