orchid-orm 1.77.0 → 1.77.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bun.d.ts +6 -17
- package/dist/bun.js +3 -2
- package/dist/bun.js.map +1 -1
- package/dist/bun.mjs +3 -2
- package/dist/bun.mjs.map +1 -1
- package/dist/index.d.ts +35 -47
- package/dist/index.js +26 -13
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +26 -13
- package/dist/index.mjs.map +1 -1
- package/dist/migrations/bun.js.map +1 -1
- package/dist/migrations/bun.mjs.map +1 -1
- package/dist/migrations/index.d.ts +2 -1
- package/dist/migrations/index.js +180 -58
- package/dist/migrations/index.js.map +1 -1
- package/dist/migrations/index.mjs +179 -56
- package/dist/migrations/index.mjs.map +1 -1
- package/dist/migrations/node-postgres.js.map +1 -1
- package/dist/migrations/node-postgres.mjs.map +1 -1
- package/dist/migrations/postgres-js.js.map +1 -1
- package/dist/migrations/postgres-js.mjs.map +1 -1
- package/dist/node-postgres.d.ts +6 -16
- package/dist/node-postgres.js +3 -2
- package/dist/node-postgres.js.map +1 -1
- package/dist/node-postgres.mjs +3 -2
- package/dist/node-postgres.mjs.map +1 -1
- package/dist/postgres-js.d.ts +6 -14
- package/dist/postgres-js.js +3 -2
- package/dist/postgres-js.js.map +1 -1
- package/dist/postgres-js.mjs +3 -2
- package/dist/postgres-js.mjs.map +1 -1
- package/package.json +4 -7
package/dist/bun.d.ts
CHANGED
|
@@ -1,24 +1,13 @@
|
|
|
1
|
-
import * as _$pqb_internal0 from "pqb/internal";
|
|
2
|
-
import { DbSharedOptions, EmptyObject } from "pqb/internal";
|
|
3
|
-
import * as _$pqb_bun0 from "pqb/bun";
|
|
4
|
-
import { BunAdapterOptions, bunSchemaConfig } from "pqb/bun";
|
|
5
1
|
import { OrchidORM, OrchidORMBundle, OrchidOrmParam, OrmTableThunks } from "orchid-orm";
|
|
2
|
+
import { BunAdapterOptions, bunSchemaConfig, createDb as createDb$1 } from "pqb/bun";
|
|
3
|
+
import { DbSharedOptions, EmptyObject } from "pqb/internal";
|
|
6
4
|
interface BunOrchidORMOptions extends BunAdapterOptions, DbSharedOptions {
|
|
7
5
|
views?: OrmTableThunks;
|
|
8
6
|
}
|
|
9
|
-
declare const Adapter:
|
|
10
|
-
declare const createDb:
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}: _$pqb_bun0.CreateBunDbOptions<SchemaConfig, ColumnTypes>) => _$pqb_internal0.DbResult<ColumnTypes>;
|
|
14
|
-
declare const makeOrchidOrmDb: <T extends OrmTableThunks, V extends OrmTableThunks = EmptyObject>(orm: OrchidORMBundle<T, V>, {
|
|
15
|
-
log,
|
|
16
|
-
...options
|
|
17
|
-
}: OrchidOrmParam<BunOrchidORMOptions>) => OrchidORM<T, V>;
|
|
18
|
-
declare const orchidORM: <T extends OrmTableThunks, V extends OrmTableThunks = EmptyObject>({
|
|
19
|
-
views,
|
|
20
|
-
...options
|
|
21
|
-
}: OrchidOrmParam<BunOrchidORMOptions & {
|
|
7
|
+
declare const Adapter: import("pqb/internal").DriverAdapter;
|
|
8
|
+
declare const createDb: typeof createDb$1;
|
|
9
|
+
declare const makeOrchidOrmDb: <T extends OrmTableThunks, V extends OrmTableThunks = EmptyObject>(orm: OrchidORMBundle<T, V>, { log, ...options }: OrchidOrmParam<BunOrchidORMOptions>) => OrchidORM<T, V>;
|
|
10
|
+
declare const orchidORM: <T extends OrmTableThunks, V extends OrmTableThunks = EmptyObject>({ views, ...options }: OrchidOrmParam<BunOrchidORMOptions & {
|
|
22
11
|
views?: V;
|
|
23
12
|
}>, tables: T) => OrchidORM<T, V>;
|
|
24
13
|
export { Adapter, BunOrchidORMOptions, bunSchemaConfig, createDb, makeOrchidOrmDb, orchidORM };
|
package/dist/bun.js
CHANGED
|
@@ -15,10 +15,11 @@ const makeOrchidOrmDb = (orm, { log, ...options }) => {
|
|
|
15
15
|
});
|
|
16
16
|
};
|
|
17
17
|
const orchidORM = ({ views, ...options }, tables) => {
|
|
18
|
-
|
|
18
|
+
const orm = (0, orchid_orm.bundleOrchidORM)({
|
|
19
19
|
tables,
|
|
20
20
|
views
|
|
21
|
-
})
|
|
21
|
+
});
|
|
22
|
+
return makeOrchidOrmDb(orm, options);
|
|
22
23
|
};
|
|
23
24
|
exports.Adapter = Adapter;
|
|
24
25
|
Object.defineProperty(exports, "bunSchemaConfig", {
|
package/dist/bun.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bun.js","names":["BunAdapter","cdb","AdapterClass"],"sources":["../src/adapters/bun.ts"],"sourcesContent":["import {\n OrmTableThunks,\n OrchidORM,\n OrchidORMBundle,\n OrchidOrmParam,\n bundleOrchidORM,\n makeOrchidOrmDbWithAdapter,\n} from 'orchid-orm';\nimport { BunAdapter, BunAdapterOptions, createDb as cdb } from 'pqb/bun';\nimport { DbSharedOptions, AdapterClass, EmptyObject } from 'pqb/internal';\nexport { bunSchemaConfig } from 'pqb/bun';\n\nexport interface BunOrchidORMOptions\n extends BunAdapterOptions, DbSharedOptions {\n views?: OrmTableThunks;\n}\n\nexport const Adapter = BunAdapter;\n\nexport const createDb = cdb;\n\nexport const makeOrchidOrmDb = <\n T extends OrmTableThunks,\n V extends OrmTableThunks = EmptyObject,\n>(\n orm: OrchidORMBundle<T, V>,\n { log, ...options }: OrchidOrmParam<BunOrchidORMOptions>,\n): OrchidORM<T, V> => {\n return makeOrchidOrmDbWithAdapter(orm, {\n ...options,\n log,\n adapter: new AdapterClass({\n driverAdapter: BunAdapter,\n config: options,\n }),\n });\n};\n\nexport const orchidORM = <\n T extends OrmTableThunks,\n V extends OrmTableThunks = EmptyObject,\n>(\n { views, ...options }: OrchidOrmParam<BunOrchidORMOptions & { views?: V }>,\n tables: T,\n): OrchidORM<T, V> => {\n const orm = bundleOrchidORM({ tables, views });\n return makeOrchidOrmDb(orm, options);\n};\n"],"mappings":";;;;AAiBA,MAAa,UAAUA,QAAAA;AAEvB,MAAa,WAAWC,QAAAA;AAExB,MAAa,mBAIX,KACA,EAAE,KAAK,GAAG,cACU;
|
|
1
|
+
{"version":3,"file":"bun.js","names":["BunAdapter","cdb","makeOrchidOrmDbWithAdapter","AdapterClass","bundleOrchidORM"],"sources":["../src/adapters/bun.ts"],"sourcesContent":["import {\n OrmTableThunks,\n OrchidORM,\n OrchidORMBundle,\n OrchidOrmParam,\n bundleOrchidORM,\n makeOrchidOrmDbWithAdapter,\n} from 'orchid-orm';\nimport { BunAdapter, BunAdapterOptions, createDb as cdb } from 'pqb/bun';\nimport { DbSharedOptions, AdapterClass, EmptyObject } from 'pqb/internal';\nexport { bunSchemaConfig } from 'pqb/bun';\n\nexport interface BunOrchidORMOptions\n extends BunAdapterOptions, DbSharedOptions {\n views?: OrmTableThunks;\n}\n\nexport const Adapter = BunAdapter;\n\nexport const createDb = cdb;\n\nexport const makeOrchidOrmDb = <\n T extends OrmTableThunks,\n V extends OrmTableThunks = EmptyObject,\n>(\n orm: OrchidORMBundle<T, V>,\n { log, ...options }: OrchidOrmParam<BunOrchidORMOptions>,\n): OrchidORM<T, V> => {\n return makeOrchidOrmDbWithAdapter(orm, {\n ...options,\n log,\n adapter: new AdapterClass({\n driverAdapter: BunAdapter,\n config: options,\n }),\n });\n};\n\nexport const orchidORM = <\n T extends OrmTableThunks,\n V extends OrmTableThunks = EmptyObject,\n>(\n { views, ...options }: OrchidOrmParam<BunOrchidORMOptions & { views?: V }>,\n tables: T,\n): OrchidORM<T, V> => {\n const orm = bundleOrchidORM({ tables, views });\n return makeOrchidOrmDb(orm, options);\n};\n"],"mappings":";;;;AAiBA,MAAa,UAAUA,QAAAA;AAEvB,MAAa,WAAWC,QAAAA;AAExB,MAAa,mBAIX,KACA,EAAE,KAAK,GAAG,cACU;CACpB,QAAA,GAAOC,WAAAA,2BAAAA,CAA2B,KAAK;EACrC,GAAG;EACH;EACA,SAAS,IAAIC,aAAAA,aAAa;GACxB,eAAeH,QAAAA;GACf,QAAQ;EACV,CAAC;CACH,CAAC;AACH;AAEA,MAAa,aAIX,EAAE,OAAO,GAAG,WACZ,WACoB;CACpB,MAAM,OAAA,GAAMI,WAAAA,gBAAAA,CAAgB;EAAE;EAAQ;CAAM,CAAC;CAC7C,OAAO,gBAAgB,KAAK,OAAO;AACrC"}
|
package/dist/bun.mjs
CHANGED
|
@@ -14,10 +14,11 @@ const makeOrchidOrmDb = (orm, { log, ...options }) => {
|
|
|
14
14
|
});
|
|
15
15
|
};
|
|
16
16
|
const orchidORM = ({ views, ...options }, tables) => {
|
|
17
|
-
|
|
17
|
+
const orm = bundleOrchidORM({
|
|
18
18
|
tables,
|
|
19
19
|
views
|
|
20
|
-
})
|
|
20
|
+
});
|
|
21
|
+
return makeOrchidOrmDb(orm, options);
|
|
21
22
|
};
|
|
22
23
|
export { Adapter, bunSchemaConfig, createDb, makeOrchidOrmDb, orchidORM };
|
|
23
24
|
|
package/dist/bun.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bun.mjs","names":["cdb"],"sources":["../src/adapters/bun.ts"],"sourcesContent":["import {\n OrmTableThunks,\n OrchidORM,\n OrchidORMBundle,\n OrchidOrmParam,\n bundleOrchidORM,\n makeOrchidOrmDbWithAdapter,\n} from 'orchid-orm';\nimport { BunAdapter, BunAdapterOptions, createDb as cdb } from 'pqb/bun';\nimport { DbSharedOptions, AdapterClass, EmptyObject } from 'pqb/internal';\nexport { bunSchemaConfig } from 'pqb/bun';\n\nexport interface BunOrchidORMOptions\n extends BunAdapterOptions, DbSharedOptions {\n views?: OrmTableThunks;\n}\n\nexport const Adapter = BunAdapter;\n\nexport const createDb = cdb;\n\nexport const makeOrchidOrmDb = <\n T extends OrmTableThunks,\n V extends OrmTableThunks = EmptyObject,\n>(\n orm: OrchidORMBundle<T, V>,\n { log, ...options }: OrchidOrmParam<BunOrchidORMOptions>,\n): OrchidORM<T, V> => {\n return makeOrchidOrmDbWithAdapter(orm, {\n ...options,\n log,\n adapter: new AdapterClass({\n driverAdapter: BunAdapter,\n config: options,\n }),\n });\n};\n\nexport const orchidORM = <\n T extends OrmTableThunks,\n V extends OrmTableThunks = EmptyObject,\n>(\n { views, ...options }: OrchidOrmParam<BunOrchidORMOptions & { views?: V }>,\n tables: T,\n): OrchidORM<T, V> => {\n const orm = bundleOrchidORM({ tables, views });\n return makeOrchidOrmDb(orm, options);\n};\n"],"mappings":";;;AAiBA,MAAa,UAAU;AAEvB,MAAa,WAAWA;AAExB,MAAa,mBAIX,KACA,EAAE,KAAK,GAAG,cACU;
|
|
1
|
+
{"version":3,"file":"bun.mjs","names":["cdb"],"sources":["../src/adapters/bun.ts"],"sourcesContent":["import {\n OrmTableThunks,\n OrchidORM,\n OrchidORMBundle,\n OrchidOrmParam,\n bundleOrchidORM,\n makeOrchidOrmDbWithAdapter,\n} from 'orchid-orm';\nimport { BunAdapter, BunAdapterOptions, createDb as cdb } from 'pqb/bun';\nimport { DbSharedOptions, AdapterClass, EmptyObject } from 'pqb/internal';\nexport { bunSchemaConfig } from 'pqb/bun';\n\nexport interface BunOrchidORMOptions\n extends BunAdapterOptions, DbSharedOptions {\n views?: OrmTableThunks;\n}\n\nexport const Adapter = BunAdapter;\n\nexport const createDb = cdb;\n\nexport const makeOrchidOrmDb = <\n T extends OrmTableThunks,\n V extends OrmTableThunks = EmptyObject,\n>(\n orm: OrchidORMBundle<T, V>,\n { log, ...options }: OrchidOrmParam<BunOrchidORMOptions>,\n): OrchidORM<T, V> => {\n return makeOrchidOrmDbWithAdapter(orm, {\n ...options,\n log,\n adapter: new AdapterClass({\n driverAdapter: BunAdapter,\n config: options,\n }),\n });\n};\n\nexport const orchidORM = <\n T extends OrmTableThunks,\n V extends OrmTableThunks = EmptyObject,\n>(\n { views, ...options }: OrchidOrmParam<BunOrchidORMOptions & { views?: V }>,\n tables: T,\n): OrchidORM<T, V> => {\n const orm = bundleOrchidORM({ tables, views });\n return makeOrchidOrmDb(orm, options);\n};\n"],"mappings":";;;AAiBA,MAAa,UAAU;AAEvB,MAAa,WAAWA;AAExB,MAAa,mBAIX,KACA,EAAE,KAAK,GAAG,cACU;CACpB,OAAO,2BAA2B,KAAK;EACrC,GAAG;EACH;EACA,SAAS,IAAI,aAAa;GACxB,eAAe;GACf,QAAQ;EACV,CAAC;CACH,CAAC;AACH;AAEA,MAAa,aAIX,EAAE,OAAO,GAAG,WACZ,WACoB;CACpB,MAAM,MAAM,gBAAgB;EAAE;EAAQ;CAAM,CAAC;CAC7C,OAAO,gBAAgB,KAAK,OAAO;AACrC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ interface BelongsToOptions<Columns extends Column.Shape.QueryInit = Column.Shape
|
|
|
12
12
|
foreignKey?: boolean | TableData.References.Options;
|
|
13
13
|
on?: ColumnsShape.InputPartial<Related['columns']['shape']>;
|
|
14
14
|
}
|
|
15
|
-
type BelongsToParams<T extends RelationConfigSelf, FK extends string> = { [Name in FK]: T['columns']['shape'][Name]['__type'] };
|
|
15
|
+
type BelongsToParams<T extends RelationConfigSelf, FK extends string> = { [Name in FK]: T['columns']['shape'][Name]['__type']; };
|
|
16
16
|
type BelongsToDefaultRequired<T extends RelationConfigSelf, Rel extends BelongsTo$1, Related> = Related extends {
|
|
17
17
|
softDelete: true;
|
|
18
18
|
} ? false : BelongsToDefaultRequiredFromColumns<T, Rel>;
|
|
@@ -22,10 +22,10 @@ type BelongsToColumnRequired<Column> = Column extends {
|
|
|
22
22
|
isNullable: true;
|
|
23
23
|
};
|
|
24
24
|
} ? false : true;
|
|
25
|
-
type BelongsToQuery<T extends Query, Name extends string> = { [P in keyof T]: P extends '__selectable' ? SelectableFromShape<T['shape'], Name> : P extends '__as' ? Name : P extends CreateMethodsNames | DeleteMethodsNames ? never : T[P] } & QueryHasWhere;
|
|
25
|
+
type BelongsToQuery<T extends Query, Name extends string> = { [P in keyof T]: P extends '__selectable' ? SelectableFromShape<T['shape'], Name> : P extends '__as' ? Name : P extends CreateMethodsNames | DeleteMethodsNames ? never : T[P]; } & QueryHasWhere;
|
|
26
26
|
interface BelongsToDataForCreate<Name extends string, FK extends string, Required, Q extends Query> {
|
|
27
27
|
columns: FK;
|
|
28
|
-
nested: Q extends Query.Pick.IsNotReadOnly ? Required extends true ? { [Key in Name]: RelationToOneDataForCreateSameQuery<Q
|
|
28
|
+
nested: Q extends Query.Pick.IsNotReadOnly ? Required extends true ? { [Key in Name]: RelationToOneDataForCreateSameQuery<Q>; } : { [Key in Name]?: RelationToOneDataForCreateSameQuery<Q>; } : { [Key in Name]?: never; };
|
|
29
29
|
}
|
|
30
30
|
interface BelongsToInfo<T extends RelationConfigSelf, FK extends string, Required, Q extends Query> extends RelationConfigBase {
|
|
31
31
|
returnsOne: true;
|
|
@@ -77,7 +77,7 @@ interface HasMany$1 extends RelationThunkBase {
|
|
|
77
77
|
type: 'hasMany';
|
|
78
78
|
options: HasOneOptions;
|
|
79
79
|
}
|
|
80
|
-
type HasManyQuery<T extends RelationConfigSelf, Name extends string, TableQuery extends Query> = T['relations'][Name]['options'] extends RelationRefsOptions$1 ? { [K in keyof TableQuery]: K extends '__defaults' ? { [K in keyof TableQuery['__defaults'] | T['relations'][Name]['options']['references'][number]]: true } : K extends '__selectable' ? SelectableFromShape<TableQuery['shape'], Name> : K extends '__as' ? Name : TableQuery[K] } & QueryHasWhere : HasOneQueryThrough<Name, TableQuery>;
|
|
80
|
+
type HasManyQuery<T extends RelationConfigSelf, Name extends string, TableQuery extends Query> = T['relations'][Name]['options'] extends RelationRefsOptions$1 ? { [K in keyof TableQuery]: K extends '__defaults' ? { [K in keyof TableQuery['__defaults'] | T['relations'][Name]['options']['references'][number]]: true; } : K extends '__selectable' ? SelectableFromShape<TableQuery['shape'], Name> : K extends '__as' ? Name : TableQuery[K]; } & QueryHasWhere : HasOneQueryThrough<Name, TableQuery>;
|
|
81
81
|
interface HasManyInfo<T extends RelationConfigSelf, Name extends string, Rel extends HasMany$1, Q extends Query> extends RelationConfigBase {
|
|
82
82
|
returnsOne: false;
|
|
83
83
|
query: Q;
|
|
@@ -90,7 +90,7 @@ interface HasManyInfo<T extends RelationConfigSelf, Name extends string, Rel ext
|
|
|
90
90
|
where: WhereArg<Q>;
|
|
91
91
|
create: CreateData<Q>;
|
|
92
92
|
}[];
|
|
93
|
-
} : never };
|
|
93
|
+
} : never; };
|
|
94
94
|
dataForUpdate: Q extends Query.Pick.IsNotReadOnly ? {
|
|
95
95
|
disconnect?: MaybeArray<WhereArg<Q>>;
|
|
96
96
|
delete?: MaybeArray<WhereArg<Q>>;
|
|
@@ -124,9 +124,9 @@ interface RelationHasOneThroughOptions<Through extends string> extends RelationT
|
|
|
124
124
|
required?: boolean;
|
|
125
125
|
}
|
|
126
126
|
type HasOneOptions<Columns extends Column.Shape.QueryInit = Column.Shape.QueryInit, Related extends ORMTableInput = ORMTableInput, Through extends string = string> = RelationRefsOptions$1<keyof Columns, Related['columns']['shape']> | RelationHasOneThroughOptions<Through>;
|
|
127
|
-
type HasOneParams<T extends RelationConfigSelf, Options> = Options extends RelationRefsOptions$1 ? { [Name in Options['columns'][number]]: T['columns']['shape'][Name]['__type'] } : Options extends RelationThroughOptions$1 ? RelationConfigParams<T, T['relations'][Options['through']]> : never;
|
|
128
|
-
type HasOneQueryThrough<Name extends string, TableQuery extends Query> = { [K in keyof TableQuery]: K extends '__selectable' ? SelectableFromShape<TableQuery['shape'], Name> : K extends '__as' ? Name : K extends CreateMethodsNames ? never : TableQuery[K] } & QueryHasWhere;
|
|
129
|
-
type HasOneQuery<T extends RelationConfigSelf, Name extends string, TableQuery extends Query> = T['relations'][Name]['options'] extends RelationRefsOptions$1 ? { [K in keyof TableQuery]: K extends '__defaults' ? { [K in keyof TableQuery['__defaults'] | T['relations'][Name]['options']['references'][number]]: true } : K extends '__selectable' ? SelectableFromShape<TableQuery['shape'], Name> : K extends '__as' ? Name : K extends CreateManyMethodsNames ? never : TableQuery[K] } & QueryHasWhere : HasOneQueryThrough<Name, TableQuery>;
|
|
127
|
+
type HasOneParams<T extends RelationConfigSelf, Options> = Options extends RelationRefsOptions$1 ? { [Name in Options['columns'][number]]: T['columns']['shape'][Name]['__type']; } : Options extends RelationThroughOptions$1 ? RelationConfigParams<T, T['relations'][Options['through']]> : never;
|
|
128
|
+
type HasOneQueryThrough<Name extends string, TableQuery extends Query> = { [K in keyof TableQuery]: K extends '__selectable' ? SelectableFromShape<TableQuery['shape'], Name> : K extends '__as' ? Name : K extends CreateMethodsNames ? never : TableQuery[K]; } & QueryHasWhere;
|
|
129
|
+
type HasOneQuery<T extends RelationConfigSelf, Name extends string, TableQuery extends Query> = T['relations'][Name]['options'] extends RelationRefsOptions$1 ? { [K in keyof TableQuery]: K extends '__defaults' ? { [K in keyof TableQuery['__defaults'] | T['relations'][Name]['options']['references'][number]]: true; } : K extends '__selectable' ? SelectableFromShape<TableQuery['shape'], Name> : K extends '__as' ? Name : K extends CreateManyMethodsNames ? never : TableQuery[K]; } & QueryHasWhere : HasOneQueryThrough<Name, TableQuery>;
|
|
130
130
|
interface HasOneInfo<T extends RelationConfigSelf, Name extends string, Rel extends HasOne$1, Q extends Query> extends RelationConfigBase {
|
|
131
131
|
returnsOne: true;
|
|
132
132
|
required: Rel['options']['required'];
|
|
@@ -136,7 +136,7 @@ interface HasOneInfo<T extends RelationConfigSelf, Name extends string, Rel exte
|
|
|
136
136
|
dataForCreate: { [K in Name]?: Q extends Query.Pick.IsNotReadOnly ? Rel['options'] extends RelationThroughOptions$1 ? EmptyObject : RelationToOneDataForCreate<{
|
|
137
137
|
nestedCreateQuery: CreateData<Q>;
|
|
138
138
|
table: Q;
|
|
139
|
-
}> : never };
|
|
139
|
+
}> : never; };
|
|
140
140
|
dataForUpdate: Q extends Query.Pick.IsNotReadOnly ? {
|
|
141
141
|
disconnect: boolean;
|
|
142
142
|
} | {
|
|
@@ -180,8 +180,8 @@ interface HasAndBelongsToManyOptions$1<Columns extends Column.Shape.QueryInit =
|
|
|
180
180
|
};
|
|
181
181
|
on?: ColumnsShape.InputPartial<Related['columns']['shape']>;
|
|
182
182
|
}
|
|
183
|
-
type HasAndBelongsToManyParams<T extends RelationConfigSelf, FK extends string> = { [Name in FK]: T['columns']['shape'][Name]['__type'] };
|
|
184
|
-
type HasAndBelongsToManyQuery<Name extends string, TableQuery extends Query> = { [K in keyof TableQuery]: K extends '__selectable' ? SelectableFromShape<TableQuery['shape'], Name> : K extends '__as' ? Name : TableQuery[K] } & QueryHasWhere;
|
|
183
|
+
type HasAndBelongsToManyParams<T extends RelationConfigSelf, FK extends string> = { [Name in FK]: T['columns']['shape'][Name]['__type']; };
|
|
184
|
+
type HasAndBelongsToManyQuery<Name extends string, TableQuery extends Query> = { [K in keyof TableQuery]: K extends '__selectable' ? SelectableFromShape<TableQuery['shape'], Name> : K extends '__as' ? Name : TableQuery[K]; } & QueryHasWhere;
|
|
185
185
|
interface HasAndBelongsToManyInfo<T extends RelationConfigSelf, Name extends string, FK extends string, Q extends Query> extends RelationConfigBase {
|
|
186
186
|
returnsOne: false;
|
|
187
187
|
query: Q;
|
|
@@ -196,7 +196,7 @@ interface HasAndBelongsToManyInfo<T extends RelationConfigSelf, Name extends str
|
|
|
196
196
|
}[];
|
|
197
197
|
} : {
|
|
198
198
|
connect?: WhereArg<Q>[];
|
|
199
|
-
} };
|
|
199
|
+
}; };
|
|
200
200
|
dataForUpdate: Q extends Query.Pick.IsNotReadOnly ? {
|
|
201
201
|
disconnect?: MaybeArray<WhereArg<Q>>;
|
|
202
202
|
set?: MaybeArray<WhereArg<Q>>;
|
|
@@ -348,7 +348,7 @@ declare namespace OrmTable {
|
|
|
348
348
|
/**
|
|
349
349
|
* Sets column values before a create, update, or save action.
|
|
350
350
|
*/
|
|
351
|
-
set(data: { [K in keyof ColumnsShape.InputPartial<Columns>]?: ColumnsShape.InputPartial<Columns>[K] | (() => QueryOrExpression<ColumnsShape.InputPartial<Columns>[K]>) }): void;
|
|
351
|
+
set(data: { [K in keyof ColumnsShape.InputPartial<Columns>]?: ColumnsShape.InputPartial<Columns>[K] | (() => QueryOrExpression<ColumnsShape.InputPartial<Columns>[K]>); }): void;
|
|
352
352
|
}
|
|
353
353
|
export interface InitHooks<Columns extends ColumnsShape> {
|
|
354
354
|
/**
|
|
@@ -598,7 +598,7 @@ declare namespace OrmTable {
|
|
|
598
598
|
}
|
|
599
599
|
export namespace Relations {
|
|
600
600
|
type Resolve<Relations> = Relations extends ((...args: never[]) => infer Result) ? ResolveMany<Result> : Relations;
|
|
601
|
-
type ResolveMany<Relations> = { [K in keyof Relations]: ResolveOne<Relations[K]
|
|
601
|
+
type ResolveMany<Relations> = { [K in keyof Relations]: ResolveOne<Relations[K]>; };
|
|
602
602
|
type ResolveOne<Relation> = Relation extends BelongsTo<infer C, infer Fn, infer Required> ? ResolvedBelongsTo<TargetId<Fn>, C, TargetReferences<Fn>, Required> : Relation extends HasOne<infer C, infer Fn, infer Required> ? ResolvedHasOne<TargetId<Fn>, C, TargetReferences<Fn>, Required> : Relation extends HasMany<infer C, infer Fn> ? ResolvedHasMany<TargetId<Fn>, C, TargetReferences<Fn>> : Relation extends HasAndBelongsToMany<infer C, infer Fn, infer Options> ? ResolveHasAndBelongsToMany<C, Fn, Options> : Relation extends HasOneThrough<infer Fn, infer Required> ? ResolvedHasOneThrough<TargetId<Fn>, ResolveHasOneThroughOptions<RelationThroughOptions<TargetThrough<Fn>>, Required>> : Relation extends HasManyThrough<infer Fn> ? ResolvedHasManyThrough<TargetId<Fn>, RelationThroughOptions<TargetThrough<Fn>>> : Relation;
|
|
603
603
|
type ResolveHasAndBelongsToMany<C extends string[], Fn extends Function, Options, References extends string[] = TargetReferences<Fn>> = ResolvedHasAndBelongsToMany<TargetId<Fn>, C, References, ResolveHasAndBelongsToManyOptions<C, References, Options>>;
|
|
604
604
|
type TargetResult<Fn extends Function> = Fn extends (() => infer Result) ? Result : never;
|
|
@@ -991,11 +991,11 @@ type OrmTableInstance<T> = T extends {
|
|
|
991
991
|
type TableInstance<T> = T extends {
|
|
992
992
|
new (): infer R extends ORMTableInput;
|
|
993
993
|
} ? R : OrmTableInstance<T>;
|
|
994
|
-
type OrchidORMTables<TT extends OrmTableThunks = OrmTableThunks, VT extends OrmTableThunks = OrmTableThunks> = { [K in keyof TT]: OrchidORMTableHelper<TableQueryBuilder<TT, VT, TableInstance<TT[K]
|
|
994
|
+
type OrchidORMTables<TT extends OrmTableThunks = OrmTableThunks, VT extends OrmTableThunks = OrmTableThunks> = { [K in keyof TT]: OrchidORMTableHelper<TableQueryBuilder<TT, VT, TableInstance<TT[K]>>>; };
|
|
995
995
|
type OrchidORMBundle<TT extends OrmTableThunks = OrmTableThunks, VT extends OrmTableThunks = OrmTableThunks> = OrchidORMTables<TT, VT> & {
|
|
996
996
|
$views: OrchidORMTables<VT, TT>;
|
|
997
997
|
};
|
|
998
|
-
type OrchidORMDbTables<TT extends OrmTableThunks = OrmTableThunks, VT extends OrmTableThunks = OrmTableThunks> = { [K in keyof TT]: TableQueryBuilder<TT, VT, TableInstance<TT[K]
|
|
998
|
+
type OrchidORMDbTables<TT extends OrmTableThunks = OrmTableThunks, VT extends OrmTableThunks = OrmTableThunks> = { [K in keyof TT]: TableQueryBuilder<TT, VT, TableInstance<TT[K]>>; };
|
|
999
999
|
type OrchidORM<TT extends OrmTableThunks = OrmTableThunks, VT extends OrmTableThunks = OrmTableThunks> = OrchidORMDbTables<TT, VT> & {
|
|
1000
1000
|
$views: OrchidORMDbTables<VT, TT>;
|
|
1001
1001
|
} & OrchidORMMethods;
|
|
@@ -1160,10 +1160,7 @@ interface OrchidORMSetupOptions<V extends OrmTableThunks = OrmTableThunks> exten
|
|
|
1160
1160
|
*/
|
|
1161
1161
|
views?: V;
|
|
1162
1162
|
}
|
|
1163
|
-
declare const bundleOrchidORM: <T extends OrmTableThunks = EmptyObject, V extends OrmTableThunks = EmptyObject>({
|
|
1164
|
-
tables,
|
|
1165
|
-
views
|
|
1166
|
-
}: {
|
|
1163
|
+
declare const bundleOrchidORM: <T extends OrmTableThunks = EmptyObject, V extends OrmTableThunks = EmptyObject>({ tables, views }: {
|
|
1167
1164
|
tables?: T;
|
|
1168
1165
|
views?: V;
|
|
1169
1166
|
}) => OrchidORMBundle<T, V>;
|
|
@@ -1223,7 +1220,7 @@ type RelationThunk = BelongsTo$1 | HasOne$1 | HasMany$1 | HasAndBelongsToMany$1;
|
|
|
1223
1220
|
interface RelationThunks {
|
|
1224
1221
|
[K: string]: RelationThunk;
|
|
1225
1222
|
}
|
|
1226
|
-
type TableInstances<T extends OrmTableThunks> = { [K in keyof T]: TableInstance<T[K]
|
|
1223
|
+
type TableInstances<T extends OrmTableThunks> = { [K in keyof T]: TableInstance<T[K]>; };
|
|
1227
1224
|
type TableClassInstances<T extends OrmTableThunks> = TableInstances<T>[keyof T];
|
|
1228
1225
|
type RelationToTableInputById<Tables, Id extends string> = Tables extends {
|
|
1229
1226
|
id: Id;
|
|
@@ -1232,10 +1229,10 @@ type RelationToTableInputByName<T extends OrmTableThunks, Id extends string> = {
|
|
|
1232
1229
|
table: Id;
|
|
1233
1230
|
} | {
|
|
1234
1231
|
name: Id;
|
|
1235
|
-
} ? TableInstances<T>[K] : never }[keyof T];
|
|
1236
|
-
type RelationToTableInputFromClasses<T extends OrmTableThunks, Id extends string> = RelationToTableInputById<TableClassInstances<T>, Id> extends infer Result ? [Result] extends [never] ? RelationToTableInputByName<T, Id> : Result : never;
|
|
1237
|
-
type RelationToTableInput<TT extends OrmTableThunks, VT extends OrmTableThunks, Rel extends RelationThunkBase> = RelationToTableInputFromClasses<TT, Rel['id']> extends infer Result ? [Result] extends [never] ? RelationToTableInputFromClasses<VT, Rel['id']> extends infer Result ? [Result] extends [never] ? false : Result : never : Result : never;
|
|
1238
|
-
type RelationTableToQuery<TT extends OrmTableThunks, VT extends OrmTableThunks, Rel extends RelationThunkBase> = RelationToTableInput<TT, VT, Rel> extends infer Result extends ORMTableInput ? TableQueryBuilder<TT, VT, Result> : never;
|
|
1232
|
+
} ? TableInstances<T>[K] : never; }[keyof T];
|
|
1233
|
+
type RelationToTableInputFromClasses<T extends OrmTableThunks, Id extends string> = RelationToTableInputById<TableClassInstances<T>, Id> extends (infer Result) ? [Result] extends [never] ? RelationToTableInputByName<T, Id> : Result : never;
|
|
1234
|
+
type RelationToTableInput<TT extends OrmTableThunks, VT extends OrmTableThunks, Rel extends RelationThunkBase> = RelationToTableInputFromClasses<TT, Rel['id']> extends (infer Result) ? [Result] extends [never] ? RelationToTableInputFromClasses<VT, Rel['id']> extends (infer Result) ? [Result] extends [never] ? false : Result : never : Result : never;
|
|
1235
|
+
type RelationTableToQuery<TT extends OrmTableThunks, VT extends OrmTableThunks, Rel extends RelationThunkBase> = RelationToTableInput<TT, VT, Rel> extends (infer Result extends ORMTableInput) ? TableQueryBuilder<TT, VT, Result> : never;
|
|
1239
1236
|
interface RelationConfigSelf {
|
|
1240
1237
|
columns: {
|
|
1241
1238
|
shape: Column.Shape.QueryInit;
|
|
@@ -1258,17 +1255,17 @@ type BelongsToRequired<T extends RelationConfigSelf, Rel extends BelongsTo$1, Re
|
|
|
1258
1255
|
} ? Required : Rel['options'] extends {
|
|
1259
1256
|
on: unknown;
|
|
1260
1257
|
} ? false : BelongsToDefaultRequired<T, Rel, Related>;
|
|
1261
|
-
type BelongsToRelationInfo<TC extends OrmTableThunks, VC extends OrmTableThunks, T extends RelationConfigSelf, Name extends string, Rel extends BelongsTo$1> = RelationToTableInput<TC, VC, Rel> extends infer Related extends ORMTableInput ? BelongsToInfo<T, Rel['options']['columns'][number] & string, BelongsToRequired<T, Rel, Related>, BelongsToQuery<TableQueryBuilder<TC, VC, Related>, Name>> : never;
|
|
1262
|
-
type BelongsToCreateData<TC extends OrmTableThunks, VC extends OrmTableThunks, T extends RelationConfigSelf, Name extends string, Rel extends BelongsTo$1> = RelationToTableInput<TC, VC, Rel> extends infer Related extends ORMTableInput ? BelongsToDataForCreate<Name, Rel['options']['columns'][number] & string, BelongsToRequired<T, Rel, Related>, BelongsToQuery<TableQueryBuilder<TC, VC, Related>, Name>> : never;
|
|
1258
|
+
type BelongsToRelationInfo<TC extends OrmTableThunks, VC extends OrmTableThunks, T extends RelationConfigSelf, Name extends string, Rel extends BelongsTo$1> = RelationToTableInput<TC, VC, Rel> extends (infer Related extends ORMTableInput) ? BelongsToInfo<T, Rel['options']['columns'][number] & string, BelongsToRequired<T, Rel, Related>, BelongsToQuery<TableQueryBuilder<TC, VC, Related>, Name>> : never;
|
|
1259
|
+
type BelongsToCreateData<TC extends OrmTableThunks, VC extends OrmTableThunks, T extends RelationConfigSelf, Name extends string, Rel extends BelongsTo$1> = RelationToTableInput<TC, VC, Rel> extends (infer Related extends ORMTableInput) ? BelongsToDataForCreate<Name, Rel['options']['columns'][number] & string, BelongsToRequired<T, Rel, Related>, BelongsToQuery<TableQueryBuilder<TC, VC, Related>, Name>> : never;
|
|
1263
1260
|
type RelationDataForCreate<TC extends OrmTableThunks, VC extends OrmTableThunks, T extends RelationConfigSelf, Name extends keyof T['relations'] & string, Rel> = Rel extends HasOne$1 ? HasOneInfo<T, Name, Rel, HasOneQuery<T, Name, RelationTableToQuery<TC, VC, Rel>>>['dataForCreate'] : Rel extends HasMany$1 ? HasManyInfo<T, Name, Rel, HasManyQuery<T, Name, RelationTableToQuery<TC, VC, Rel>>>['dataForCreate'] : Rel extends HasAndBelongsToMany$1 ? HasAndBelongsToManyInfo<T, Name, Rel['options']['columns'][number] & string, HasAndBelongsToManyQuery<Name, RelationTableToQuery<TC, VC, Rel>>>['dataForCreate'] : never;
|
|
1264
1261
|
type RelationInfoForName<TC extends OrmTableThunks, VC extends OrmTableThunks, T extends RelationConfigSelf, Name extends keyof T['relations'] & string, Rel> = Rel extends BelongsTo$1 ? BelongsToRelationInfo<TC, VC, T, Name, Rel> : Rel extends HasOne$1 ? HasOneInfo<T, Name, Rel, HasOneQuery<T, Name, RelationTableToQuery<TC, VC, Rel>>> : Rel extends HasMany$1 ? HasManyInfo<T, Name, Rel, HasManyQuery<T, Name, RelationTableToQuery<TC, VC, Rel>>> : Rel extends HasAndBelongsToMany$1 ? HasAndBelongsToManyInfo<T, Name, Rel['options']['columns'][number] & string, HasAndBelongsToManyQuery<Name, RelationTableToQuery<TC, VC, Rel>>> : never;
|
|
1265
|
-
type RelationDataForCreateOptionalNames<T extends RelationConfigSelf> = { [K in keyof T['relations'] & string]: T['relations'][K] extends BelongsTo$1 ? never : K }[keyof T['relations'] & string];
|
|
1262
|
+
type RelationDataForCreateOptionalNames<T extends RelationConfigSelf> = { [K in keyof T['relations'] & string]: T['relations'][K] extends BelongsTo$1 ? never : K; }[keyof T['relations'] & string];
|
|
1266
1263
|
type RelationDataForCreateValue<TC extends OrmTableThunks, VC extends OrmTableThunks, T extends RelationConfigSelf, Name extends keyof T['relations'] & string> = RelationDataForCreate<TC, VC, T, Name, T['relations'][Name]>[Name];
|
|
1267
1264
|
type BelongsToRelationCreateData<TC extends OrmTableThunks, VC extends OrmTableThunks, T extends RelationConfigSelf, Name extends keyof T['relations']> = Name extends keyof T['relations'] & string ? T['relations'][Name] extends BelongsTo$1 ? BelongsToCreateData<TC, VC, T, Name, T['relations'][Name]> : never : never;
|
|
1268
|
-
type BelongsToRelationsDataForCreate<TC extends OrmTableThunks, VC extends OrmTableThunks, T extends RelationConfigSelf> = { [K in keyof T['relations'] as T['relations'][K] extends BelongsTo$1 ? T['relations'][K]['options']['columns'][number] & string : never]: BelongsToRelationCreateData<TC, VC, T, K
|
|
1269
|
-
type RelationsDataForCreateOptional<TC extends OrmTableThunks, VC extends OrmTableThunks, T extends RelationConfigSelf, Names extends keyof T['relations'] & string = RelationDataForCreateOptionalNames<T>> = [Names] extends [never] ? EmptyObject : { [K in Names]?: RelationDataForCreateValue<TC, VC, T, K
|
|
1265
|
+
type BelongsToRelationsDataForCreate<TC extends OrmTableThunks, VC extends OrmTableThunks, T extends RelationConfigSelf> = { [K in keyof T['relations'] as T['relations'][K] extends BelongsTo$1 ? T['relations'][K]['options']['columns'][number] & string : never]: BelongsToRelationCreateData<TC, VC, T, K>; };
|
|
1266
|
+
type RelationsDataForCreateOptional<TC extends OrmTableThunks, VC extends OrmTableThunks, T extends RelationConfigSelf, Names extends keyof T['relations'] & string = RelationDataForCreateOptionalNames<T>> = [Names] extends [never] ? EmptyObject : { [K in Names]?: RelationDataForCreateValue<TC, VC, T, K>; };
|
|
1270
1267
|
interface TableQueryBuilder<TC extends OrmTableThunks, VC extends OrmTableThunks, T extends ORMTableInput> extends TableInfo, Db<T['table'] extends string ? T['table'] : T['name'], T['columns']['shape'], T['columns']['data'], T['types'], T['table'] extends string ? T['readOnly'] extends true ? true : undefined : T['readOnly'] extends false ? undefined : true, T> {
|
|
1271
|
-
relations: T extends RelationConfigSelf ? { [K in keyof T['relations'] & string]: RelationInfoForName<TC, VC, T, K, T['relations'][K]
|
|
1268
|
+
relations: T extends RelationConfigSelf ? { [K in keyof T['relations'] & string]: RelationInfoForName<TC, VC, T, K, T['relations'][K]>; } : EmptyObject;
|
|
1272
1269
|
relationsDataForCreate: T extends RelationConfigSelf ? BelongsToRelationsDataForCreate<TC, VC, T> : EmptyObject;
|
|
1273
1270
|
relationsDataForCreateOptional: T extends RelationConfigSelf ? RelationsDataForCreateOptional<TC, VC, T> : EmptyObject;
|
|
1274
1271
|
}
|
|
@@ -1341,7 +1338,7 @@ type Queryable<T extends AnyTableForTypeHelpers> = T extends {
|
|
|
1341
1338
|
data: {
|
|
1342
1339
|
columns: infer Shape extends Column.Shape.QueryInit;
|
|
1343
1340
|
};
|
|
1344
|
-
} ? { [K in keyof Shape]?: Shape[K]['__queryType'] } : never;
|
|
1341
|
+
} ? { [K in keyof Shape]?: Shape[K]['__queryType']; } : never;
|
|
1345
1342
|
type DefaultSelect<T extends AnyTableForTypeHelpers> = T extends OrmTableForTypeHelpers ? ColumnsShape.DefaultOutput<T['data']['columns']> : T extends OrmLegacyTableForTypeHelpers ? ColumnsShape.DefaultOutput<T['columns']['shape']> : never;
|
|
1346
1343
|
type SelectableFromShapeAndComputed<Shape extends Column.Shape.QueryInit, Computed> = Computed extends undefined ? ColumnsShape.Output<Shape> : Computed extends ((t: never) => infer R extends ComputedOptionsConfig) ? ColumnsShape.Output<Shape> & { [K in keyof R]: R[K] extends {
|
|
1347
1344
|
result: {
|
|
@@ -1351,7 +1348,7 @@ type SelectableFromShapeAndComputed<Shape extends Column.Shape.QueryInit, Comput
|
|
|
1351
1348
|
result: {
|
|
1352
1349
|
value: infer Value extends Column.Pick.QueryColumn;
|
|
1353
1350
|
};
|
|
1354
|
-
}) ? Value['__outputType'] : never } : ColumnsShape.Output<Shape>;
|
|
1351
|
+
}) ? Value['__outputType'] : never; } : ColumnsShape.Output<Shape>;
|
|
1355
1352
|
type Selectable<T extends AnyTableForTypeHelpers> = T extends OrmTableForTypeHelpers ? SelectableFromShapeAndComputed<T['data']['columns'], T['data']['computed']> : T extends OrmLegacyTableForTypeHelpers ? SelectableFromShapeAndComputed<T['columns']['shape'], T['computed']> : never;
|
|
1356
1353
|
type Insertable<T extends AnyTableForTypeHelpers> = T extends {
|
|
1357
1354
|
columns: {
|
|
@@ -1623,18 +1620,9 @@ interface BaseMaterializedViewInstance<ColumnTypes> extends BaseTableInstance<Co
|
|
|
1623
1620
|
readonly materialized: true;
|
|
1624
1621
|
withData?: boolean;
|
|
1625
1622
|
}
|
|
1626
|
-
declare function createBaseTable<SchemaConfig extends ColumnSchemaConfig = DefaultSchemaConfig, ColumnTypes = DefaultColumnTypes<SchemaConfig>>({
|
|
1627
|
-
schemaConfig,
|
|
1628
|
-
columnTypes: columnTypesArg,
|
|
1629
|
-
snakeCase,
|
|
1630
|
-
filePath: filePathArg,
|
|
1631
|
-
nowSQL,
|
|
1632
|
-
exportAs,
|
|
1633
|
-
language,
|
|
1634
|
-
autoForeignKeys
|
|
1635
|
-
}?: TableFactoryOptions<SchemaConfig, ColumnTypes>): BaseTableClass<SchemaConfig, ColumnTypes>;
|
|
1623
|
+
declare function createBaseTable<SchemaConfig extends ColumnSchemaConfig = DefaultSchemaConfig, ColumnTypes = DefaultColumnTypes<SchemaConfig>>({ schemaConfig, columnTypes: columnTypesArg, snakeCase, filePath: filePathArg, nowSQL, exportAs, language, autoForeignKeys }?: TableFactoryOptions<SchemaConfig, ColumnTypes>): BaseTableClass<SchemaConfig, ColumnTypes>;
|
|
1636
1624
|
type QueryMethods<T extends Query> = Record<string, (q: T, ...args: any[]) => any>;
|
|
1637
|
-
type QueryOne<T extends Query> = { [K in keyof T]: K extends 'returnType' ? Exclude<QueryReturnType, 'all' | undefined> : T[K] };
|
|
1625
|
+
type QueryOne<T extends Query> = { [K in keyof T]: K extends 'returnType' ? Exclude<QueryReturnType, 'all' | undefined> : T[K]; };
|
|
1638
1626
|
interface MethodsBase<T extends Query> {
|
|
1639
1627
|
queryMethods?: QueryMethods<T>;
|
|
1640
1628
|
queryOneMethods?: QueryMethods<QueryOne<T>>;
|
|
@@ -1643,10 +1631,10 @@ interface MethodsBase<T extends Query> {
|
|
|
1643
1631
|
methods?: RecordUnknown;
|
|
1644
1632
|
}
|
|
1645
1633
|
type MapQueryMethods<BaseQuery extends Query, Method> = Method extends ((q: any, ...args: infer Args) => infer Result) ? <T extends BaseQuery>(this: T, ...args: Args) => Result extends Query ? MergeQuery<T, Result> : Result : never;
|
|
1646
|
-
type MapMethods<T extends Query, Methods extends MethodsBase<T>> = { [K in keyof Methods['queryMethods'] | keyof Methods['queryOneMethods'] | keyof Methods['queryWithWhereMethods'] | keyof Methods['queryOneWithWhereMethods'] | keyof Methods['methods']]: K extends keyof Methods['methods'] ? Methods['methods'][K] : K extends keyof Methods['queryOneWithWhereMethods'] ? MapQueryMethods<QueryOne<Query & QueryHasWhere>, Methods['queryOneWithWhereMethods'][K]> : K extends keyof Methods['queryWithWhereMethods'] ? MapQueryMethods<Query & QueryHasWhere, Methods['queryWithWhereMethods'][K]> : K extends keyof Methods['queryOneMethods'] ? MapQueryMethods<QueryOne<Query>, Methods['queryOneMethods'][K]> : K extends keyof Methods['queryMethods'] ? MapQueryMethods<Query, Methods['queryMethods'][K]> : never };
|
|
1634
|
+
type MapMethods<T extends Query, Methods extends MethodsBase<T>> = { [K in keyof Methods['queryMethods'] | keyof Methods['queryOneMethods'] | keyof Methods['queryWithWhereMethods'] | keyof Methods['queryOneWithWhereMethods'] | keyof Methods['methods']]: K extends keyof Methods['methods'] ? Methods['methods'][K] : K extends keyof Methods['queryOneWithWhereMethods'] ? MapQueryMethods<QueryOne<Query & QueryHasWhere>, Methods['queryOneWithWhereMethods'][K]> : K extends keyof Methods['queryWithWhereMethods'] ? MapQueryMethods<Query & QueryHasWhere, Methods['queryWithWhereMethods'][K]> : K extends keyof Methods['queryOneMethods'] ? MapQueryMethods<QueryOne<Query>, Methods['queryOneMethods'][K]> : K extends keyof Methods['queryMethods'] ? MapQueryMethods<Query, Methods['queryMethods'][K]> : never; };
|
|
1647
1635
|
type Repo<T extends Query, Methods extends MethodsBase<T>> = T & MapMethods<T, Methods>;
|
|
1648
1636
|
declare const createRepo: <T extends Query, Methods extends MethodsBase<T>>(table: T, methods: Methods) => Repo<(<Q extends {
|
|
1649
|
-
table: T[
|
|
1650
|
-
shape: T[
|
|
1637
|
+
table: T['table'];
|
|
1638
|
+
shape: T['shape'];
|
|
1651
1639
|
}>(q: Q) => Query & Q & MapMethods<T, Methods>) & T, Methods>;
|
|
1652
1640
|
export { BaseMaterializedViewInstance, BaseTableClass, BaseTableInstance, BaseViewInstance, DefaultSelect, FromQuery, Insertable, MapMethods, MapQueryMethods, MethodsBase, ORMTableInput, OrchidORM, OrchidORMBundle, OrchidORMDbTables, OrchidORMSetupOptions, OrchidORMTables, OrchidOrmParam, OrmLegacyTableForTypeHelpers, OrmTable, OrmTableForTypeHelpers, OrmTableThunks, PickORMTableComputed, PickORMTableInputColumns, PickORMTableInputColumnsAndComputed, Queryable, Repo, Selectable, SetColumnsResult, Table$1 as Table, TableClass, TableInfo, TableInstance, TableQueryBuilder, Updatable, bundleOrchidORM, bundleOrchidORMTables, createBaseTable, createRepo, createTableFactory, defineRls, makeOrchidOrmDbWithAdapter, orchidORMWithAdapter, setGrants };
|
package/dist/index.js
CHANGED
|
@@ -818,7 +818,8 @@ var BelongsToVirtualColumn = class extends pqb_internal.VirtualColumn {
|
|
|
818
818
|
(0, pqb_internal._onUpsertUpdate)(queryForCreate, (as) => {
|
|
819
819
|
createWhereNotExists._sql = `NOT EXISTS (SELECT 1 FROM "${as}")`;
|
|
820
820
|
});
|
|
821
|
-
|
|
821
|
+
const sourceQuery = (0, pqb_internal._queryWhere)((0, pqb_internal._queryTake)((0, pqb_internal._querySelect)((0, pqb_internal._clone)(query.qb), [{}])), [createWhereNotExists]);
|
|
822
|
+
createQuery = (0, pqb_internal._queryInsertManyFrom)(selectPKeys, sourceQuery, create.values);
|
|
822
823
|
} else createQuery = (0, pqb_internal._queryInsertMany)(selectPKeys, create.values);
|
|
823
824
|
const setForeignKeys = (as) => {
|
|
824
825
|
const count = create.items.length;
|
|
@@ -903,7 +904,8 @@ const nestedUpdate$2 = ({ query, primaryKeys, foreignKeys, len }) => {
|
|
|
903
904
|
return ((self, update, params) => {
|
|
904
905
|
if (params.create) {
|
|
905
906
|
const createQuery = (0, pqb_internal._querySelect)((0, pqb_internal._queryCreate)(query.clone(), params.create), primaryKeys);
|
|
906
|
-
|
|
907
|
+
const asFn = setForeignKeysFromCte(update, primaryKeys, foreignKeys);
|
|
908
|
+
(0, pqb_internal._prependWith)(self, asFn, createQuery);
|
|
907
909
|
} else if (params.update) {
|
|
908
910
|
let appendedAs;
|
|
909
911
|
(0, pqb_internal._hookSelectColumns)(self, foreignKeys, (aliasedForeignKeys) => {
|
|
@@ -917,7 +919,8 @@ const nestedUpdate$2 = ({ query, primaryKeys, foreignKeys, len }) => {
|
|
|
917
919
|
if ((0, pqb_internal.isQueryReturnsAll)(self)) throw new Error("`upsert` option is not allowed in a batch update");
|
|
918
920
|
const { relQuery } = relWithSelectIds(self, query, primaryKeys, foreignKeys);
|
|
919
921
|
const upsertQuery = (0, pqb_internal._querySelect)((0, pqb_internal._queryUpsert)(relQuery, params.upsert), primaryKeys);
|
|
920
|
-
|
|
922
|
+
const asFn = setForeignKeysFromCte(update, primaryKeys, foreignKeys);
|
|
923
|
+
(0, pqb_internal._prependWith)(self, asFn, upsertQuery);
|
|
921
924
|
} else if (params.delete) {
|
|
922
925
|
(0, pqb_internal._hookSelectColumns)(self, foreignKeys, pqb_internal.noop);
|
|
923
926
|
disconnect(update, foreignKeys);
|
|
@@ -939,7 +942,10 @@ const nestedUpdate$2 = ({ query, primaryKeys, foreignKeys, len }) => {
|
|
|
939
942
|
(loadForeignKeys ??= []).push(foreignKeys[i]);
|
|
940
943
|
}
|
|
941
944
|
}
|
|
942
|
-
if (loadPrimaryKeys)
|
|
945
|
+
if (loadPrimaryKeys) {
|
|
946
|
+
const asFn = setForeignKeysFromCte(update, loadPrimaryKeys, loadForeignKeys, true);
|
|
947
|
+
(0, pqb_internal._prependWith)(self, asFn, (0, pqb_internal._queryFindBy)(query.select(...loadPrimaryKeys), params.set));
|
|
948
|
+
}
|
|
943
949
|
}
|
|
944
950
|
});
|
|
945
951
|
};
|
|
@@ -1118,11 +1124,13 @@ var HasOneVirtualColumn = class extends pqb_internal.VirtualColumn {
|
|
|
1118
1124
|
const nullifyOrDeleteQuery = params.update ? (0, pqb_internal._queryUpdate)(ids.existingRelQuery, params.update) : params.upsert ? (0, pqb_internal._queryUpsert)(ids.existingRelQuery, makeNestedUpdateUpsertData(params.upsert, ids.setIds)) : params.delete ? (0, pqb_internal._queryDelete)(ids.existingRelQuery) : (0, pqb_internal._queryUpdate)(ids.existingRelQuery, this.setNulls);
|
|
1119
1125
|
nullifyOrDeleteQuery.q.returnType = "void";
|
|
1120
1126
|
(0, pqb_internal._appendQuery)(querySelf, nullifyOrDeleteQuery, ids.setAppendedAs);
|
|
1121
|
-
if (params.create)
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1127
|
+
if (params.create) {
|
|
1128
|
+
const createQuery = (0, pqb_internal._queryInsert)((0, pqb_internal._clone)(relQuery), {
|
|
1129
|
+
...params.create,
|
|
1130
|
+
...ids.setIds
|
|
1131
|
+
});
|
|
1132
|
+
(0, pqb_internal._appendQuery)(querySelf, createQuery, pqb_internal.noop);
|
|
1133
|
+
} else if (params.set) {
|
|
1126
1134
|
const setQuery = (0, pqb_internal._queryUpdate)((0, pqb_internal._queryWhere)((0, pqb_internal._clone)(relQuery), [params.set]), ids.setIds);
|
|
1127
1135
|
setQuery.q.returnType = "void";
|
|
1128
1136
|
(0, pqb_internal._appendQuery)(querySelf, setQuery, pqb_internal.noop);
|
|
@@ -1606,10 +1614,11 @@ const nestedUpdateUpsert = (querySelf, state, upsert) => {
|
|
|
1606
1614
|
parentIdsSql._sql = selectCteColumnsSql(parentAs, aliasedPrimaryKeys);
|
|
1607
1615
|
for (let i = 0; i < state.foreignKeys.length; i++) parentValues[i]._sql = selectCteColumnSql(parentAs, aliasedPrimaryKeys[i]);
|
|
1608
1616
|
});
|
|
1609
|
-
const
|
|
1617
|
+
const existingRelQuery = (0, pqb_internal._queryWhereExists)((0, pqb_internal._queryWhere)((0, pqb_internal._clone)(state.relatedTableQuery), [upsert.findBy]), state.joinTableQuery, [(q) => {
|
|
1610
1618
|
for (let i = 0; i < state.throughPrimaryKeys.length; i++) (0, pqb_internal._queryJoinOn)(q, [state.throughForeignKeysFull[i], state.throughPrimaryKeysFull[i]]);
|
|
1611
1619
|
return (0, pqb_internal._queryWhereIn)(q, true, state.foreignKeysFull, parentIdsSql);
|
|
1612
|
-
}])
|
|
1620
|
+
}]);
|
|
1621
|
+
const upsertQuery = (0, pqb_internal._querySelect)((0, pqb_internal._queryUpsert)(existingRelQuery, {
|
|
1613
1622
|
update: upsert.update,
|
|
1614
1623
|
create: upsert.create || {}
|
|
1615
1624
|
}), state.throughPrimaryKeys);
|
|
@@ -1912,7 +1921,8 @@ const nestedUpdate = (state) => {
|
|
|
1912
1921
|
}
|
|
1913
1922
|
if (params.disconnect) await (0, pqb_internal._queryDelete)(queryJoinTable(state, data, params.disconnect));
|
|
1914
1923
|
if (params.delete) {
|
|
1915
|
-
const
|
|
1924
|
+
const j = queryJoinTable(state, data, params.delete);
|
|
1925
|
+
const idsRows = await (0, pqb_internal._queryDelete)((0, pqb_internal._queryRows)((0, pqb_internal._querySelect)(j, state.throughForeignKeys)));
|
|
1916
1926
|
await (0, pqb_internal._queryDelete)(state.relatedTableQuery.where({ IN: {
|
|
1917
1927
|
columns: state.throughPrimaryKeys,
|
|
1918
1928
|
values: idsRows
|
|
@@ -1921,7 +1931,10 @@ const nestedUpdate = (state) => {
|
|
|
1921
1931
|
if (params.set) {
|
|
1922
1932
|
const j = queryJoinTable(state, data);
|
|
1923
1933
|
await (0, pqb_internal._queryDelete)(j);
|
|
1924
|
-
if (Array.isArray(params.set) ? params.set.length : (0, pqb_internal.objectHasValues)(params.set))
|
|
1934
|
+
if (Array.isArray(params.set) ? params.set.length : (0, pqb_internal.objectHasValues)(params.set)) {
|
|
1935
|
+
const idsRows = await (0, pqb_internal._queryRows)((0, pqb_internal._querySelect)(state.relatedTableQuery.where(conditionsToWhereArg(params.set)), state.throughPrimaryKeys));
|
|
1936
|
+
await insertToJoinTable(state, j, data, idsRows);
|
|
1937
|
+
}
|
|
1925
1938
|
}
|
|
1926
1939
|
});
|
|
1927
1940
|
};
|