@casekit/orm 0.0.1-alpha.20 → 0.0.1-alpha.22

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.
Files changed (55) hide show
  1. package/lib/Connection.d.ts +2 -2
  2. package/lib/Connection.d.ts.map +1 -1
  3. package/lib/migrate/commands/implode.d.ts.map +1 -1
  4. package/lib/migrate/migrator.d.ts.map +1 -1
  5. package/lib/migrate/sql/createExtensionsSql.d.ts.map +1 -1
  6. package/lib/migrate/sql/createSchemasSql.d.ts.map +1 -1
  7. package/lib/migrate/sql/dropSchemasSql.d.ts.map +1 -1
  8. package/lib/orm.d.ts.map +1 -1
  9. package/lib/pull/introspect/getForeignKeys.d.ts.map +1 -1
  10. package/lib/pull/introspect/getPrimaryKeys.d.ts.map +1 -1
  11. package/lib/pull/introspect/getTables.d.ts.map +1 -1
  12. package/lib/pull/introspect/getUniqueConstraints.d.ts.map +1 -1
  13. package/lib/pull/pull.d.ts.map +1 -1
  14. package/lib/queries/clauses/OrderByClause.d.ts +14 -0
  15. package/lib/queries/clauses/OrderByClause.d.ts.map +1 -0
  16. package/lib/queries/clauses/OrderByClause.js +2 -0
  17. package/lib/queries/clauses/OrderByClause.js.map +1 -0
  18. package/lib/queries/clauses/where/buildWhereClause.js +1 -1
  19. package/lib/queries/clauses/where/buildWhereClause.js.map +1 -1
  20. package/lib/queries/clauses/where/buildWhereClauses.d.ts.map +1 -1
  21. package/lib/queries/find/buildFind.d.ts.map +1 -1
  22. package/lib/queries/find/buildFind.js +38 -6
  23. package/lib/queries/find/buildFind.js.map +1 -1
  24. package/lib/queries/find/tests/findMany.orderBy.test-d.js +2 -1
  25. package/lib/queries/find/tests/findMany.orderBy.test-d.js.map +1 -1
  26. package/lib/queries/find/tests/findMany.orderBy.test.js +77 -0
  27. package/lib/queries/find/tests/findMany.orderBy.test.js.map +1 -1
  28. package/lib/queries/find/tests/findMany.too-deep.test-d.js +0 -8
  29. package/lib/queries/find/tests/findMany.too-deep.test-d.js.map +1 -1
  30. package/lib/queries/find/types/FindBuilder.d.ts +1 -0
  31. package/lib/queries/find/types/FindBuilder.d.ts.map +1 -1
  32. package/lib/queries/find/types/FindManyParams.d.ts +2 -3
  33. package/lib/queries/find/types/FindManyParams.d.ts.map +1 -1
  34. package/lib/queries/util/hasConditions.d.ts.map +1 -1
  35. package/lib/queries/util/rowToObject.d.ts.map +1 -1
  36. package/lib/schema/populate/populateConfiguration.d.ts.map +1 -1
  37. package/lib/schema/populate/populateModel.d.ts.map +1 -1
  38. package/lib/sql/sql.d.ts.map +1 -1
  39. package/lib/test/gen/column.d.ts +11 -11
  40. package/lib/test/gen/column.d.ts.map +1 -1
  41. package/lib/test/seed/index.d.ts +2 -278
  42. package/lib/test/seed/index.d.ts.map +1 -1
  43. package/lib/test/util/withRollback.d.ts.map +1 -1
  44. package/lib/test/util/withTransaction.d.ts.map +1 -1
  45. package/lib/util/ensureArray.d.ts.map +1 -1
  46. package/lib/util/interleave.d.ts.map +1 -1
  47. package/package.json +3 -3
  48. package/src/queries/clauses/OrderByClause.ts +27 -0
  49. package/src/queries/clauses/where/buildWhereClause.ts +1 -1
  50. package/src/queries/find/buildFind.ts +39 -6
  51. package/src/queries/find/tests/findMany.orderBy.test-d.ts +2 -1
  52. package/src/queries/find/tests/findMany.orderBy.test.ts +87 -0
  53. package/src/queries/find/tests/findMany.too-deep.test-d.ts +0 -9
  54. package/src/queries/find/types/FindBuilder.ts +1 -0
  55. package/src/queries/find/types/FindManyParams.ts +2 -5
@@ -1,10 +1,10 @@
1
- import pg from "pg";
1
+ import pg, { QueryResultRow } from "pg";
2
2
  import { SQLStatement } from "./sql";
