@vibeorm/dsl 2.0.0-alpha.7 → 2.0.0-alpha.8

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/README.md CHANGED
@@ -77,7 +77,7 @@ Relations are declared separately from columns, in `dsl.defineRelations(models,
77
77
 
78
78
  - One side: `r.one.X({ from, to, optional?, alias?, onDelete?, onUpdate? })`.
79
79
  - Many side: `r.many.X({ from, to })`.
80
- - Implicit many-to-many: both sides `r.many`.
80
+ - Implicit many-to-many: both sides `r.many`, between two DIFFERENT models. A many-to-many from a model to itself is refused (`VIBE_SCHEMA_INVALID`, rule `implicit-self-many-to-many`) because both sides would own the same join-table column; use an explicit junction model with one foreign key per direction.
81
81
  - Explicit many-to-many, through a junction model: `r.many.Group({ from: r.User.id.through(r.UserGroup.userId), to: r.Group.id.through(r.UserGroup.groupId) })`.
82
82
  - Self-relations, and several relations between the same pair of models, disambiguate with `alias`.
83
83
 
package/dist/column.d.ts CHANGED
@@ -8,6 +8,7 @@
8
8
  * dsl.int().default(42)
9
9
  * dsl.string({ optional: true })
10
10
  */
11
+ import type { EnumStorage } from "@vibeorm/schema";
11
12
  import type { BaseColumnConfig, BigIntColumnConfig, BooleanColumnConfig, BytesColumnConfig, ColumnDef, ColumnType, DatetimeColumnConfig, DecimalColumnConfig, ExtensionTypeConfig, FloatColumnConfig, IdColumnConfig, IdGeneratorType, InlineEnumConfig, IntColumnConfig, JsonColumnConfig, StringColumnConfig } from "./types.ts";
12
13
  /**
13
14
  * Shallow-clones a column definition with a fresh `__config`, so columns
@@ -24,6 +25,7 @@ export declare class ChainableColumn<T extends ColumnType = ColumnType> implemen
24
25
  __name?: string;
25
26
  __enumValues?: readonly string[];
26
27
  __enumName?: string;
28
+ __enumStorage?: EnumStorage;
27
29
  constructor(columnType: T, config?: BaseColumnConfig);
28
30
  /** Marks the column nullable (`Type?`). */
29
31
  optional(): this;
@@ -49,6 +51,8 @@ export declare class ChainableStringColumn extends ChainableColumn<"string"> {
49
51
  maxLength(n: number): this;
50
52
  /** `@db.Text` */
51
53
  text(): this;
54
+ /** `@collation("...")` — explicit column collation (mysql-rendered; inert on postgres/sqlite). */
55
+ collation(name: string): this;
52
56
  }
53
57
  /** Decimal column carrying precision/scale. */
54
58
  export declare class ChainableDecimalColumn extends ChainableColumn<"decimal"> {
@@ -78,6 +82,7 @@ export declare class ChainableEnumColumn<T extends readonly string[] = readonly
78
82
  options: T;
79
83
  config?: BaseColumnConfig;
80
84
  enumName?: string;
85
+ storage?: EnumStorage;
81
86
  });
82
87
  /** Sets the default to one of the declared options. */
83
88
  default(value: T[number]): this;
@@ -1 +1 @@
1
- {"version":3,"file":"column.d.ts","sourceRoot":"","sources":["../src/column.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"column.d.ts","sourceRoot":"","sources":["../src/column.ts"],"names":[],"mappings":"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"}
package/dist/enum.d.ts CHANGED
@@ -9,11 +9,18 @@
9
9
  * schema: { id: dsl.id(), status: Status.field().default("active") },
10
10
  * });
11
11
  */
12
+ import type { EnumStorage } from "@vibeorm/schema";
12
13
  import type { EnumDef } from "./types.ts";
13
14
  /** Config for a standalone enum — a `name` is what makes it standalone. */
14
15
  export type StandaloneEnumConfig<T extends readonly string[] = readonly string[]> = {
15
16
  name: string;
16
17
  options: T;
18
+ /**
19
+ * Physical storage. `"database"` (default) keeps the native projection
20
+ * (PostgreSQL enum type, MySQL ENUM, SQLite CHECK); `"string"` stores an
21
+ * ordinary String column and lets VibeORM enforce membership.
22
+ */
23
+ storage?: EnumStorage;
17
24
  };
18
25
  /**
19
26
  * Creates a reusable enum. Its `field()` yields a chainable enum column that
@@ -1 +1 @@
1
- {"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../src/enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAmB,MAAM,YAAY,CAAC;AAI3D,2EAA2E;AAC3E,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,IAAI;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,CAAC;CACZ,CAAC;AAIF;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,EAC1D,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC9B,OAAO,CAAC,CAAC,CAAC,CAUZ"}
1
+ {"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../src/enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,KAAK,EAAE,OAAO,EAA+B,MAAM,YAAY,CAAC;AAIvE,2EAA2E;AAC3E,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,IAAI;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,CAAC;IACX;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC;AAUF;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,EAC1D,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC9B,OAAO,CAAC,CAAC,CAAC,CAYZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"prisma.d.ts","sourceRoot":"","sources":["../../src/generator/prisma.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAIV,qBAAqB,EACrB,SAAS,EAEV,MAAM,aAAa,CAAC;AAsQrB;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,GAAE,qBAA0B,GAAG,MAAM,CAyB7F"}
1
+ {"version":3,"file":"prisma.d.ts","sourceRoot":"","sources":["../../src/generator/prisma.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAIV,qBAAqB,EACrB,SAAS,EAEV,MAAM,aAAa,CAAC;AAwRrB;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,GAAE,qBAA0B,GAAG,MAAM,CAwC7F"}
package/dist/index.d.ts CHANGED
@@ -35,10 +35,12 @@
35
35
  import type { ExtensionRegistry, Provider, SchemaIR } from "@vibeorm/schema";
36
36
  import type { ChainableColumn, ChainableDatetimeColumn, ChainableDecimalColumn, ChainableEnumColumn, ChainableIdColumn, ChainableStringColumn } from "./column.ts";
37
37
  import type { StandaloneEnumConfig } from "./enum.ts";
38
+ import { defineRelations, defineRelationsPart, mergeRelations } from "./relations.ts";
39
+ import { defineRls } from "./schema.ts";
38
40
  import type { SchemaOptions } from "./schema.ts";
39
41
  import type { TemplatesApi } from "./templates.ts";
40
42
  import type { ValidationError } from "./validate.ts";
41
- import type { BigIntColumnConfig, BooleanColumnConfig, BytesColumnConfig, CreateModelConfig, DatetimeColumnConfig, DecimalColumnConfig, EnumDef, ExtensionTypeConfig, FloatColumnConfig, GeneratorOutput, IdColumnConfig, InlineEnumConfig, IntColumnConfig, JsonColumnConfig, ModelDef, PrismaGeneratorConfig, RelationsBuilder, RelationsMap, RelationsOutput, SchemaDef, SchemaDefinition, SchemaInput, StringColumnConfig } from "./types.ts";
43
+ import type { BigIntColumnConfig, BooleanColumnConfig, BytesColumnConfig, CreateModelConfig, DatetimeColumnConfig, DecimalColumnConfig, EnumDef, ExtensionTypeConfig, FloatColumnConfig, GeneratorOutput, IdColumnConfig, InlineEnumConfig, IntColumnConfig, JsonColumnConfig, ModelDef, PrismaGeneratorConfig, SchemaDef, SchemaDefinition, SchemaInput, StringColumnConfig } from "./types.ts";
42
44
  export { ChainableColumn, ChainableDatetimeColumn, ChainableDecimalColumn, ChainableEnumColumn, ChainableIdColumn, ChainableStringColumn, cloneColumnDef, } from "./column.ts";
43
45
  export { createEnum } from "./enum.ts";
44
46
  export { generatePrisma } from "./generator/prisma.ts";
@@ -46,7 +48,7 @@ export { create, createIndexBuilder, evaluateIndexes, getColumnNames } from "./m
46
48
  export { children, createChildrenBuilder } from "./relation.ts";
47
49
  export { detectOneToOnePairs, planSchema, resolveRelationType } from "./relation-plan.ts";
48
50
  export { defineRelations, defineRelationsPart, mergeRelations } from "./relations.ts";
49
- export { domain, schema } from "./schema.ts";
51
+ export { defineRls, domain, schema } from "./schema.ts";
50
52
  export { base, baseWithWorkspace, fields, templates, withActive, withAudit, withExternalId, withMetadata, withNameDescription, } from "./templates.ts";
51
53
  export { toIR } from "./to-ir.ts";
52
54
  export { validateSchema } from "./validate.ts";
@@ -55,7 +57,7 @@ export type { MergedOneToOneSide, PlannedIndex, PlannedRelation, PlannedRelation
55
57
  export type { SchemaOptions } from "./schema.ts";
56
58
  export type { ActiveTemplate, AuditTemplate, BaseTemplate, BaseWithWorkspaceTemplate, ExternalIdTemplate, FieldsTemplate, MetadataTemplate, NameDescriptionTemplate, TemplatesApi, } from "./templates.ts";
57
59
  export type { ValidationError } from "./validate.ts";
58
- export type { BaseColumnConfig, BigIntColumnConfig, BooleanColumnConfig, BytesColumnConfig, CascadeAction, ChildrenBuilder, ChildrenDef, ChildrenRelationConfig, ChildrenSchemaCallback, ColumnDef, ColumnKeys, ColumnRef, ColumnType, CreateModelConfig, DatetimeColumnConfig, DecimalColumnConfig, EnumDef, EnumFieldConfig, ExtensionAttributeUse, ExtensionTypeConfig, FloatColumnConfig, GeneratorOutput, IdColumnConfig, IdGeneratorType, IndexBuilder, IndexCallback, IndexDef, IndexOptions, ModelCheckConfig, UniqueIndexOptions, IndexType, InlineEnumConfig, IntColumnConfig, JsonColumnConfig, ManyRelationDefConfig, ModelColumnRefs, ModelDef, OneRelationDefConfig, PrismaGeneratorConfig, RelationsBuilder, RelationsMap, RelationsOutput, SchemaColumnNames, SchemaDef, SchemaDefinition, SchemaInput, StoredRelationDef, StringColumnConfig, ThroughRef, UnsupportedColumnConfig, } from "./types.ts";
60
+ export type { DefineRlsOptions, MergedRelations, RlsColumnKind, RlsContextRef, RlsContextRefs, RlsDef, RlsPolicies, BaseColumnConfig, BigIntColumnConfig, BooleanColumnConfig, BytesColumnConfig, CascadeAction, ChildrenBuilder, ChildrenDef, ChildrenRelationConfig, ChildrenSchemaCallback, ColumnDef, ColumnKeys, ColumnRef, ColumnType, CreateModelConfig, DatetimeColumnConfig, DecimalColumnConfig, EnumDef, EnumFieldConfig, EnumStorage, EnumValues, ExtensionAttributeUse, ExtensionTypeConfig, FloatColumnConfig, GeneratorOutput, IdColumnConfig, IdGeneratorType, IndexBuilder, IndexCallback, IndexDef, IndexOptions, ModelCheckConfig, ModelPolicyConfig, UniqueIndexOptions, IndexType, InlineEnumConfig, IntColumnConfig, JsonColumnConfig, ManyRelationDefConfig, ModelColumnRefs, ModelDef, OneRelationDefConfig, PrismaGeneratorConfig, RelationsBuilder, RelationsMap, RelationsOutput, SchemaColumnNames, SchemaDef, SchemaDefinition, SchemaInput, StoredRelationDef, StringColumnConfig, ThroughRef, UnsupportedColumnConfig, } from "./types.ts";
59
61
  /**
60
62
  * Creates an enum: standalone (reusable, has a `name`) or inline (one-off).
61
63
  *
@@ -91,9 +93,10 @@ export type DslApi = {
91
93
  readonly extensionType: (config: ExtensionTypeConfig) => ChainableColumn<"unsupported">;
92
94
  readonly enum: EnumFactory;
93
95
  readonly create: <const TSchema extends SchemaDefinition>(config: CreateModelConfig<TSchema>) => ModelDef<TSchema>;
94
- readonly defineRelations: <TSchema extends Record<string, ModelDef>>(models: TSchema, callback: (r: RelationsBuilder<TSchema>) => RelationsOutput<TSchema>) => RelationsMap;
95
- readonly defineRelationsPart: <TSchema extends Record<string, ModelDef>>(models: TSchema, callback: (r: RelationsBuilder<TSchema>) => Partial<RelationsOutput<TSchema>>) => RelationsMap;
96
- readonly mergeRelations: (...parts: RelationsMap[]) => RelationsMap;
96
+ readonly defineRelations: typeof defineRelations;
97
+ readonly defineRelationsPart: typeof defineRelationsPart;
98
+ readonly mergeRelations: typeof mergeRelations;
99
+ readonly defineRls: typeof defineRls;
97
100
  readonly schema: (input: SchemaInput, options?: SchemaOptions) => SchemaDef;
98
101
  readonly domain: (params: {
99
102
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}