@payloadcms/drizzle 3.0.0-canary.a5aaf21 → 3.0.0-canary.a6e7305

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 (152) hide show
  1. package/dist/create.d.ts.map +1 -1
  2. package/dist/create.js +2 -1
  3. package/dist/create.js.map +1 -1
  4. package/dist/createGlobalVersion.d.ts +1 -1
  5. package/dist/createGlobalVersion.d.ts.map +1 -1
  6. package/dist/createGlobalVersion.js +4 -1
  7. package/dist/createGlobalVersion.js.map +1 -1
  8. package/dist/createVersion.d.ts +1 -1
  9. package/dist/createVersion.d.ts.map +1 -1
  10. package/dist/createVersion.js +4 -4
  11. package/dist/createVersion.js.map +1 -1
  12. package/dist/deleteOne.d.ts.map +1 -1
  13. package/dist/deleteOne.js +2 -1
  14. package/dist/deleteOne.js.map +1 -1
  15. package/dist/exports/postgres.d.ts +1 -0
  16. package/dist/exports/postgres.d.ts.map +1 -1
  17. package/dist/exports/postgres.js +1 -0
  18. package/dist/exports/postgres.js.map +1 -1
  19. package/dist/find/buildFindManyArgs.d.ts +4 -2
  20. package/dist/find/buildFindManyArgs.d.ts.map +1 -1
  21. package/dist/find/buildFindManyArgs.js +40 -21
  22. package/dist/find/buildFindManyArgs.js.map +1 -1
  23. package/dist/find/findMany.d.ts +2 -1
  24. package/dist/find/findMany.d.ts.map +1 -1
  25. package/dist/find/findMany.js +7 -5
  26. package/dist/find/findMany.js.map +1 -1
  27. package/dist/find/traverseFields.d.ts +13 -3
  28. package/dist/find/traverseFields.d.ts.map +1 -1
  29. package/dist/find/traverseFields.js +275 -89
  30. package/dist/find/traverseFields.js.map +1 -1
  31. package/dist/find.d.ts.map +1 -1
  32. package/dist/find.js +3 -2
  33. package/dist/find.js.map +1 -1
  34. package/dist/findGlobal.d.ts.map +1 -1
  35. package/dist/findGlobal.js +2 -1
  36. package/dist/findGlobal.js.map +1 -1
  37. package/dist/findGlobalVersions.d.ts.map +1 -1
  38. package/dist/findGlobalVersions.js +3 -2
  39. package/dist/findGlobalVersions.js.map +1 -1
  40. package/dist/findOne.d.ts +1 -1
  41. package/dist/findOne.d.ts.map +1 -1
  42. package/dist/findOne.js +2 -1
  43. package/dist/findOne.js.map +1 -1
  44. package/dist/findVersions.d.ts.map +1 -1
  45. package/dist/findVersions.js +3 -2
  46. package/dist/findVersions.js.map +1 -1
  47. package/dist/index.d.ts +3 -0
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +3 -0
  50. package/dist/index.js.map +1 -1
  51. package/dist/migrateReset.js +1 -1
  52. package/dist/migrateReset.js.map +1 -1
  53. package/dist/postgres/countDistinct.d.ts.map +1 -1
  54. package/dist/postgres/countDistinct.js +2 -3
  55. package/dist/postgres/countDistinct.js.map +1 -1
  56. package/dist/postgres/createDatabase.d.ts +14 -0
  57. package/dist/postgres/createDatabase.d.ts.map +1 -0
  58. package/dist/postgres/createDatabase.js +76 -0
  59. package/dist/postgres/createDatabase.js.map +1 -0
  60. package/dist/postgres/defaultSnapshot.d.ts.map +1 -1
  61. package/dist/postgres/defaultSnapshot.js +2 -1
  62. package/dist/postgres/defaultSnapshot.js.map +1 -1
  63. package/dist/postgres/init.d.ts.map +1 -1
  64. package/dist/postgres/init.js +10 -1
  65. package/dist/postgres/init.js.map +1 -1
  66. package/dist/postgres/schema/build.d.ts +3 -1
  67. package/dist/postgres/schema/build.d.ts.map +1 -1
  68. package/dist/postgres/schema/build.js +29 -3
  69. package/dist/postgres/schema/build.js.map +1 -1
  70. package/dist/postgres/schema/createIndex.d.ts +2 -3
  71. package/dist/postgres/schema/createIndex.d.ts.map +1 -1
  72. package/dist/postgres/schema/createIndex.js +3 -3
  73. package/dist/postgres/schema/createIndex.js.map +1 -1
  74. package/dist/postgres/schema/traverseFields.d.ts +3 -1
  75. package/dist/postgres/schema/traverseFields.d.ts.map +1 -1
  76. package/dist/postgres/schema/traverseFields.js +34 -28
  77. package/dist/postgres/schema/traverseFields.js.map +1 -1
  78. package/dist/postgres/types.d.ts +32 -6
  79. package/dist/postgres/types.d.ts.map +1 -1
  80. package/dist/postgres/types.js.map +1 -1
  81. package/dist/queries/addJoinTable.d.ts +11 -0
  82. package/dist/queries/addJoinTable.d.ts.map +1 -0
  83. package/dist/queries/addJoinTable.js +13 -0
  84. package/dist/queries/addJoinTable.js.map +1 -0
  85. package/dist/queries/buildOrderBy.d.ts +2 -2
  86. package/dist/queries/buildOrderBy.d.ts.map +1 -1
  87. package/dist/queries/buildOrderBy.js +32 -27
  88. package/dist/queries/buildOrderBy.js.map +1 -1
  89. package/dist/queries/buildQuery.d.ts +4 -3
  90. package/dist/queries/buildQuery.d.ts.map +1 -1
  91. package/dist/queries/buildQuery.js.map +1 -1
  92. package/dist/queries/getTableColumnFromPath.d.ts.map +1 -1
  93. package/dist/queries/getTableColumnFromPath.js +80 -70
  94. package/dist/queries/getTableColumnFromPath.js.map +1 -1
  95. package/dist/queries/parseParams.d.ts.map +1 -1
  96. package/dist/queries/parseParams.js +2 -0
  97. package/dist/queries/parseParams.js.map +1 -1
  98. package/dist/queries/sanitizeQueryValue.d.ts +2 -1
  99. package/dist/queries/sanitizeQueryValue.d.ts.map +1 -1
  100. package/dist/queries/sanitizeQueryValue.js +13 -3
  101. package/dist/queries/sanitizeQueryValue.js.map +1 -1
  102. package/dist/queryDrafts.d.ts.map +1 -1
  103. package/dist/queryDrafts.js +5 -4
  104. package/dist/queryDrafts.js.map +1 -1
  105. package/dist/transform/read/traverseFields.d.ts.map +1 -1
  106. package/dist/transform/read/traverseFields.js +41 -7
  107. package/dist/transform/read/traverseFields.js.map +1 -1
  108. package/dist/transform/write/traverseFields.d.ts.map +1 -1
  109. package/dist/transform/write/traverseFields.js +13 -2
  110. package/dist/transform/write/traverseFields.js.map +1 -1
  111. package/dist/types.d.ts +1 -0
  112. package/dist/types.d.ts.map +1 -1
  113. package/dist/types.js.map +1 -1
  114. package/dist/update.d.ts.map +1 -1
  115. package/dist/update.js +2 -1
  116. package/dist/update.js.map +1 -1
  117. package/dist/updateGlobal.d.ts +1 -1
  118. package/dist/updateGlobal.d.ts.map +1 -1
  119. package/dist/updateGlobal.js +2 -1
  120. package/dist/updateGlobal.js.map +1 -1
  121. package/dist/updateGlobalVersion.d.ts +1 -1
  122. package/dist/updateGlobalVersion.d.ts.map +1 -1
  123. package/dist/updateGlobalVersion.js +2 -1
  124. package/dist/updateGlobalVersion.js.map +1 -1
  125. package/dist/updateVersion.d.ts +1 -1
  126. package/dist/updateVersion.d.ts.map +1 -1
  127. package/dist/updateVersion.js +2 -1
  128. package/dist/updateVersion.js.map +1 -1
  129. package/dist/upsertRow/index.d.ts +1 -1
  130. package/dist/upsertRow/index.d.ts.map +1 -1
  131. package/dist/upsertRow/index.js +2 -1
  132. package/dist/upsertRow/index.js.map +1 -1
  133. package/dist/upsertRow/types.d.ts +3 -1
  134. package/dist/upsertRow/types.d.ts.map +1 -1
  135. package/dist/upsertRow/types.js.map +1 -1
  136. package/dist/utilities/buildIndexName.d.ts +7 -0
  137. package/dist/utilities/buildIndexName.d.ts.map +1 -0
  138. package/dist/utilities/buildIndexName.js +14 -0
  139. package/dist/utilities/buildIndexName.js.map +1 -0
  140. package/dist/utilities/executeSchemaHooks.d.ts +24 -0
  141. package/dist/utilities/executeSchemaHooks.d.ts.map +1 -0
  142. package/dist/utilities/executeSchemaHooks.js +21 -0
  143. package/dist/utilities/executeSchemaHooks.js.map +1 -0
  144. package/dist/utilities/extendDrizzleTable.d.ts +19 -0
  145. package/dist/utilities/extendDrizzleTable.d.ts.map +1 -0
  146. package/dist/utilities/extendDrizzleTable.js +38 -0
  147. package/dist/utilities/extendDrizzleTable.js.map +1 -0
  148. package/dist/utilities/getNameFromDrizzleTable.d.ts +3 -0
  149. package/dist/utilities/getNameFromDrizzleTable.d.ts.map +1 -0
  150. package/dist/utilities/getNameFromDrizzleTable.js +6 -0
  151. package/dist/utilities/getNameFromDrizzleTable.js.map +1 -0
  152. package/package.json +7 -7
