orchid-orm 1.9.10 → 1.9.12
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/index.d.ts +97 -97
- package/dist/index.js +17 -17
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +18 -18
- package/dist/index.mjs.map +1 -1
- package/package.json +6 -5
package/dist/index.d.ts
CHANGED
|
@@ -150,7 +150,7 @@ type Table = {
|
|
|
150
150
|
noPrimaryKey?: boolean;
|
|
151
151
|
filePath: string;
|
|
152
152
|
};
|
|
153
|
-
declare const createBaseTable: <CT extends
|
|
153
|
+
declare const createBaseTable: <CT extends Record<string, orchid_core.AnyColumnTypeCreator>>({ columnTypes, snakeCase, filePath, }?: {
|
|
154
154
|
columnTypes?: CT | ((t: DefaultColumnTypes) => CT) | undefined;
|
|
155
155
|
snakeCase?: boolean | undefined;
|
|
156
156
|
filePath?: string | undefined;
|
|
@@ -161,7 +161,7 @@ declare const createBaseTable: <CT extends ColumnTypesBase>({ columnTypes, snake
|
|
|
161
161
|
schema?: string | undefined;
|
|
162
162
|
noPrimaryKey?: boolean | undefined;
|
|
163
163
|
snakeCase: boolean | undefined;
|
|
164
|
-
columnTypes:
|
|
164
|
+
columnTypes: Record<string, orchid_core.AnyColumnTypeCreator> extends CT ? {
|
|
165
165
|
timestamps: <T extends orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>(this: {
|
|
166
166
|
name(name: string): {
|
|
167
167
|
timestamp(): T;
|
|
@@ -182,49 +182,49 @@ declare const createBaseTable: <CT extends ColumnTypesBase>({ columnTypes, snake
|
|
|
182
182
|
};
|
|
183
183
|
name: typeof orchid_core.name;
|
|
184
184
|
raw: (sql: string, values?: false | Record<string, unknown> | undefined) => orchid_core.RawExpression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>;
|
|
185
|
-
smallint(
|
|
186
|
-
integer(
|
|
187
|
-
bigint(
|
|
188
|
-
numeric<Precision extends number | undefined = undefined, Scale extends number | undefined = undefined>(
|
|
189
|
-
decimal<Precision_1 extends number | undefined = undefined, Scale_1 extends number | undefined = undefined>(
|
|
190
|
-
real(
|
|
191
|
-
doublePrecision(
|
|
192
|
-
identity(
|
|
193
|
-
smallSerial(
|
|
194
|
-
serial(
|
|
195
|
-
bigSerial(
|
|
196
|
-
money(
|
|
197
|
-
varchar<Limit extends number | undefined = undefined>(
|
|
198
|
-
char<Limit_1 extends number | undefined = undefined>(
|
|
199
|
-
text: (
|
|
200
|
-
string: (
|
|
201
|
-
citext(
|
|
202
|
-
bytea(
|
|
203
|
-
date(
|
|
204
|
-
timestampWithoutTimeZone<Precision_2 extends number>(
|
|
205
|
-
timestamp<Precision_3 extends number | undefined = undefined>(
|
|
206
|
-
time<Precision_4 extends number | undefined = undefined>(
|
|
207
|
-
interval<Fields extends string | undefined = undefined, Precision_5 extends number | undefined = undefined>(
|
|
208
|
-
boolean(
|
|
209
|
-
enum<U extends string, T_2 extends [U, ...U[]]>(
|
|
210
|
-
point(
|
|
211
|
-
line(
|
|
212
|
-
lseg(
|
|
213
|
-
box(
|
|
214
|
-
path(
|
|
215
|
-
polygon(
|
|
216
|
-
circle(
|
|
217
|
-
cidr(
|
|
218
|
-
inet(
|
|
219
|
-
macaddr(
|
|
220
|
-
macaddr8(
|
|
221
|
-
bit<Length extends number>(
|
|
222
|
-
bitVarying<Length_1 extends number | undefined = undefined>(
|
|
223
|
-
tsvector(
|
|
224
|
-
tsquery(
|
|
225
|
-
uuid(
|
|
226
|
-
xml(
|
|
227
|
-
json<Type extends orchid_core.JSONTypeAny>(
|
|
185
|
+
smallint(): pqb.SmallIntColumn;
|
|
186
|
+
integer(): pqb.IntegerColumn;
|
|
187
|
+
bigint(): pqb.BigIntColumn;
|
|
188
|
+
numeric<Precision extends number | undefined = undefined, Scale extends number | undefined = undefined>(precision?: Precision | undefined, scale?: Scale | undefined): pqb.DecimalColumn<Precision, Scale>;
|
|
189
|
+
decimal<Precision_1 extends number | undefined = undefined, Scale_1 extends number | undefined = undefined>(precision?: Precision_1 | undefined, scale?: Scale_1 | undefined): pqb.DecimalColumn<Precision_1, Scale_1>;
|
|
190
|
+
real(): pqb.RealColumn;
|
|
191
|
+
doublePrecision(): pqb.DoublePrecisionColumn;
|
|
192
|
+
identity(options?: pqb.TableData.Identity | undefined): pqb.IntegerColumn;
|
|
193
|
+
smallSerial(): pqb.SmallSerialColumn;
|
|
194
|
+
serial(): pqb.SerialColumn;
|
|
195
|
+
bigSerial(): pqb.BigSerialColumn;
|
|
196
|
+
money(): pqb.MoneyColumn;
|
|
197
|
+
varchar<Limit extends number | undefined = undefined>(limit?: Limit | undefined): pqb.VarCharColumn<Limit>;
|
|
198
|
+
char<Limit_1 extends number | undefined = undefined>(limit?: Limit_1 | undefined): pqb.CharColumn<Limit_1>;
|
|
199
|
+
text: (min: number, max: number) => pqb.TextColumn;
|
|
200
|
+
string: (min: number, max: number) => pqb.TextColumn;
|
|
201
|
+
citext(min: number, max: number): pqb.CitextColumn;
|
|
202
|
+
bytea(): pqb.ByteaColumn;
|
|
203
|
+
date(): pqb.DateColumn;
|
|
204
|
+
timestampWithoutTimeZone<Precision_2 extends number>(precision?: Precision_2 | undefined): pqb.TimestampColumn<Precision_2>;
|
|
205
|
+
timestamp<Precision_3 extends number | undefined = undefined>(precision?: Precision_3 | undefined): pqb.TimestampTzColumn<number>;
|
|
206
|
+
time<Precision_4 extends number | undefined = undefined>(precision?: Precision_4 | undefined): pqb.TimeColumn<Precision_4>;
|
|
207
|
+
interval<Fields extends string | undefined = undefined, Precision_5 extends number | undefined = undefined>(fields?: Fields | undefined, precision?: Precision_5 | undefined): pqb.IntervalColumn<Fields, Precision_5>;
|
|
208
|
+
boolean(): pqb.BooleanColumn;
|
|
209
|
+
enum<U extends string, T_2 extends [U, ...U[]]>(dataType: string, type: T_2): pqb.EnumColumn<U, T_2>;
|
|
210
|
+
point(): pqb.PointColumn;
|
|
211
|
+
line(): pqb.LineColumn;
|
|
212
|
+
lseg(): pqb.LsegColumn;
|
|
213
|
+
box(): pqb.BoxColumn;
|
|
214
|
+
path(): pqb.PathColumn;
|
|
215
|
+
polygon(): pqb.PolygonColumn;
|
|
216
|
+
circle(): pqb.CircleColumn;
|
|
217
|
+
cidr(): pqb.CidrColumn;
|
|
218
|
+
inet(): pqb.InetColumn;
|
|
219
|
+
macaddr(): pqb.MacAddrColumn;
|
|
220
|
+
macaddr8(): pqb.MacAddr8Column;
|
|
221
|
+
bit<Length extends number>(length: Length): pqb.BitColumn<Length>;
|
|
222
|
+
bitVarying<Length_1 extends number | undefined = undefined>(length?: Length_1 | undefined): pqb.BitVaryingColumn<Length_1>;
|
|
223
|
+
tsvector(): pqb.TsVectorColumn;
|
|
224
|
+
tsquery(): pqb.TsQueryColumn;
|
|
225
|
+
uuid(): pqb.UUIDColumn;
|
|
226
|
+
xml(): pqb.XMLColumn;
|
|
227
|
+
json<Type extends orchid_core.JSONTypeAny>(schemaOrFn: Type | ((j: {
|
|
228
228
|
set: <Value extends orchid_core.JSONTypeAny>(valueType: Value) => orchid_core.JSONSet<Value>;
|
|
229
229
|
tuple: <T_3 extends [] | orchid_core.JSONTupleItems, Rest extends orchid_core.JSONTypeAny | null = null>(items: T_3, rest?: Rest) => orchid_core.JSONTuple<T_3, Rest>;
|
|
230
230
|
union: <T_4 extends [orchid_core.JSONTypeAny, orchid_core.JSONTypeAny, ...orchid_core.JSONTypeAny[]]>(types: T_4) => orchid_core.JSONUnion<T_4>;
|
|
@@ -257,10 +257,10 @@ declare const createBaseTable: <CT extends ColumnTypesBase>({ columnTypes, snake
|
|
|
257
257
|
optional: <T_17 extends orchid_core.JSONTypeAny>(type: T_17) => orchid_core.JSONOptional<T_17>;
|
|
258
258
|
record: typeof orchid_core.record;
|
|
259
259
|
}) => Type)): pqb.JSONColumn<Type>;
|
|
260
|
-
jsonText(
|
|
261
|
-
array<Item extends pqb.ColumnType<unknown, orchid_core.BaseOperators, unknown>>(
|
|
262
|
-
type(
|
|
263
|
-
domain(
|
|
260
|
+
jsonText(): pqb.JSONTextColumn;
|
|
261
|
+
array<Item extends pqb.ColumnType<unknown, orchid_core.BaseOperators, unknown>>(item: Item): pqb.ArrayColumn<Item>;
|
|
262
|
+
type(dataType: string): pqb.CustomTypeColumn;
|
|
263
|
+
domain(dataType: string): pqb.DomainColumn;
|
|
264
264
|
primaryKey(columns: string[], options?: {
|
|
265
265
|
name?: string | undefined;
|
|
266
266
|
} | undefined): {};
|
|
@@ -279,7 +279,7 @@ declare const createBaseTable: <CT extends ColumnTypesBase>({ columnTypes, snake
|
|
|
279
279
|
check(check: orchid_core.RawExpression): {};
|
|
280
280
|
} : CT;
|
|
281
281
|
filePath: string;
|
|
282
|
-
setColumns<T_18 extends ColumnsShape>(fn: (t:
|
|
282
|
+
setColumns<T_18 extends ColumnsShape>(fn: (t: Record<string, orchid_core.AnyColumnTypeCreator> extends CT ? {
|
|
283
283
|
timestamps: <T extends orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>(this: {
|
|
284
284
|
name(name: string): {
|
|
285
285
|
timestamp(): T;
|
|
@@ -300,49 +300,49 @@ declare const createBaseTable: <CT extends ColumnTypesBase>({ columnTypes, snake
|
|
|
300
300
|
};
|
|
301
301
|
name: typeof orchid_core.name;
|
|
302
302
|
raw: (sql: string, values?: false | Record<string, unknown> | undefined) => orchid_core.RawExpression<orchid_core.ColumnTypeBase<unknown, orchid_core.BaseOperators, unknown, orchid_core.ColumnDataBase>>;
|
|
303
|
-
smallint(
|
|
304
|
-
integer(
|
|
305
|
-
bigint(
|
|
306
|
-
numeric<Precision extends number | undefined = undefined, Scale extends number | undefined = undefined>(
|
|
307
|
-
decimal<Precision_1 extends number | undefined = undefined, Scale_1 extends number | undefined = undefined>(
|
|
308
|
-
real(
|
|
309
|
-
doublePrecision(
|
|
310
|
-
identity(
|
|
311
|
-
smallSerial(
|
|
312
|
-
serial(
|
|
313
|
-
bigSerial(
|
|
314
|
-
money(
|
|
315
|
-
varchar<Limit extends number | undefined = undefined>(
|
|
316
|
-
char<Limit_1 extends number | undefined = undefined>(
|
|
317
|
-
text: (
|
|
318
|
-
string: (
|
|
319
|
-
citext(
|
|
320
|
-
bytea(
|
|
321
|
-
date(
|
|
322
|
-
timestampWithoutTimeZone<Precision_2 extends number>(
|
|
323
|
-
timestamp<Precision_3 extends number | undefined = undefined>(
|
|
324
|
-
time<Precision_4 extends number | undefined = undefined>(
|
|
325
|
-
interval<Fields extends string | undefined = undefined, Precision_5 extends number | undefined = undefined>(
|
|
326
|
-
boolean(
|
|
327
|
-
enum<U extends string, T_2 extends [U, ...U[]]>(
|
|
328
|
-
point(
|
|
329
|
-
line(
|
|
330
|
-
lseg(
|
|
331
|
-
box(
|
|
332
|
-
path(
|
|
333
|
-
polygon(
|
|
334
|
-
circle(
|
|
335
|
-
cidr(
|
|
336
|
-
inet(
|
|
337
|
-
macaddr(
|
|
338
|
-
macaddr8(
|
|
339
|
-
bit<Length extends number>(
|
|
340
|
-
bitVarying<Length_1 extends number | undefined = undefined>(
|
|
341
|
-
tsvector(
|
|
342
|
-
tsquery(
|
|
343
|
-
uuid(
|
|
344
|
-
xml(
|
|
345
|
-
json<Type extends orchid_core.JSONTypeAny>(
|
|
303
|
+
smallint(): pqb.SmallIntColumn;
|
|
304
|
+
integer(): pqb.IntegerColumn;
|
|
305
|
+
bigint(): pqb.BigIntColumn;
|
|
306
|
+
numeric<Precision extends number | undefined = undefined, Scale extends number | undefined = undefined>(precision?: Precision | undefined, scale?: Scale | undefined): pqb.DecimalColumn<Precision, Scale>;
|
|
307
|
+
decimal<Precision_1 extends number | undefined = undefined, Scale_1 extends number | undefined = undefined>(precision?: Precision_1 | undefined, scale?: Scale_1 | undefined): pqb.DecimalColumn<Precision_1, Scale_1>;
|
|
308
|
+
real(): pqb.RealColumn;
|
|
309
|
+
doublePrecision(): pqb.DoublePrecisionColumn;
|
|
310
|
+
identity(options?: pqb.TableData.Identity | undefined): pqb.IntegerColumn;
|
|
311
|
+
smallSerial(): pqb.SmallSerialColumn;
|
|
312
|
+
serial(): pqb.SerialColumn;
|
|
313
|
+
bigSerial(): pqb.BigSerialColumn;
|
|
314
|
+
money(): pqb.MoneyColumn;
|
|
315
|
+
varchar<Limit extends number | undefined = undefined>(limit?: Limit | undefined): pqb.VarCharColumn<Limit>;
|
|
316
|
+
char<Limit_1 extends number | undefined = undefined>(limit?: Limit_1 | undefined): pqb.CharColumn<Limit_1>;
|
|
317
|
+
text: (min: number, max: number) => pqb.TextColumn;
|
|
318
|
+
string: (min: number, max: number) => pqb.TextColumn;
|
|
319
|
+
citext(min: number, max: number): pqb.CitextColumn;
|
|
320
|
+
bytea(): pqb.ByteaColumn;
|
|
321
|
+
date(): pqb.DateColumn;
|
|
322
|
+
timestampWithoutTimeZone<Precision_2 extends number>(precision?: Precision_2 | undefined): pqb.TimestampColumn<Precision_2>;
|
|
323
|
+
timestamp<Precision_3 extends number | undefined = undefined>(precision?: Precision_3 | undefined): pqb.TimestampTzColumn<number>;
|
|
324
|
+
time<Precision_4 extends number | undefined = undefined>(precision?: Precision_4 | undefined): pqb.TimeColumn<Precision_4>;
|
|
325
|
+
interval<Fields extends string | undefined = undefined, Precision_5 extends number | undefined = undefined>(fields?: Fields | undefined, precision?: Precision_5 | undefined): pqb.IntervalColumn<Fields, Precision_5>;
|
|
326
|
+
boolean(): pqb.BooleanColumn;
|
|
327
|
+
enum<U extends string, T_2 extends [U, ...U[]]>(dataType: string, type: T_2): pqb.EnumColumn<U, T_2>;
|
|
328
|
+
point(): pqb.PointColumn;
|
|
329
|
+
line(): pqb.LineColumn;
|
|
330
|
+
lseg(): pqb.LsegColumn;
|
|
331
|
+
box(): pqb.BoxColumn;
|
|
332
|
+
path(): pqb.PathColumn;
|
|
333
|
+
polygon(): pqb.PolygonColumn;
|
|
334
|
+
circle(): pqb.CircleColumn;
|
|
335
|
+
cidr(): pqb.CidrColumn;
|
|
336
|
+
inet(): pqb.InetColumn;
|
|
337
|
+
macaddr(): pqb.MacAddrColumn;
|
|
338
|
+
macaddr8(): pqb.MacAddr8Column;
|
|
339
|
+
bit<Length extends number>(length: Length): pqb.BitColumn<Length>;
|
|
340
|
+
bitVarying<Length_1 extends number | undefined = undefined>(length?: Length_1 | undefined): pqb.BitVaryingColumn<Length_1>;
|
|
341
|
+
tsvector(): pqb.TsVectorColumn;
|
|
342
|
+
tsquery(): pqb.TsQueryColumn;
|
|
343
|
+
uuid(): pqb.UUIDColumn;
|
|
344
|
+
xml(): pqb.XMLColumn;
|
|
345
|
+
json<Type extends orchid_core.JSONTypeAny>(schemaOrFn: Type | ((j: {
|
|
346
346
|
set: <Value extends orchid_core.JSONTypeAny>(valueType: Value) => orchid_core.JSONSet<Value>;
|
|
347
347
|
tuple: <T_3 extends [] | orchid_core.JSONTupleItems, Rest extends orchid_core.JSONTypeAny | null = null>(items: T_3, rest?: Rest) => orchid_core.JSONTuple<T_3, Rest>;
|
|
348
348
|
union: <T_4 extends [orchid_core.JSONTypeAny, orchid_core.JSONTypeAny, ...orchid_core.JSONTypeAny[]]>(types: T_4) => orchid_core.JSONUnion<T_4>;
|
|
@@ -375,10 +375,10 @@ declare const createBaseTable: <CT extends ColumnTypesBase>({ columnTypes, snake
|
|
|
375
375
|
optional: <T_17 extends orchid_core.JSONTypeAny>(type: T_17) => orchid_core.JSONOptional<T_17>;
|
|
376
376
|
record: typeof orchid_core.record;
|
|
377
377
|
}) => Type)): pqb.JSONColumn<Type>;
|
|
378
|
-
jsonText(
|
|
379
|
-
array<Item extends pqb.ColumnType<unknown, orchid_core.BaseOperators, unknown>>(
|
|
380
|
-
type(
|
|
381
|
-
domain(
|
|
378
|
+
jsonText(): pqb.JSONTextColumn;
|
|
379
|
+
array<Item extends pqb.ColumnType<unknown, orchid_core.BaseOperators, unknown>>(item: Item): pqb.ArrayColumn<Item>;
|
|
380
|
+
type(dataType: string): pqb.CustomTypeColumn;
|
|
381
|
+
domain(dataType: string): pqb.DomainColumn;
|
|
382
382
|
primaryKey(columns: string[], options?: {
|
|
383
383
|
name?: string | undefined;
|
|
384
384
|
} | undefined): {};
|
package/dist/index.js
CHANGED
|
@@ -118,8 +118,8 @@ const create = (columnTypes, filePath, snakeCase) => {
|
|
|
118
118
|
};
|
|
119
119
|
|
|
120
120
|
class BelongsToVirtualColumn extends pqb.VirtualColumn {
|
|
121
|
-
constructor(
|
|
122
|
-
super(
|
|
121
|
+
constructor(key, state) {
|
|
122
|
+
super();
|
|
123
123
|
this.key = key;
|
|
124
124
|
this.state = state;
|
|
125
125
|
this.nestedInsert = nestedInsert$3(this.state);
|
|
@@ -172,7 +172,7 @@ const makeBelongsToMethod = (relation, relationName, query) => {
|
|
|
172
172
|
method: (params) => {
|
|
173
173
|
return query.findBy({ [primaryKey]: params[foreignKey] });
|
|
174
174
|
},
|
|
175
|
-
virtualColumn: new BelongsToVirtualColumn(
|
|
175
|
+
virtualColumn: new BelongsToVirtualColumn(relationName, state),
|
|
176
176
|
joinQuery(fromQuery, toQuery) {
|
|
177
177
|
return pqb.addQueryOn(toQuery, fromQuery, toQuery, primaryKey, foreignKey);
|
|
178
178
|
},
|
|
@@ -373,8 +373,8 @@ var __spreadValues$7 = (a, b) => {
|
|
|
373
373
|
};
|
|
374
374
|
var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
|
|
375
375
|
class HasOneVirtualColumn extends pqb.VirtualColumn {
|
|
376
|
-
constructor(
|
|
377
|
-
super(
|
|
376
|
+
constructor(key, state) {
|
|
377
|
+
super();
|
|
378
378
|
this.key = key;
|
|
379
379
|
this.state = state;
|
|
380
380
|
this.nestedInsert = nestedInsert$2(state);
|
|
@@ -459,7 +459,7 @@ const makeHasOneMethod = (table, relation, relationName, query) => {
|
|
|
459
459
|
const values = { [foreignKey]: params[primaryKey] };
|
|
460
460
|
return query.where(values)._defaults(values);
|
|
461
461
|
},
|
|
462
|
-
virtualColumn: new HasOneVirtualColumn(
|
|
462
|
+
virtualColumn: new HasOneVirtualColumn(relationName, state),
|
|
463
463
|
joinQuery(fromQuery, toQuery) {
|
|
464
464
|
return pqb.addQueryOn(toQuery, fromQuery, toQuery, foreignKey, primaryKey);
|
|
465
465
|
},
|
|
@@ -570,8 +570,8 @@ var __spreadValues$6 = (a, b) => {
|
|
|
570
570
|
};
|
|
571
571
|
var __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));
|
|
572
572
|
class HasManyVirtualColumn extends pqb.VirtualColumn {
|
|
573
|
-
constructor(
|
|
574
|
-
super(
|
|
573
|
+
constructor(key, state) {
|
|
574
|
+
super();
|
|
575
575
|
this.key = key;
|
|
576
576
|
this.state = state;
|
|
577
577
|
this.nestedInsert = nestedInsert$1(state);
|
|
@@ -655,7 +655,7 @@ const makeHasManyMethod = (table, relation, relationName, query) => {
|
|
|
655
655
|
const values = { [foreignKey]: params[primaryKey] };
|
|
656
656
|
return query.where(values)._defaults(values);
|
|
657
657
|
},
|
|
658
|
-
virtualColumn: new HasManyVirtualColumn(
|
|
658
|
+
virtualColumn: new HasManyVirtualColumn(relationName, state),
|
|
659
659
|
joinQuery(fromQuery, toQuery) {
|
|
660
660
|
return pqb.addQueryOn(toQuery, fromQuery, toQuery, foreignKey, primaryKey);
|
|
661
661
|
},
|
|
@@ -819,8 +819,8 @@ var __spreadValues$5 = (a, b) => {
|
|
|
819
819
|
};
|
|
820
820
|
var __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));
|
|
821
821
|
class HasAndBelongsToManyVirtualColumn extends pqb.VirtualColumn {
|
|
822
|
-
constructor(
|
|
823
|
-
super(
|
|
822
|
+
constructor(key, state) {
|
|
823
|
+
super();
|
|
824
824
|
this.key = key;
|
|
825
825
|
this.state = state;
|
|
826
826
|
this.nestedInsert = nestedInsert(state);
|
|
@@ -898,11 +898,7 @@ const makeHasAndBelongsToManyMethod = (table, qb, relation, relationName, query)
|
|
|
898
898
|
})
|
|
899
899
|
);
|
|
900
900
|
},
|
|
901
|
-
virtualColumn: new HasAndBelongsToManyVirtualColumn(
|
|
902
|
-
orchidCore.emptyObject,
|
|
903
|
-
relationName,
|
|
904
|
-
state
|
|
905
|
-
),
|
|
901
|
+
virtualColumn: new HasAndBelongsToManyVirtualColumn(relationName, state),
|
|
906
902
|
// joinQuery can be a property of RelationQuery and be used by whereExists and other stuff which needs it
|
|
907
903
|
// and the chained query itself may be a query around this joinQuery
|
|
908
904
|
joinQuery(fromQuery, toQuery) {
|
|
@@ -1229,7 +1225,9 @@ const delayRelation = (delayedRelations, table, relationName, data) => {
|
|
|
1229
1225
|
};
|
|
1230
1226
|
const applyRelation = (qb, { relationName, relation, dbTable, otherDbTable }, delayedRelations) => {
|
|
1231
1227
|
var _a;
|
|
1232
|
-
const
|
|
1228
|
+
const baseQuery = Object.create(otherDbTable);
|
|
1229
|
+
baseQuery.baseQuery = baseQuery;
|
|
1230
|
+
const query = (relation.options.scope ? relation.options.scope(baseQuery) : baseQuery).as(relationName);
|
|
1233
1231
|
const definedAs = query.definedAs;
|
|
1234
1232
|
if (!definedAs) {
|
|
1235
1233
|
throw new Error(
|
|
@@ -1262,6 +1260,7 @@ const applyRelation = (qb, { relationName, relation, dbTable, otherDbTable }, de
|
|
|
1262
1260
|
dbTable.shape[relationName] = dbTable.query.shape[relationName] = data.virtualColumn;
|
|
1263
1261
|
}
|
|
1264
1262
|
makeRelationQuery(dbTable, definedAs, relationName, data);
|
|
1263
|
+
baseQuery.joinQuery = data.joinQuery;
|
|
1265
1264
|
dbTable.relations[relationName] = {
|
|
1266
1265
|
type,
|
|
1267
1266
|
key: relationName,
|
|
@@ -1271,6 +1270,7 @@ const applyRelation = (qb, { relationName, relation, dbTable, otherDbTable }, de
|
|
|
1271
1270
|
primaryKey: data.primaryKey,
|
|
1272
1271
|
options: relation.options
|
|
1273
1272
|
};
|
|
1273
|
+
dbTable.relationsQueries[relationName] = query;
|
|
1274
1274
|
const tableRelations = delayedRelations.get(dbTable);
|
|
1275
1275
|
if (!tableRelations)
|
|
1276
1276
|
return;
|