@carlonicora/nestjs-neo4jsonapi 1.112.3 → 1.114.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/operator/services/operator.service.d.ts.map +1 -1
- package/dist/agents/operator/services/operator.service.js.map +1 -1
- package/dist/common/guards/index.d.ts +1 -0
- package/dist/common/guards/index.d.ts.map +1 -1
- package/dist/common/guards/index.js +1 -0
- package/dist/common/guards/index.js.map +1 -1
- package/dist/common/guards/jwt.auth.any-scope.guard.d.ts +20 -0
- package/dist/common/guards/jwt.auth.any-scope.guard.d.ts.map +1 -0
- package/dist/common/guards/jwt.auth.any-scope.guard.js +61 -0
- package/dist/common/guards/jwt.auth.any-scope.guard.js.map +1 -0
- package/dist/config/base.config.d.ts.map +1 -1
- package/dist/config/base.config.js +1 -0
- package/dist/config/base.config.js.map +1 -1
- package/dist/config/interfaces/config.ai.interface.d.ts +6 -0
- package/dist/config/interfaces/config.ai.interface.d.ts.map +1 -1
- package/dist/core/llm/common/llm-raw-response.d.ts +4 -0
- package/dist/core/llm/common/llm-raw-response.d.ts.map +1 -1
- package/dist/core/llm/common/llm-raw-response.js.map +1 -1
- package/dist/core/llm/enums/reasoning.effort.d.ts +14 -0
- package/dist/core/llm/enums/reasoning.effort.d.ts.map +1 -0
- package/dist/core/llm/enums/reasoning.effort.js +3 -0
- package/dist/core/llm/enums/reasoning.effort.js.map +1 -0
- package/dist/core/llm/index.d.ts +1 -0
- package/dist/core/llm/index.d.ts.map +1 -1
- package/dist/core/llm/index.js +1 -0
- package/dist/core/llm/index.js.map +1 -1
- package/dist/core/llm/services/llm.service.d.ts +5 -0
- package/dist/core/llm/services/llm.service.d.ts.map +1 -1
- package/dist/core/llm/services/llm.service.js +147 -14
- package/dist/core/llm/services/llm.service.js.map +1 -1
- package/dist/core/llm/services/model.service.d.ts +37 -0
- package/dist/core/llm/services/model.service.d.ts.map +1 -1
- package/dist/core/llm/services/model.service.js +94 -5
- package/dist/core/llm/services/model.service.js.map +1 -1
- package/dist/core/llm/services/unsupported-param-fetch.d.ts +47 -0
- package/dist/core/llm/services/unsupported-param-fetch.d.ts.map +1 -0
- package/dist/core/llm/services/unsupported-param-fetch.js +195 -0
- package/dist/core/llm/services/unsupported-param-fetch.js.map +1 -0
- package/dist/core/llm/utils/schema.utils.d.ts +89 -0
- package/dist/core/llm/utils/schema.utils.d.ts.map +1 -1
- package/dist/core/llm/utils/schema.utils.js +210 -3
- package/dist/core/llm/utils/schema.utils.js.map +1 -1
- package/dist/core/security/services/security.service.d.ts +5 -0
- package/dist/core/security/services/security.service.d.ts.map +1 -1
- package/dist/core/security/services/security.service.js +13 -0
- package/dist/core/security/services/security.service.js.map +1 -1
- package/dist/foundations/auth/controllers/auth.controller.d.ts +2 -0
- package/dist/foundations/auth/controllers/auth.controller.d.ts.map +1 -1
- package/dist/foundations/auth/controllers/auth.controller.js +29 -0
- package/dist/foundations/auth/controllers/auth.controller.js.map +1 -1
- package/dist/foundations/auth/entities/auth.entity.d.ts +10 -0
- package/dist/foundations/auth/entities/auth.entity.d.ts.map +1 -1
- package/dist/foundations/auth/repositories/auth.repository.d.ts +28 -0
- package/dist/foundations/auth/repositories/auth.repository.d.ts.map +1 -1
- package/dist/foundations/auth/repositories/auth.repository.js +92 -12
- package/dist/foundations/auth/repositories/auth.repository.js.map +1 -1
- package/dist/foundations/auth/serialisers/auth.serialiser.d.ts.map +1 -1
- package/dist/foundations/auth/serialisers/auth.serialiser.js +4 -0
- package/dist/foundations/auth/serialisers/auth.serialiser.js.map +1 -1
- package/dist/foundations/auth/services/auth.service.d.ts +12 -0
- package/dist/foundations/auth/services/auth.service.d.ts.map +1 -1
- package/dist/foundations/auth/services/auth.service.js +55 -0
- package/dist/foundations/auth/services/auth.service.js.map +1 -1
- package/dist/foundations/chunker/services/types/pdf/interfaces/pdf-element.interface.d.ts.map +1 -1
- package/dist/foundations/company/repositories/company.repository.d.ts.map +1 -1
- package/dist/foundations/company/repositories/company.repository.js +7 -34
- package/dist/foundations/company/repositories/company.repository.js.map +1 -1
- package/dist/foundations/discord-user/repositories/discord-user.repository.d.ts.map +1 -1
- package/dist/foundations/discord-user/repositories/discord-user.repository.js +6 -1
- package/dist/foundations/discord-user/repositories/discord-user.repository.js.map +1 -1
- package/dist/foundations/foundations.modules.d.ts.map +1 -1
- package/dist/foundations/foundations.modules.js +2 -0
- package/dist/foundations/foundations.modules.js.map +1 -1
- package/dist/foundations/google-user/repositories/google-user.repository.d.ts.map +1 -1
- package/dist/foundations/google-user/repositories/google-user.repository.js +6 -1
- package/dist/foundations/google-user/repositories/google-user.repository.js.map +1 -1
- package/dist/foundations/index.d.ts +1 -0
- package/dist/foundations/index.d.ts.map +1 -1
- package/dist/foundations/index.js +1 -0
- package/dist/foundations/index.js.map +1 -1
- package/dist/foundations/membership/entities/membership.d.ts +34 -0
- package/dist/foundations/membership/entities/membership.d.ts.map +1 -0
- package/dist/foundations/membership/entities/membership.js +24 -0
- package/dist/foundations/membership/entities/membership.js.map +1 -0
- package/dist/foundations/membership/entities/membership.meta.d.ts +3 -0
- package/dist/foundations/membership/entities/membership.meta.d.ts.map +1 -0
- package/dist/foundations/membership/entities/membership.meta.js +10 -0
- package/dist/foundations/membership/entities/membership.meta.js.map +1 -0
- package/dist/foundations/membership/index.d.ts +6 -0
- package/dist/foundations/membership/index.d.ts.map +1 -0
- package/dist/foundations/membership/index.js +17 -0
- package/dist/foundations/membership/index.js.map +1 -0
- package/dist/foundations/membership/membership.module.d.ts +9 -0
- package/dist/foundations/membership/membership.module.d.ts.map +1 -0
- package/dist/foundations/membership/membership.module.js +32 -0
- package/dist/foundations/membership/membership.module.js.map +1 -0
- package/dist/foundations/membership/queries/membership.query.d.ts +60 -0
- package/dist/foundations/membership/queries/membership.query.d.ts.map +1 -0
- package/dist/foundations/membership/queries/membership.query.js +86 -0
- package/dist/foundations/membership/queries/membership.query.js.map +1 -0
- package/dist/foundations/membership/repositories/membership.repository.d.ts +8 -0
- package/dist/foundations/membership/repositories/membership.repository.d.ts.map +1 -0
- package/dist/foundations/membership/repositories/membership.repository.js +30 -0
- package/dist/foundations/membership/repositories/membership.repository.js.map +1 -0
- package/dist/foundations/module/queries/feature.module.query.d.ts +2 -2
- package/dist/foundations/module/queries/feature.module.query.d.ts.map +1 -1
- package/dist/foundations/module/queries/feature.module.query.js +11 -3
- package/dist/foundations/module/queries/feature.module.query.js.map +1 -1
- package/dist/foundations/rbac/dsl/types.d.ts.map +1 -1
- package/dist/foundations/rbac/dsl/types.js.map +1 -1
- package/dist/foundations/role/repositories/role.repository.d.ts.map +1 -1
- package/dist/foundations/role/repositories/role.repository.js +15 -4
- package/dist/foundations/role/repositories/role.repository.js.map +1 -1
- package/dist/foundations/stripe-subscription/entities/stripe-subscription.entity.d.ts.map +1 -1
- package/dist/foundations/user/entities/user.d.ts.map +1 -1
- package/dist/foundations/user/entities/user.js +6 -1
- package/dist/foundations/user/entities/user.js.map +1 -1
- package/dist/foundations/user/repositories/user.repository.d.ts +1 -0
- package/dist/foundations/user/repositories/user.repository.d.ts.map +1 -1
- package/dist/foundations/user/repositories/user.repository.js +105 -58
- package/dist/foundations/user/repositories/user.repository.js.map +1 -1
- package/dist/foundations/user/services/user.service.d.ts +8 -0
- package/dist/foundations/user/services/user.service.d.ts.map +1 -1
- package/dist/foundations/user/services/user.service.js +20 -4
- package/dist/foundations/user/services/user.service.js.map +1 -1
- package/package.json +67 -67
|
@@ -34,9 +34,13 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.convertZodToJsonSchema = convertZodToJsonSchema;
|
|
37
|
+
exports.convertZodToDraftJsonSchema = convertZodToDraftJsonSchema;
|
|
37
38
|
exports.extractSchemaMetadata = extractSchemaMetadata;
|
|
38
39
|
exports.formatFieldWithDescription = formatFieldWithDescription;
|
|
39
40
|
exports.sanitizeSchemaForGemini = sanitizeSchemaForGemini;
|
|
41
|
+
exports.isStrictStructuredOutputCompatible = isStrictStructuredOutputCompatible;
|
|
42
|
+
exports.makeSchemaStrictCompatible = makeSchemaStrictCompatible;
|
|
43
|
+
exports.stripSyntheticNulls = stripSyntheticNulls;
|
|
40
44
|
const z = __importStar(require("zod"));
|
|
41
45
|
/**
|
|
42
46
|
* Converts a Zod schema to JSON Schema format
|
|
@@ -47,12 +51,44 @@ const z = __importStar(require("zod"));
|
|
|
47
51
|
* @returns JSON Schema object
|
|
48
52
|
*/
|
|
49
53
|
function convertZodToJsonSchema(zodSchema) {
|
|
50
|
-
//
|
|
51
|
-
|
|
54
|
+
// JSON round-trip: strips the hidden `~standard` property Zod attaches to its
|
|
55
|
+
// output, which otherwise makes LangChain re-derive the schema instead of
|
|
56
|
+
// forwarding it — see convertZodToDraftJsonSchema below for the full account.
|
|
57
|
+
return JSON.parse(JSON.stringify(z.toJSONSchema(zodSchema, {
|
|
52
58
|
target: "openapi-3.0", // Use OpenAPI 3.0 format (compatible with OpenAI/Gemini)
|
|
53
59
|
cycles: "ref", // Handle cycles with $defs
|
|
54
60
|
unrepresentable: "any", // Unrepresentable types become {} instead of throwing
|
|
55
|
-
});
|
|
61
|
+
})));
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Converts a Zod schema to a draft 2020-12 JSON Schema — the dialect OpenAI's
|
|
65
|
+
* structured outputs expect.
|
|
66
|
+
*
|
|
67
|
+
* Distinct from {@link convertZodToJsonSchema}, which targets OpenAPI 3.0 for
|
|
68
|
+
* Gemini. The difference matters for strict mode: OpenAPI 3.0 expresses "may be
|
|
69
|
+
* null" as `nullable: true`, which OpenAI ignores, whereas draft 2020-12 uses a
|
|
70
|
+
* real `{ type: "null" }` branch — the form {@link makeSchemaStrictCompatible}
|
|
71
|
+
* produces.
|
|
72
|
+
*
|
|
73
|
+
* @param zodSchema - The Zod schema to convert
|
|
74
|
+
* @returns JSON Schema in draft 2020-12
|
|
75
|
+
*/
|
|
76
|
+
function convertZodToDraftJsonSchema(zodSchema) {
|
|
77
|
+
// The JSON round-trip is NOT cosmetic. Zod's `toJSONSchema` output carries a hidden
|
|
78
|
+
// non-enumerable `~standard` property (the Standard Schema V1 interface). When such
|
|
79
|
+
// an object reaches LangChain's `withStructuredOutput`, its `toJsonSchema` helper
|
|
80
|
+
// detects `~standard` and RE-DERIVES the schema via
|
|
81
|
+
// `schema["~standard"].jsonSchema.input({ target: "draft-07" })` — which demotes
|
|
82
|
+
// defaulted fields out of `required` and drops `additionalProperties: false`, so
|
|
83
|
+
// OpenAI strict mode rejects the request ("'additionalProperties' is required to be
|
|
84
|
+
// supplied and to be false", observed live against Azure gpt-5-nano). Serialising
|
|
85
|
+
// strips every non-JSON property, guaranteeing the schema LangChain forwards is
|
|
86
|
+
// byte-for-byte the schema this function returns.
|
|
87
|
+
return JSON.parse(JSON.stringify(z.toJSONSchema(zodSchema, {
|
|
88
|
+
target: "draft-2020-12",
|
|
89
|
+
cycles: "ref",
|
|
90
|
+
unrepresentable: "any",
|
|
91
|
+
})));
|
|
56
92
|
}
|
|
57
93
|
/**
|
|
58
94
|
* Extracts field metadata from JSON Schema
|
|
@@ -274,4 +310,175 @@ function sanitizeSchemaForGemini(schema) {
|
|
|
274
310
|
}
|
|
275
311
|
return sanitized;
|
|
276
312
|
}
|
|
313
|
+
/**
|
|
314
|
+
* Reports whether a schema can be sent through OpenAI's STRICT structured-output
|
|
315
|
+
* mode (`response_format: { type: "json_schema", strict: true }`).
|
|
316
|
+
*
|
|
317
|
+
* Strict mode has two rules that ordinary Zod schemas routinely break:
|
|
318
|
+
* 1. every key in `properties` must also appear in `required` — strict mode
|
|
319
|
+
* cannot express an absent field, only a null one, so `.optional()` and
|
|
320
|
+
* `.default()` both violate it;
|
|
321
|
+
* 2. `additionalProperties` must be `false` — so open records cannot qualify.
|
|
322
|
+
*
|
|
323
|
+
* This matters because LangChain hands any Zod schema to `interopZodResponseFormat`,
|
|
324
|
+
* which hardcodes `strict: true`; passing `strict: false` does nothing. A schema
|
|
325
|
+
* that fails these rules must therefore go through tool/function calling instead,
|
|
326
|
+
* which imposes neither rule AND keeps LangChain's Zod validation of the result.
|
|
327
|
+
*
|
|
328
|
+
* Deciding from the schema — rather than from a model or provider name — means no
|
|
329
|
+
* model taxonomy lives in this codebase, and any schema authored strict-clean later
|
|
330
|
+
* automatically earns the stronger guaranteed-conformance path.
|
|
331
|
+
*
|
|
332
|
+
* @param schema - JSON Schema object (typically from {@link convertZodToJsonSchema})
|
|
333
|
+
* @returns true when strict mode would accept the schema
|
|
334
|
+
*/
|
|
335
|
+
function isStrictStructuredOutputCompatible(schema) {
|
|
336
|
+
if (!schema || typeof schema !== "object")
|
|
337
|
+
return true;
|
|
338
|
+
if (Array.isArray(schema))
|
|
339
|
+
return schema.every((entry) => isStrictStructuredOutputCompatible(entry));
|
|
340
|
+
// A `$ref` cannot be verified from here (nothing in this walk resolves it), and the
|
|
341
|
+
// rewrite in {@link makeSchemaStrictCompatible} does not follow refs either — so a
|
|
342
|
+
// ref-bearing schema must take the tool-calling path, not strict mode. This also
|
|
343
|
+
// matters because OpenAI strict mode rejects a `$ref` carrying ANY sibling keyword
|
|
344
|
+
// ("$ref cannot have keywords {...}", observed live against Azure gpt-5-nano), the
|
|
345
|
+
// exact shape `convertZodToDraftJsonSchema` emits for recursive schemas
|
|
346
|
+
// (`cycles: "ref"`).
|
|
347
|
+
if (typeof schema.$ref === "string")
|
|
348
|
+
return false;
|
|
349
|
+
if (schema.type === "object") {
|
|
350
|
+
// Checked before `properties`, because an open record (`z.record`) produces an
|
|
351
|
+
// object node with NO `properties` at all — only `additionalProperties` — and
|
|
352
|
+
// strict mode still rejects it.
|
|
353
|
+
if (schema.additionalProperties !== false)
|
|
354
|
+
return false;
|
|
355
|
+
const required = new Set(Array.isArray(schema.required) ? schema.required : []);
|
|
356
|
+
for (const key of Object.keys(schema.properties ?? {})) {
|
|
357
|
+
if (!required.has(key))
|
|
358
|
+
return false;
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
for (const key of ["properties", "$defs", "definitions"]) {
|
|
362
|
+
const node = schema[key];
|
|
363
|
+
if (node && typeof node === "object") {
|
|
364
|
+
if (!Object.values(node).every((value) => isStrictStructuredOutputCompatible(value)))
|
|
365
|
+
return false;
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
for (const key of ["items", "additionalProperties", "not"]) {
|
|
369
|
+
if (schema[key] && typeof schema[key] === "object") {
|
|
370
|
+
if (!isStrictStructuredOutputCompatible(schema[key]))
|
|
371
|
+
return false;
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
for (const key of ["anyOf", "oneOf", "allOf"]) {
|
|
375
|
+
if (Array.isArray(schema[key])) {
|
|
376
|
+
if (!schema[key].every((entry) => isStrictStructuredOutputCompatible(entry)))
|
|
377
|
+
return false;
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
return true;
|
|
381
|
+
}
|
|
382
|
+
/**
|
|
383
|
+
* Rewrites a JSON Schema so OpenAI's STRICT structured-output mode accepts it.
|
|
384
|
+
*
|
|
385
|
+
* Strict mode cannot express "this key may be absent" — only "this key may be
|
|
386
|
+
* null". So every property becomes required, and any property that was NOT
|
|
387
|
+
* originally required is widened to `anyOf: [<original>, { type: "null" }]`.
|
|
388
|
+
* `additionalProperties` is closed on every object.
|
|
389
|
+
*
|
|
390
|
+
* This is the request half of a pair: {@link stripSyntheticNulls} undoes it on the
|
|
391
|
+
* response, so the caller's original Zod schema still validates the result.
|
|
392
|
+
*
|
|
393
|
+
* Why bother, rather than routing non-strict schemas to tool calling: strict mode
|
|
394
|
+
* is the only path that GUARANTEES the payload matches the schema. Measured against
|
|
395
|
+
* a live gpt-5-nano deployment, tool calling returned a string where the schema
|
|
396
|
+
* declared `assumptions: string[]` in roughly half of all runs; strict mode cannot
|
|
397
|
+
* do that by construction.
|
|
398
|
+
*
|
|
399
|
+
* @param schema - JSON Schema object (draft 2020-12 shape)
|
|
400
|
+
* @returns A structurally equivalent schema that satisfies strict mode
|
|
401
|
+
*/
|
|
402
|
+
function makeSchemaStrictCompatible(schema) {
|
|
403
|
+
if (!schema || typeof schema !== "object")
|
|
404
|
+
return schema;
|
|
405
|
+
if (Array.isArray(schema))
|
|
406
|
+
return schema.map((entry) => makeSchemaStrictCompatible(entry));
|
|
407
|
+
const strict = { ...schema };
|
|
408
|
+
for (const key of ["$defs", "definitions"]) {
|
|
409
|
+
if (strict[key] && typeof strict[key] === "object") {
|
|
410
|
+
strict[key] = Object.fromEntries(Object.entries(strict[key]).map(([name, value]) => [name, makeSchemaStrictCompatible(value)]));
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
if (strict.items && typeof strict.items === "object")
|
|
414
|
+
strict.items = makeSchemaStrictCompatible(strict.items);
|
|
415
|
+
for (const key of ["anyOf", "oneOf", "allOf"]) {
|
|
416
|
+
if (Array.isArray(strict[key]))
|
|
417
|
+
strict[key] = strict[key].map((entry) => makeSchemaStrictCompatible(entry));
|
|
418
|
+
}
|
|
419
|
+
if (strict.properties && typeof strict.properties === "object") {
|
|
420
|
+
const wasRequired = new Set(Array.isArray(strict.required) ? strict.required : []);
|
|
421
|
+
strict.properties = Object.fromEntries(Object.entries(strict.properties).map(([name, value]) => {
|
|
422
|
+
const child = makeSchemaStrictCompatible(value);
|
|
423
|
+
// Only widen what was optional — a field the author already declared
|
|
424
|
+
// nullable keeps its own shape.
|
|
425
|
+
return [name, wasRequired.has(name) ? child : { anyOf: [child, { type: "null" }] }];
|
|
426
|
+
}));
|
|
427
|
+
strict.required = Object.keys(strict.properties);
|
|
428
|
+
strict.additionalProperties = false;
|
|
429
|
+
}
|
|
430
|
+
return strict;
|
|
431
|
+
}
|
|
432
|
+
/**
|
|
433
|
+
* Removes the nulls that {@link makeSchemaStrictCompatible} forced the model to emit,
|
|
434
|
+
* so a value produced under strict mode validates against the ORIGINAL schema again.
|
|
435
|
+
*
|
|
436
|
+
* Only keys the transform actually widened are stripped: a key the author declared
|
|
437
|
+
* `.nullable()` was already required, so its null is meaningful and is preserved.
|
|
438
|
+
* Stripping restores absence, which is what `.optional()` expects and what `.default()`
|
|
439
|
+
* needs in order to apply its default.
|
|
440
|
+
*
|
|
441
|
+
* NOT HANDLED — four node kinds this walk never reaches, where an author-intended
|
|
442
|
+
* null could be dropped (or a synthetic one kept). None occur in this repo today, and
|
|
443
|
+
* each would need BOTH this function and {@link isStrictStructuredOutputCompatible}'s
|
|
444
|
+
* traversal extended before it could be trusted:
|
|
445
|
+
*
|
|
446
|
+
* 1. `.nullable().optional()` — the key is absent from `required`, so its null is
|
|
447
|
+
* read as synthetic and stripped, even though the author declared null to be a
|
|
448
|
+
* legitimate value. (`.nullable()` alone is safe: it stays required.)
|
|
449
|
+
* 2. Nulls inside `anyOf` / `oneOf` branches — the walk descends only through
|
|
450
|
+
* `properties` and `items`, so a null-bearing union branch is never visited and
|
|
451
|
+
* its object properties are compared against no schema at all.
|
|
452
|
+
* 3. Nulls behind `$ref` / `$defs` — there is no ref resolution here, so a
|
|
453
|
+
* referenced subschema contributes no `required` set and every null under it
|
|
454
|
+
* survives, synthetic or not.
|
|
455
|
+
* 4. Tuples / `prefixItems` — only the single `items` schema is followed, so a
|
|
456
|
+
* positional tuple's element schemas are never applied.
|
|
457
|
+
*
|
|
458
|
+
* @param value - The parsed model output
|
|
459
|
+
* @param originalSchema - The schema BEFORE strictification (the source of truth for
|
|
460
|
+
* which keys were genuinely required)
|
|
461
|
+
*/
|
|
462
|
+
function stripSyntheticNulls(value, originalSchema) {
|
|
463
|
+
if (!originalSchema || typeof originalSchema !== "object" || value === null || value === undefined)
|
|
464
|
+
return value;
|
|
465
|
+
if (Array.isArray(value)) {
|
|
466
|
+
const items = originalSchema.items;
|
|
467
|
+
return items ? value.map((entry) => stripSyntheticNulls(entry, items)) : value;
|
|
468
|
+
}
|
|
469
|
+
if (typeof value !== "object")
|
|
470
|
+
return value;
|
|
471
|
+
const properties = originalSchema.properties;
|
|
472
|
+
if (!properties || typeof properties !== "object")
|
|
473
|
+
return value;
|
|
474
|
+
const wasRequired = new Set(Array.isArray(originalSchema.required) ? originalSchema.required : []);
|
|
475
|
+
const cleaned = {};
|
|
476
|
+
for (const [key, entry] of Object.entries(value)) {
|
|
477
|
+
// Synthetically nullable AND null → the model is saying "absent".
|
|
478
|
+
if (entry === null && !wasRequired.has(key) && key in properties)
|
|
479
|
+
continue;
|
|
480
|
+
cleaned[key] = key in properties ? stripSyntheticNulls(entry, properties[key]) : entry;
|
|
481
|
+
}
|
|
482
|
+
return cleaned;
|
|
483
|
+
}
|
|
277
484
|
//# sourceMappingURL=schema.utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.utils.js","sourceRoot":"","sources":["../../../../src/core/llm/utils/schema.utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.utils.js","sourceRoot":"","sources":["../../../../src/core/llm/utils/schema.utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,11 @@ export declare class SecurityService {
|
|
|
19
19
|
signInvitationSelectionJwt(params: {
|
|
20
20
|
userId: string;
|
|
21
21
|
}): string;
|
|
22
|
+
get companySelectionTokenExpiration(): Date;
|
|
23
|
+
signCompanySelectionJwt(params: {
|
|
24
|
+
userId: string;
|
|
25
|
+
}): string;
|
|
26
|
+
decodeJwt(token: string): any;
|
|
22
27
|
isCurrentUserCompanyAdmin(): boolean;
|
|
23
28
|
validateAdmin(params: {
|
|
24
29
|
user: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.service.d.ts","sourceRoot":"","sources":["../../../../src/core/security/services/security.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAKxC,eAAO,MAAM,YAAY,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,CAInE,CAAC;AAEF,eAAO,MAAM,aAAa,GAAU,UAAU,MAAM,EAAE,MAAM,MAAM,KAAG,OAAO,CAAC,OAAO,CAEnF,CAAC;AAEF,qBACa,eAAe;IAExB,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU;IACzC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU;gBADtB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU;IAG3C,IAAI,sBAAsB,IAAI,IAAI,CAEjC;IAED,IAAI,eAAe,IAAI,IAAI,CAE1B;IAED,OAAO,CAAC,MAAM,EAAE;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,MAAM;IAWV,IAAI,kCAAkC,IAAI,IAAI,CAE7C;IAED,0BAA0B,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAQ9D,yBAAyB,IAAI,OAAO;IAKpC,aAAa,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,GAAG,CAAA;KAAE,GAAG,IAAI;IAU1C,aAAa,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO;IAK9D,aAAa,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,MAAM,CAAA;KAAE,GAAG,MAAM;IAMtE;;;;;;;;;OASG;IACH,cAAc,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAYrE;;;;;;;OAOG;IACH,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;IAIrC;;OAEG;IACH,IAAI,sBAAsB,IAAI,IAAI,CAEjC;CACF"}
|
|
1
|
+
{"version":3,"file":"security.service.d.ts","sourceRoot":"","sources":["../../../../src/core/security/services/security.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAKxC,eAAO,MAAM,YAAY,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,CAInE,CAAC;AAEF,eAAO,MAAM,aAAa,GAAU,UAAU,MAAM,EAAE,MAAM,MAAM,KAAG,OAAO,CAAC,OAAO,CAEnF,CAAC;AAEF,qBACa,eAAe;IAExB,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU;IACzC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU;gBADtB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU;IAG3C,IAAI,sBAAsB,IAAI,IAAI,CAEjC;IAED,IAAI,eAAe,IAAI,IAAI,CAE1B;IAED,OAAO,CAAC,MAAM,EAAE;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,MAAM;IAWV,IAAI,kCAAkC,IAAI,IAAI,CAE7C;IAED,0BAA0B,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAQ9D,IAAI,+BAA+B,IAAI,IAAI,CAE1C;IAED,uBAAuB,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAQ3D,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG;IAI7B,yBAAyB,IAAI,OAAO;IAKpC,aAAa,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,GAAG,CAAA;KAAE,GAAG,IAAI;IAU1C,aAAa,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO;IAK9D,aAAa,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,MAAM,CAAA;KAAE,GAAG,MAAM;IAMtE;;;;;;;;;OASG;IACH,cAAc,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAYrE;;;;;;;OAOG;IACH,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;IAIrC;;OAEG;IACH,IAAI,sBAAsB,IAAI,IAAI,CAEjC;CACF"}
|
|
@@ -89,6 +89,19 @@ let SecurityService = class SecurityService {
|
|
|
89
89
|
expiration: this.invitationSelectionTokenExpiration,
|
|
90
90
|
});
|
|
91
91
|
}
|
|
92
|
+
get companySelectionTokenExpiration() {
|
|
93
|
+
return new Date(new Date().getTime() + 10 * 60 * 1000);
|
|
94
|
+
}
|
|
95
|
+
signCompanySelectionJwt(params) {
|
|
96
|
+
return this.jwtService.sign({
|
|
97
|
+
userId: params.userId,
|
|
98
|
+
scope: "company-selection",
|
|
99
|
+
expiration: this.companySelectionTokenExpiration,
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
decodeJwt(token) {
|
|
103
|
+
return this.jwtService.decode(token);
|
|
104
|
+
}
|
|
92
105
|
isCurrentUserCompanyAdmin() {
|
|
93
106
|
const configurations = this.clsService.get("companyConfigurations");
|
|
94
107
|
return configurations?.hasRole(system_roles_1.SystemRoles.CompanyAdministrator) ?? false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.service.js","sourceRoot":"","sources":["../../../../src/core/security/services/security.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,qCAAyC;AACzC,iDAAmC;AACnC,2CAAwC;AACxC,yEAAqE;AAI9D,MAAM,YAAY,GAAG,KAAK,EAAE,QAAgB,EAAmB,EAAE;IACtE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAJW,QAAA,YAAY,gBAIvB;AAEK,MAAM,aAAa,GAAG,KAAK,EAAE,QAAgB,EAAE,IAAY,EAAoB,EAAE;IACtF,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAGK,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,YACqB,UAAsB,EACtB,UAAsB;QADtB,eAAU,GAAV,UAAU,CAAY;QACtB,eAAU,GAAV,UAAU,CAAY;IACxC,CAAC;IAEJ,IAAI,sBAAsB;QACxB,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,CAAC,MAMP;QACC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;YACvC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,IAAI,CAAC,eAAe;SACjC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,kCAAkC;QACpC,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,0BAA0B,CAAC,MAA0B;QACnD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,sBAAsB;YAC7B,UAAU,EAAE,IAAI,CAAC,kCAAkC;SACpD,CAAC,CAAC;IACL,CAAC;IAED,yBAAyB;QACvB,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAA4B,uBAAuB,CAAC,CAAC;QAC/F,OAAO,cAAc,EAAE,OAAO,CAAC,0BAAW,CAAC,oBAAoB,CAAC,IAAI,KAAK,CAAC;IAC5E,CAAC;IAED,aAAa,CAAC,MAAqB;QACjC,IACE,CAAC,IAAI,CAAC,aAAa,CAAC;YAClB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,CAAC,0BAAW,CAAC,aAAa,EAAE,0BAAW,CAAC,oBAAoB,CAAC;SACrE,CAAC;YAEF,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,aAAa,CAAC,MAAsC;QAClD,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACrD,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,aAAa,CAAC,MAA+C;QAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC7D,IAAI,cAAc;YAAE,OAAO,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC;IAED;;;;;;;;;OASG;IACH,cAAc,CAAC,MAA6C;QAC1D,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY;QAE/E,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,aAAa;YACnB,UAAU,EAAE,UAAU;SACvB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,OAAY;QACzB,OAAO,OAAO,EAAE,OAAO,KAAK,IAAI,IAAI,OAAO,EAAE,IAAI,KAAK,aAAa,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,IAAI,sBAAsB;QACxB,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACxD,CAAC;CACF,CAAA;
|
|
1
|
+
{"version":3,"file":"security.service.js","sourceRoot":"","sources":["../../../../src/core/security/services/security.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,8 @@ export declare class AuthController {
|
|
|
8
8
|
constructor(service: AuthService);
|
|
9
9
|
findAuth(code: string): Promise<import("../../..").JsonApiDataInterface>;
|
|
10
10
|
refreshToken(refreshToken: string): Promise<any>;
|
|
11
|
+
findCompanies(): Promise<import("../../..").JsonApiDataInterface>;
|
|
12
|
+
selectCompany(companyId: string): Promise<import("../../..").JsonApiDataInterface>;
|
|
11
13
|
deleteSinglAuth(request: any): Promise<void>;
|
|
12
14
|
login(body: AuthPostLoginDTO): Promise<any>;
|
|
13
15
|
register(body: AuthPostRegisterDTO): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/auth/controllers/auth.controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/auth/controllers/auth.controller.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AAEvF,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE/D,qBACa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,WAAW;IAG3C,QAAQ,CAAgB,IAAI,EAAE,MAAM;IAKpC,YAAY,CAAwB,YAAY,EAAE,MAAM;IAWxD,aAAa;IASb,aAAa,CAAqB,SAAS,EAAE,MAAM;IAOnD,eAAe,CAAQ,OAAO,EAAE,GAAG;IAMnC,KAAK,CAAS,IAAI,EAAE,gBAAgB;IAMpC,QAAQ,CAAS,IAAI,EAAE,mBAAmB;IAM1C,cAAc,CAAS,IAAI,EAAE,iBAAiB,EAAgB,GAAG,CAAC,EAAE,MAAM;IAM1E,iBAAiB,CAAgB,IAAI,EAAE,MAAM;IAM7C,aAAa,CAAS,IAAI,EAAE,wBAAwB,EAAiB,IAAI,EAAE,MAAM;IAMjF,gBAAgB,CAAS,IAAI,EAAE,wBAAwB,EAAiB,IAAI,EAAE,MAAM;IAMpF,eAAe,CAAgB,IAAI,EAAE,MAAM;IAK3C,yBAAyB,CAE7B,IAAI,EAAE;QACJ,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;KACnC,GACA,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAG7B"}
|
|
@@ -14,7 +14,9 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.AuthController = void 0;
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
|
+
const jwt_auth_any_scope_guard_1 = require("../../../common/guards/jwt.auth.any-scope.guard");
|
|
17
18
|
const jwt_auth_guard_1 = require("../../../common/guards/jwt.auth.guard");
|
|
19
|
+
const company_1 = require("../../company");
|
|
18
20
|
const auth_post_forgot_dto_1 = require("../../auth/dtos/auth.post.forgot.dto");
|
|
19
21
|
const auth_post_login_dto_1 = require("../../auth/dtos/auth.post.login.dto");
|
|
20
22
|
const auth_post_register_dto_1 = require("../../auth/dtos/auth.post.register.dto");
|
|
@@ -33,6 +35,18 @@ let AuthController = class AuthController {
|
|
|
33
35
|
refreshToken: refreshToken,
|
|
34
36
|
});
|
|
35
37
|
}
|
|
38
|
+
// GET /auth/companies — the companies the caller may act for.
|
|
39
|
+
// AnyScopeAuthGuard because the caller may hold either a full session token
|
|
40
|
+
// (company switcher) or a short-lived company-selection token (login screen).
|
|
41
|
+
async findCompanies() {
|
|
42
|
+
return await this.service.findCompanies();
|
|
43
|
+
}
|
|
44
|
+
// POST /auth/company-selection/:companyId — non-resource operation: exchanges the
|
|
45
|
+
// caller's token for one scoped to the chosen company. Path-param style mirrors
|
|
46
|
+
// POST auth/refreshtoken/:refreshToken above, so no DTO is needed.
|
|
47
|
+
async selectCompany(companyId) {
|
|
48
|
+
return await this.service.selectCompany({ companyId: companyId });
|
|
49
|
+
}
|
|
36
50
|
async deleteSinglAuth(request) {
|
|
37
51
|
const token = request.headers.authorization.split("Bearer ")[1];
|
|
38
52
|
return await this.service.deleteByToken({ token: token });
|
|
@@ -77,6 +91,21 @@ __decorate([
|
|
|
77
91
|
__metadata("design:paramtypes", [String]),
|
|
78
92
|
__metadata("design:returntype", Promise)
|
|
79
93
|
], AuthController.prototype, "refreshToken", null);
|
|
94
|
+
__decorate([
|
|
95
|
+
(0, common_1.UseGuards)(jwt_auth_any_scope_guard_1.AnyScopeAuthGuard),
|
|
96
|
+
(0, common_1.Get)(company_1.companyMeta.endpoint),
|
|
97
|
+
__metadata("design:type", Function),
|
|
98
|
+
__metadata("design:paramtypes", []),
|
|
99
|
+
__metadata("design:returntype", Promise)
|
|
100
|
+
], AuthController.prototype, "findCompanies", null);
|
|
101
|
+
__decorate([
|
|
102
|
+
(0, common_1.UseGuards)(jwt_auth_any_scope_guard_1.AnyScopeAuthGuard),
|
|
103
|
+
(0, common_1.Post)("company-selection/:companyId"),
|
|
104
|
+
__param(0, (0, common_1.Param)("companyId")),
|
|
105
|
+
__metadata("design:type", Function),
|
|
106
|
+
__metadata("design:paramtypes", [String]),
|
|
107
|
+
__metadata("design:returntype", Promise)
|
|
108
|
+
], AuthController.prototype, "selectCompany", null);
|
|
80
109
|
__decorate([
|
|
81
110
|
(0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard),
|
|
82
111
|
(0, common_1.Delete)(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../../../src/foundations/auth/controllers/auth.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAYwB;AAExB,0EAAqE;AACrE,+EAAyE;AACzE,6EAAuE;AACvE,mFAA6E;AAC7E,6FAAuF;AACvF,6DAAyD;AACzD,mEAA+D;AAGxD,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YAA6B,OAAoB;QAApB,YAAO,GAAP,OAAO,CAAa;IAAG,CAAC;IAG/C,AAAN,KAAK,CAAC,QAAQ,CAAgB,IAAY;QACxC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAGK,AAAN,KAAK,CAAC,YAAY,CAAwB,YAAoB;QAC5D,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;YACrC,YAAY,EAAE,YAAY;SAC3B,CAAC,CAAC;IACL,CAAC;IAKK,AAAN,KAAK,CAAC,eAAe,CAAQ,OAAY;QACvC,MAAM,KAAK,GAAY,OAAO,CAAC,OAAO,CAAC,aAAwB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,CAAC;IAGK,AAAN,KAAK,CAAC,KAAK,CAAS,IAAsB;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAIK,AAAN,KAAK,CAAC,QAAQ,CAAS,IAAyB;QAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAIK,AAAN,KAAK,CAAC,cAAc,CAAS,IAAuB,EAAgB,GAAY;QAC9E,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;IACxF,CAAC;IAIK,AAAN,KAAK,CAAC,iBAAiB,CAAgB,IAAY;QACjD,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAIK,AAAN,KAAK,CAAC,aAAa,CAAS,IAA8B,EAAiB,IAAY;QACrF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAIK,AAAN,KAAK,CAAC,gBAAgB,CAAS,IAA8B,EAAiB,IAAY;QACxF,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACrE,CAAC;IAIK,AAAN,KAAK,CAAC,eAAe,CAAgB,IAAY;QAC/C,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAGK,AAAN,KAAK,CAAC,yBAAyB,CAE7B,IAKC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;CACF,CAAA;
|
|
1
|
+
{"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../../../src/foundations/auth/controllers/auth.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,5 +4,15 @@ export type Auth = Entity & {
|
|
|
4
4
|
token: string;
|
|
5
5
|
expiration: Date;
|
|
6
6
|
user?: User;
|
|
7
|
+
/**
|
|
8
|
+
* Transient, output-only login-flow fields — never stored on the Auth node.
|
|
9
|
+
*
|
|
10
|
+
* When a user belongs to more than one company the credentials check succeeds but
|
|
11
|
+
* no session is created yet: the response carries `requiresCompanySelection: true`
|
|
12
|
+
* plus a short-lived `selectionToken` scoped to company selection, and the client
|
|
13
|
+
* exchanges it for a full company-scoped token once a company has been chosen.
|
|
14
|
+
*/
|
|
15
|
+
requiresCompanySelection?: boolean;
|
|
16
|
+
selectionToken?: string;
|
|
7
17
|
};
|
|
8
18
|
//# sourceMappingURL=auth.entity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.entity.d.ts","sourceRoot":"","sources":["../../../../src/foundations/auth/entities/auth.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAEhD,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,IAAI,CAAC;IACjB,IAAI,CAAC,EAAE,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.entity.d.ts","sourceRoot":"","sources":["../../../../src/foundations/auth/entities/auth.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAEhD,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,IAAI,CAAC;IACjB,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ;;;;;;;OAOG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC"}
|
|
@@ -3,6 +3,7 @@ import { Neo4jService } from "../../../core/neo4j/services/neo4j.service";
|
|
|
3
3
|
import { SecurityService } from "../../../core/security/services/security.service";
|
|
4
4
|
import { AuthCode } from "../../auth/entities/auth.code.entity";
|
|
5
5
|
import { Auth } from "../../auth/entities/auth.entity";
|
|
6
|
+
import { Company } from "../../company";
|
|
6
7
|
import { User } from "../../user/entities/user";
|
|
7
8
|
export declare class AuthRepository implements OnModuleInit {
|
|
8
9
|
private readonly neo4j;
|
|
@@ -39,14 +40,41 @@ export declare class AuthRepository implements OnModuleInit {
|
|
|
39
40
|
findValidToken(params: {
|
|
40
41
|
userId: string;
|
|
41
42
|
}): Promise<Auth>;
|
|
43
|
+
/**
|
|
44
|
+
* Reads the user together with the roles effective in a single company.
|
|
45
|
+
*
|
|
46
|
+
* `companyId` scopes BOTH the company hydration and the membership role read to
|
|
47
|
+
* one explicit company (login/company-switch/refresh); platform memberships (no
|
|
48
|
+
* IN_COMPANY edge) always resolve regardless. When omitted, `$companyId` keeps
|
|
49
|
+
* the CLS value injected by `initQuery()` — identical to the previous behaviour.
|
|
50
|
+
*/
|
|
42
51
|
findUserById(params: {
|
|
43
52
|
userId: string;
|
|
53
|
+
companyId?: string;
|
|
44
54
|
}): Promise<User>;
|
|
55
|
+
countUserCompanies(params: {
|
|
56
|
+
userId: string;
|
|
57
|
+
}): Promise<number>;
|
|
58
|
+
/**
|
|
59
|
+
* The companies the user belongs to — the list rendered by the company-selection
|
|
60
|
+
* screen and the company switcher.
|
|
61
|
+
*/
|
|
62
|
+
findUserCompanies(params: {
|
|
63
|
+
userId: string;
|
|
64
|
+
}): Promise<Company[]>;
|
|
65
|
+
/**
|
|
66
|
+
* `companyId` pins the session being created to one company: the roles baked
|
|
67
|
+
* into the JWT (signed by AuthService from the same user object) and the roles
|
|
68
|
+
* hydrated onto the returned Auth payload must describe the SAME company, or a
|
|
69
|
+
* user who belongs to more than one company would get a session whose company
|
|
70
|
+
* and roles disagree.
|
|
71
|
+
*/
|
|
45
72
|
create(params: {
|
|
46
73
|
authId: string;
|
|
47
74
|
userId: string;
|
|
48
75
|
token: string;
|
|
49
76
|
expiration: Date;
|
|
77
|
+
companyId?: string;
|
|
50
78
|
}): Promise<Auth>;
|
|
51
79
|
findByToken(params: {
|
|
52
80
|
token: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.repository.d.ts","sourceRoot":"","sources":["../../../../src/foundations/auth/repositories/auth.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG1D,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAEhE,OAAO,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.repository.d.ts","sourceRoot":"","sources":["../../../../src/foundations/auth/repositories/auth.repository.ts"],"names":[],"mappings":"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"}
|