@@ -1,5 +1,5 @@
1
1
  import type { SQL } from 'drizzle-orm';
2
- import type { Field, JoinQuery, PayloadRequest } from 'payload';
2
+ import type { Field, JoinQuery, PayloadRequest, SelectType } from 'payload';
3
3
  import type { DrizzleAdapter, DrizzleTransaction, GenericColumn } from '../types.js';
4
4
  type BaseArgs = {
5
5
  adapter: DrizzleAdapter;
@@ -20,6 +20,7 @@ type CreateArgs = {
20
20
  id?: never;
21
21
  joinQuery?: never;
22
22
  operation: 'create';
23
+ select?: SelectType;
23
24
  upsertTarget?: never;
24
25
  where?: never;
25
26
  } & BaseArgs;
@@ -27,6 +28,7 @@ type UpdateArgs = {
27
28
  id?: number | string;
28
29
  joinQuery?: JoinQuery;
29
30
  operation: 'update';
31
+ select?: SelectType;
30
32
  upsertTarget?: GenericColumn;
31
33
  where?: SQL<unknown>;
32
34
  } & BaseArgs;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/upsertRow/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEpF,KAAK,QAAQ,GAAG;IACd,OAAO,EAAE,cAAc,CAAA;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,EAAE,EAAE,cAAc,CAAC,SAAS,CAAC,GAAG,kBAAkB,CAAA;IAClD,MAAM,EAAE,KAAK,EAAE,CAAA;IACf;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,cAAc,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,KAAK,UAAU,GAAG;IAChB,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,SAAS,CAAC,EAAE,KAAK,CAAA;IACjB,SAAS,EAAE,QAAQ,CAAA;IACnB,YAAY,CAAC,EAAE,KAAK,CAAA;IACpB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,QAAQ,CAAA;AAEZ,KAAK,UAAU,GAAG;IAChB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,SAAS,EAAE,QAAQ,CAAA;IACnB,YAAY,CAAC,EAAE,aAAa,CAAA;IAC5B,KAAK,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;CACrB,GAAG,QAAQ,CAAA;AAEZ,MAAM,MAAM,IAAI,GAAG,UAAU,GAAG,UAAU,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/upsertRow/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAE3E,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEpF,KAAK,QAAQ,GAAG;IACd,OAAO,EAAE,cAAc,CAAA;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,EAAE,EAAE,cAAc,CAAC,SAAS,CAAC,GAAG,kBAAkB,CAAA;IAClD,MAAM,EAAE,KAAK,EAAE,CAAA;IACf;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,cAAc,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,KAAK,UAAU,GAAG;IAChB,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,SAAS,CAAC,EAAE,KAAK,CAAA;IACjB,SAAS,EAAE,QAAQ,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,YAAY,CAAC,EAAE,KAAK,CAAA;IACpB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,QAAQ,CAAA;AAEZ,KAAK,UAAU,GAAG;IAChB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,SAAS,EAAE,QAAQ,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,YAAY,CAAC,EAAE,aAAa,CAAA;IAC5B,KAAK,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;CACrB,GAAG,QAAQ,CAAA;AAEZ,MAAM,MAAM,IAAI,GAAG,UAAU,GAAG,UAAU,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/upsertRow/types.ts"],"sourcesContent":["import type { SQL } from 'drizzle-orm'\nimport type { Field, JoinQuery, PayloadRequest } from 'payload'\n\nimport type { DrizzleAdapter, DrizzleTransaction, GenericColumn } from '../types.js'\n\ntype BaseArgs = {\n adapter: DrizzleAdapter\n data: Record<string, unknown>\n db: DrizzleAdapter['drizzle'] | DrizzleTransaction\n fields: Field[]\n /**\n * When true, skips reading the data back from the database and returns the input data\n * @default false\n */\n ignoreResult?: boolean\n joinQuery?: JoinQuery\n path?: string\n req: PayloadRequest\n tableName: string\n}\n\ntype CreateArgs = {\n id?: never\n joinQuery?: never\n operation: 'create'\n upsertTarget?: never\n where?: never\n} & BaseArgs\n\ntype UpdateArgs = {\n id?: number | string\n joinQuery?: JoinQuery\n operation: 'update'\n upsertTarget?: GenericColumn\n where?: SQL<unknown>\n} & BaseArgs\n\nexport type Args = CreateArgs | UpdateArgs\n"],"names":[],"mappings":"AAqCA,WAA0C"}
1
+ {"version":3,"sources":["../../src/upsertRow/types.ts"],"sourcesContent":["import type { SQL } from 'drizzle-orm'\nimport type { Field, JoinQuery, PayloadRequest, SelectType } from 'payload'\n\nimport type { DrizzleAdapter, DrizzleTransaction, GenericColumn } from '../types.js'\n\ntype BaseArgs = {\n adapter: DrizzleAdapter\n data: Record<string, unknown>\n db: DrizzleAdapter['drizzle'] | DrizzleTransaction\n fields: Field[]\n /**\n * When true, skips reading the data back from the database and returns the input data\n * @default false\n */\n ignoreResult?: boolean\n joinQuery?: JoinQuery\n path?: string\n req: PayloadRequest\n tableName: string\n}\n\ntype CreateArgs = {\n id?: never\n joinQuery?: never\n operation: 'create'\n select?: SelectType\n upsertTarget?: never\n where?: never\n} & BaseArgs\n\ntype UpdateArgs = {\n id?: number | string\n joinQuery?: JoinQuery\n operation: 'update'\n select?: SelectType\n upsertTarget?: GenericColumn\n where?: SQL<unknown>\n} & BaseArgs\n\nexport type Args = CreateArgs | UpdateArgs\n"],"names":[],"mappings":"AAuCA,WAA0C"}
@@ -0,0 +1,7 @@
1
+ import type { DrizzleAdapter } from '../types.js';
2
+ export declare const buildIndexName: ({ name, adapter, number, }: {
3
+ adapter: DrizzleAdapter;
4
+ name: string;
5
+ number?: number;
6
+ }) => string;
7
+ //# sourceMappingURL=buildIndexName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildIndexName.d.ts","sourceRoot":"","sources":["../../src/utilities/buildIndexName.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,cAAc,+BAIxB;IACD,OAAO,EAAE,cAAc,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,KAAG,MAaH,CAAA"}
@@ -0,0 +1,14 @@
1
+ export const buildIndexName = ({ name, adapter, number = 0 })=>{
2
+ const indexName = `${name}${number ? `_${number}` : ''}_idx`;
3
+ if (!adapter.indexes.has(indexName)) {
4
+ adapter.indexes.add(indexName);
5
+ return indexName;
6
+ }
7
+ return buildIndexName({
8
+ name,
9
+ adapter,
10
+ number: number + 1
11
+ });
12
+ };
13
+
14
+ //# sourceMappingURL=buildIndexName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utilities/buildIndexName.ts"],"sourcesContent":["import type { DrizzleAdapter } from '../types.js'\n\nexport const buildIndexName = ({\n name,\n adapter,\n number = 0,\n}: {\n adapter: DrizzleAdapter\n name: string\n number?: number\n}): string => {\n const indexName = `${name}${number ? `_${number}` : ''}_idx`\n\n if (!adapter.indexes.has(indexName)) {\n adapter.indexes.add(indexName)\n return indexName\n }\n\n return buildIndexName({\n name,\n adapter,\n number: number + 1,\n })\n}\n"],"names":["buildIndexName","name","adapter","number","indexName","indexes","has","add"],"mappings":"AAEA,OAAO,MAAMA,iBAAiB,CAAC,EAC7BC,IAAI,EACJC,OAAO,EACPC,SAAS,CAAC,EAKX;IACC,MAAMC,YAAY,CAAC,EAAEH,KAAK,EAAEE,SAAS,CAAC,CAAC,EAAEA,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAE5D,IAAI,CAACD,QAAQG,OAAO,CAACC,GAAG,CAACF,YAAY;QACnCF,QAAQG,OAAO,CAACE,GAAG,CAACH;QACpB,OAAOA;IACT;IAEA,OAAOJ,eAAe;QACpBC;QACAC;QACAC,QAAQA,SAAS;IACnB;AACF,EAAC"}
@@ -0,0 +1,24 @@
1
+ import type { DrizzleAdapter } from '../types.js';
2
+ import { extendDrizzleTable } from './extendDrizzleTable.js';
3
+ type DatabaseSchema = {
4
+ enums?: DrizzleAdapter['enums'];
5
+ relations: Record<string, any>;
6
+ tables: DrizzleAdapter['tables'];
7
+ };
8
+ type Adapter = {
9
+ afterSchemaInit: DatabaseSchemaHook[];
10
+ beforeSchemaInit: DatabaseSchemaHook[];
11
+ } & DatabaseSchema;
12
+ type DatabaseSchemaHookArgs = {
13
+ adapter: Record<string, unknown>;
14
+ extendTable: typeof extendDrizzleTable;
15
+ schema: DatabaseSchema;
16
+ };
17
+ type DatabaseSchemaHook = (args: DatabaseSchemaHookArgs) => DatabaseSchema | Promise<DatabaseSchema>;
18
+ type Args = {
19
+ adapter: Adapter;
20
+ type: 'afterSchemaInit' | 'beforeSchemaInit';
21
+ };
22
+ export declare const executeSchemaHooks: ({ type, adapter }: Args) => Promise<void>;
23
+ export {};
24
+ //# sourceMappingURL=executeSchemaHooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executeSchemaHooks.d.ts","sourceRoot":"","sources":["../../src/utilities/executeSchemaHooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D,KAAK,cAAc,GAAG;IACpB,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;IAC/B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC9B,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;CACjC,CAAA;AAED,KAAK,OAAO,GAAG;IACb,eAAe,EAAE,kBAAkB,EAAE,CAAA;IACrC,gBAAgB,EAAE,kBAAkB,EAAE,CAAA;CACvC,GAAG,cAAc,CAAA;AAElB,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,WAAW,EAAE,OAAO,kBAAkB,CAAA;IACtC,MAAM,EAAE,cAAc,CAAA;CACvB,CAAA;AAED,KAAK,kBAAkB,GAAG,CAAC,IAAI,EAAE,sBAAsB,KAAK,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;AAEpG,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,iBAAiB,GAAG,kBAAkB,CAAA;CAC7C,CAAA;AAED,eAAO,MAAM,kBAAkB,sBAA6B,IAAI,KAAG,OAAO,CAAC,IAAI,CAkB9E,CAAA"}
@@ -0,0 +1,21 @@
1
+ import { extendDrizzleTable } from './extendDrizzleTable.js';
2
+ export const executeSchemaHooks = async ({ type, adapter })=>{
3
+ for (const hook of adapter[type]){
4
+ const result = await hook({
5
+ adapter,
6
+ extendTable: extendDrizzleTable,
7
+ schema: {
8
+ enums: adapter.enums,
9
+ relations: adapter.relations,
10
+ tables: adapter.tables
11
+ }
12
+ });
13
+ if (result.enums) {
14
+ adapter.enums = result.enums;
15
+ }
16
+ adapter.tables = result.tables;
17
+ adapter.relations = result.relations;
18
+ }
19
+ };
20
+
21
+ //# sourceMappingURL=executeSchemaHooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utilities/executeSchemaHooks.ts"],"sourcesContent":["import type { DrizzleAdapter } from '../types.js'\n\nimport { extendDrizzleTable } from './extendDrizzleTable.js'\n\ntype DatabaseSchema = {\n enums?: DrizzleAdapter['enums']\n relations: Record<string, any>\n tables: DrizzleAdapter['tables']\n}\n\ntype Adapter = {\n afterSchemaInit: DatabaseSchemaHook[]\n beforeSchemaInit: DatabaseSchemaHook[]\n} & DatabaseSchema\n\ntype DatabaseSchemaHookArgs = {\n adapter: Record<string, unknown>\n extendTable: typeof extendDrizzleTable\n schema: DatabaseSchema\n}\n\ntype DatabaseSchemaHook = (args: DatabaseSchemaHookArgs) => DatabaseSchema | Promise<DatabaseSchema>\n\ntype Args = {\n adapter: Adapter\n type: 'afterSchemaInit' | 'beforeSchemaInit'\n}\n\nexport const executeSchemaHooks = async ({ type, adapter }: Args): Promise<void> => {\n for (const hook of adapter[type]) {\n const result = await hook({\n adapter,\n extendTable: extendDrizzleTable,\n schema: {\n enums: adapter.enums,\n relations: adapter.relations,\n tables: adapter.tables,\n },\n })\n if (result.enums) {\n adapter.enums = result.enums\n }\n\n adapter.tables = result.tables\n adapter.relations = result.relations\n }\n}\n"],"names":["extendDrizzleTable","executeSchemaHooks","type","adapter","hook","result","extendTable","schema","enums","relations","tables"],"mappings":"AAEA,SAASA,kBAAkB,QAAQ,0BAAyB;AA0B5D,OAAO,MAAMC,qBAAqB,OAAO,EAAEC,IAAI,EAAEC,OAAO,EAAQ;IAC9D,KAAK,MAAMC,QAAQD,OAAO,CAACD,KAAK,CAAE;QAChC,MAAMG,SAAS,MAAMD,KAAK;YACxBD;YACAG,aAAaN;YACbO,QAAQ;gBACNC,OAAOL,QAAQK,KAAK;gBACpBC,WAAWN,QAAQM,SAAS;gBAC5BC,QAAQP,QAAQO,MAAM;YACxB;QACF;QACA,IAAIL,OAAOG,KAAK,EAAE;YAChBL,QAAQK,KAAK,GAAGH,OAAOG,KAAK;QAC9B;QAEAL,QAAQO,MAAM,GAAGL,OAAOK,MAAM;QAC9BP,QAAQM,SAAS,GAAGJ,OAAOI,SAAS;IACtC;AACF,EAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Implemented from:
3
+ * https://github.com/drizzle-team/drizzle-orm/blob/main/drizzle-orm/src/pg-core/table.ts#L73
4
+ * Drizzle uses @internal JSDoc to remove their internal methods from types, for example
5
+ * Table.Symbol, columnBuilder.build - but they actually exist.
6
+ */
7
+ import type { ColumnBuilderBase } from 'drizzle-orm';
8
+ import { Table } from 'drizzle-orm';
9
+ type Args = {
10
+ columns?: Record<string, ColumnBuilderBase<any>>;
11
+ extraConfig?: (self: Record<string, any>) => object;
12
+ table: Table;
13
+ };
14
+ /**
15
+ * Extends the passed table with additional columns / extra config
16
+ */
17
+ export declare const extendDrizzleTable: ({ columns, extraConfig, table }: Args) => void;
18
+ export {};
19
+ //# sourceMappingURL=extendDrizzleTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extendDrizzleTable.d.ts","sourceRoot":"","sources":["../../src/utilities/extendDrizzleTable.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAEpD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAWnC,KAAK,IAAI,GAAG;IACV,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAA;IAChD,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAA;IACnD,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,oCAAqC,IAAI,KAAG,IAkC1E,CAAA"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Implemented from:
3
+ * https://github.com/drizzle-team/drizzle-orm/blob/main/drizzle-orm/src/pg-core/table.ts#L73
4
+ * Drizzle uses @internal JSDoc to remove their internal methods from types, for example
5
+ * Table.Symbol, columnBuilder.build - but they actually exist.
6
+ */ import { Table } from 'drizzle-orm';
7
+ import { APIError } from 'payload';
8
+ const { Symbol: DrizzleSymbol } = Table;
9
+ /**
10
+ * Extends the passed table with additional columns / extra config
11
+ */ export const extendDrizzleTable = ({ columns, extraConfig, table })=>{
12
+ const InlineForeignKeys = Object.getOwnPropertySymbols(table).find((symbol)=>{
13
+ return symbol.description?.includes('InlineForeignKeys');
14
+ });
15
+ if (!InlineForeignKeys) {
16
+ throw new APIError(`Error when finding InlineForeignKeys Symbol`, 500);
17
+ }
18
+ if (columns) {
19
+ for (const [name, columnBuilder] of Object.entries(columns)){
20
+ const column = columnBuilder.build(table);
21
+ table[name] = column;
22
+ table[InlineForeignKeys].push(...columnBuilder.buildForeignKeys(column, table));
23
+ table[DrizzleSymbol.Columns][name] = column;
24
+ table[DrizzleSymbol.ExtraConfigColumns][name] = 'buildExtraConfigColumn' in columnBuilder ? columnBuilder.buildExtraConfigColumn(table) : column;
25
+ }
26
+ }
27
+ if (extraConfig) {
28
+ const originalExtraConfigBuilder = table[DrizzleSymbol.ExtraConfigBuilder];
29
+ table[DrizzleSymbol.ExtraConfigBuilder] = (t)=>{
30
+ return {
31
+ ...originalExtraConfigBuilder(t),
32
+ ...extraConfig(t)
33
+ };
34
+ };
35
+ }
36
+ };
37
+
38
+ //# sourceMappingURL=extendDrizzleTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utilities/extendDrizzleTable.ts"],"sourcesContent":["/**\n * Implemented from:\n * https://github.com/drizzle-team/drizzle-orm/blob/main/drizzle-orm/src/pg-core/table.ts#L73\n * Drizzle uses @internal JSDoc to remove their internal methods from types, for example\n * Table.Symbol, columnBuilder.build - but they actually exist.\n */\nimport type { ColumnBuilderBase } from 'drizzle-orm'\n\nimport { Table } from 'drizzle-orm'\nimport { APIError } from 'payload'\n\nconst { Symbol: DrizzleSymbol } = Table as unknown as {\n Symbol: {\n Columns: symbol\n ExtraConfigBuilder: symbol\n ExtraConfigColumns: symbol\n }\n}\n\ntype Args = {\n columns?: Record<string, ColumnBuilderBase<any>>\n extraConfig?: (self: Record<string, any>) => object\n table: Table\n}\n\n/**\n * Extends the passed table with additional columns / extra config\n */\nexport const extendDrizzleTable = ({ columns, extraConfig, table }: Args): void => {\n const InlineForeignKeys = Object.getOwnPropertySymbols(table).find((symbol) => {\n return symbol.description?.includes('InlineForeignKeys')\n })\n\n if (!InlineForeignKeys) {\n throw new APIError(`Error when finding InlineForeignKeys Symbol`, 500)\n }\n\n if (columns) {\n for (const [name, columnBuilder] of Object.entries(columns) as [string, any][]) {\n const column = columnBuilder.build(table)\n\n table[name] = column\n table[InlineForeignKeys].push(...columnBuilder.buildForeignKeys(column, table))\n table[DrizzleSymbol.Columns][name] = column\n\n table[DrizzleSymbol.ExtraConfigColumns][name] =\n 'buildExtraConfigColumn' in columnBuilder\n ? columnBuilder.buildExtraConfigColumn(table)\n : column\n }\n }\n\n if (extraConfig) {\n const originalExtraConfigBuilder = table[DrizzleSymbol.ExtraConfigBuilder]\n\n table[DrizzleSymbol.ExtraConfigBuilder] = (t) => {\n return {\n ...originalExtraConfigBuilder(t),\n ...extraConfig(t),\n }\n }\n }\n}\n"],"names":["Table","APIError","Symbol","DrizzleSymbol","extendDrizzleTable","columns","extraConfig","table","InlineForeignKeys","Object","getOwnPropertySymbols","find","symbol","description","includes","name","columnBuilder","entries","column","build","push","buildForeignKeys","Columns","ExtraConfigColumns","buildExtraConfigColumn","originalExtraConfigBuilder","ExtraConfigBuilder","t"],"mappings":"AAAA;;;;;CAKC,GAGD,SAASA,KAAK,QAAQ,cAAa;AACnC,SAASC,QAAQ,QAAQ,UAAS;AAElC,MAAM,EAAEC,QAAQC,aAAa,EAAE,GAAGH;AAclC;;CAEC,GACD,OAAO,MAAMI,qBAAqB,CAAC,EAAEC,OAAO,EAAEC,WAAW,EAAEC,KAAK,EAAQ;IACtE,MAAMC,oBAAoBC,OAAOC,qBAAqB,CAACH,OAAOI,IAAI,CAAC,CAACC;QAClE,OAAOA,OAAOC,WAAW,EAAEC,SAAS;IACtC;IAEA,IAAI,CAACN,mBAAmB;QACtB,MAAM,IAAIP,SAAS,CAAC,2CAA2C,CAAC,EAAE;IACpE;IAEA,IAAII,SAAS;QACX,KAAK,MAAM,CAACU,MAAMC,cAAc,IAAIP,OAAOQ,OAAO,CAACZ,SAA6B;YAC9E,MAAMa,SAASF,cAAcG,KAAK,CAACZ;YAEnCA,KAAK,CAACQ,KAAK,GAAGG;YACdX,KAAK,CAACC,kBAAkB,CAACY,IAAI,IAAIJ,cAAcK,gBAAgB,CAACH,QAAQX;YACxEA,KAAK,CAACJ,cAAcmB,OAAO,CAAC,CAACP,KAAK,GAAGG;YAErCX,KAAK,CAACJ,cAAcoB,kBAAkB,CAAC,CAACR,KAAK,GAC3C,4BAA4BC,gBACxBA,cAAcQ,sBAAsB,CAACjB,SACrCW;QACR;IACF;IAEA,IAAIZ,aAAa;QACf,MAAMmB,6BAA6BlB,KAAK,CAACJ,cAAcuB,kBAAkB,CAAC;QAE1EnB,KAAK,CAACJ,cAAcuB,kBAAkB,CAAC,GAAG,CAACC;YACzC,OAAO;gBACL,GAAGF,2BAA2BE,EAAE;gBAChC,GAAGrB,YAAYqB,EAAE;YACnB;QACF;IACF;AACF,EAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Table } from 'drizzle-orm';
2
+ export declare const getNameFromDrizzleTable: (table: Table) => string;
3
+ //# sourceMappingURL=getNameFromDrizzleTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getNameFromDrizzleTable.d.ts","sourceRoot":"","sources":["../../src/utilities/getNameFromDrizzleTable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAExC,eAAO,MAAM,uBAAuB,UAAW,KAAK,KAAG,MAMtD,CAAA"}
@@ -0,0 +1,6 @@
1
+ export const getNameFromDrizzleTable = (table)=>{
2
+ const symbol = Object.getOwnPropertySymbols(table).find((symb)=>symb.description.includes('Name'));
3
+ return table[symbol];
4
+ };
5
+
6
+ //# sourceMappingURL=getNameFromDrizzleTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utilities/getNameFromDrizzleTable.ts"],"sourcesContent":["import type { Table } from 'drizzle-orm'\n\nexport const getNameFromDrizzleTable = (table: Table): string => {\n const symbol = Object.getOwnPropertySymbols(table).find((symb) =>\n symb.description.includes('Name'),\n )\n\n return table[symbol]\n}\n"],"names":["getNameFromDrizzleTable","table","symbol","Object","getOwnPropertySymbols","find","symb","description","includes"],"mappings":"AAEA,OAAO,MAAMA,0BAA0B,CAACC;IACtC,MAAMC,SAASC,OAAOC,qBAAqB,CAACH,OAAOI,IAAI,CAAC,CAACC,OACvDA,KAAKC,WAAW,CAACC,QAAQ,CAAC;IAG5B,OAAOP,KAAK,CAACC,OAAO;AACtB,EAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/drizzle",
3
- "version": "3.0.0-canary.a5aaf21",
3
+ "version": "3.0.0-canary.a6e7305",
4
4
  "description": "A library of shared functions used by different payload database adapters",
5
5
  "homepage": "https://payloadcms.com",
6
6
  "repository": {
@@ -35,21 +35,21 @@
35
35
  "mock.js"
36
36
  ],
37
37
  "dependencies": {
38
- "console-table-printer": "2.11.2",
39
- "drizzle-orm": "0.32.1",
38
+ "console-table-printer": "2.12.1",
39
+ "drizzle-orm": "0.35.1",
40
40
  "prompts": "2.4.2",
41
41
  "to-snake-case": "1.0.0",
42
42
  "uuid": "9.0.0"
43
43
  },
44
44
  "devDependencies": {
45
- "@libsql/client": "^0.6.2",
45
+ "@libsql/client": "0.14.0",
46
46
  "@types/pg": "8.10.2",
47
47
  "@types/to-snake-case": "1.0.0",
48
- "@payloadcms/eslint-config": "3.0.0-beta.97",
49
- "payload": "3.0.0-canary.a5aaf21"
48
+ "@payloadcms/eslint-config": "3.0.0-beta.112",
49
+ "payload": "3.0.0-canary.a6e7305"
50
50
  },
51
51
  "peerDependencies": {
52
- "payload": "3.0.0-canary.a5aaf21"
52
+ "payload": "3.0.0-canary.a6e7305"
53
53
  },
54
54
  "scripts": {
55
55
  "build": "pnpm build:swc && pnpm build:types",