3
3
  export declare class Connection {
4
4
  private pool;
5
5
  private client?;
6
6
  constructor(pool: pg.Pool, client?: pg.PoolClient | undefined);
7
- query: <T extends pg.QueryResultRow>(query: SQLStatement) => Promise<pg.QueryResult<any>>;
7
+ query: <T extends QueryResultRow>(query: SQLStatement) => Promise<pg.QueryResult<any>>;
8
8
  transact: <T>(fn: (conn: Connection) => Promise<T>, { rollback }?: {
9
9
  rollback?: boolean;
10
10
  }) => Promise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"Connection.d.ts","sourceRoot":"","sources":["../src/Connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,MAAM,IAAI,CAAC;AAIxC,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAErC,qBAAa,UAAU;IAEf,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,MAAM,CAAC;gBADP,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,MAAM,CAAC,2BAAe;IAG3B,KAAK,uCAA2C,YAAY,kCAMjE;IAEK,QAAQ,UACP,CAAC,IAAI,EAAE,UAAU,KAAK,QAAQ,CAAC,CAAC,iBACd;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,gBAyC9C;CACL"}
1
+ {"version":3,"file":"Connection.d.ts","sourceRoot":"","sources":["../src/Connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAIxC,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAErC,qBAAa,UAAU;IAEf,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,MAAM,CAAC;gBADP,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,MAAM,CAAC,EAAE,EAAE,CAAC,UAAU,YAAA;IAG3B,KAAK,GAAU,CAAC,SAAS,cAAc,SAAS,YAAY,kCAMjE;IAEK,QAAQ,GAAU,CAAC,MAClB,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,iBACd;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,gBAyC9C;CACL"}
@@ -1 +1 @@
1
- {"version":3,"file":"implode.d.ts","sourceRoot":"","sources":["../../../src/migrate/commands/implode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAS1D,eAAO,MAAM,OAAO,oCAEI;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,kBAkC3D,CAAC"}
1
+ {"version":3,"file":"implode.d.ts","sourceRoot":"","sources":["../../../src/migrate/commands/implode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAS1D,eAAO,MAAM,OAAO,OACZ,OAAO,sBACS;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,kBAkC3D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"migrator.d.ts","sourceRoot":"","sources":["../../src/migrate/migrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAG5F,qBAAa,QAAQ;IACV,EAAE,EAAE,OAAO,CAAC;gBAEP,EAAE,EAAE,OAAO;IAIV,OAAO,CAAC,IAAI;;;KAAiC;CAG7D;AAED,eAAO,MAAM,QAAQ,kGAIb,IAAI,MAAM,EAAE,SAAS,CAAC,aACE,CAAC"}
1
+ {"version":3,"file":"migrator.d.ts","sourceRoot":"","sources":["../../src/migrate/migrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAG5F,qBAAa,QAAQ;IACV,EAAE,EAAE,OAAO,CAAC;gBAEP,EAAE,EAAE,OAAO;IAIV,OAAO,CAAC,IAAI;;;KAAiC;CAG7D;AAED,eAAO,MAAM,QAAQ,GACjB,MAAM,SAAS,qBAAqB,EACpC,SAAS,SAAS,yBAAyB,CAAC,MAAM,CAAC,MAE/C,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,aACE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createExtensionsSql.d.ts","sourceRoot":"","sources":["../../../src/migrate/sql/createExtensionsSql.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,eAAO,MAAM,mBAAmB,mBAAkB,YAAY,GAAG,IAUhE,CAAC"}
1
+ {"version":3,"file":"createExtensionsSql.d.ts","sourceRoot":"","sources":["../../../src/migrate/sql/createExtensionsSql.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,eAAO,MAAM,mBAAmB,OAAQ,OAAO,KAAG,YAAY,GAAG,IAUhE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createSchemasSql.d.ts","sourceRoot":"","sources":["../../../src/migrate/sql/createSchemasSql.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,eAAO,MAAM,gBAAgB,mBAAkB,YAQ9C,CAAC"}
1
+ {"version":3,"file":"createSchemasSql.d.ts","sourceRoot":"","sources":["../../../src/migrate/sql/createSchemasSql.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,eAAO,MAAM,gBAAgB,OAAQ,OAAO,KAAG,YAQ9C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dropSchemasSql.d.ts","sourceRoot":"","sources":["../../../src/migrate/sql/dropSchemasSql.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,eAAO,MAAM,cAAc,mBAAkB,YAQ5C,CAAC"}
1
+ {"version":3,"file":"dropSchemasSql.d.ts","sourceRoot":"","sources":["../../../src/migrate/sql/dropSchemasSql.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,eAAO,MAAM,cAAc,OAAQ,OAAO,KAAG,YAQ5C,CAAC"}
package/lib/orm.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"orm.d.ts","sourceRoot":"","sources":["../src/orm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orm.d.ts","sourceRoot":"","sources":["../src/orm.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getForeignKeys.d.ts","sourceRoot":"","sources":["../../../src/pull/introspect/getForeignKeys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,eAAO,MAAM,cAAc,WACf,GAAG,MAAM,UACT,MAAM,KACf,QAAQ,OAAO,MAAM,EAAE,UAAU,EAAE,CAAC,CAuDtC,CAAC"}
1
+ {"version":3,"file":"getForeignKeys.d.ts","sourceRoot":"","sources":["../../../src/pull/introspect/getForeignKeys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,eAAO,MAAM,cAAc,WACf,EAAE,CAAC,MAAM,UACT,MAAM,KACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAuDtC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPrimaryKeys.d.ts","sourceRoot":"","sources":["../../../src/pull/introspect/getPrimaryKeys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,CAAC;AAKpB,eAAO,MAAM,cAAc,WACf,GAAG,MAAM,UACT,MAAM,KACf,QAAQ,OAAO,MAAM,EAAE,MAAM,EAAE,CAAC,CAgBlC,CAAC"}
1
+ {"version":3,"file":"getPrimaryKeys.d.ts","sourceRoot":"","sources":["../../../src/pull/introspect/getPrimaryKeys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,CAAC;AAKpB,eAAO,MAAM,cAAc,WACf,EAAE,CAAC,MAAM,UACT,MAAM,KACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAgBlC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getTables.d.ts","sourceRoot":"","sources":["../../../src/pull/introspect/getTables.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,CAAC;AAGpB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,eAAO,MAAM,SAAS,WAAkB,GAAG,MAAM,UAAU,MAAM;;EA4ChE,CAAC"}
1
+ {"version":3,"file":"getTables.d.ts","sourceRoot":"","sources":["../../../src/pull/introspect/getTables.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,CAAC;AAGpB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,eAAO,MAAM,SAAS,WAAkB,EAAE,CAAC,MAAM,UAAU,MAAM;;EA4ChE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getUniqueConstraints.d.ts","sourceRoot":"","sources":["../../../src/pull/introspect/getUniqueConstraints.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,CAAC;AAIpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,WACrB,GAAG,MAAM,UACT,MAAM,KACf,QAAQ,OAAO,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAqB5C,CAAC"}
1
+ {"version":3,"file":"getUniqueConstraints.d.ts","sourceRoot":"","sources":["../../../src/pull/introspect/getUniqueConstraints.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,CAAC;AAIpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,WACrB,EAAE,CAAC,MAAM,UACT,MAAM,KACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAqB5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/pull/pull.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,IAAI,CAAC;AAYpB,eAAO,MAAM,IAAI,WACL,GAAG,MAAM,QACX;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,kBA4D3C,CAAC"}
1
+ {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/pull/pull.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,IAAI,CAAC;AAYpB,eAAO,MAAM,IAAI,WACL,EAAE,CAAC,MAAM,QACX;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,kBA4D3C,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { ModelName } from "../../schema/types/helpers/ModelName";
2
+ import { LooseModelDefinitions } from "../../schema/types/loose/LooseModelDefinitions";
3
+ import { LooseRelationsDefinitions } from "../../schema/types/loose/LooseRelationsDefinitions";
4
+ import { ColumnName } from "../../types/ColumnName";
5
+ import { NonEmptyArray } from "../../types/util/NonEmptyArray";
6
+ export type OrderByClause<Models extends LooseModelDefinitions, Relations extends LooseRelationsDefinitions<Models>, M extends ModelName<Models>> = NonEmptyArray<OrderByColumn<Models, Relations, M> | [OrderByColumn<Models, Relations, M>, "asc" | "desc"]>;
7
+ type OrderByColumn<Models extends LooseModelDefinitions, Relations extends LooseRelationsDefinitions<Models>, M extends ModelName<Models>> = ColumnName<Models[M]> | {
8
+ [R in Extract<keyof Relations[M], string>]: `${R}.${Relations[M][R] extends {
9
+ type: "N:1";
10
+ model: infer M2 extends ModelName<Models>;
11
+ } ? Extract<keyof Models[M2]["columns"], string> : never}`;
12
+ }[Extract<keyof Relations[M], string>];
13
+ export {};
14
+ //# sourceMappingURL=OrderByClause.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderByClause.d.ts","sourceRoot":"","sources":["../../../src/queries/clauses/OrderByClause.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,MAAM,MAAM,aAAa,CACrB,MAAM,SAAS,qBAAqB,EACpC,SAAS,SAAS,yBAAyB,CAAC,MAAM,CAAC,EACnD,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,IAC3B,aAAa,CACX,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,GACnC,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,CAC1D,CAAC;AAEF,KAAK,aAAa,CACd,MAAM,SAAS,qBAAqB,EACpC,SAAS,SAAS,yBAAyB,CAAC,MAAM,CAAC,EACnD,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,IAEzB,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GACrB;KACK,CAAC,IAAI,OAAO,CACT,MAAM,SAAS,CAAC,CAAC,CAAC,EAClB,MAAM,CACT,GAAG,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,IAAI,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,SAAS,SAAS,CAAC,MAAM,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,GAAG,KAAK,EAAE;CAC1J,CAAC,OAAO,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=OrderByClause.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderByClause.js","sourceRoot":"","sources":["../../../src/queries/clauses/OrderByClause.ts"],"names":[],"mappings":""}
@@ -2,7 +2,7 @@ import { OrmError } from "../../../errors";
2
2
  import { sql } from "../../../sql";
3
3
  import { $eq, $gt, $gte, $ilike, $in, $is, $like, $lt, $lte, $ne, $not, } from "./operators";
4
4
  export const buildWhereClause = (table, column, v) => {
5
- if (v === null) {
5
+ if (v === null || v === undefined) {
6
6
  return sql `%I.%I IS NULL`.withIdentifiers(table, column);
7
7
  }
8
8
  else if (typeof v === "string" ||
@@ -1 +1 @@
1
- {"version":3,"file":"buildWhereClause.js","sourceRoot":"","sources":["../../../../src/queries/clauses/where/buildWhereClause.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildWhereClause.js","sourceRoot":"","sources":["../../../../src/queries/clauses/where/buildWhereClause.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildWhereClauses.d.ts","sourceRoot":"","sources":["../../../../src/queries/clauses/where/buildWhereClauses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAO,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAI7C,eAAO,MAAM,iBAAiB,WAClB,iBAAiB,SAClB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,SAC/D,YAAY,qBAAqB,EAAE,UAAU,qBAAqB,CAAC,CAAC,KAC5E,YAgCF,CAAC"}
1
+ {"version":3,"file":"buildWhereClauses.d.ts","sourceRoot":"","sources":["../../../../src/queries/clauses/where/buildWhereClauses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAO,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAI7C,eAAO,MAAM,iBAAiB,WAClB,iBAAiB,SAClB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,SAC/D,WAAW,CAAC,qBAAqB,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC,KAC5E,YAgCF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildFind.d.ts","sourceRoot":"","sources":["../../../src/queries/find/buildFind.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAI5E,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,eAAO,MAAM,SAAS,WACV,iBAAiB,KACtB,MAAM,SACF,cAAc,SACf,MAAM,EAAE,2BAEf,WA+HF,CAAC"}
1
+ {"version":3,"file":"buildFind.d.ts","sourceRoot":"","sources":["../../../src/queries/find/buildFind.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAI5E,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,eAAO,MAAM,SAAS,WACV,iBAAiB,KACtB,MAAM,SACF,cAAc,SACf,MAAM,EAAE,2BAEf,WAgKF,CAAC"}
@@ -40,13 +40,30 @@ export const buildFind = (config, m, query, path = [], _tableIndex = 0) => {
40
40
  path: [...path, f],
41
41
  });
42
42
  }
43
- for (const [r, subquery] of Object.entries(query.include ?? {})) {
43
+ const relationQueries = { ...query.include };
44
+ // make sure we include a join to any relations we're ordering by
45
+ // (we'll use them later)
46
+ if (query.orderBy) {
47
+ query.orderBy.forEach((o) => {
48
+ const [col] = Array.isArray(o) ? o : [o, "asc"];
49
+ if (col.includes(".")) {
50
+ const r = col.split(".")[0];
51
+ if (!relationQueries[r]) {
52
+ relationQueries[r] = {
53
+ select: [],
54
+ };
55
+ }
56
+ }
57
+ });
58
+ }
59
+ for (const [r, subquery] of Object.entries(relationQueries)) {
44
60
  const relation = config.relations[m][r];
45
61
  const joinedModel = config.models[relation.model];
46
62
  if (relation.type === "N:1") {
47
63
  const joinBuilder = buildFind(config, relation.model, subquery, [...path, r], builder.tableIndex++);
48
64
  const joinedTable = joinBuilder.table;
49
65
  builder.table.joins.push({
66
+ relation: r,
50
67
  from: {
51
68
  schema: config.models[m].schema,
52
69
  table: config.models[m].table,
@@ -91,11 +108,26 @@ export const buildFind = (config, m, query, path = [], _tableIndex = 0) => {
91
108
  };
92
109
  }
93
110
  if (query.orderBy) {
94
- builder.orderBy = query.orderBy.map((o) => ({
95
- table: alias,
96
- column: model.columns[Array.isArray(o) ? o[0] : o].name,
97
- direction: Array.isArray(o) ? o[1] : "asc",
98
- }));
111
+ builder.orderBy = query.orderBy.map((o) => {
112
+ const [col, order] = Array.isArray(o) ? o : [o, "asc"];
113
+ if (col.includes(".")) {
114
+ const [r, c] = col.split(".");
115
+ const join = builder.table.joins.find((j) => j.relation === r);
116
+ const joinedModel = config.models[join.to.model];
117
+ return {
118
+ table: join.to.alias,
119
+ column: joinedModel.columns[c].name,
120
+ direction: order,
121
+ };
122
+ }
123
+ else {
124
+ return {
125
+ table: alias,
126
+ column: model.columns[Array.isArray(o) ? o[0] : o].name,
127
+ direction: Array.isArray(o) ? o[1] : "asc",
128
+ };
129
+ }
130
+ });
99
131
  }
100
132
  if (query.limit) {
101
133
  builder.limit = query.limit;
@@ -1 +1 @@
1
- {"version":3,"file":"buildFind.js","sourceRoot":"","sources":["../../../src/queries/find/buildFind.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildFind.js","sourceRoot":"","sources":["../../../src/queries/find/buildFind.ts"],"names":[],"mappings":"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"}
@@ -28,9 +28,10 @@ describe("findMany", () => {
28
28
  ],
29
29
  }));
30
30
  });
31
- test("included N:1 relations cannot be ordered", () => {
31
+ test("included N:1 relations can be ordered", () => {
32
32
  assertType(db.findMany("post", {
33
33
  select: ["id", "content"],
34
+ orderBy: ["author.username"],
34
35
  include: {
35
36
  author: {
36
37
  select: ["username"],
@@ -1 +1 @@
1
- {"version":3,"file":"findMany.orderBy.test-d.js","sourceRoot":"","sources":["../../../../src/queries/find/tests/findMany.orderBy.test-d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEpD,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACtB,IAAI,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,UAAU,CACN,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE;YAChB,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC;YACzB,OAAO,EAAE;gBACL,OAAO;gBACP,6DAA6D;gBAC7D,OAAO;aACV;SACJ,CAAC,CACL,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kFAAkF,EAAE,GAAG,EAAE;QAC1F,UAAU,CACN,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE;YAChB,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC;YACzB,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SACzD,CAAC,CACL,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,UAAU,CACN,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE;YAChB,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC;YACzB,OAAO,EAAE;gBACL,OAAO;gBACP,CAAC,SAAS,EAAE,KAAK,CAAC;gBAClB,qDAAqD;gBACrD,CAAC,IAAI,EAAE,OAAO,CAAC;aAClB;SACJ,CAAC,CACL,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,UAAU,CACN,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE;YAChB,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC;YACzB,OAAO,EAAE;gBACL,MAAM,EAAE;oBACJ,MAAM,EAAE,CAAC,UAAU,CAAC;oBACpB,mDAAmD;oBACnD,OAAO,EAAE,CAAC,UAAU,CAAC;iBACxB;aACJ;SACJ,CAAC,CACL,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,UAAU,CACN,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE;YAChB,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC;YAC1B,OAAO,EAAE;gBACL,KAAK,EAAE;oBACH,MAAM,EAAE,CAAC,OAAO,CAAC;oBACjB,OAAO,EAAE,CAAC,OAAO,CAAC;iBACrB;aACJ;SACJ,CAAC,CACL,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,UAAU,CACN,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE;YAChB,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC;YAC1B,OAAO,EAAE;gBACL,OAAO,EAAE;oBACL,MAAM,EAAE,CAAC,MAAM,CAAC;oBAChB,OAAO,EAAE,CAAC,MAAM,CAAC;iBACpB;aACJ;SACJ,CAAC,CACL,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"findMany.orderBy.test-d.js","sourceRoot":"","sources":["../../../../src/queries/find/tests/findMany.orderBy.test-d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEpD,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACtB,IAAI,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,UAAU,CACN,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE;YAChB,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC;YACzB,OAAO,EAAE;gBACL,OAAO;gBACP,6DAA6D;gBAC7D,OAAO;aACV;SACJ,CAAC,CACL,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kFAAkF,EAAE,GAAG,EAAE;QAC1F,UAAU,CACN,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE;YAChB,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC;YACzB,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SACzD,CAAC,CACL,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,UAAU,CACN,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE;YAChB,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC;YACzB,OAAO,EAAE;gBACL,OAAO;gBACP,CAAC,SAAS,EAAE,KAAK,CAAC;gBAClB,qDAAqD;gBACrD,CAAC,IAAI,EAAE,OAAO,CAAC;aAClB;SACJ,CAAC,CACL,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,UAAU,CACN,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE;YAChB,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC;YACzB,OAAO,EAAE,CAAC,iBAAiB,CAAC;YAC5B,OAAO,EAAE;gBACL,MAAM,EAAE;oBACJ,MAAM,EAAE,CAAC,UAAU,CAAC;oBACpB,mDAAmD;oBACnD,OAAO,EAAE,CAAC,UAAU,CAAC;iBACxB;aACJ;SACJ,CAAC,CACL,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,UAAU,CACN,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE;YAChB,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC;YAC1B,OAAO,EAAE;gBACL,KAAK,EAAE;oBACH,MAAM,EAAE,CAAC,OAAO,CAAC;oBACjB,OAAO,EAAE,CAAC,OAAO,CAAC;iBACrB;aACJ;SACJ,CAAC,CACL,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,UAAU,CACN,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE;YAChB,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC;YAC1B,OAAO,EAAE;gBACL,OAAO,EAAE;oBACL,MAAM,EAAE,CAAC,MAAM,CAAC;oBAChB,OAAO,EAAE,CAAC,MAAM,CAAC;iBACpB;aACJ;SACJ,CAAC,CACL,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { describe, expect, test } from "vitest";
2
2
  import { db } from "../../../test/db";
3
3
  import { seed } from "../../../test/seed";
4
+ import { $in } from "../../clauses/where/operators";
4
5
  describe("findMany", () => {
5
6
  test("it can return data in the specified order", async () => {
6
7
  await db.transact(async (db) => {
@@ -156,5 +157,81 @@ describe("findMany", () => {
156
157
  ]);
157
158
  }, { rollback: true });
158
159
  });
160
+ test("it can order by fields on N:1 relations even if they're not included in the query", async () => {
161
+ await db.transact(async (db) => {
162
+ await seed(db, {
163
+ users: [
164
+ {
165
+ username: "Russell",
166
+ tenants: [{ name: "WFMA", posts: 3 }],
167
+ },
168
+ {
169
+ username: "Dan",
170
+ tenants: [{ name: "WFMA", posts: 2 }],
171
+ },
172
+ {
173
+ username: "Fairooz",
174
+ tenants: [{ name: "WFMA", posts: 6 }],
175
+ },
176
+ ],
177
+ });
178
+ const results = await db.findMany("post", {
179
+ select: ["title"],
180
+ orderBy: [["author.username", "desc"], "title"],
181
+ });
182
+ // the extra joined table used for the ordering is not included in the result object
183
+ expect(Object.keys(results[0])).toEqual(["title"]);
184
+ expect(results.map((r) => r.title)).toEqual([
185
+ "Post a",
186
+ "Post b",
187
+ "Post c",
188
+ "Post f",
189
+ "Post g",
190
+ "Post h",
191
+ "Post i",
192
+ "Post j",
193
+ "Post k",
194
+ "Post d",
195
+ "Post e",
196
+ ]);
197
+ }, { rollback: true });
198
+ });
199
+ test("it can order by fields on N:1 relations that are included in the query without issue", async () => {
200
+ await db.transact(async (db) => {
201
+ await seed(db, {
202
+ users: [
203
+ {
204
+ username: "Russell",
205
+ tenants: [{ name: "WFMA", posts: 3 }],
206
+ },
207
+ {
208
+ username: "Dan",
209
+ tenants: [{ name: "WFMA", posts: 2 }],
210
+ },
211
+ {
212
+ username: "Fairooz",
213
+ tenants: [{ name: "WFMA", posts: 6 }],
214
+ },
215
+ ],
216
+ });
217
+ const results = await db.findMany("post", {
218
+ select: ["title"],
219
+ include: {
220
+ author: {
221
+ select: ["id"],
222
+ where: { username: { [$in]: ["Russell", "Dan"] } },
223
+ },
224
+ },
225
+ orderBy: [["author.username", "desc"], "title"],
226
+ });
227
+ expect(results.map((r) => r.title)).toEqual([
228
+ "Post a",
229
+ "Post b",
230
+ "Post c",
231
+ "Post d",
232
+ "Post e",
233
+ ]);
234
+ }, { rollback: true });
235
+ });
159
236
  });
160
237
  //# sourceMappingURL=findMany.orderBy.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"findMany.orderBy.test.js","sourceRoot":"","sources":["../../../../src/queries/find/tests/findMany.orderBy.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"findMany.orderBy.test.js","sourceRoot":"","sources":["../../../../src/queries/find/tests/findMany.orderBy.test.ts"],"names":[],"mappings":"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"}
@@ -110,14 +110,6 @@ describe("findMany", () => {
110
110
  [$not]: null,
111
111
  },
112
112
  },
113
- include: {
114
- author: {
115
- select: [
116
- "id",
117
- "username",
118
- ],
119
- },
120
- },
121
113
  },
122
114
  },
123
115
  where: {
@@ -1 +1 @@
1
- {"version":3,"file":"findMany.too-deep.test-d.js","sourceRoot":"","sources":["../../../../src/queries/find/tests/findMany.too-deep.test-d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"findMany.too-deep.test-d.js","sourceRoot":"","sources":["../../../../src/queries/find/tests/findMany.too-deep.test-d.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,7 @@ export type FindBuilder = {
37
37
  offset?: number;
38
38
  };
39
39
  export type Join = {
40
+ relation: string;
40
41
  from: {
41
42
  schema: string;
42
43
  table: string;
@@ -1 +1 @@
1
- {"version":3,"file":"FindBuilder.d.ts","sourceRoot":"","sources":["../../../../src/queries/find/types/FindBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,MAAM,WAAW,GAAG;IACtB,UAAU,EAAE,MAAM,CAAC;IAEnB,OAAO,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,EAAE,CAAC;KAClB,EAAE,CAAC;IAEJ,KAAK,EAAE;QACH,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,IAAI,EAAE,CAAC;QACd,UAAU,CAAC,EAAE,WAAW,CACpB,qBAAqB,EACrB,SAAS,CAAC,qBAAqB,CAAC,CACnC,CAAC;QACF,KAAK,CAAC,EAAE,WAAW,CACf,qBAAqB,EACrB,SAAS,CAAC,qBAAqB,CAAC,CACnC,CAAC;KACL,CAAC;IAEF,SAAS,CAAC,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE;YACL,MAAM,EAAE,MAAM,CAAC;YACf,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,OAAO,EAAE,CAAC;SACrB,EAAE,CAAC;KACP,CAAC;IAEF,GAAG,CAAC,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO,GAAG,WAAW,CAAC;IAEzD,OAAO,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;KAC7B,EAAE,CAAC;IAEJ,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AACF,MAAM,MAAM,IAAI,GAAG;IACf,IAAI,EAAE;QACF,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,EAAE,EAAE;QACA,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,KAAK,CAAC,EAAE,WAAW,CACf,qBAAqB,EACrB,SAAS,CAAC,qBAAqB,CAAC,CACnC,CAAC;IACF,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC3B,CAAC"}
1
+ {"version":3,"file":"FindBuilder.d.ts","sourceRoot":"","sources":["../../../../src/queries/find/types/FindBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,MAAM,WAAW,GAAG;IACtB,UAAU,EAAE,MAAM,CAAC;IAEnB,OAAO,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,EAAE,CAAC;KAClB,EAAE,CAAC;IAEJ,KAAK,EAAE;QACH,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,IAAI,EAAE,CAAC;QACd,UAAU,CAAC,EAAE,WAAW,CACpB,qBAAqB,EACrB,SAAS,CAAC,qBAAqB,CAAC,CACnC,CAAC;QACF,KAAK,CAAC,EAAE,WAAW,CACf,qBAAqB,EACrB,SAAS,CAAC,qBAAqB,CAAC,CACnC,CAAC;KACL,CAAC;IAEF,SAAS,CAAC,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE;YACL,MAAM,EAAE,MAAM,CAAC;YACf,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,OAAO,EAAE,CAAC;SACrB,EAAE,CAAC;KACP,CAAC;IAEF,GAAG,CAAC,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO,GAAG,WAAW,CAAC;IAEzD,OAAO,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;KAC7B,EAAE,CAAC;IAEJ,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AACF,MAAM,MAAM,IAAI,GAAG;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE;QACF,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,EAAE,EAAE;QACA,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,KAAK,CAAC,EAAE,WAAW,CACf,qBAAqB,EACrB,SAAS,CAAC,qBAAqB,CAAC,CACnC,CAAC;IACF,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC3B,CAAC"}
@@ -1,9 +1,8 @@
1
- import { ColumnName } from "../../../schema/types/helpers/ColumnName";
2
1
  import { ModelName } from "../../../schema/types/helpers/ModelName";
3
2
  import { LooseModelDefinitions } from "../../../schema/types/loose/LooseModelDefinitions";
4
3
  import { LooseRelationsDefinitions } from "../../../schema/types/loose/LooseRelationsDefinitions";
5
- import { NonEmptyArray } from "../../../types/util/NonEmptyArray";
6
4
  import { IncludeClause } from "../../clauses/IncludeClause";
5
+ import { OrderByClause } from "../../clauses/OrderByClause";
7
6
  import { SelectClause } from "../../clauses/SelectClause";
8
7
  import { WhereClause } from "../../clauses/WhereClause";
9
8
  export type FindManyParams<Models extends LooseModelDefinitions, Relations extends LooseRelationsDefinitions<Models>, M extends ModelName<Models>> = {
@@ -12,7 +11,7 @@ export type FindManyParams<Models extends LooseModelDefinitions, Relations exten
12
11
  where?: WhereClause<Models, M>;
13
12
  limit?: number;
14
13
  offset?: number;
15
- orderBy?: NonEmptyArray<ColumnName<Models[M]> | [ColumnName<Models[M]>, "asc" | "desc"]>;
14
+ orderBy?: OrderByClause<Models, Relations, M>;
16
15
  for?: "update" | "no key update" | "share" | "key share";
17
16
  };
18
17
  //# sourceMappingURL=FindManyParams.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FindManyParams.d.ts","sourceRoot":"","sources":["../../../../src/queries/find/types/FindManyParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAClG,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,MAAM,cAAc,CACtB,MAAM,SAAS,qBAAqB,EACpC,SAAS,SAAS,yBAAyB,CAAC,MAAM,CAAC,EACnD,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,IAC3B;IACA,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,aAAa,CACnB,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,CAClE,CAAC;IACF,GAAG,CAAC,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO,GAAG,WAAW,CAAC;CAC5D,CAAC"}
1
+ {"version":3,"file":"FindManyParams.d.ts","sourceRoot":"","sources":["../../../../src/queries/find/types/FindManyParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAClG,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,MAAM,cAAc,CACtB,MAAM,SAAS,qBAAqB,EACpC,SAAS,SAAS,yBAAyB,CAAC,MAAM,CAAC,EACnD,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,IAC3B;IACA,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAC9C,GAAG,CAAC,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO,GAAG,WAAW,CAAC;CAC5D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"hasConditions.d.ts","sourceRoot":"","sources":["../../../src/queries/util/hasConditions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,cAAe,CAAC,6BAazC,CAAC"}
1
+ {"version":3,"file":"hasConditions.d.ts","sourceRoot":"","sources":["../../../src/queries/util/hasConditions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,GAAI,CAAC,UAAU,CAAC,KAAG,MAAM,IAAI,WAAW,CAAC,CAAC,CAanE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"rowToObject.d.ts","sourceRoot":"","sources":["../../../src/queries/util/rowToObject.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,eAAO,MAAM,WAAW,YACV,aAAa,EAAE,WACnB,OAAO,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,MAAM,EAAE,OAAO,CAMrD,CAAC"}
1
+ {"version":3,"file":"rowToObject.d.ts","sourceRoot":"","sources":["../../../src/queries/util/rowToObject.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,eAAO,MAAM,WAAW,YACV,aAAa,EAAE,WACnB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAMrD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"populateConfiguration.d.ts","sourceRoot":"","sources":["../../../src/schema/populate/populateConfiguration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAG5E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAIrF,eAAO,MAAM,qBAAqB,sGAItB,cAAc,MAAM,EAAE,SAAS,CAAC,KACzC,iBAgCF,CAAC"}
1
+ {"version":3,"file":"populateConfiguration.d.ts","sourceRoot":"","sources":["../../../src/schema/populate/populateConfiguration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAG5E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAIrF,eAAO,MAAM,qBAAqB,GAC9B,MAAM,SAAS,qBAAqB,EACpC,SAAS,SAAS,yBAAyB,CAAC,MAAM,CAAC,UAE3C,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,KACzC,iBAgCF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"populateModel.d.ts","sourceRoot":"","sources":["../../../src/schema/populate/populateModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAG3E,eAAO,MAAM,aAAa,WACd,KAAK,iBAAiB,EAAE,QAAQ,GAAG,QAAQ,CAAC,QAC9C,MAAM,SACL,oBAAoB,KAC5B,SAoFF,CAAC"}
1
+ {"version":3,"file":"populateModel.d.ts","sourceRoot":"","sources":["../../../src/schema/populate/populateModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAG3E,eAAO,MAAM,aAAa,WACd,IAAI,CAAC,iBAAiB,EAAE,QAAQ,GAAG,QAAQ,CAAC,QAC9C,MAAM,SACL,oBAAoB,KAC5B,SAoFF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/sql/sql.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,eAAO,MAAM,GAAG;gBACD,oBAAoB,gBACjB,SAAS,OAAO,EAAE;qBAmCZ,CAAC,EAAE;CAF1B,CAAC"}
1
+ {"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/sql/sql.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,eAAO,MAAM,GAAG;gBACD,oBAAoB,gBACjB,SAAS,OAAO,EAAE;UAmCvB,CAAC,UAAU,CAAC,EAAE;CAF1B,CAAC"}
@@ -2,22 +2,22 @@ import { fc } from "@fast-check/vitest";
2
2
  import { z } from "zod";
3
3
  export declare const column: () => fc.Arbitrary<{
4
4
  type: string;
5
- name?: string | undefined;
5
+ name?: string;
6
6
  zodSchema?: z.ZodType<unknown, z.ZodTypeDef, unknown> | undefined;
7
- nullable?: boolean | undefined;
7
+ nullable?: boolean;
8
8
  default?: unknown;
9
9
  unique?: boolean | {
10
- where?: import("../..").SQLStatement | undefined;
11
- nullsNotDistinct?: boolean | undefined;
12
- } | undefined;
13
- primaryKey?: boolean | undefined;
10
+ where?: import("../..").SQLStatement;
11
+ nullsNotDistinct?: boolean;
12
+ };
13
+ primaryKey?: boolean;
14
14
  references?: {
15
- schema?: string | undefined;
15
+ schema?: string;
16
16
  table: string;
17
17
  column: string;
18
- onUpdate?: import("../..").SQLStatement | undefined;
19
- onDelete?: import("../..").SQLStatement | undefined;
20
- } | undefined;
21
- provided?: boolean | undefined;
18
+ onUpdate?: import("../..").SQLStatement;
19
+ onDelete?: import("../..").SQLStatement;
20
+ };
21
+ provided?: boolean;
22
22
  }>;
23
23
  //# sourceMappingURL=column.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"column.d.ts","sourceRoot":"","sources":["../../../src/test/gen/column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;EA+BlB,CAAC"}
1
+ {"version":3,"file":"column.d.ts","sourceRoot":"","sources":["../../../src/test/gen/column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,MAAM;;;;;;;aAgC0B,CAAC;wBAAgC,CAAC;;;;cAAgT,CAAC;;;gBAAyE,CAAC;gBAAgC,CAAC;;;EAD1e,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { DB } from "../db";
1
2
  export type SeedParams = {
2
3
  users: {
3
4
  username: string;
@@ -7,284 +8,7 @@ export type SeedParams = {
7
8
  }[];
8
9
  }[];
9
10
  };
10
- export declare const seed: (db: import("../..").Orm<{
11
- foo: {
12
- readonly columns: {
13
- readonly id: {
14
- readonly type: "uuid";
15
- readonly default: import("../..").SQLStatement;
16
- readonly primaryKey: true;
17
- };
18
- readonly bigint: {
19
- readonly type: "bigint";
20
- };
21
- readonly text: {
22
- readonly type: "text";
23
- };
24
- readonly timestamp: {
25
- readonly type: "timestamp";
26
- };
27
- readonly renamedColumn: {
28
- readonly name: "original_name";
29
- readonly type: "timestamp";
30
- };
31
- readonly a: {
32
- readonly type: "bigint";
33
- };
34
- readonly b: {
35
- readonly type: "bigint";
36
- };
37
- readonly c: {
38
- readonly type: "bigint";
39
- };
40
- readonly d: {
41
- readonly type: "bigint";
42
- };
43
- readonly e: {
44
- readonly type: "bigint";
45
- };
46
- readonly f: {
47
- readonly type: "bigint";
48
- };
49
- readonly g: {
50
- readonly type: "bigint";
51
- };
52
- readonly h: {
53
- readonly type: "bigint";
54
- };
55
- };
56
- };
57
- post: {
58
- readonly columns: {
59
- readonly id: {
60
- readonly type: "uuid";
61
- readonly default: import("../..").SQLStatement;
62
- readonly primaryKey: true;
63
- };
64
- readonly title: {
65
- readonly type: "text";
66
- };
67
- readonly content: {
68
- readonly type: "text";
69
- };
70
- readonly authorId: {
71
- readonly name: "created_by_id";
72
- readonly type: "uuid";
73
- readonly references: {
74
- readonly table: "user";
75
- readonly column: "id";
76
- };
77
- };
78
- readonly reviewedById: {
79
- readonly name: "reviewed_by_id";
80
- readonly type: "uuid";
81
- readonly nullable: true;
82
- readonly references: {
83
- readonly table: "user";
84
- readonly column: "id";
85
- };
86
- };
87
- readonly publishedAt: {
88
- readonly type: "timestamp";
89
- readonly nullable: true;
90
- };
91
- readonly tags: {
92
- readonly type: "text[][][][]";
93
- readonly nullable: true;
94
- };
95
- readonly tenantId: {
96
- readonly type: "uuid";
97
- readonly references: {
98
- readonly table: "tenant";
99
- readonly column: "id";
100
- };
101
- readonly default: "00000000-0000-0000-0000-000000000000";
102
- };
103
- readonly updatedAt: {
104
- readonly type: "timestamp";
105
- readonly nullable: true;
106
- };
107
- readonly deletedAt: {
108
- readonly type: "timestamp";
109
- readonly nullable: true;
110
- };
111
- };
112
- };
113
- user: {
114
- readonly columns: {
115
- readonly id: {
116
- readonly type: "uuid";
117
- readonly default: import("../..").SQLStatement;
118
- };
119
- readonly username: {
120
- readonly zodSchema: import("zod").ZodString;
121
- readonly type: "text";
122
- };
123
- readonly invitedById: {
124
- readonly name: "invited_by_id";
125
- readonly type: "uuid";
126
- readonly nullable: true;
127
- readonly references: {
128
- readonly table: "user";
129
- readonly column: "id";
130
- };
131
- };
132
- readonly joinedAt: {
133
- readonly name: "created_at";
134
- readonly zodSchema: import("zod").ZodDate;
135
- readonly type: "timestamp";
136
- readonly nullable: true;
137
- };
138
- readonly updatedAt: {
139
- readonly type: "timestamp";
140
- readonly nullable: true;
141
- };
142
- readonly deletedAt: {
143
- readonly zodSchema: import("zod").ZodDate;
144
- readonly type: "timestamp";
145
- readonly nullable: true;
146
- };
147
- };
148
- readonly primaryKey: ["id"];
149
- readonly uniqueConstraints: [{
150
- readonly columns: ["username"];
151
- readonly where: import("../..").SQLStatement;
152
- }];
153
- };
154
- tenant: {
155
- readonly columns: {
156
- readonly id: {
157
- readonly type: "uuid";
158
- readonly default: import("../..").SQLStatement;
159
- readonly primaryKey: true;
160
- };
161
- readonly name: {
162
- readonly type: "text";
163
- };
164
- readonly createdAt: {
165
- readonly type: "timestamp";
166
- readonly default: import("../..").SQLStatement;
167
- };
168
- };
169
- };
170
- tenantUser: {
171
- readonly table: "tenant_user";
172
- readonly columns: {
173
- readonly id: {
174
- readonly type: "uuid";
175
- readonly default: import("../..").SQLStatement;
176
- readonly primaryKey: true;
177
- };
178
- readonly tenantId: {
179
- readonly type: "uuid";
180
- readonly references: {
181
- readonly table: "tenant";
182
- readonly column: "id";
183
- };
184
- };
185
- readonly userId: {
186
- readonly type: "uuid";
187
- readonly references: {
188
- readonly table: "user";
189
- readonly column: "id";
190
- };
191
- };
192
- readonly createdAt: {
193
- readonly type: "timestamp with time zone";
194
- readonly default: import("../..").SQLStatement;
195
- };
196
- readonly deletedAt: {
197
- readonly type: "timestamp with time zone";
198
- readonly nullable: true;
199
- };
200
- };
201
- };
202
- }, {
203
- post: {
204
- readonly author: {
205
- readonly model: "user";
206
- readonly type: "N:1";
207
- readonly foreignKey: "authorId";
208
- };
209
- readonly reviewedBy: {
210
- readonly model: "user";
211
- readonly type: "N:1";
212
- readonly foreignKey: "reviewedById";
213
- readonly optional: true;
214
- };
215
- readonly tenant: {
216
- readonly model: "tenant";
217
- readonly type: "N:1";
218
- readonly foreignKey: "tenantId";
219
- };
220
- };
221
- user: {
222
- readonly posts: {
223
- readonly type: "1:N";
224
- readonly model: "post";
225
- readonly foreignKey: "authorId";
226
- };
227
- readonly reviewedPosts: {
228
- readonly type: "1:N";
229
- readonly model: "post";
230
- readonly foreignKey: "reviewedById";
231
- };
232
- readonly invitedBy: {
233
- readonly type: "N:1";
234
- readonly model: "user";
235
- readonly foreignKey: "invitedById";
236
- readonly optional: true;
237
- };
238
- readonly invitedUsers: {
239
- readonly type: "1:N";
240
- readonly model: "user";
241
- readonly foreignKey: "invitedById";
242
- };
243
- readonly tenancies: {
244
- readonly type: "1:N";
245
- readonly model: "tenantUser";
246
- readonly foreignKey: "userId";
247
- };
248
- readonly tenants: {
249
- readonly type: "N:N";
250
- readonly model: "tenant";
251
- readonly through: "tenantUser";
252
- readonly foreignKey: "userId";
253
- readonly otherKey: "tenantId";
254
- };
255
- };
256
- tenant: {
257
- readonly users: {
258
- readonly model: "user";
259
- readonly through: "tenantUser";
260
- readonly type: "N:N";
261
- readonly foreignKey: "tenantId";
262
- readonly otherKey: "userId";
263
- };
264
- readonly tenancies: {
265
- readonly model: "tenantUser";
266
- readonly type: "1:N";
267
- readonly foreignKey: "tenantId";
268
- };
269
- readonly posts: {
270
- readonly model: "post";
271
- readonly type: "1:N";
272
- readonly foreignKey: "tenantId";
273
- };
274
- };
275
- tenantUser: {
276
- readonly user: {
277
- readonly model: "user";
278
- readonly type: "N:1";
279
- readonly foreignKey: "userId";
280
- };
281
- readonly tenant: {
282
- readonly model: "tenant";
283
- readonly type: "N:1";
284
- readonly foreignKey: "tenantId";
285
- };
286
- };
287
- }>, params: SeedParams) => Promise<{
11
+ export declare const seed: (db: DB, params: SeedParams) => Promise<{
288
12
  users: Record<string, {
289
13
  id: string;
290
14
  username: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/test/seed/index.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,UAAU,GAAG;IACrB,KAAK,EAAE;QACH,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE;YACL,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;SACjB,EAAE,CAAC;KACP,EAAE,CAAC;CACP,CAAC;AAEF,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAEL,UAAU,KACnB,QAAQ;IACP,KAAK,EAAE,OAAO,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxD,OAAO,EAAE,OAAO,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD,WAAW,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACpD,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC7E,CAoDA,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/test/seed/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAE3B,MAAM,MAAM,UAAU,GAAG;IACrB,KAAK,EAAE;QACH,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE;YACL,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;SACjB,EAAE,CAAC;KACP,EAAE,CAAC;CACP,CAAC;AAEF,eAAO,MAAM,IAAI,OACT,EAAE,UACE,UAAU,KACnB,OAAO,CAAC;IACP,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD,WAAW,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACpD,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC7E,CAoDA,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"withRollback.d.ts","sourceRoot":"","sources":["../../../src/test/util/withRollback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,eAAO,MAAM,YAAY,UACjB,CAAC,MAAM,EAAE,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,KACtC,QAAQ,CAAC,CAaX,CAAC"}
1
+ {"version":3,"file":"withRollback.d.ts","sourceRoot":"","sources":["../../../src/test/util/withRollback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,eAAO,MAAM,YAAY,GAAU,CAAC,MAC5B,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,KACtC,OAAO,CAAC,CAAC,CAaX,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"withTransaction.d.ts","sourceRoot":"","sources":["../../../src/test/util/withTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,eAAO,MAAM,eAAe,UACpB,CAAC,MAAM,EAAE,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,KACtC,QAAQ,CAAC,CAcX,CAAC"}
1
+ {"version":3,"file":"withTransaction.d.ts","sourceRoot":"","sources":["../../../src/test/util/withTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,eAAO,MAAM,eAAe,GAAU,CAAC,MAC/B,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,KACtC,OAAO,CAAC,CAAC,CAcX,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ensureArray.d.ts","sourceRoot":"","sources":["../../src/util/ensureArray.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,SAAU,CAAC,GAAG,CAAC,EAAE,KAAG,CAAC,EAAkC,CAAC"}
1
+ {"version":3,"file":"ensureArray.d.ts","sourceRoot":"","sources":["../../src/util/ensureArray.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAG,CAAC,EAAkC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"interleave.d.ts","sourceRoot":"","sources":["../../src/util/interleave.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,aAAc,CAAC,EAAE,KAAK,CAAC,KAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAOvD,CAAC"}
1
+ {"version":3,"file":"interleave.d.ts","sourceRoot":"","sources":["../../src/util/interleave.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,KAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAOvD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@casekit/orm",
3
- "version": "0.0.1-alpha.20",
3
+ "version": "0.0.1-alpha.22",
4
4
  "description": "A simple ORM",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -26,7 +26,7 @@
26
26
  "@types/pg": "^8.11.5",
27
27
  "@types/pg-format": "^1.0.5",
28
28
  "@types/pluralize": "^0.0.33",
29
- "@types/uuid": "^9.0.8",
29
+ "@types/uuid": "^10.0.0",
30
30
  "@typescript-eslint/eslint-plugin": "^7.7.0",
31
31
  "@vitest/coverage-istanbul": "^1.4.0",
32
32
  "@vitest/coverage-v8": "^1.4.0",
@@ -48,7 +48,7 @@
48
48
  "pluralize": "^8.0.0",
49
49
  "prettier": "^3.2.5",
50
50
  "ts-toolbelt": "^9.6.0",
51
- "uuid": "^9.0.1",
51
+ "uuid": "^10.0.0",
52
52
  "zod": "^3.22.4"
53
53
  },
54
54
  "scripts": {
@@ -0,0 +1,27 @@
1
+ import { ModelName } from "../../schema/types/helpers/ModelName";
2
+ import { LooseModelDefinitions } from "../../schema/types/loose/LooseModelDefinitions";
3
+ import { LooseRelationsDefinitions } from "../../schema/types/loose/LooseRelationsDefinitions";
4
+ import { ColumnName } from "../../types/ColumnName";
5
+ import { NonEmptyArray } from "../../types/util/NonEmptyArray";
6
+
7
+ export type OrderByClause<
8
+ Models extends LooseModelDefinitions,
9
+ Relations extends LooseRelationsDefinitions<Models>,
10
+ M extends ModelName<Models>,
11
+ > = NonEmptyArray<
12
+ | OrderByColumn<Models, Relations, M>
13
+ | [OrderByColumn<Models, Relations, M>, "asc" | "desc"]
14
+ >;
15
+
16
+ type OrderByColumn<
17
+ Models extends LooseModelDefinitions,
18
+ Relations extends LooseRelationsDefinitions<Models>,
19
+ M extends ModelName<Models>,
20
+ > =
21
+ | ColumnName<Models[M]>
22
+ | {
23
+ [R in Extract<
24
+ keyof Relations[M],
25
+ string
26
+ >]: `${R}.${Relations[M][R] extends { type: "N:1"; model: infer M2 extends ModelName<Models> } ? Extract<keyof Models[M2]["columns"], string> : never}`;
27
+ }[Extract<keyof Relations[M], string>];
@@ -19,7 +19,7 @@ export const buildWhereClause = (
19
19
  column: string,
20
20
  v: unknown,
21
21
  ): SQLStatement => {
22
- if (v === null) {
22
+ if (v === null || v === undefined) {
23
23
  return sql`%I.%I IS NULL`.withIdentifiers(table, column);
24
24
  } else if (
25
25
  typeof v === "string" ||
@@ -56,7 +56,25 @@ export const buildFind = (
56
56
  });
57
57
  }
58
58
 
59
- for (const [r, subquery] of Object.entries(query.include ?? {})) {
59
+ const relationQueries = { ...query.include };
60
+
61
+ // make sure we include a join to any relations we're ordering by
62
+ // (we'll use them later)
63
+ if (query.orderBy) {
64
+ query.orderBy.forEach((o) => {
65
+ const [col] = Array.isArray(o) ? o : [o, "asc"];
66
+ if (col.includes(".")) {
67
+ const r = col.split(".")[0]!;
68
+ if (!relationQueries[r]) {
69
+ relationQueries[r] = {
70
+ select: [],
71
+ };
72
+ }
73
+ }
74
+ });
75
+ }
76
+
77
+ for (const [r, subquery] of Object.entries(relationQueries)) {
60
78
  const relation = config.relations[m][r];
61
79
  const joinedModel = config.models[relation.model];
62
80
  if (relation.type === "N:1") {
@@ -70,6 +88,7 @@ export const buildFind = (
70
88
  const joinedTable = joinBuilder.table;
71
89
  builder.table.joins.push(
72
90
  {
91
+ relation: r,
73
92
  from: {
74
93
  schema: config.models[m].schema,
75
94
  table: config.models[m].table,
@@ -123,11 +142,25 @@ export const buildFind = (
123
142
  }
124
143
 
125
144
  if (query.orderBy) {
126
- builder.orderBy = query.orderBy.map((o) => ({
127
- table: alias,
128
- column: model.columns[Array.isArray(o) ? o[0] : o].name,
129
- direction: Array.isArray(o) ? o[1] : "asc",
130
- }));
145
+ builder.orderBy = query.orderBy.map((o) => {
146
+ const [col, order] = Array.isArray(o) ? o : [o, "asc" as const];
147
+ if (col.includes(".")) {
148
+ const [r, c] = col.split(".");
149
+ const join = builder.table.joins.find((j) => j.relation === r)!;
150
+ const joinedModel = config.models[join.to.model]!;
151
+ return {
152
+ table: join.to.alias,
153
+ column: joinedModel.columns[c].name,
154
+ direction: order,
155
+ };
156
+ } else {
157
+ return {
158
+ table: alias,
159
+ column: model.columns[Array.isArray(o) ? o[0] : o].name,
160
+ direction: Array.isArray(o) ? o[1] : "asc",
161
+ };
162
+ }
163
+ });
131
164
  }
132
165
 
133
166
  if (query.limit) {
@@ -39,10 +39,11 @@ describe("findMany", () => {
39
39
  );
40
40
  });
41
41
 
42
- test("included N:1 relations cannot be ordered", () => {
42
+ test("included N:1 relations can be ordered", () => {
43
43
  assertType(
44
44
  db.findMany("post", {
45
45
  select: ["id", "content"],
46
+ orderBy: ["author.username"],
46
47
  include: {
47
48
  author: {
48
49
  select: ["username"],
@@ -2,6 +2,7 @@ import { describe, expect, test } from "vitest";
2
2
 
3
3
  import { db } from "../../../test/db";
4
4
  import { seed } from "../../../test/seed";
5
+ import { $in } from "../../clauses/where/operators";
5
6
 
6
7
  describe("findMany", () => {
7
8
  test("it can return data in the specified order", async () => {
@@ -181,4 +182,90 @@ describe("findMany", () => {
181
182
  { rollback: true },
182
183
  );
183
184
  });
185
+ test("it can order by fields on N:1 relations even if they're not included in the query", async () => {
186
+ await db.transact(
187
+ async (db) => {
188
+ await seed(db, {
189
+ users: [
190
+ {
191
+ username: "Russell",
192
+ tenants: [{ name: "WFMA", posts: 3 }],
193
+ },
194
+ {
195
+ username: "Dan",
196
+ tenants: [{ name: "WFMA", posts: 2 }],
197
+ },
198
+ {
199
+ username: "Fairooz",
200
+ tenants: [{ name: "WFMA", posts: 6 }],
201
+ },
202
+ ],
203
+ });
204
+ const results = await db.findMany("post", {
205
+ select: ["title"],
206
+ orderBy: [["author.username", "desc"], "title"],
207
+ });
208
+
209
+ // the extra joined table used for the ordering is not included in the result object
210
+ expect(Object.keys(results[0])).toEqual(["title"]);
211
+
212
+ expect(results.map((r) => r.title)).toEqual([
213
+ "Post a",
214
+ "Post b",
215
+ "Post c",
216
+ "Post f",
217
+ "Post g",
218
+ "Post h",
219
+ "Post i",
220
+ "Post j",
221
+ "Post k",
222
+ "Post d",
223
+ "Post e",
224
+ ]);
225
+ },
226
+ { rollback: true },
227
+ );
228
+ });
229
+
230
+ test("it can order by fields on N:1 relations that are included in the query without issue", async () => {
231
+ await db.transact(
232
+ async (db) => {
233
+ await seed(db, {
234
+ users: [
235
+ {
236
+ username: "Russell",
237
+ tenants: [{ name: "WFMA", posts: 3 }],
238
+ },
239
+ {
240
+ username: "Dan",
241
+ tenants: [{ name: "WFMA", posts: 2 }],
242
+ },
243
+ {
244
+ username: "Fairooz",
245
+ tenants: [{ name: "WFMA", posts: 6 }],
246
+ },
247
+ ],
248
+ });
249
+ const results = await db.findMany("post", {
250
+ select: ["title"],
251
+ include: {
252
+ author: {
253
+ select: ["id"],
254
+ where: { username: { [$in]: ["Russell", "Dan"] } },
255
+ },
256
+ },
257
+ orderBy: [["author.username", "desc"], "title"],
258
+ });
259
+
260
+ expect(results.map((r) => r.title)).toEqual([
261
+ "Post a",
262
+ "Post b",
263
+ "Post c",
264
+ "Post d",
265
+ "Post e",
266
+ ]);
267
+ },
268
+ { rollback: true },
269
+ );
270
+ });
184
271
  });
@@ -117,15 +117,6 @@ describe("findMany", () => {
117
117
  [$not]: null,
118
118
  },
119
119
  },
120
- include:
121
- {
122
- author: {
123
- select: [
124
- "id",
125
- "username",
126
- ],
127
- },
128
- },
129
120
  },
130
121
  },
131
122
  where: {
@@ -51,6 +51,7 @@ export type FindBuilder = {
51
51
  offset?: number;
52
52
  };
53
53
  export type Join = {
54
+ relation: string;
54
55
  from: {
55
56
  schema: string;
56
57
  table: string;
@@ -1,9 +1,8 @@
1
- import { ColumnName } from "../../../schema/types/helpers/ColumnName";
2
1
  import { ModelName } from "../../../schema/types/helpers/ModelName";
3
2
  import { LooseModelDefinitions } from "../../../schema/types/loose/LooseModelDefinitions";
4
3
  import { LooseRelationsDefinitions } from "../../../schema/types/loose/LooseRelationsDefinitions";
5
- import { NonEmptyArray } from "../../../types/util/NonEmptyArray";
6
4
  import { IncludeClause } from "../../clauses/IncludeClause";
5
+ import { OrderByClause } from "../../clauses/OrderByClause";
7
6
  import { SelectClause } from "../../clauses/SelectClause";
8
7
  import { WhereClause } from "../../clauses/WhereClause";
9
8
 
@@ -17,8 +16,6 @@ export type FindManyParams<
17
16
  where?: WhereClause<Models, M>;
18
17
  limit?: number;
19
18
  offset?: number;
20
- orderBy?: NonEmptyArray<
21
- ColumnName<Models[M]> | [ColumnName<Models[M]>, "asc" | "desc"]
22
- >;
19
+ orderBy?: OrderByClause<Models, Relations, M>;
23
20
  for?: "update" | "no key update" | "share" | "key share";
24
21
  };