@antelopejs/interface-database-decorators 0.1.0 → 0.1.2

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.
@@ -7,18 +7,14 @@ exports.default = (0, config_1.defineConfig)({
7
7
  name: "interface-database-decorators-test",
8
8
  cacheFolder: ".antelope/cache",
9
9
  modules: {
10
+ local: {
11
+ source: { type: "local", path: "." },
12
+ },
10
13
  mongodb: {
11
14
  source: {
12
15
  type: "package",
13
16
  package: "@antelopejs/mongodb",
14
- version: "1.1.0",
15
- },
16
- },
17
- database_decorators: {
18
- source: {
19
- type: "package",
20
- package: "@antelopejs/database-decorators",
21
- version: "1.1.0",
17
+ version: "1.2.1",
22
18
  },
23
19
  },
24
20
  api: {
@@ -39,7 +35,7 @@ exports.default = (0, config_1.defineConfig)({
39
35
  return {
40
36
  modules: {
41
37
  mongodb: {
42
- config: { url: mongod.getUri() },
38
+ config: { url: mongod.getUri(), database: "antelopejs_test" },
43
39
  },
44
40
  },
45
41
  };
@@ -1 +1 @@
1
- {"version":3,"file":"antelope.test.js","sourceRoot":"","sources":["../src/antelope.test.ts"],"names":[],"mappings":";;AAAA,8DAAiE;AACjE,2EAA+D;AAE/D,IAAI,MAAyB,CAAC;AAE9B,kBAAe,IAAA,qBAAY,EAAC;IAC1B,IAAI,EAAE,oCAAoC;IAC1C,WAAW,EAAE,iBAAiB;IAC9B,OAAO,EAAE;QACP,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE,OAAO;aACjB;SACF;QACD,mBAAmB,EAAE;YACnB,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,iCAAiC;gBAC1C,OAAO,EAAE,OAAO;aACjB;SACF;QACD,GAAG,EAAE;YACH,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,iBAAiB;gBAC1B,OAAO,EAAE,OAAO;aACjB;YACD,MAAM,EAAE;gBACN,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;aAC/D;SACF;KACF;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,YAAY;QACpB,KAAK,CAAC,KAAK;YACT,MAAM,GAAG,MAAM,8CAAiB,CAAC,MAAM,EAAE,CAAC;YAC1C,OAAO;gBACL,OAAO,EAAE;oBACP,OAAO,EAAE;wBACP,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE;qBACjC;iBACF;aACF,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,OAAO;YACX,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;KACF;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"antelope.test.js","sourceRoot":"","sources":["../src/antelope.test.ts"],"names":[],"mappings":";;AAAA,8DAAiE;AACjE,2EAA+D;AAE/D,IAAI,MAAyB,CAAC;AAE9B,kBAAe,IAAA,qBAAY,EAAC;IAC1B,IAAI,EAAE,oCAAoC;IAC1C,WAAW,EAAE,iBAAiB;IAC9B,OAAO,EAAE;QACP,KAAK,EAAE;YACL,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE;SACrC;QACD,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE,OAAO;aACjB;SACF;QACD,GAAG,EAAE;YACH,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,iBAAiB;gBAC1B,OAAO,EAAE,OAAO;aACjB;YACD,MAAM,EAAE;gBACN,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;aAC/D;SACF;KACF;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,YAAY;QACpB,KAAK,CAAC,KAAK;YACT,MAAM,GAAG,MAAM,8CAAiB,CAAC,MAAM,EAAE,CAAC;YAC1C,OAAO;gBACL,OAAO,EAAE;oBACP,OAAO,EAAE;wBACP,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE;qBAC9D;iBACF;aACF,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,OAAO;YACX,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;KACF;CACF,CAAC,CAAC"}
package/dist/common.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { FieldType } from "@antelopejs/interface-database/schema";
1
2
  export type Constructible<T = object, A extends unknown[] = unknown[]> = new (...args: A) => T;
2
3
  export type DeepPartial<T> = {
3
4
  [K in keyof T]?: T[K] extends Array<infer U1> ? Array<DeepPartial<U1>> : T[K] extends ReadonlyArray<infer U2> ? ReadonlyArray<DeepPartial<U2>> : T[K] extends object ? DeepPartial<T[K]> : T[K];
@@ -15,9 +16,9 @@ export declare class DatumStaticMetadata {
15
16
  tableName?: string;
16
17
  schemaName?: string;
17
18
  readonly indexes: Record<string, Array<string>>;
19
+ readonly fields: Record<string, FieldType>;
18
20
  primary: string;
19
21
  generator?: DatumGenerator;
20
- tenantScoped: boolean;
21
22
  addIndex(key: string, group: string): void;
22
23
  }
23
24
  export declare function getMetadata<TMetadata, TTarget extends object>(target: TTarget, metadataClass: MetadataClass<TMetadata>, inherit?: boolean): TMetadata;
package/dist/common.js CHANGED
@@ -10,9 +10,9 @@ class DatumStaticMetadata {
10
10
  tableName;
11
11
  schemaName;
12
12
  indexes = {};
13
+ fields = {};
13
14
  primary = "_id";
14
15
  generator;
15
- tenantScoped = false;
16
16
  addIndex(key, group) {
17
17
  if (!(group in this.indexes)) {
18
18
  this.indexes[group] = [];
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":";;;AA+CA,kCAsBC;AA3CD;;GAEG;AACH,MAAa,mBAAmB;IACvB,MAAM,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC;IAEtB,SAAS,CAAU;IACnB,UAAU,CAAU;IACX,OAAO,GAAkC,EAAE,CAAC;IACrD,OAAO,GAAW,KAAK,CAAC;IACxB,SAAS,CAAkB;IAC3B,YAAY,GAAY,KAAK,CAAC;IAErC,QAAQ,CAAC,GAAW,EAAE,KAAa;QACjC,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;;AAfH,kDAgBC;AAED,SAAgB,WAAW,CACzB,MAAe,EACf,aAAuC,EACvC,UAAmB,IAAI;IAEvB,MAAM,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAE5D,CAAC;IACd,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAC;IAClE,MAAM,iBAAiB,GACrB,OAAO,IAAI,SAAS;QAClB,CAAC,CAAE,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,EAAE,SAAS,CAEtC;QAChB,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,QAAQ,GAAG,iBAAiB,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;IAChE,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC5D,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":";;;AAiDA,kCAsBC;AA3CD;;GAEG;AACH,MAAa,mBAAmB;IACvB,MAAM,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC;IAEtB,SAAS,CAAU;IACnB,UAAU,CAAU;IACX,OAAO,GAAkC,EAAE,CAAC;IAC5C,MAAM,GAA8B,EAAE,CAAC;IAChD,OAAO,GAAW,KAAK,CAAC;IACxB,SAAS,CAAkB;IAElC,QAAQ,CAAC,GAAW,EAAE,KAAa;QACjC,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;;AAfH,kDAgBC;AAED,SAAgB,WAAW,CACzB,MAAe,EACf,aAAuC,EACvC,UAAmB,IAAI;IAEvB,MAAM,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAE5D,CAAC;IACd,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAC;IAClE,MAAM,iBAAiB,GACrB,OAAO,IAAI,SAAS;QAClB,CAAC,CAAE,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,EAAE,SAAS,CAEtC;QAChB,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,QAAQ,GAAG,iBAAiB,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;IAChE,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC5D,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,18 +1,10 @@
1
- import { type SchemaOptions } from "@antelopejs/interface-database";
2
1
  /**
3
2
  * Registers a schema with the database adapter and runs any fixtures.
4
3
  *
5
4
  * Reads the table classes registered for `schemaId` via `@RegisterTable`,
6
- * builds a `SchemaDefinition` (including the per-table `tenantScoped` flag
7
- * set by `@TenantScoped`), constructs the `Schema` (which the adapter
8
- * provisions in its physical store), then inserts fixtures for any
9
- * non-tenant-scoped table that declares one.
10
- *
11
- * Tenant-scoped tables cannot carry fixtures: there is no global tenant id
12
- * to stamp them with. Boot-time seeding of tenant data should be done via
13
- * an explicit "create tenant" hook in the application.
5
+ * builds a `SchemaDefinition`, constructs the `Schema` (which the adapter
6
+ * provisions), then inserts fixtures for any table that declares one.
14
7
  *
15
8
  * @param schemaId Schema id matching the `@RegisterTable(_, schemaId)` calls
16
- * @param options Schema options (e.g. `physicalStore`)
17
9
  */
18
- export declare function RegisterSchema(schemaId: string, options?: SchemaOptions): Promise<void>;
10
+ export declare function RegisterSchema(schemaId: string): Promise<void>;
package/dist/database.js CHANGED
@@ -13,23 +13,16 @@ const schema_1 = require("./schema");
13
13
  * Registers a schema with the database adapter and runs any fixtures.
14
14
  *
15
15
  * Reads the table classes registered for `schemaId` via `@RegisterTable`,
16
- * builds a `SchemaDefinition` (including the per-table `tenantScoped` flag
17
- * set by `@TenantScoped`), constructs the `Schema` (which the adapter
18
- * provisions in its physical store), then inserts fixtures for any
19
- * non-tenant-scoped table that declares one.
20
- *
21
- * Tenant-scoped tables cannot carry fixtures: there is no global tenant id
22
- * to stamp them with. Boot-time seeding of tenant data should be done via
23
- * an explicit "create tenant" hook in the application.
16
+ * builds a `SchemaDefinition`, constructs the `Schema` (which the adapter
17
+ * provisions), then inserts fixtures for any table that declares one.
24
18
  *
25
19
  * @param schemaId Schema id matching the `@RegisterTable(_, schemaId)` calls
26
- * @param options Schema options (e.g. `physicalStore`)
27
20
  */
28
- async function RegisterSchema(schemaId, options) {
21
+ async function RegisterSchema(schemaId) {
29
22
  const tables = (0, schema_1.getTablesForSchema)(schemaId);
30
23
  (0, node_assert_1.default)(tables, `No tables registered for schema '${schemaId}'`);
31
24
  const definition = buildSchemaDefinition(tables);
32
- const schema = new interface_database_1.Schema(schemaId, definition, options);
25
+ const schema = new interface_database_1.Schema(schemaId, definition);
33
26
  await insertAllFixtureData(schema, tables);
34
27
  }
35
28
  function buildSchemaDefinition(tables) {
@@ -43,9 +36,8 @@ function buildSchemaDefinition(tables) {
43
36
  };
44
37
  }
45
38
  definition[tableName] = {
46
- fields: {},
39
+ fields: metadata.fields,
47
40
  indexes,
48
- tenantScoped: metadata.tenantScoped ? true : undefined,
49
41
  };
50
42
  }
51
43
  return definition;
@@ -53,14 +45,13 @@ function buildSchemaDefinition(tables) {
53
45
  async function insertAllFixtureData(schema, tables) {
54
46
  await Promise.all(Object.entries(tables).map(([tableName, tableClass]) => {
55
47
  const metadata = (0, common_1.getMetadata)(tableClass, common_1.DatumStaticMetadata);
56
- return insertFixtureData(schema, tableName, tableClass, metadata.tenantScoped, metadata.generator);
48
+ return insertFixtureData(schema, tableName, tableClass, metadata.generator);
57
49
  }));
58
50
  }
59
- async function insertFixtureData(schema, tableName, tableClass, tenantScoped, generator) {
51
+ async function insertFixtureData(schema, tableName, tableClass, generator) {
60
52
  if (!generator) {
61
53
  return;
62
54
  }
63
- (0, node_assert_1.default)(!tenantScoped, `Fixture on tenant-scoped table '${tableName}' is not supported: there is no implicit tenant id at registration time. Seed tenant data from a create-tenant hook instead.`);
64
55
  const count = await schema.instance().table(tableName).count();
65
56
  if (count > 0) {
66
57
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
package/dist/model.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { type RequestContext } from "@antelopejs/interface-api";
2
2
  import { type Class } from "@antelopejs/interface-core/decorators";
3
3
  import type * as DatabaseDev from "@antelopejs/interface-database";
4
- import { type TenantId } from "@antelopejs/interface-database";
4
+ import { type InstanceId } from "@antelopejs/interface-database";
5
5
  import { type Constructible, type DeepPartial } from "./common";
6
6
  export type DataModel<T = any> = {
7
7
  readonly schemaName: string;
@@ -12,6 +12,19 @@ export type DataModel<T = any> = {
12
12
  fromDatabase(obj: any): T | undefined;
13
13
  fromPlainData(obj: any): T;
14
14
  };
15
+ export type FieldError = {
16
+ field: string;
17
+ message: string;
18
+ };
19
+ export type ValidationResult = {
20
+ ok: true;
21
+ } | {
22
+ ok: false;
23
+ errors: FieldError[];
24
+ };
25
+ export type ValidateInputOptions = {
26
+ partial?: boolean;
27
+ };
15
28
  /**
16
29
  * Utility Class factory to create a basic Data Model with 1 table.
17
30
  *
@@ -53,7 +66,7 @@ export declare function BasicDataModel<T extends object>(dataType: Constructible
53
66
  * @param options Insert options
54
67
  * @returns Insert result
55
68
  */
56
- insert(obj: DeepPartial<T> | Array<DeepPartial<T>>): Promise<string[]>;
69
+ insert(obj: DeepPartial<T> | Array<DeepPartial<T>>, options?: ValidateOptions): Promise<string[]>;
57
70
  /**
58
71
  * Updates a single element in the table.
59
72
  *
@@ -62,8 +75,8 @@ export declare function BasicDataModel<T extends object>(dataType: Constructible
62
75
  * @param options Update options
63
76
  * @returns Update result
64
77
  */
65
- update(id: string, obj: DeepPartial<T>): Promise<number>;
66
- update(obj: DeepPartial<T>): Promise<number>;
78
+ update(id: string, obj: DeepPartial<T>, options?: ValidateOptions): Promise<number>;
79
+ update(obj: DeepPartial<T>, options?: ValidateOptions): Promise<number>;
67
80
  /**
68
81
  * Delete an element from the table.
69
82
  *
@@ -94,9 +107,17 @@ export declare function BasicDataModel<T extends object>(dataType: Constructible
94
107
  * @returns Database-ready data
95
108
  */
96
109
  toDatabase(obj: any): Record<string, any>;
110
+ /**
111
+ * Validates a plain object against every io-ts codec attached via `@Field`.
112
+ * Pass `{ partial: true }` to skip fields not present on `obj` (patch semantics).
113
+ */
114
+ validate(obj: unknown, options?: ValidateInputOptions): ValidationResult;
115
+ };
116
+ export type ValidateOptions = {
117
+ validate?: boolean;
97
118
  };
98
- export declare function GetModel<M extends InstanceType<DataModel>>(cl: DataModel & Class<M>, instanceId?: TenantId): M;
119
+ export declare function GetModel<M extends InstanceType<DataModel>>(cl: DataModel & Class<M>, instanceId?: InstanceId): M;
99
120
  export declare const Model: (cl: DataModel<any> & Class<{
100
121
  readonly database: DatabaseDev.SchemaInstance<any>;
101
122
  readonly table: DatabaseDev.Table<any>;
102
- }>, instanceIdOrCallback?: DatabaseDev.TenantId | ((ctx: RequestContext) => TenantId | undefined) | undefined) => import("@antelopejs/interface-core/decorators").PropertyDecorator & import("@antelopejs/interface-core/decorators").ParameterDecorator;
123
+ }>, instanceIdOrCallback?: DatabaseDev.InstanceId | ((ctx: RequestContext) => InstanceId | undefined) | undefined) => import("@antelopejs/interface-core/decorators").PropertyDecorator & import("@antelopejs/interface-core/decorators").ParameterDecorator;
package/dist/model.js CHANGED
@@ -12,6 +12,16 @@ const decorators_1 = require("@antelopejs/interface-core/decorators");
12
12
  const interface_database_1 = require("@antelopejs/interface-database");
13
13
  const common_1 = require("./common");
14
14
  const common_2 = require("./modifiers/common");
15
+ function isCodec(type) {
16
+ return (typeof type === "object" &&
17
+ type !== null &&
18
+ !Array.isArray(type) &&
19
+ typeof type.decode === "function");
20
+ }
21
+ function decodeFieldError(field, result) {
22
+ const message = result.left.map((e) => e.message).find(Boolean) ?? `invalid ${field}`;
23
+ return { field, message };
24
+ }
15
25
  /**
16
26
  * Utility Class factory to create a basic Data Model with 1 table.
17
27
  *
@@ -56,6 +66,29 @@ function BasicDataModel(dataType, tableName) {
56
66
  const instance = obj instanceof dataType ? obj : Model.fromPlainData(obj);
57
67
  return (0, common_2.toDatabase)(instance);
58
68
  }
69
+ /**
70
+ * Validates a plain object against every io-ts codec attached via `@Field`.
71
+ * Pass `{ partial: true }` to skip fields not present on `obj` (patch semantics).
72
+ */
73
+ static validate(obj, options) {
74
+ const fields = metadata.fields;
75
+ const errors = [];
76
+ const partial = options?.partial === true;
77
+ const record = typeof obj === "object" && obj !== null
78
+ ? obj
79
+ : undefined;
80
+ for (const [field, type] of Object.entries(fields)) {
81
+ if (!isCodec(type))
82
+ continue;
83
+ if (partial && (!record || !(field in record)))
84
+ continue;
85
+ const result = type.decode(record?.[field]);
86
+ if (result._tag === "Left") {
87
+ errors.push(decodeFieldError(field, result));
88
+ }
89
+ }
90
+ return errors.length === 0 ? { ok: true } : { ok: false, errors };
91
+ }
59
92
  /**
60
93
  * AQL Table reference.
61
94
  */
@@ -100,7 +133,18 @@ function BasicDataModel(dataType, tableName) {
100
133
  * @param options Insert options
101
134
  * @returns Insert result
102
135
  */
103
- insert(obj) {
136
+ async insert(obj, options) {
137
+ if (options?.validate) {
138
+ const entries = Array.isArray(obj) ? obj : [obj];
139
+ const allErrors = [];
140
+ for (const entry of entries) {
141
+ const result = Model.validate(entry);
142
+ if (!result.ok)
143
+ allErrors.push(...result.errors);
144
+ }
145
+ if (allErrors.length > 0)
146
+ throw makeValidationError(allErrors);
147
+ }
104
148
  const converter = (entry) => {
105
149
  const instance = Model.fromPlainData(entry);
106
150
  (0, common_2.triggerEvent)(instance, "insert");
@@ -110,15 +154,24 @@ function BasicDataModel(dataType, tableName) {
110
154
  .insert(Array.isArray(obj) ? obj.map(converter) : converter(obj))
111
155
  .run();
112
156
  }
113
- update(obj, data) {
114
- if (typeof obj === "string") {
115
- const instance = Model.fromPlainData(data);
157
+ async update(idOrObj, objOrOptions, options) {
158
+ const parsed = parseUpdateArgs(idOrObj, objOrOptions, options);
159
+ if (parsed.options?.validate) {
160
+ const result = Model.validate(parsed.data, { partial: true });
161
+ if (!result.ok)
162
+ throw makeValidationError(result.errors);
163
+ }
164
+ if (parsed.id !== undefined) {
165
+ const instance = Model.fromPlainData(parsed.data);
116
166
  (0, common_2.triggerEvent)(instance, "update");
117
- return this.table.get(obj).update(Model.toDatabase(instance)).run();
167
+ return this.table
168
+ .get(parsed.id)
169
+ .update(Model.toDatabase(instance))
170
+ .run();
118
171
  }
119
- const instance = Model.fromPlainData(obj);
172
+ const instance = Model.fromPlainData(parsed.data);
120
173
  (0, common_2.triggerEvent)(instance, "update");
121
- const id = obj[primaryKey];
174
+ const id = parsed.data[primaryKey];
122
175
  (0, node_assert_1.default)(id !== undefined, "Missing primary key in object update.");
123
176
  return this.table.get(id).update(Model.toDatabase(instance)).run();
124
177
  }
@@ -142,6 +195,25 @@ function cacheKeyOf(instanceId) {
142
195
  return instanceId;
143
196
  return instanceId;
144
197
  }
198
+ function makeValidationError(errors) {
199
+ const summary = errors.map((e) => `${e.field} (${e.message})`).join(", ");
200
+ const err = new Error(`validation failed: ${summary}`);
201
+ err.errors = errors;
202
+ return err;
203
+ }
204
+ function parseUpdateArgs(idOrObj, objOrOptions, options) {
205
+ if (typeof idOrObj === "string") {
206
+ return {
207
+ id: idOrObj,
208
+ data: objOrOptions,
209
+ options,
210
+ };
211
+ }
212
+ return {
213
+ data: idOrObj,
214
+ options: objOrOptions,
215
+ };
216
+ }
145
217
  function GetModel(cl, instanceId) {
146
218
  if (!modelCache.has(cl)) {
147
219
  modelCache.set(cl, new Map());
package/dist/model.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
package/dist/table.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { type ClassDecorator } from "@antelopejs/interface-core/decorators";
2
+ import type { FieldType } from "@antelopejs/interface-database/schema";
2
3
  import { type Constructible } from "./common";
3
4
  import { MixinSymbol, type MixinType } from "./modifiers/common";
4
5
  type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
@@ -43,6 +44,10 @@ export declare class Table {
43
44
  export declare const Index: (options?: {
44
45
  group?: string;
45
46
  } | undefined) => import("@antelopejs/interface-core/decorators").PropertyDecorator;
47
+ /**
48
+ * Database Table Field type decorator.
49
+ */
50
+ export declare const Field: (type: FieldType) => import("@antelopejs/interface-core/decorators").PropertyDecorator;
46
51
  type AwaitableArray<T> = Promise<T | T[]> | T | T[];
47
52
  /**
48
53
  * Database Table class decorator to create default data on table creation.
@@ -50,15 +55,4 @@ type AwaitableArray<T> = Promise<T | T[]> | T | T[];
50
55
  * @param generator Data generator
51
56
  */
52
57
  export declare const Fixture: <T extends typeof Table>(generator: (p: T) => AwaitableArray<Partial<InstanceType<T>>>) => ClassDecorator<T>;
53
- /**
54
- * Marks a Table as tenant-scoped.
55
- *
56
- * Implementations stamp `tenant_id` on insert, filter reads/updates/deletes
57
- * on it, and reject queries that omit a tenant context (`Schema.instance(id)`).
58
- *
59
- * The query path supports a `CROSS_TENANT` sentinel for legitimate admin
60
- * operations that need to span every tenant; see `@antelopejs/interface-database`
61
- * for the contract.
62
- */
63
- export declare const TenantScoped: () => ClassDecorator<typeof Table>;
64
58
  export {};
package/dist/table.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TenantScoped = exports.Fixture = exports.Index = exports.Table = exports.TableRefSymbol = exports.TableMetaSymbol = void 0;
3
+ exports.Fixture = exports.Field = exports.Index = exports.Table = exports.TableRefSymbol = exports.TableMetaSymbol = void 0;
4
4
  const decorators_1 = require("@antelopejs/interface-core/decorators");
5
5
  const common_1 = require("./common");
6
6
  const common_2 = require("./modifiers/common");
@@ -51,6 +51,13 @@ exports.Index = (0, decorators_1.MakePropertyDecorator)((target, propertyKey, op
51
51
  const metadata = (0, common_1.getMetadata)(target.constructor, common_1.DatumStaticMetadata);
52
52
  metadata.addIndex(propertyKey, options?.group || propertyKey);
53
53
  });
54
+ /**
55
+ * Database Table Field type decorator.
56
+ */
57
+ exports.Field = (0, decorators_1.MakePropertyDecorator)((target, propertyKey, type) => {
58
+ const metadata = (0, common_1.getMetadata)(target.constructor, common_1.DatumStaticMetadata);
59
+ metadata.fields[propertyKey] = type;
60
+ });
54
61
  /**
55
62
  * Database Table class decorator to create default data on table creation.
56
63
  *
@@ -60,18 +67,4 @@ exports.Fixture = (0, decorators_1.MakeClassDecorator)((target, generator) => {
60
67
  const metadata = (0, common_1.getMetadata)(target, common_1.DatumStaticMetadata);
61
68
  metadata.generator = generator;
62
69
  });
63
- /**
64
- * Marks a Table as tenant-scoped.
65
- *
66
- * Implementations stamp `tenant_id` on insert, filter reads/updates/deletes
67
- * on it, and reject queries that omit a tenant context (`Schema.instance(id)`).
68
- *
69
- * The query path supports a `CROSS_TENANT` sentinel for legitimate admin
70
- * operations that need to span every tenant; see `@antelopejs/interface-database`
71
- * for the contract.
72
- */
73
- exports.TenantScoped = (0, decorators_1.MakeClassDecorator)((target) => {
74
- const metadata = (0, common_1.getMetadata)(target, common_1.DatumStaticMetadata);
75
- metadata.tenantScoped = true;
76
- });
77
70
  //# sourceMappingURL=table.js.map
package/dist/table.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":";;;AAAA,sEAI+C;AAC/C,qCAAgF;AAChF,+CAAiE;AAQpD,QAAA,eAAe,GAAG,MAAM,EAAE,CAAC;AAC3B,QAAA,cAAc,GAAG,MAAM,EAAE,CAAC;AAgCvC;;GAEG;AACH,MAAa,KAAK;IAGhB;;;;;OAKG;IACI,MAAM,CAAC,IAAI,CAKhB,GAAG,MAAS;QAQZ,4GAA4G;QAC5G,MAAM,CAAC,GAAG,MAAM,eAAgB,SAAS,IAAY;SAAG,CAAC;QACzD,KAAK,MAAM,KAAK,IAAI,MAAM;aACvB,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,IAAI,IAAI,UAAU,EAAE,CAAC;aAC7D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,oBAAW,CAAC,CAAC;aACpC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;YACvC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9D,IAAI,GAAG,KAAK,aAAa,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC7C,CAAC,CAAC,SAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;oBACpB,CAAC,CAAC,SAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAY,CAAC,CAAC;IAChB,CAAC;CACF;AAzCD,sBAyCC;AAED;;;;;;;GAOG;AACU,QAAA,KAAK,GAAG,IAAA,kCAAqB,EACxC,CAAC,MAAM,EAAE,WAAW,EAAE,OAA4B,EAAE,EAAE;IACpD,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,WAAW,EAAE,4BAAmB,CAAC,CAAC;IACtE,QAAQ,CAAC,QAAQ,CACP,WAAW,EACnB,OAAO,EAAE,KAAK,IAAY,WAAW,CACtC,CAAC;AACJ,CAAC,CACF,CAAC;AAGF;;;;GAIG;AACU,QAAA,OAAO,GAEK,IAAA,+BAAkB,EAAC,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE;IAChE,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,MAAM,EAAE,4BAAmB,CAAC,CAAC;IAC1D,QAAQ,CAAC,SAAS,GAAG,SAAwD,CAAC;AAChF,CAAC,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACU,QAAA,YAAY,GACvB,IAAA,+BAAkB,EAAC,CAAC,MAAM,EAAE,EAAE;IAC5B,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,MAAM,EAAE,4BAAmB,CAAC,CAAC;IAC1D,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;AAC/B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":";;;AAAA,sEAI+C;AAE/C,qCAAgF;AAChF,+CAAiE;AAQpD,QAAA,eAAe,GAAG,MAAM,EAAE,CAAC;AAC3B,QAAA,cAAc,GAAG,MAAM,EAAE,CAAC;AAgCvC;;GAEG;AACH,MAAa,KAAK;IAGhB;;;;;OAKG;IACI,MAAM,CAAC,IAAI,CAKhB,GAAG,MAAS;QAQZ,4GAA4G;QAC5G,MAAM,CAAC,GAAG,MAAM,eAAgB,SAAS,IAAY;SAAG,CAAC;QACzD,KAAK,MAAM,KAAK,IAAI,MAAM;aACvB,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,IAAI,IAAI,UAAU,EAAE,CAAC;aAC7D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,oBAAW,CAAC,CAAC;aACpC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;YACvC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9D,IAAI,GAAG,KAAK,aAAa,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC7C,CAAC,CAAC,SAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;oBACpB,CAAC,CAAC,SAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAY,CAAC,CAAC;IAChB,CAAC;CACF;AAzCD,sBAyCC;AAED;;;;;;;GAOG;AACU,QAAA,KAAK,GAAG,IAAA,kCAAqB,EACxC,CAAC,MAAM,EAAE,WAAW,EAAE,OAA4B,EAAE,EAAE;IACpD,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,WAAW,EAAE,4BAAmB,CAAC,CAAC;IACtE,QAAQ,CAAC,QAAQ,CACP,WAAW,EACnB,OAAO,EAAE,KAAK,IAAY,WAAW,CACtC,CAAC;AACJ,CAAC,CACF,CAAC;AAEF;;GAEG;AACU,QAAA,KAAK,GAAG,IAAA,kCAAqB,EACxC,CAAC,MAAM,EAAE,WAAW,EAAE,IAAe,EAAE,EAAE;IACvC,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,WAAW,EAAE,4BAAmB,CAAC,CAAC;IACtE,QAAQ,CAAC,MAAM,CAAC,WAAqB,CAAC,GAAG,IAAI,CAAC;AAChD,CAAC,CACF,CAAC;AAGF;;;;GAIG;AACU,QAAA,OAAO,GAEK,IAAA,+BAAkB,EAAC,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE;IAChE,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,MAAM,EAAE,4BAAmB,CAAC,CAAC;IAC1D,QAAQ,CAAC,SAAS,GAAG,SAAwD,CAAC;AAChF,CAAC,CAAC,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { FieldType } from "@antelopejs/interface-database/schema";
2
+ export type DecodeLeft = {
3
+ _tag: "Left";
4
+ left: Array<{
5
+ value: unknown;
6
+ context: unknown[];
7
+ message?: string;
8
+ }>;
9
+ };
10
+ export type DecodeRight<T> = {
11
+ _tag: "Right";
12
+ right: T;
13
+ };
14
+ export type DecodeResult<T> = DecodeLeft | DecodeRight<T>;
15
+ export type TestCodec<T> = {
16
+ readonly _A: T;
17
+ readonly _O: T;
18
+ readonly _I: unknown;
19
+ readonly name: string;
20
+ is(u: unknown): u is T;
21
+ encode(a: T): unknown;
22
+ decode(u: unknown): DecodeResult<T>;
23
+ };
24
+ export declare function makeCodec<T>(name: string, guard: (u: unknown) => u is T): TestCodec<T>;
25
+ export declare const stringCodec: TestCodec<string>;
26
+ export declare const numberCodec: TestCodec<number>;
27
+ export declare function asFieldType(codec: TestCodec<unknown>): FieldType;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.numberCodec = exports.stringCodec = void 0;
4
+ exports.makeCodec = makeCodec;
5
+ exports.asFieldType = asFieldType;
6
+ function makeCodec(name, guard) {
7
+ return {
8
+ _A: undefined,
9
+ _O: undefined,
10
+ _I: undefined,
11
+ name,
12
+ is: guard,
13
+ encode: (a) => a,
14
+ decode: (u) => guard(u)
15
+ ? { _tag: "Right", right: u }
16
+ : {
17
+ _tag: "Left",
18
+ left: [{ value: u, context: [], message: `not ${name}` }],
19
+ },
20
+ };
21
+ }
22
+ exports.stringCodec = makeCodec("string", (u) => typeof u === "string");
23
+ exports.numberCodec = makeCodec("number", (u) => typeof u === "number");
24
+ function asFieldType(codec) {
25
+ return codec;
26
+ }
27
+ //# sourceMappingURL=codec_helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codec_helpers.js","sourceRoot":"","sources":["../../src/tests/codec_helpers.ts"],"names":[],"mappings":";;;AAmBA,8BAmBC;AAWD,kCAEC;AAhCD,SAAgB,SAAS,CACvB,IAAY,EACZ,KAA6B;IAE7B,OAAO;QACL,EAAE,EAAE,SAAyB;QAC7B,EAAE,EAAE,SAAyB;QAC7B,EAAE,EAAE,SAAoB;QACxB,IAAI;QACJ,EAAE,EAAE,KAAK;QACT,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CACZ,KAAK,CAAC,CAAC,CAAC;YACN,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE;YAC7B,CAAC,CAAC;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC;aAC1D;KACR,CAAC;AACJ,CAAC;AAEY,QAAA,WAAW,GAAsB,SAAS,CACrD,QAAQ,EACR,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAC1C,CAAC;AACW,QAAA,WAAW,GAAsB,SAAS,CACrD,QAAQ,EACR,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAC1C,CAAC;AAEF,SAAgB,WAAW,CAAC,KAAyB;IACnD,OAAO,KAA6B,CAAC;AACvC,CAAC"}
@@ -14,6 +14,7 @@ const database_1 = require("@antelopejs/interface-database-decorators/database")
14
14
  const schema_1 = require("@antelopejs/interface-database-decorators/schema");
15
15
  const table_1 = require("@antelopejs/interface-database-decorators/table");
16
16
  const chai_1 = require("chai");
17
+ const codec_helpers_1 = require("./codec_helpers");
17
18
  describe("Database - initialization", () => {
18
19
  it("creates a schema", async () => CreateSchemaTest());
19
20
  it("creates tables with default primary key", async () => CreateTablesWithDefaultPrimaryKeyTest());
@@ -21,9 +22,7 @@ describe("Database - initialization", () => {
21
22
  it("creates tables with grouped indexes", async () => CreateTablesWithGroupedIndexesTest());
22
23
  it("creates tables with fixture data", async () => CreateTablesWithFixtureDataTest());
23
24
  it("handles multiple tables", async () => HandleMultipleTablesTest());
24
- it("co-locates schemas via shared physicalStore", async () => SharedPhysicalStoreTest());
25
- it("rejects fixtures on tenant-scoped tables", async () => RejectsFixturesOnTenantScopedTablesTest());
26
- it("propagates tenantScoped flag to schema definition", async () => PropagatesTenantScopedFlagTest());
25
+ it("populates TableDefinition.fields from @Field declarations", () => PopulatesTableDefinitionFieldsTest());
27
26
  });
28
27
  async function CreateSchemaTest() {
29
28
  let _TestTable = class _TestTable extends table_1.Table {
@@ -103,10 +102,34 @@ async function CreateTablesWithFixtureDataTest() {
103
102
  const result = await schema.instance().table("fixture_table");
104
103
  for (const val of result) {
105
104
  delete val._id;
105
+ delete val._instance;
106
106
  }
107
107
  const sortById = (a, b) => a.id.localeCompare(b.id);
108
108
  (0, chai_1.expect)(result.sort(sortById)).to.deep.equal(testData.sort(sortById));
109
109
  }
110
+ async function PopulatesTableDefinitionFieldsTest() {
111
+ let _Order = class _Order extends table_1.Table {
112
+ };
113
+ __decorate([
114
+ (0, table_1.Field)("string"),
115
+ __metadata("design:type", String)
116
+ ], _Order.prototype, "status", void 0);
117
+ __decorate([
118
+ (0, table_1.Field)((0, codec_helpers_1.asFieldType)(codec_helpers_1.numberCodec)),
119
+ __metadata("design:type", Number)
120
+ ], _Order.prototype, "total", void 0);
121
+ _Order = __decorate([
122
+ (0, schema_1.RegisterTable)("orders", "test-fields-schema")
123
+ ], _Order);
124
+ await (0, database_1.RegisterSchema)("test-fields-schema");
125
+ const schema = interface_database_1.Schema.get("test-fields-schema");
126
+ if (!schema)
127
+ throw new Error("Schema not found");
128
+ const fields = schema.definition.orders.fields;
129
+ (0, chai_1.expect)(fields.status).to.equal("string");
130
+ (0, chai_1.expect)(fields.total).to.equal(codec_helpers_1.numberCodec);
131
+ (0, chai_1.expect)("untyped" in fields).to.equal(false);
132
+ }
110
133
  async function HandleMultipleTablesTest() {
111
134
  let _UserTable = class _UserTable extends table_1.Table {
112
135
  };
@@ -130,59 +153,4 @@ async function HandleMultipleTablesTest() {
130
153
  const schema = interface_database_1.Schema.get("test-multi-table-schema");
131
154
  (0, chai_1.expect)(schema).to.not.equal(undefined);
132
155
  }
133
- async function SharedPhysicalStoreTest() {
134
- let _GlobalTable = class _GlobalTable extends table_1.Table {
135
- };
136
- _GlobalTable = __decorate([
137
- (0, schema_1.RegisterTable)("global_table", "test-store-global")
138
- ], _GlobalTable);
139
- let _TenantTable = class _TenantTable extends table_1.Table {
140
- };
141
- _TenantTable = __decorate([
142
- (0, schema_1.RegisterTable)("tenant_table", "test-store-tenant"),
143
- (0, table_1.TenantScoped)()
144
- ], _TenantTable);
145
- await (0, database_1.RegisterSchema)("test-store-global", { physicalStore: "test-shared" });
146
- await (0, database_1.RegisterSchema)("test-store-tenant", { physicalStore: "test-shared" });
147
- const globalSchema = interface_database_1.Schema.get("test-store-global");
148
- const tenantSchema = interface_database_1.Schema.get("test-store-tenant");
149
- (0, chai_1.expect)(globalSchema).to.not.equal(undefined);
150
- (0, chai_1.expect)(tenantSchema).to.not.equal(undefined);
151
- (0, chai_1.expect)(globalSchema?.options.physicalStore).to.equal("test-shared");
152
- (0, chai_1.expect)(tenantSchema?.options.physicalStore).to.equal("test-shared");
153
- }
154
- async function RejectsFixturesOnTenantScopedTablesTest() {
155
- let _ForbiddenTable = class _ForbiddenTable extends table_1.Table {
156
- };
157
- _ForbiddenTable = __decorate([
158
- (0, table_1.Fixture)(() => [{ name: "boom" }]),
159
- (0, table_1.TenantScoped)(),
160
- (0, schema_1.RegisterTable)("forbidden_fixture", "test-fixture-tenant-schema")
161
- ], _ForbiddenTable);
162
- let threw = false;
163
- try {
164
- await (0, database_1.RegisterSchema)("test-fixture-tenant-schema");
165
- }
166
- catch {
167
- threw = true;
168
- }
169
- (0, chai_1.expect)(threw).to.equal(true);
170
- }
171
- async function PropagatesTenantScopedFlagTest() {
172
- let _GlobalTable = class _GlobalTable extends table_1.Table {
173
- };
174
- _GlobalTable = __decorate([
175
- (0, schema_1.RegisterTable)("global_only", "test-flag-schema")
176
- ], _GlobalTable);
177
- let _TenantTable = class _TenantTable extends table_1.Table {
178
- };
179
- _TenantTable = __decorate([
180
- (0, schema_1.RegisterTable)("tenant_only", "test-flag-schema"),
181
- (0, table_1.TenantScoped)()
182
- ], _TenantTable);
183
- await (0, database_1.RegisterSchema)("test-flag-schema");
184
- const schema = interface_database_1.Schema.get("test-flag-schema");
185
- (0, chai_1.expect)(schema?.definition.global_only.tenantScoped).to.equal(undefined);
186
- (0, chai_1.expect)(schema?.definition.tenant_only.tenantScoped).to.equal(true);
187
- }
188
156
  //# sourceMappingURL=database.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"database.test.js","sourceRoot":"","sources":["../../src/tests/database.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.test.js","sourceRoot":"","sources":["../../src/tests/database.test.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ const localization_1 = require("@antelopejs/interface-database-decorators/modifi
18
18
  const schema_1 = require("@antelopejs/interface-database-decorators/schema");
19
19
  const table_1 = require("@antelopejs/interface-database-decorators/table");
20
20
  const chai_1 = require("chai");
21
+ const codec_helpers_1 = require("./codec_helpers");
21
22
  function getDatabase(schemaId) {
22
23
  const instance = interface_database_1.Schema.get(schemaId)?.instance();
23
24
  if (!instance)
@@ -35,6 +36,102 @@ describe("Integration - real database operations", () => {
35
36
  it("performs bulk operations", async () => PerformBulkOperationsTest());
36
37
  it("manages database initialization", async () => ManageDatabaseInitializationTest());
37
38
  });
39
+ describe("Model - validate-on-write", () => {
40
+ it("rejects insert with validate:true on bad input", () => ValidateOnInsertRejectsTest());
41
+ it("accepts insert with validate:true on good input", () => ValidateOnInsertAcceptsTest());
42
+ it("rejects update with validate:true on bad input", () => ValidateOnUpdateRejectsTest());
43
+ it("accepts partial update with validate:true when omitted fields are absent", () => ValidateOnUpdateAcceptsPartialTest());
44
+ });
45
+ async function ValidateOnInsertRejectsTest() {
46
+ let _T = class _T extends table_1.Table {
47
+ };
48
+ __decorate([
49
+ (0, table_1.Field)((0, codec_helpers_1.asFieldType)(codec_helpers_1.numberCodec)),
50
+ __metadata("design:type", Number)
51
+ ], _T.prototype, "age", void 0);
52
+ _T = __decorate([
53
+ (0, schema_1.RegisterTable)("v_insert_bad", "model-vow-schema-1")
54
+ ], _T);
55
+ const TM = (0, model_1.BasicDataModel)(_T, "v_insert_bad");
56
+ await (0, database_1.RegisterSchema)("model-vow-schema-1");
57
+ const model = (0, model_1.GetModel)(TM);
58
+ let threw = false;
59
+ try {
60
+ await model.insert({ age: "old" }, { validate: true });
61
+ }
62
+ catch (e) {
63
+ threw = true;
64
+ const errors = e.errors;
65
+ (0, chai_1.expect)(Array.isArray(errors)).to.equal(true);
66
+ (0, chai_1.expect)(errors?.[0].field).to.equal("age");
67
+ }
68
+ (0, chai_1.expect)(threw).to.equal(true);
69
+ }
70
+ async function ValidateOnInsertAcceptsTest() {
71
+ let _T = class _T extends table_1.Table {
72
+ };
73
+ __decorate([
74
+ (0, table_1.Field)((0, codec_helpers_1.asFieldType)(codec_helpers_1.numberCodec)),
75
+ __metadata("design:type", Number)
76
+ ], _T.prototype, "age", void 0);
77
+ _T = __decorate([
78
+ (0, schema_1.RegisterTable)("v_insert_ok", "model-vow-schema-2")
79
+ ], _T);
80
+ const TM = (0, model_1.BasicDataModel)(_T, "v_insert_ok");
81
+ await (0, database_1.RegisterSchema)("model-vow-schema-2");
82
+ const model = (0, model_1.GetModel)(TM);
83
+ const ids = await model.insert({ age: 30 }, { validate: true });
84
+ (0, chai_1.expect)(ids).to.not.equal(undefined);
85
+ }
86
+ async function ValidateOnUpdateRejectsTest() {
87
+ let _T = class _T extends table_1.Table {
88
+ };
89
+ __decorate([
90
+ (0, table_1.Field)((0, codec_helpers_1.asFieldType)(codec_helpers_1.numberCodec)),
91
+ __metadata("design:type", Number)
92
+ ], _T.prototype, "age", void 0);
93
+ _T = __decorate([
94
+ (0, schema_1.RegisterTable)("v_update_bad", "model-vow-schema-3")
95
+ ], _T);
96
+ const TM = (0, model_1.BasicDataModel)(_T, "v_update_bad");
97
+ await (0, database_1.RegisterSchema)("model-vow-schema-3");
98
+ const model = (0, model_1.GetModel)(TM);
99
+ const inserted = await model.insert({ age: 30 });
100
+ const id = Array.isArray(inserted) ? inserted[0] : inserted;
101
+ let threw = false;
102
+ try {
103
+ await model.update(id, { age: "old" }, { validate: true });
104
+ }
105
+ catch (e) {
106
+ threw = true;
107
+ (0, chai_1.expect)(e.message).to.contain("validation failed");
108
+ }
109
+ (0, chai_1.expect)(threw).to.equal(true);
110
+ }
111
+ async function ValidateOnUpdateAcceptsPartialTest() {
112
+ let _T = class _T extends table_1.Table {
113
+ };
114
+ __decorate([
115
+ (0, table_1.Field)((0, codec_helpers_1.asFieldType)(codec_helpers_1.numberCodec)),
116
+ __metadata("design:type", Number)
117
+ ], _T.prototype, "age", void 0);
118
+ __decorate([
119
+ (0, table_1.Field)((0, codec_helpers_1.asFieldType)(codec_helpers_1.numberCodec)),
120
+ __metadata("design:type", Number)
121
+ ], _T.prototype, "score", void 0);
122
+ _T = __decorate([
123
+ (0, schema_1.RegisterTable)("v_update_partial", "model-vow-schema-4")
124
+ ], _T);
125
+ const TM = (0, model_1.BasicDataModel)(_T, "v_update_partial");
126
+ await (0, database_1.RegisterSchema)("model-vow-schema-4");
127
+ const model = (0, model_1.GetModel)(TM);
128
+ const inserted = await model.insert({ age: 30, score: 100 });
129
+ const id = Array.isArray(inserted) ? inserted[0] : inserted;
130
+ const updated = await model.update(id, { age: 31 }, {
131
+ validate: true,
132
+ });
133
+ (0, chai_1.expect)(updated).to.not.equal(undefined);
134
+ }
38
135
  async function CreateAndQueryUserWithModifiersTest() {
39
136
  let User = class User extends table_1.Table.with(hash_1.HashModifier, encryption_1.EncryptionModifier) {
40
137
  };
@@ -1 +1 @@
1
- {"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../../src/tests/integration.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../../src/tests/integration.test.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ const model_1 = require("@antelopejs/interface-database-decorators/model");
16
16
  const schema_1 = require("@antelopejs/interface-database-decorators/schema");
17
17
  const table_1 = require("@antelopejs/interface-database-decorators/table");
18
18
  const chai_1 = require("chai");
19
+ const codec_helpers_1 = require("./codec_helpers");
19
20
  describe("Model - data operations", () => {
20
21
  it("creates basic data model", async () => CreateBasicDataModelTest());
21
22
  it("creates basic data model from metadata", async () => CreateBasicDataModelFromMetadataTest());
@@ -28,6 +29,143 @@ describe("Model - data operations", () => {
28
29
  it("handles model with string instance id", async () => HandleModelWithStringInstanceIdTest());
29
30
  it("handles model with callback instance id", async () => HandleModelWithCallbackInstanceIdTest());
30
31
  });
32
+ describe("Model - validate", () => {
33
+ it("returns ok for valid input", () => ValidateOkTest());
34
+ it("returns errors for invalid input", () => ValidateErrorsTest());
35
+ it("returns ok for unannotated tables", () => ValidateUnannotatedTest());
36
+ it("skips string-token fields", () => ValidateSkipsStringTokensTest());
37
+ it("rejects partial input by default", () => ValidatePartialDefaultsToStrictTest());
38
+ it("accepts partial input with partial:true", () => ValidatePartialModeAcceptsAbsentTest());
39
+ it("still rejects present-but-invalid fields in partial mode", () => ValidatePartialModeChecksPresentFieldsTest());
40
+ });
41
+ function ValidateOkTest() {
42
+ let _T = class _T extends table_1.Table {
43
+ };
44
+ __decorate([
45
+ (0, table_1.Field)((0, codec_helpers_1.asFieldType)(codec_helpers_1.stringCodec)),
46
+ __metadata("design:type", String)
47
+ ], _T.prototype, "name", void 0);
48
+ __decorate([
49
+ (0, table_1.Field)((0, codec_helpers_1.asFieldType)(codec_helpers_1.numberCodec)),
50
+ __metadata("design:type", Number)
51
+ ], _T.prototype, "age", void 0);
52
+ _T = __decorate([
53
+ (0, schema_1.RegisterTable)("v_ok", "model-validate-schema")
54
+ ], _T);
55
+ const TM = (0, model_1.BasicDataModel)(_T, "v_ok");
56
+ const result = TM.validate({ name: "Alice", age: 30 });
57
+ (0, chai_1.expect)(result.ok).to.equal(true);
58
+ }
59
+ function ValidateErrorsTest() {
60
+ let _T = class _T extends table_1.Table {
61
+ };
62
+ __decorate([
63
+ (0, table_1.Field)((0, codec_helpers_1.asFieldType)(codec_helpers_1.stringCodec)),
64
+ __metadata("design:type", String)
65
+ ], _T.prototype, "name", void 0);
66
+ __decorate([
67
+ (0, table_1.Field)((0, codec_helpers_1.asFieldType)(codec_helpers_1.numberCodec)),
68
+ __metadata("design:type", Number)
69
+ ], _T.prototype, "age", void 0);
70
+ _T = __decorate([
71
+ (0, schema_1.RegisterTable)("v_err", "model-validate-schema")
72
+ ], _T);
73
+ const TM = (0, model_1.BasicDataModel)(_T, "v_err");
74
+ const result = TM.validate({ name: 42, age: "old" });
75
+ (0, chai_1.expect)(result.ok).to.equal(false);
76
+ if (result.ok)
77
+ throw new Error("expected failure branch");
78
+ const fields = result.errors.map((e) => e.field).sort();
79
+ (0, chai_1.expect)(fields).to.deep.equal(["age", "name"]);
80
+ }
81
+ function ValidateUnannotatedTest() {
82
+ let _T = class _T extends table_1.Table {
83
+ };
84
+ _T = __decorate([
85
+ (0, schema_1.RegisterTable)("v_un", "model-validate-schema")
86
+ ], _T);
87
+ const TM = (0, model_1.BasicDataModel)(_T, "v_un");
88
+ (0, chai_1.expect)(TM.validate({ name: "anything" }).ok).to.equal(true);
89
+ (0, chai_1.expect)(TM.validate({}).ok).to.equal(true);
90
+ }
91
+ function ValidateSkipsStringTokensTest() {
92
+ let _T = class _T extends table_1.Table {
93
+ };
94
+ __decorate([
95
+ (0, table_1.Field)("string"),
96
+ __metadata("design:type", String)
97
+ ], _T.prototype, "name", void 0);
98
+ __decorate([
99
+ (0, table_1.Field)((0, codec_helpers_1.asFieldType)(codec_helpers_1.numberCodec)),
100
+ __metadata("design:type", Number)
101
+ ], _T.prototype, "age", void 0);
102
+ _T = __decorate([
103
+ (0, schema_1.RegisterTable)("v_skip", "model-validate-schema")
104
+ ], _T);
105
+ const TM = (0, model_1.BasicDataModel)(_T, "v_skip");
106
+ (0, chai_1.expect)(TM.validate({ name: 123, age: 4 }).ok).to.equal(true);
107
+ (0, chai_1.expect)(TM.validate({ name: "n", age: "bad" }).ok).to.equal(false);
108
+ }
109
+ function ValidatePartialDefaultsToStrictTest() {
110
+ let _T = class _T extends table_1.Table {
111
+ };
112
+ __decorate([
113
+ (0, table_1.Field)((0, codec_helpers_1.asFieldType)(codec_helpers_1.stringCodec)),
114
+ __metadata("design:type", String)
115
+ ], _T.prototype, "name", void 0);
116
+ __decorate([
117
+ (0, table_1.Field)((0, codec_helpers_1.asFieldType)(codec_helpers_1.numberCodec)),
118
+ __metadata("design:type", Number)
119
+ ], _T.prototype, "age", void 0);
120
+ _T = __decorate([
121
+ (0, schema_1.RegisterTable)("v_partial_strict", "model-validate-schema")
122
+ ], _T);
123
+ const TM = (0, model_1.BasicDataModel)(_T, "v_partial_strict");
124
+ const result = TM.validate({ name: "Alice" });
125
+ (0, chai_1.expect)(result.ok).to.equal(false);
126
+ if (result.ok)
127
+ throw new Error("expected failure branch");
128
+ (0, chai_1.expect)(result.errors.map((e) => e.field)).to.deep.equal(["age"]);
129
+ }
130
+ function ValidatePartialModeAcceptsAbsentTest() {
131
+ let _T = class _T extends table_1.Table {
132
+ };
133
+ __decorate([
134
+ (0, table_1.Field)((0, codec_helpers_1.asFieldType)(codec_helpers_1.stringCodec)),
135
+ __metadata("design:type", String)
136
+ ], _T.prototype, "name", void 0);
137
+ __decorate([
138
+ (0, table_1.Field)((0, codec_helpers_1.asFieldType)(codec_helpers_1.numberCodec)),
139
+ __metadata("design:type", Number)
140
+ ], _T.prototype, "age", void 0);
141
+ _T = __decorate([
142
+ (0, schema_1.RegisterTable)("v_partial_accept", "model-validate-schema")
143
+ ], _T);
144
+ const TM = (0, model_1.BasicDataModel)(_T, "v_partial_accept");
145
+ (0, chai_1.expect)(TM.validate({ name: "Alice" }, { partial: true }).ok).to.equal(true);
146
+ (0, chai_1.expect)(TM.validate({}, { partial: true }).ok).to.equal(true);
147
+ }
148
+ function ValidatePartialModeChecksPresentFieldsTest() {
149
+ let _T = class _T extends table_1.Table {
150
+ };
151
+ __decorate([
152
+ (0, table_1.Field)((0, codec_helpers_1.asFieldType)(codec_helpers_1.stringCodec)),
153
+ __metadata("design:type", String)
154
+ ], _T.prototype, "name", void 0);
155
+ __decorate([
156
+ (0, table_1.Field)((0, codec_helpers_1.asFieldType)(codec_helpers_1.numberCodec)),
157
+ __metadata("design:type", Number)
158
+ ], _T.prototype, "age", void 0);
159
+ _T = __decorate([
160
+ (0, schema_1.RegisterTable)("v_partial_check", "model-validate-schema")
161
+ ], _T);
162
+ const TM = (0, model_1.BasicDataModel)(_T, "v_partial_check");
163
+ const result = TM.validate({ age: "old" }, { partial: true });
164
+ (0, chai_1.expect)(result.ok).to.equal(false);
165
+ if (result.ok)
166
+ throw new Error("expected failure branch");
167
+ (0, chai_1.expect)(result.errors.map((e) => e.field)).to.deep.equal(["age"]);
168
+ }
31
169
  async function CreateBasicDataModelTest() {
32
170
  class TestTable extends table_1.Table {
33
171
  name;
@@ -115,19 +253,18 @@ async function CreateNewModelWhenNotCachedTest() {
115
253
  name;
116
254
  };
117
255
  TestTable = __decorate([
118
- (0, table_1.TenantScoped)(),
119
- (0, schema_1.RegisterTable)("nocache_tenant", "model-nocache-schema")
256
+ (0, schema_1.RegisterTable)("nocache_instances", "model-nocache-schema")
120
257
  ], TestTable);
121
- const TestModel = (0, model_1.BasicDataModel)(TestTable, "nocache_tenant");
258
+ const TestModel = (0, model_1.BasicDataModel)(TestTable, "nocache_instances");
122
259
  await (0, database_1.RegisterSchema)("model-nocache-schema");
123
- const tenant1 = (0, model_1.GetModel)(TestModel, "tenant-1");
124
- const tenant2 = (0, model_1.GetModel)(TestModel, "tenant-2");
125
- const cross = (0, model_1.GetModel)(TestModel, interface_database_1.CROSS_TENANT);
126
- (0, chai_1.expect)(tenant1).to.not.equal(tenant2);
127
- (0, chai_1.expect)(tenant1).to.not.equal(cross);
128
- (0, chai_1.expect)(tenant2).to.not.equal(cross);
129
- (0, chai_1.expect)(tenant1).to.be.instanceOf(TestModel);
130
- (0, chai_1.expect)(tenant2).to.be.instanceOf(TestModel);
260
+ const instance1 = (0, model_1.GetModel)(TestModel, "instance-1");
261
+ const instance2 = (0, model_1.GetModel)(TestModel, "instance-2");
262
+ const cross = (0, model_1.GetModel)(TestModel, interface_database_1.CROSS_INSTANCE);
263
+ (0, chai_1.expect)(instance1).to.not.equal(instance2);
264
+ (0, chai_1.expect)(instance1).to.not.equal(cross);
265
+ (0, chai_1.expect)(instance2).to.not.equal(cross);
266
+ (0, chai_1.expect)(instance1).to.be.instanceOf(TestModel);
267
+ (0, chai_1.expect)(instance2).to.be.instanceOf(TestModel);
131
268
  (0, chai_1.expect)(cross).to.be.instanceOf(TestModel);
132
269
  }
133
270
  async function HandleModelWithStringInstanceIdTest() {
@@ -1 +1 @@
1
- {"version":3,"file":"model.test.js","sourceRoot":"","sources":["../../src/tests/model.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.test.js","sourceRoot":"","sources":["../../src/tests/model.test.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ const common_1 = require("@antelopejs/interface-database-decorators/common");
13
13
  const common_2 = require("@antelopejs/interface-database-decorators/modifiers/common");
14
14
  const table_1 = require("@antelopejs/interface-database-decorators/table");
15
15
  const chai_1 = require("chai");
16
+ const codec_helpers_1 = require("./codec_helpers");
16
17
  describe("Table - decorators", () => {
17
18
  it("creates table with default primary key", async () => CreateTableWithDefaultPrimaryKeyTest());
18
19
  it("creates table with multiple indexes", async () => CreateTableWithMultipleIndexesTest());
@@ -88,6 +89,43 @@ async function CreateTableWithFixtureDataTest() {
88
89
  (0, chai_1.expect)(metadata.generator).to.be.a("function");
89
90
  (0, chai_1.expect)(metadata.primary).to.equal("_id");
90
91
  }
92
+ describe("Table - @Field decorator", () => {
93
+ it("stores a string-token type on metadata.fields", () => StoresStringTokenFieldTest());
94
+ it("stores an io-ts codec on metadata.fields", () => StoresCodecFieldTest());
95
+ it("stacks with @Index", () => StacksWithIndexTest());
96
+ });
97
+ function StoresStringTokenFieldTest() {
98
+ class _T extends table_1.Table {
99
+ }
100
+ __decorate([
101
+ (0, table_1.Field)("string"),
102
+ __metadata("design:type", String)
103
+ ], _T.prototype, "name", void 0);
104
+ const metadata = (0, common_1.getMetadata)(_T, common_1.DatumStaticMetadata);
105
+ (0, chai_1.expect)(metadata.fields.name).to.equal("string");
106
+ }
107
+ function StoresCodecFieldTest() {
108
+ class _T extends table_1.Table {
109
+ }
110
+ __decorate([
111
+ (0, table_1.Field)((0, codec_helpers_1.asFieldType)(codec_helpers_1.stringCodec)),
112
+ __metadata("design:type", String)
113
+ ], _T.prototype, "name", void 0);
114
+ const metadata = (0, common_1.getMetadata)(_T, common_1.DatumStaticMetadata);
115
+ (0, chai_1.expect)(metadata.fields.name).to.equal(codec_helpers_1.stringCodec);
116
+ }
117
+ function StacksWithIndexTest() {
118
+ class _T extends table_1.Table {
119
+ }
120
+ __decorate([
121
+ (0, table_1.Index)(),
122
+ (0, table_1.Field)("string"),
123
+ __metadata("design:type", String)
124
+ ], _T.prototype, "email", void 0);
125
+ const metadata = (0, common_1.getMetadata)(_T, common_1.DatumStaticMetadata);
126
+ (0, chai_1.expect)(metadata.fields.email).to.equal("string");
127
+ (0, chai_1.expect)(metadata.indexes.email).to.deep.equal(["email"]);
128
+ }
91
129
  async function CombineTableWithMixinsTest() {
92
130
  class TestMixin {
93
131
  testMethodUnunvailable() {
@@ -1 +1 @@
1
- {"version":3,"file":"table.test.js","sourceRoot":"","sources":["../../src/tests/table.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,6EAG0D;AAC1D,uFAAyF;AACzF,2EAIyD;AACzD,+BAA8B;AAE9B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE,CACtD,oCAAoC,EAAE,CAAC,CAAC;IAC1C,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE,CACnD,kCAAkC,EAAE,CAAC,CAAC;IACxC,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE,CAClD,iCAAiC,EAAE,CAAC,CAAC;IACvC,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE,CAC/C,8BAA8B,EAAE,CAAC,CAAC;IACpC,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE,CAAC,0BAA0B,EAAE,CAAC,CAAC;AAC7E,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,oCAAoC;IACjD,MAAM,SAAU,SAAQ,aAAK;QAE3B,IAAI,CAAU;KACf;IADC;QADC,IAAA,aAAK,GAAE;;2CACM;IAGhB,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,SAAS,EAAE,4BAAmB,CAAC,CAAC;IAE7D,IAAA,aAAM,EAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzC,IAAA,aAAM,EAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,kCAAkC;IAC/C,MAAM,SAAU,SAAQ,aAAK;QAE3B,KAAK,CAAU;QAGf,GAAG,CAAU;KACd;IAJC;QADC,IAAA,aAAK,GAAE;;4CACO;IAGf;QADC,IAAA,aAAK,GAAE;;0CACK;IAGf,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,SAAS,EAAE,4BAAmB,CAAC,CAAC;IAE7D,IAAA,aAAM,EAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzC,IAAA,aAAM,EAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,IAAA,aAAM,EAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,KAAK,UAAU,iCAAiC;IAC9C,MAAM,SAAU,SAAQ,aAAK;QAE3B,IAAI,CAAU;QAGd,KAAK,CAAU;QAGf,GAAG,CAAU;KACd;IAPC;QADC,IAAA,aAAK,EAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;;2CAClB;IAGd;QADC,IAAA,aAAK,EAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;;4CACjB;IAGf;QADC,IAAA,aAAK,EAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;;0CACjB;IAGf,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,SAAS,EAAE,4BAAmB,CAAC,CAAC;IAE7D,IAAA,aAAM,EAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzC,IAAA,aAAM,EAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtE,IAAA,aAAM,EAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,8BAA8B;IAC3C,MAAM,QAAQ,GAAG;QACf,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE;QAChC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE;KACjC,CAAC;IAGF,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,aAAK;QAC3B,IAAI,CAAU;KACf,CAAA;IAFK,SAAS;QADd,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;OAClB,SAAS,CAEd;IAED,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,SAAS,EAAE,4BAAmB,CAAC,CAAC;IAE7D,IAAA,aAAM,EAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC/C,IAAA,aAAM,EAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED,KAAK,UAAU,0BAA0B;IACvC,MAAM,SAAS;QACb,sBAAsB;YACpB,OAAO,iCAAiC,CAAC;QAC3C,CAAC;QAED,CAAC,oBAAW,CAAC,GAAG;YACd,UAAU;gBACR,OAAO,iBAAiB,CAAC;YAC3B,CAAC;SACF,CAAC;KACH;IAED,MAAM,SAAU,SAAQ,aAAK,CAAC,IAAI,CAAC,SAAS,CAAC;QAC3C,IAAI,CAAU;KACf;IAED,MAAM,QAAQ,GAAG,IAAI,SAAS,EAAE,CAAC;IACjC,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAChD,IAAA,aAAM,EAAE,QAAgB,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACnE,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IAChE,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"table.test.js","sourceRoot":"","sources":["../../src/tests/table.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antelopejs/interface-database-decorators",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "AntelopeJS interface for database schema decorators and model definitions",
5
5
  "keywords": [
6
6
  "antelopejs",
@@ -75,7 +75,7 @@
75
75
  "dependencies": {
76
76
  "@antelopejs/interface-api": "^0.0.3",
77
77
  "@antelopejs/interface-core": "^0.0.3",
78
- "@antelopejs/interface-database": "^0.1.0",
78
+ "@antelopejs/interface-database": "^0.1.1",
79
79
  "randomstring": "^1.3.1",
80
80
  "reflect-metadata": "^0.2.2"
81
81
  },
@@ -128,6 +128,7 @@
128
128
  }
129
129
  },
130
130
  "antelopeJs": {
131
+ "standalone": true,
131
132
  "test": "src/antelope.test.ts"
132
133
  }
133
134
  }