@etohq/utils 1.5.4-next.0 → 1.5.5-next-20260413091455
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/common/errors.d.ts +3 -7
- package/dist/common/errors.d.ts.map +1 -1
- package/dist/common/errors.js +6 -10
- package/dist/common/errors.js.map +1 -1
- package/dist/dml/entity-builder.d.ts +2 -1
- package/dist/dml/entity-builder.d.ts.map +1 -1
- package/dist/dml/entity-builder.js +2 -17
- package/dist/dml/entity-builder.js.map +1 -1
- package/dist/dml/entity.d.ts +6 -0
- package/dist/dml/entity.d.ts.map +1 -1
- package/dist/dml/entity.js +47 -3
- package/dist/dml/entity.js.map +1 -1
- package/dist/dml/helpers/entity-builder/define-property.d.ts.map +1 -1
- package/dist/dml/helpers/entity-builder/define-property.js +41 -14
- package/dist/dml/helpers/entity-builder/define-property.js.map +1 -1
- package/dist/dml/helpers/mikro-orm/custom-type/zod-validated-json.d.ts +56 -0
- package/dist/dml/helpers/mikro-orm/custom-type/zod-validated-json.d.ts.map +1 -0
- package/dist/dml/helpers/mikro-orm/custom-type/zod-validated-json.js +132 -0
- package/dist/dml/helpers/mikro-orm/custom-type/zod-validated-json.js.map +1 -0
- package/dist/dml/properties/index.d.ts +1 -0
- package/dist/dml/properties/index.d.ts.map +1 -1
- package/dist/dml/properties/index.js +3 -0
- package/dist/dml/properties/index.js.map +1 -1
- package/dist/dml/properties/json.d.ts +59 -3
- package/dist/dml/properties/json.d.ts.map +1 -1
- package/dist/dml/properties/json.js +80 -3
- package/dist/dml/properties/json.js.map +1 -1
- package/dist/feature-flags/index.d.ts +0 -1
- package/dist/feature-flags/index.d.ts.map +1 -1
- package/dist/feature-flags/index.js +0 -1
- package/dist/feature-flags/index.js.map +1 -1
- package/dist/modules-sdk/create-pg-connection.d.ts +4 -3
- package/dist/modules-sdk/create-pg-connection.d.ts.map +1 -1
- package/dist/modules-sdk/create-pg-connection.js +61 -7
- package/dist/modules-sdk/create-pg-connection.js.map +1 -1
- package/dist/modules-sdk/definition.d.ts +10 -4
- package/dist/modules-sdk/definition.d.ts.map +1 -1
- package/dist/modules-sdk/definition.js +6 -2
- package/dist/modules-sdk/definition.js.map +1 -1
- package/dist/modules-sdk/loaders/mikro-orm-connection-loader.d.ts.map +1 -1
- package/dist/modules-sdk/loaders/mikro-orm-connection-loader.js +25 -6
- package/dist/modules-sdk/loaders/mikro-orm-connection-loader.js.map +1 -1
- package/dist/modules-sdk/modules-to-container-types.d.ts.map +1 -1
- package/dist/modules-sdk/modules-to-container-types.js +0 -1
- package/dist/modules-sdk/modules-to-container-types.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/dist/feature-flags/draft-overlays.d.ts +0 -3
- package/dist/feature-flags/draft-overlays.d.ts.map +0 -1
- package/dist/feature-flags/draft-overlays.js +0 -10
- package/dist/feature-flags/draft-overlays.js.map +0 -1
- package/dist/feature-flags/draft.d.ts +0 -3
- package/dist/feature-flags/draft.d.ts.map +0 -1
- package/dist/feature-flags/draft.js +0 -10
- package/dist/feature-flags/draft.js.map +0 -1
package/dist/common/errors.d.ts
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* @typedef MedusaErrorType
|
|
3
|
-
*
|
|
4
|
-
*/
|
|
5
|
-
export declare const MedusaErrorTypes: {
|
|
1
|
+
export declare const EtoErrorTypes: {
|
|
6
2
|
/** Errors stemming from the database */
|
|
7
3
|
DB_ERROR: string;
|
|
8
4
|
DUPLICATE_ERROR: string;
|
|
@@ -18,7 +14,7 @@ export declare const MedusaErrorTypes: {
|
|
|
18
14
|
PAYMENT_AUTHORIZATION_ERROR: string;
|
|
19
15
|
PAYMENT_REQUIRES_MORE_ERROR: string;
|
|
20
16
|
};
|
|
21
|
-
export declare const
|
|
17
|
+
export declare const EtoErrorCodes: {
|
|
22
18
|
INSUFFICIENT_INVENTORY: string;
|
|
23
19
|
CART_INCOMPATIBLE_STATE: string;
|
|
24
20
|
UNKNOWN_MODULES: string;
|
|
@@ -65,6 +61,6 @@ export declare class EtoError extends Error {
|
|
|
65
61
|
/**
|
|
66
62
|
* Checks the object for the EtoError type.
|
|
67
63
|
*/
|
|
68
|
-
static isEtoError(error:
|
|
64
|
+
static isEtoError(error: any): error is EtoError;
|
|
69
65
|
}
|
|
70
66
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/common/errors.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/common/errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;IACxB,wCAAwC;;;;;;;;;;;;;;CAczC,CAAA;AAED,eAAO,MAAM,aAAa;;;;CAIzB,CAAA;AAED;;;GAGG;AACH,qBAAa,QAAS,SAAQ,KAAK;IACjC,YAAY,UAAO;IAEZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,IAAI,CAAA;IACjB,OAAc,KAAK;QAjCnB,wCAAwC;;;;;;;;;;;;;;MAiCL;IACnC,OAAc,KAAK;;;;MAAgB;IAEnC;;;;;;OAMG;gBACS,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG;IAaxE;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,QAAQ;CAGjD"}
|
package/dist/common/errors.js
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EtoError = exports.
|
|
4
|
-
|
|
5
|
-
* @typedef MedusaErrorType
|
|
6
|
-
*
|
|
7
|
-
*/
|
|
8
|
-
exports.MedusaErrorTypes = {
|
|
3
|
+
exports.EtoError = exports.EtoErrorCodes = exports.EtoErrorTypes = void 0;
|
|
4
|
+
exports.EtoErrorTypes = {
|
|
9
5
|
/** Errors stemming from the database */
|
|
10
6
|
DB_ERROR: "database_error",
|
|
11
7
|
DUPLICATE_ERROR: "duplicate_error",
|
|
@@ -21,7 +17,7 @@ exports.MedusaErrorTypes = {
|
|
|
21
17
|
PAYMENT_AUTHORIZATION_ERROR: "payment_authorization_error",
|
|
22
18
|
PAYMENT_REQUIRES_MORE_ERROR: "payment_requires_more_error",
|
|
23
19
|
};
|
|
24
|
-
exports.
|
|
20
|
+
exports.EtoErrorCodes = {
|
|
25
21
|
INSUFFICIENT_INVENTORY: "insufficient_inventory",
|
|
26
22
|
CART_INCOMPATIBLE_STATE: "cart_incompatible_state",
|
|
27
23
|
UNKNOWN_MODULES: "unknown_modules",
|
|
@@ -53,10 +49,10 @@ class EtoError extends Error {
|
|
|
53
49
|
* Checks the object for the EtoError type.
|
|
54
50
|
*/
|
|
55
51
|
static isEtoError(error) {
|
|
56
|
-
return
|
|
52
|
+
return !!error?.__isEtoError;
|
|
57
53
|
}
|
|
58
54
|
}
|
|
59
55
|
exports.EtoError = EtoError;
|
|
60
|
-
EtoError.Types = exports.
|
|
61
|
-
EtoError.Codes = exports.
|
|
56
|
+
EtoError.Types = exports.EtoErrorTypes;
|
|
57
|
+
EtoError.Codes = exports.EtoErrorCodes;
|
|
62
58
|
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/common/errors.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/common/errors.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG;IAC3B,wCAAwC;IACxC,QAAQ,EAAE,gBAAgB;IAC1B,eAAe,EAAE,iBAAiB;IAClC,gBAAgB,EAAE,kBAAkB;IACpC,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,aAAa;IAC1B,gBAAgB,EAAE,kBAAkB;IACpC,QAAQ,EAAE,UAAU;IACpB,eAAe,EAAE,iBAAiB;IAClC,2BAA2B,EAAE,6BAA6B;IAC1D,2BAA2B,EAAE,6BAA6B;CAC3D,CAAA;AAEY,QAAA,aAAa,GAAG;IAC3B,sBAAsB,EAAE,wBAAwB;IAChD,uBAAuB,EAAE,yBAAyB;IAClD,eAAe,EAAE,iBAAiB;CACnC,CAAA;AAED;;;GAGG;AACH,MAAa,QAAS,SAAQ,KAAK;IAUjC;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,OAAe,EAAE,IAAa,EAAE,GAAG,MAAW;QACtE,KAAK,CAAC,GAAG,MAAM,CAAC,CAAA;QAjBlB,iBAAY,GAAG,IAAI,CAAA;QAmBjB,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACzC,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;IACxB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAU;QAC1B,OAAO,CAAC,CAAC,KAAK,EAAE,YAAY,CAAA;IAC9B,CAAC;;AAnCH,4BAoCC;AA7Be,cAAK,GAAG,qBAAa,AAAhB,CAAgB;AACrB,cAAK,GAAG,qBAAa,AAAhB,CAAgB"}
|
|
@@ -316,7 +316,8 @@ export declare class EntityBuilder {
|
|
|
316
316
|
*
|
|
317
317
|
* @customNamespace Property Types
|
|
318
318
|
*/
|
|
319
|
-
json(): JSONProperty
|
|
319
|
+
json<T = Record<string, unknown>>(): JSONProperty<T>;
|
|
320
|
+
json<Schema extends import("zod").ZodTypeAny>(schema: Schema): JSONProperty<import("zod").TypeOf<Schema>>;
|
|
320
321
|
/**
|
|
321
322
|
* Create a Geometry property for spatial data
|
|
322
323
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-builder.d.ts","sourceRoot":"","sources":["../../src/dml/entity-builder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"entity-builder.d.ts","sourceRoot":"","sources":["../../src/dml/entity-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -335,23 +335,8 @@ class EntityBuilder {
|
|
|
335
335
|
dateTime() {
|
|
336
336
|
return new date_time_1.DateTimeProperty();
|
|
337
337
|
}
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
*
|
|
341
|
-
* @example
|
|
342
|
-
* import { model } from "@etohq/framework/utils"
|
|
343
|
-
*
|
|
344
|
-
* const MyCustom = model.define("my_custom", {
|
|
345
|
-
* metadata: model.json(),
|
|
346
|
-
* // ...
|
|
347
|
-
* })
|
|
348
|
-
*
|
|
349
|
-
* export default MyCustom
|
|
350
|
-
*
|
|
351
|
-
* @customNamespace Property Types
|
|
352
|
-
*/
|
|
353
|
-
json() {
|
|
354
|
-
return new json_1.JSONProperty();
|
|
338
|
+
json(schema) {
|
|
339
|
+
return new json_1.JSONProperty(schema);
|
|
355
340
|
}
|
|
356
341
|
/**
|
|
357
342
|
* Create a Geometry property for spatial data
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-builder.js","sourceRoot":"","sources":["../../src/dml/entity-builder.ts"],"names":[],"mappings":";;;;;;;;;AAKA,qCAA4D;AAC5D,wGAAiG;AACjG,kGAA4F;AAC5F,8CAAkD;AAClD,8DAAkE;AAClE,wDAA2D;AAC3D,kDAAsD;AACtD,sDAAyD;AACzD,4CAA0D;AAC1D,oDAAwD;AACxD,wCAA4C;AAC5C,4CAAgD;AAChD,4DAAgE;AAChE,gDAAoD;AACpD,8CAAkD;AAClD,kDAAsD;AACtD,4CAAgD;AAChD,uDAAkD;AAClD,mDAA8C;AAC9C,iDAA4C;AAC5C,uDAA6D;AAC7D,2DAAqD;AACrD,6CAA0E;AAE1E;;GAEG;AACH,MAAM,mBAAmB,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAA;AA6EtE;;;GAGG;AACH,MAAa,aAAa;IAA1B;;
|
|
1
|
+
{"version":3,"file":"entity-builder.js","sourceRoot":"","sources":["../../src/dml/entity-builder.ts"],"names":[],"mappings":"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"}
|
package/dist/dml/entity.d.ts
CHANGED
|
@@ -3,6 +3,10 @@ import { DMLSchemaWithBigNumber } from "./helpers/entity-builder/create-big-numb
|
|
|
3
3
|
import { DMLSchemaDefaults } from "./helpers/entity-builder/create-default-properties";
|
|
4
4
|
declare const IsDmlEntity: unique symbol;
|
|
5
5
|
export type DMLEntitySchemaBuilder<Schema extends DMLSchema> = DMLSchemaWithBigNumber<Schema> & DMLSchemaDefaults & Schema;
|
|
6
|
+
export type TranslatableEntityEntry = {
|
|
7
|
+
entity: string;
|
|
8
|
+
fields: string[];
|
|
9
|
+
};
|
|
6
10
|
/**
|
|
7
11
|
* Dml entity is a representation of a DML model with a unique
|
|
8
12
|
* name, its schema and relationships.
|
|
@@ -21,6 +25,8 @@ export declare class DmlEntity<const Schema extends DMLSchema, const TConfig ext
|
|
|
21
25
|
* @param entity
|
|
22
26
|
*/
|
|
23
27
|
static isDmlEntity(entity: unknown): entity is DmlEntity<any, any>;
|
|
28
|
+
static getTranslatableEntities(): TranslatableEntityEntry[];
|
|
29
|
+
static clearTranslatableEntities(): void;
|
|
24
30
|
/**
|
|
25
31
|
* Parse entity to get its underlying information
|
|
26
32
|
*/
|
package/dist/dml/entity.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/dml/entity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,SAAS,EACT,cAAc,EACd,WAAW,EACX,sBAAsB,EACtB,UAAU,EACV,gBAAgB,EAChB,4BAA4B,EAC5B,cAAc,EACf,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAA;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAA;AAGtF,QAAA,MAAM,WAAW,eAA4B,CAAA;AAE7C,MAAM,MAAM,sBAAsB,CAAC,MAAM,SAAS,SAAS,IACzD,sBAAsB,CAAC,MAAM,CAAC,GAAG,iBAAiB,GAAG,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/dml/entity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,SAAS,EACT,cAAc,EACd,WAAW,EACX,sBAAsB,EACtB,UAAU,EACV,gBAAgB,EAChB,4BAA4B,EAC5B,cAAc,EACf,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAA;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAA;AAGtF,QAAA,MAAM,WAAW,eAA4B,CAAA;AAE7C,MAAM,MAAM,sBAAsB,CAAC,MAAM,SAAS,SAAS,IACzD,sBAAsB,CAAC,MAAM,CAAC,GAAG,iBAAiB,GAAG,MAAM,CAAA;AAE7D,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB,CAAA;AA6CD;;;GAGG;AACH,qBAAa,SAAS,CACpB,KAAK,CAAC,MAAM,SAAS,SAAS,EAC9B,KAAK,CAAC,OAAO,SAAS,gBAAgB,CACtC,YAAW,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC;;IAEtC,CAAC,WAAW,CAAC,UAAO;IAEpB,IAAI,EAAE,4BAA4B,CAAC,OAAO,CAAC,CAAA;IAC3C,MAAM,EAAE,MAAM,CAAA;gBAQF,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAyDjD;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAIlE,MAAM,CAAC,uBAAuB,IAAI,uBAAuB,EAAE;IAI3D,MAAM,CAAC,yBAAyB;IAIhC;;OAEG;IACH,KAAK,IAAI;QACP,IAAI,EAAE,4BAA4B,CAAC,OAAO,CAAC,CAAA;QAC3C,SAAS,EAAE,MAAM,CAAA;QACjB,MAAM,EAAE,SAAS,CAAA;QACjB,QAAQ,EAAE,cAAc,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAC5C,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAA;QAC9B,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,CAAA;KAClC;IAWD;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,QAAQ,CACN,OAAO,EAAE,cAAc,CACrB,sBAAsB,CAAC,MAAM,EAAE,QAAQ,GAAG,cAAc,GAAG,SAAS,CAAC,EACrE,sBAAsB,CAAC,MAAM,EAAE,YAAY,CAAC,CAC7C;IAoBH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwEG;IACH,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE;IAUvE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE;CAIzC"}
|
package/dist/dml/entity.js
CHANGED
|
@@ -10,13 +10,14 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
11
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
12
|
};
|
|
13
|
-
var _DmlEntity_tableName, _DmlEntity_cascades, _DmlEntity_indexes, _DmlEntity_checks,
|
|
13
|
+
var _a, _DmlEntity_tableName, _DmlEntity_cascades, _DmlEntity_indexes, _DmlEntity_checks, _DmlEntity_registerTranslatableFields, _b;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.DmlEntity = void 0;
|
|
16
16
|
const common_1 = require("../common");
|
|
17
17
|
const build_indexes_1 = require("./helpers/entity-builder/build-indexes");
|
|
18
18
|
const belongs_to_1 = require("./relations/belongs-to");
|
|
19
19
|
const IsDmlEntity = Symbol.for("isDmlEntity");
|
|
20
|
+
const TRANSLATABLE_ENTITIES = new Map();
|
|
20
21
|
function extractNameAndTableName(nameOrConfig) {
|
|
21
22
|
const result = {
|
|
22
23
|
name: "",
|
|
@@ -46,7 +47,7 @@ function extractNameAndTableName(nameOrConfig) {
|
|
|
46
47
|
*/
|
|
47
48
|
class DmlEntity {
|
|
48
49
|
constructor(nameOrConfig, schema) {
|
|
49
|
-
this[
|
|
50
|
+
this[_b] = true;
|
|
50
51
|
_DmlEntity_tableName.set(this, void 0);
|
|
51
52
|
_DmlEntity_cascades.set(this, {});
|
|
52
53
|
_DmlEntity_indexes.set(this, []);
|
|
@@ -55,6 +56,7 @@ class DmlEntity {
|
|
|
55
56
|
this.schema = schema;
|
|
56
57
|
this.name = name;
|
|
57
58
|
__classPrivateFieldSet(this, _DmlEntity_tableName, tableName, "f");
|
|
59
|
+
__classPrivateFieldGet(_a, _a, "m", _DmlEntity_registerTranslatableFields).call(_a, this.name, this.schema);
|
|
58
60
|
}
|
|
59
61
|
/**
|
|
60
62
|
* A static method to check if an entity is an instance of DmlEntity.
|
|
@@ -66,6 +68,12 @@ class DmlEntity {
|
|
|
66
68
|
static isDmlEntity(entity) {
|
|
67
69
|
return !!entity?.[IsDmlEntity];
|
|
68
70
|
}
|
|
71
|
+
static getTranslatableEntities() {
|
|
72
|
+
return Array.from(TRANSLATABLE_ENTITIES.values());
|
|
73
|
+
}
|
|
74
|
+
static clearTranslatableEntities() {
|
|
75
|
+
TRANSLATABLE_ENTITIES.clear();
|
|
76
|
+
}
|
|
69
77
|
/**
|
|
70
78
|
* Parse entity to get its underlying information
|
|
71
79
|
*/
|
|
@@ -199,5 +207,41 @@ class DmlEntity {
|
|
|
199
207
|
}
|
|
200
208
|
}
|
|
201
209
|
exports.DmlEntity = DmlEntity;
|
|
202
|
-
_DmlEntity_tableName = new WeakMap(), _DmlEntity_cascades = new WeakMap(), _DmlEntity_indexes = new WeakMap(), _DmlEntity_checks = new WeakMap(),
|
|
210
|
+
_a = DmlEntity, _DmlEntity_tableName = new WeakMap(), _DmlEntity_cascades = new WeakMap(), _DmlEntity_indexes = new WeakMap(), _DmlEntity_checks = new WeakMap(), _b = IsDmlEntity, _DmlEntity_registerTranslatableFields = function _DmlEntity_registerTranslatableFields(entityName, schema) {
|
|
211
|
+
const translatableFields = [];
|
|
212
|
+
for (const [fieldName, property] of Object.entries(schema)) {
|
|
213
|
+
if (!property || typeof property !== "object") {
|
|
214
|
+
continue;
|
|
215
|
+
}
|
|
216
|
+
const parse = property.parse;
|
|
217
|
+
if (typeof parse !== "function") {
|
|
218
|
+
continue;
|
|
219
|
+
}
|
|
220
|
+
const parsed = property.parse(fieldName);
|
|
221
|
+
if (!parsed || typeof parsed !== "object") {
|
|
222
|
+
continue;
|
|
223
|
+
}
|
|
224
|
+
if (!("fieldName" in parsed) || !("dataType" in parsed)) {
|
|
225
|
+
continue;
|
|
226
|
+
}
|
|
227
|
+
const dataType = parsed.dataType;
|
|
228
|
+
if (!dataType || typeof dataType !== "object") {
|
|
229
|
+
continue;
|
|
230
|
+
}
|
|
231
|
+
const options = dataType.options;
|
|
232
|
+
if (!options || typeof options !== "object") {
|
|
233
|
+
continue;
|
|
234
|
+
}
|
|
235
|
+
const translatable = options.translatable;
|
|
236
|
+
if (translatable === true) {
|
|
237
|
+
translatableFields.push(fieldName);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
if (translatableFields.length) {
|
|
241
|
+
TRANSLATABLE_ENTITIES.set(entityName, {
|
|
242
|
+
entity: entityName,
|
|
243
|
+
fields: translatableFields,
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
};
|
|
203
247
|
//# sourceMappingURL=entity.js.map
|
package/dist/dml/entity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/dml/entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAWA,sCAA2E;AAC3E,0EAA4E;AAG5E,uDAAkD;AAElD,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/dml/entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-property.d.ts","sourceRoot":"","sources":["../../../../src/dml/helpers/entity-builder/define-property.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAGjB,YAAY,EACb,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"define-property.d.ts","sourceRoot":"","sources":["../../../../src/dml/helpers/entity-builder/define-property.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAGjB,YAAY,EACb,MAAM,cAAc,CAAA;AAwHrB;;GAEG;AACH,wBAAgB,cAAc,CAC5B,cAAc,EAAE,iBAAiB,CAAC,GAAG,CAAC,EACtC,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,EAC3B,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,QA4VzE"}
|
|
@@ -7,6 +7,7 @@ const dal_1 = require("../../../dal");
|
|
|
7
7
|
const primary_key_1 = require("../../properties/primary-key");
|
|
8
8
|
const apply_indexes_1 = require("../mikro-orm/apply-indexes");
|
|
9
9
|
const geo_json_geometry_1 = require("../mikro-orm/custom-type/geo-json-geometry");
|
|
10
|
+
const zod_validated_json_1 = require("../mikro-orm/custom-type/zod-validated-json");
|
|
10
11
|
/**
|
|
11
12
|
* DML entity data types to PostgreSQL data types via
|
|
12
13
|
* Mikro ORM.
|
|
@@ -231,22 +232,48 @@ function defineProperty(MikroORMEntity, property, { tableName, propertyName }) {
|
|
|
231
232
|
}
|
|
232
233
|
/**
|
|
233
234
|
* Handling JSON property separately to stringify its default value
|
|
235
|
+
* and optionally validate against a Zod schema
|
|
234
236
|
*/
|
|
235
237
|
if (field.dataType.name === "json") {
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
238
|
+
const options = field.dataType.options;
|
|
239
|
+
const zodSchema = options?.zodSchema;
|
|
240
|
+
const shouldValidate = options?.validate !== false;
|
|
241
|
+
const hasZodSchema = zodSchema && shouldValidate;
|
|
242
|
+
if (hasZodSchema) {
|
|
243
|
+
// Use Zod-validated type when schema is present and validation is enabled
|
|
244
|
+
const ZodJsonType = (0, zod_validated_json_1.createZodJsonType)(zodSchema);
|
|
245
|
+
(0, core_1.Property)({
|
|
246
|
+
type: ZodJsonType,
|
|
247
|
+
columnType: "jsonb",
|
|
248
|
+
nullable: field.nullable,
|
|
249
|
+
fieldName: field.fieldName,
|
|
250
|
+
/**
|
|
251
|
+
* MikroORM does not ignore undefined values for default when generating
|
|
252
|
+
* the database schema SQL. Conditionally add it here to prevent undefined
|
|
253
|
+
* from being set as default value in SQL.
|
|
254
|
+
*/
|
|
255
|
+
...((0, common_1.isDefined)(field.defaultValue) && {
|
|
256
|
+
default: JSON.stringify(field.defaultValue),
|
|
257
|
+
}),
|
|
258
|
+
})(MikroORMEntity.prototype, field.fieldName);
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
// Standard JSON handling (no validation)
|
|
262
|
+
(0, core_1.Property)({
|
|
263
|
+
columnType: "jsonb",
|
|
264
|
+
type: "any",
|
|
265
|
+
nullable: field.nullable,
|
|
266
|
+
fieldName: field.fieldName,
|
|
267
|
+
/**
|
|
268
|
+
* MikroORM does not ignore undefined values for default when generating
|
|
269
|
+
* the database schema SQL. Conditionally add it here to prevent undefined
|
|
270
|
+
* from being set as default value in SQL.
|
|
271
|
+
*/
|
|
272
|
+
...((0, common_1.isDefined)(field.defaultValue) && {
|
|
273
|
+
default: JSON.stringify(field.defaultValue),
|
|
274
|
+
}),
|
|
275
|
+
})(MikroORMEntity.prototype, field.fieldName);
|
|
276
|
+
}
|
|
250
277
|
return;
|
|
251
278
|
}
|
|
252
279
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-property.js","sourceRoot":"","sources":["../../../../src/dml/helpers/entity-builder/define-property.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"define-property.js","sourceRoot":"","sources":["../../../../src/dml/helpers/entity-builder/define-property.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Type, Platform, EntityProperty } from "@mikro-orm/core";
|
|
2
|
+
import { ZodTypeAny } from "zod";
|
|
3
|
+
/**
|
|
4
|
+
* Custom MikroORM Type that validates JSON data against a Zod schema.
|
|
5
|
+
*
|
|
6
|
+
* This type wraps the standard jsonb storage but adds runtime validation:
|
|
7
|
+
* - On serialize (to DB): Validates and converts to JSON string
|
|
8
|
+
* - On hydrate (from DB): Validates parsed JSON object
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* Property({
|
|
12
|
+
* type: ZodValidatedJsonType,
|
|
13
|
+
* nullable: true,
|
|
14
|
+
* zodSchema: z.object({ name: z.string(), age: z.number() })
|
|
15
|
+
* })(Entity.prototype, 'metadata')
|
|
16
|
+
*/
|
|
17
|
+
export declare class ZodValidatedJsonType extends Type {
|
|
18
|
+
private zodSchema;
|
|
19
|
+
constructor(zodSchema?: ZodTypeAny);
|
|
20
|
+
/**
|
|
21
|
+
* Convert JavaScript value to database value
|
|
22
|
+
* This is called when saving to the database
|
|
23
|
+
*/
|
|
24
|
+
convertToDatabaseValue(value: any, platform: Platform): any;
|
|
25
|
+
/**
|
|
26
|
+
* Convert database value to JavaScript value
|
|
27
|
+
* This is called when loading from the database
|
|
28
|
+
*/
|
|
29
|
+
convertToJSValue(value: any, platform: Platform): any;
|
|
30
|
+
/**
|
|
31
|
+
* Get the column type for the database
|
|
32
|
+
*/
|
|
33
|
+
getColumnType(prop: EntityProperty, platform: Platform): string;
|
|
34
|
+
/**
|
|
35
|
+
* Compare two values for changes
|
|
36
|
+
*/
|
|
37
|
+
compareAsType(): string;
|
|
38
|
+
/**
|
|
39
|
+
* Clone this type with a specific schema
|
|
40
|
+
* Factory method for creating instances with different schemas
|
|
41
|
+
*/
|
|
42
|
+
static create(zodSchema?: ZodTypeAny): typeof ZodValidatedJsonType;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Factory function to create a Zod-validated JSON type for a specific schema
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* const UserMetadataType = createZodJsonType(z.object({
|
|
49
|
+
* name: z.string(),
|
|
50
|
+
* preferences: z.object({ theme: z.enum(['light', 'dark']) })
|
|
51
|
+
* }))
|
|
52
|
+
*
|
|
53
|
+
* Property({ type: UserMetadataType })(Entity.prototype, 'metadata')
|
|
54
|
+
*/
|
|
55
|
+
export declare function createZodJsonType<T extends ZodTypeAny>(schema: T): typeof ZodValidatedJsonType;
|
|
56
|
+
//# sourceMappingURL=zod-validated-json.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod-validated-json.d.ts","sourceRoot":"","sources":["../../../../../src/dml/helpers/mikro-orm/custom-type/zod-validated-json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,EAAE,UAAU,EAAY,MAAM,KAAK,CAAA;AAE1C;;;;;;;;;;;;;GAaG;AACH,qBAAa,oBAAqB,SAAQ,IAAI;IAC5C,OAAO,CAAC,SAAS,CAAwB;gBAE7B,SAAS,CAAC,EAAE,UAAU;IAKlC;;;OAGG;IACH,sBAAsB,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IA0B3D;;;OAGG;IACH,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IAoCrD;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAI/D;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,UAAU,GAAG,OAAO,oBAAoB;CAQnE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,UAAU,EACpD,MAAM,EAAE,CAAC,GACR,OAAO,oBAAoB,CAE7B"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ZodValidatedJsonType = void 0;
|
|
4
|
+
exports.createZodJsonType = createZodJsonType;
|
|
5
|
+
const core_1 = require("@mikro-orm/core");
|
|
6
|
+
const zod_1 = require("zod");
|
|
7
|
+
/**
|
|
8
|
+
* Custom MikroORM Type that validates JSON data against a Zod schema.
|
|
9
|
+
*
|
|
10
|
+
* This type wraps the standard jsonb storage but adds runtime validation:
|
|
11
|
+
* - On serialize (to DB): Validates and converts to JSON string
|
|
12
|
+
* - On hydrate (from DB): Validates parsed JSON object
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* Property({
|
|
16
|
+
* type: ZodValidatedJsonType,
|
|
17
|
+
* nullable: true,
|
|
18
|
+
* zodSchema: z.object({ name: z.string(), age: z.number() })
|
|
19
|
+
* })(Entity.prototype, 'metadata')
|
|
20
|
+
*/
|
|
21
|
+
class ZodValidatedJsonType extends core_1.Type {
|
|
22
|
+
constructor(zodSchema) {
|
|
23
|
+
super();
|
|
24
|
+
this.zodSchema = zodSchema;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Convert JavaScript value to database value
|
|
28
|
+
* This is called when saving to the database
|
|
29
|
+
*/
|
|
30
|
+
convertToDatabaseValue(value, platform) {
|
|
31
|
+
if (value == null) {
|
|
32
|
+
return value;
|
|
33
|
+
}
|
|
34
|
+
// Validate against Zod schema if provided
|
|
35
|
+
if (this.zodSchema) {
|
|
36
|
+
try {
|
|
37
|
+
const result = this.zodSchema.parse(value);
|
|
38
|
+
// Return the validated/converted value
|
|
39
|
+
return JSON.stringify(result);
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
if (error instanceof zod_1.ZodError) {
|
|
43
|
+
const issues = error.issues
|
|
44
|
+
.map((i) => `${i.path.join(".")}: ${i.message}`)
|
|
45
|
+
.join(", ");
|
|
46
|
+
throw new Error(`JSON validation failed: ${issues}`);
|
|
47
|
+
}
|
|
48
|
+
throw error;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
// No schema, just stringify
|
|
52
|
+
return JSON.stringify(value);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Convert database value to JavaScript value
|
|
56
|
+
* This is called when loading from the database
|
|
57
|
+
*/
|
|
58
|
+
convertToJSValue(value, platform) {
|
|
59
|
+
if (value == null) {
|
|
60
|
+
return value;
|
|
61
|
+
}
|
|
62
|
+
let parsed;
|
|
63
|
+
// Parse the JSON value
|
|
64
|
+
if (typeof value === "string") {
|
|
65
|
+
try {
|
|
66
|
+
parsed = JSON.parse(value);
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
throw new Error(`Invalid JSON stored in database: ${value}`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
parsed = value;
|
|
74
|
+
}
|
|
75
|
+
// Validate against Zod schema if provided
|
|
76
|
+
if (this.zodSchema) {
|
|
77
|
+
try {
|
|
78
|
+
return this.zodSchema.parse(parsed);
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
if (error instanceof zod_1.ZodError) {
|
|
82
|
+
const issues = error.issues
|
|
83
|
+
.map((i) => `${i.path.join(".")}: ${i.message}`)
|
|
84
|
+
.join(", ");
|
|
85
|
+
throw new Error(`JSON validation failed on load: ${issues}`);
|
|
86
|
+
}
|
|
87
|
+
throw error;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return parsed;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Get the column type for the database
|
|
94
|
+
*/
|
|
95
|
+
getColumnType(prop, platform) {
|
|
96
|
+
return "jsonb";
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Compare two values for changes
|
|
100
|
+
*/
|
|
101
|
+
compareAsType() {
|
|
102
|
+
return "json";
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Clone this type with a specific schema
|
|
106
|
+
* Factory method for creating instances with different schemas
|
|
107
|
+
*/
|
|
108
|
+
static create(zodSchema) {
|
|
109
|
+
// Return a new class with the schema baked in
|
|
110
|
+
return class extends ZodValidatedJsonType {
|
|
111
|
+
constructor() {
|
|
112
|
+
super(zodSchema);
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
exports.ZodValidatedJsonType = ZodValidatedJsonType;
|
|
118
|
+
/**
|
|
119
|
+
* Factory function to create a Zod-validated JSON type for a specific schema
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* const UserMetadataType = createZodJsonType(z.object({
|
|
123
|
+
* name: z.string(),
|
|
124
|
+
* preferences: z.object({ theme: z.enum(['light', 'dark']) })
|
|
125
|
+
* }))
|
|
126
|
+
*
|
|
127
|
+
* Property({ type: UserMetadataType })(Entity.prototype, 'metadata')
|
|
128
|
+
*/
|
|
129
|
+
function createZodJsonType(schema) {
|
|
130
|
+
return ZodValidatedJsonType.create(schema);
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=zod-validated-json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod-validated-json.js","sourceRoot":"","sources":["../../../../../src/dml/helpers/mikro-orm/custom-type/zod-validated-json.ts"],"names":[],"mappings":"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"}
|