@payloadcms/drizzle 3.0.0-canary.518fabe → 3.0.0-canary.51be7be
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/count.js +1 -1
- package/dist/count.js.map +1 -1
- package/dist/createGlobalVersion.d.ts +1 -1
- package/dist/createGlobalVersion.d.ts.map +1 -1
- package/dist/createGlobalVersion.js +6 -2
- package/dist/createGlobalVersion.js.map +1 -1
- package/dist/createVersion.d.ts +1 -1
- package/dist/createVersion.d.ts.map +1 -1
- package/dist/createVersion.js +18 -13
- package/dist/createVersion.js.map +1 -1
- package/dist/deleteOne.d.ts.map +1 -1
- package/dist/deleteOne.js +5 -3
- package/dist/deleteOne.js.map +1 -1
- package/dist/deleteVersions.js +1 -1
- package/dist/deleteVersions.js.map +1 -1
- package/dist/exports/postgres.d.ts +1 -0
- package/dist/exports/postgres.d.ts.map +1 -1
- package/dist/exports/postgres.js +1 -0
- package/dist/exports/postgres.js.map +1 -1
- package/dist/find/buildFindManyArgs.d.ts +9 -3
- package/dist/find/buildFindManyArgs.d.ts.map +1 -1
- package/dist/find/buildFindManyArgs.js +6 -1
- package/dist/find/buildFindManyArgs.js.map +1 -1
- package/dist/find/findMany.d.ts +1 -1
- package/dist/find/findMany.d.ts.map +1 -1
- package/dist/find/findMany.js +6 -3
- package/dist/find/findMany.js.map +1 -1
- package/dist/find/traverseFields.d.ts +6 -3
- package/dist/find/traverseFields.d.ts.map +1 -1
- package/dist/find/traverseFields.js +125 -2
- package/dist/find/traverseFields.js.map +1 -1
- package/dist/find.d.ts.map +1 -1
- package/dist/find.js +2 -1
- package/dist/find.js.map +1 -1
- package/dist/findGlobalVersions.js +1 -1
- package/dist/findGlobalVersions.js.map +1 -1
- package/dist/findOne.d.ts +1 -1
- package/dist/findOne.d.ts.map +1 -1
- package/dist/findOne.js +2 -1
- package/dist/findOne.js.map +1 -1
- package/dist/findVersions.js +1 -1
- package/dist/findVersions.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/migrateReset.js +1 -1
- package/dist/migrateReset.js.map +1 -1
- package/dist/postgres/countDistinct.d.ts.map +1 -1
- package/dist/postgres/countDistinct.js +3 -3
- package/dist/postgres/countDistinct.js.map +1 -1
- package/dist/postgres/createDatabase.d.ts +14 -0
- package/dist/postgres/createDatabase.d.ts.map +1 -0
- package/dist/postgres/createDatabase.js +76 -0
- package/dist/postgres/createDatabase.js.map +1 -0
- package/dist/postgres/defaultSnapshot.d.ts.map +1 -1
- package/dist/postgres/defaultSnapshot.js +2 -1
- package/dist/postgres/defaultSnapshot.js.map +1 -1
- package/dist/postgres/init.d.ts.map +1 -1
- package/dist/postgres/init.js +13 -3
- package/dist/postgres/init.js.map +1 -1
- package/dist/postgres/schema/build.d.ts +5 -2
- package/dist/postgres/schema/build.d.ts.map +1 -1
- package/dist/postgres/schema/build.js +34 -6
- package/dist/postgres/schema/build.js.map +1 -1
- package/dist/postgres/schema/createIndex.d.ts +2 -3
- package/dist/postgres/schema/createIndex.d.ts.map +1 -1
- package/dist/postgres/schema/createIndex.js +3 -3
- package/dist/postgres/schema/createIndex.js.map +1 -1
- package/dist/postgres/schema/traverseFields.d.ts +5 -2
- package/dist/postgres/schema/traverseFields.d.ts.map +1 -1
- package/dist/postgres/schema/traverseFields.js +73 -20
- package/dist/postgres/schema/traverseFields.js.map +1 -1
- package/dist/postgres/types.d.ts +33 -6
- package/dist/postgres/types.d.ts.map +1 -1
- package/dist/postgres/types.js.map +1 -1
- package/dist/queries/buildAndOrConditions.d.ts +1 -1
- package/dist/queries/buildAndOrConditions.d.ts.map +1 -1
- package/dist/queries/buildAndOrConditions.js +2 -2
- package/dist/queries/buildAndOrConditions.js.map +1 -1
- package/dist/queries/buildOrderBy.d.ts +18 -0
- package/dist/queries/buildOrderBy.d.ts.map +1 -0
- package/dist/queries/buildOrderBy.js +52 -0
- package/dist/queries/buildOrderBy.js.map +1 -0
- package/dist/queries/buildQuery.d.ts +5 -4
- package/dist/queries/buildQuery.d.ts.map +1 -1
- package/dist/queries/buildQuery.js +12 -47
- package/dist/queries/buildQuery.js.map +1 -1
- package/dist/queries/getTableColumnFromPath.d.ts +8 -3
- package/dist/queries/getTableColumnFromPath.d.ts.map +1 -1
- package/dist/queries/getTableColumnFromPath.js +63 -16
- package/dist/queries/getTableColumnFromPath.js.map +1 -1
- package/dist/queries/parseParams.d.ts +1 -1
- package/dist/queries/parseParams.d.ts.map +1 -1
- package/dist/queries/parseParams.js +32 -4
- package/dist/queries/parseParams.js.map +1 -1
- package/dist/queries/sanitizeQueryValue.d.ts +12 -1
- package/dist/queries/sanitizeQueryValue.d.ts.map +1 -1
- package/dist/queries/sanitizeQueryValue.js +66 -16
- package/dist/queries/sanitizeQueryValue.js.map +1 -1
- package/dist/queryDrafts.d.ts.map +1 -1
- package/dist/queryDrafts.js +2 -4
- package/dist/queryDrafts.js.map +1 -1
- package/dist/transform/read/index.d.ts +3 -2
- package/dist/transform/read/index.d.ts.map +1 -1
- package/dist/transform/read/index.js +2 -1
- package/dist/transform/read/index.js.map +1 -1
- package/dist/transform/read/traverseFields.d.ts +6 -2
- package/dist/transform/read/traverseFields.d.ts.map +1 -1
- package/dist/transform/read/traverseFields.js +80 -8
- package/dist/transform/read/traverseFields.js.map +1 -1
- package/dist/transform/write/traverseFields.d.ts.map +1 -1
- package/dist/transform/write/traverseFields.js +20 -3
- package/dist/transform/write/traverseFields.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/update.d.ts.map +1 -1
- package/dist/update.js +3 -2
- package/dist/update.js.map +1 -1
- package/dist/updateGlobalVersion.js +2 -2
- package/dist/updateGlobalVersion.js.map +1 -1
- package/dist/updateVersion.js +2 -2
- package/dist/updateVersion.js.map +1 -1
- package/dist/upsertRow/index.d.ts +1 -1
- package/dist/upsertRow/index.d.ts.map +1 -1
- package/dist/upsertRow/index.js +4 -2
- package/dist/upsertRow/index.js.map +1 -1
- package/dist/upsertRow/insertArrays.d.ts.map +1 -1
- package/dist/upsertRow/insertArrays.js +4 -1
- package/dist/upsertRow/insertArrays.js.map +1 -1
- package/dist/upsertRow/types.d.ts +4 -1
- package/dist/upsertRow/types.d.ts.map +1 -1
- package/dist/upsertRow/types.js.map +1 -1
- package/dist/utilities/buildIndexName.d.ts +7 -0
- package/dist/utilities/buildIndexName.d.ts.map +1 -0
- package/dist/utilities/buildIndexName.js +14 -0
- package/dist/utilities/buildIndexName.js.map +1 -0
- package/dist/utilities/executeSchemaHooks.d.ts +24 -0
- package/dist/utilities/executeSchemaHooks.d.ts.map +1 -0
- package/dist/utilities/executeSchemaHooks.js +21 -0
- package/dist/utilities/executeSchemaHooks.js.map +1 -0
- package/dist/utilities/extendDrizzleTable.d.ts +19 -0
- package/dist/utilities/extendDrizzleTable.d.ts.map +1 -0
- package/dist/utilities/extendDrizzleTable.js +38 -0
- package/dist/utilities/extendDrizzleTable.js.map +1 -0
- package/dist/utilities/getCollectionIdType.d.ts +7 -0
- package/dist/utilities/getCollectionIdType.d.ts.map +1 -0
- package/dist/utilities/getCollectionIdType.js +11 -0
- package/dist/utilities/getCollectionIdType.js.map +1 -0
- package/dist/utilities/isPolymorphicRelationship.d.ts +6 -0
- package/dist/utilities/isPolymorphicRelationship.d.ts.map +1 -0
- package/dist/utilities/isPolymorphicRelationship.js +5 -0
- package/dist/utilities/isPolymorphicRelationship.js.map +1 -0
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/upsertRow/types.ts"],"sourcesContent":["import type { SQL } from 'drizzle-orm'\nimport type { Field, 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 path?: string\n req: PayloadRequest\n tableName: string\n}\n\ntype CreateArgs = {\n id?: never\n operation: 'create'\n upsertTarget?: never\n where?: never\n} & BaseArgs\n\ntype UpdateArgs = {\n id?: number | string\n operation: 'update'\n upsertTarget?: GenericColumn\n where?: SQL<unknown>\n} & BaseArgs\n\nexport type Args = CreateArgs | UpdateArgs\n"],"names":[],"mappings":"
|
|
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"}
|
|
@@ -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,7 @@
|
|
|
1
|
+
import type { Collection } from 'payload';
|
|
2
|
+
import type { DrizzleAdapter } from '../types.js';
|
|
3
|
+
export declare const getCollectionIdType: ({ adapter, collection, }: {
|
|
4
|
+
adapter: DrizzleAdapter;
|
|
5
|
+
collection: Collection;
|
|
6
|
+
}) => "number" | "text";
|
|
7
|
+
//# sourceMappingURL=getCollectionIdType.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getCollectionIdType.d.ts","sourceRoot":"","sources":["../../src/utilities/getCollectionIdType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AASjD,eAAO,MAAM,mBAAmB,6BAG7B;IACD,OAAO,EAAE,cAAc,CAAA;IACvB,UAAU,EAAE,UAAU,CAAA;CACvB,sBAEA,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const typeMap = {
|
|
2
|
+
number: 'number',
|
|
3
|
+
serial: 'number',
|
|
4
|
+
text: 'text',
|
|
5
|
+
uuid: 'text'
|
|
6
|
+
};
|
|
7
|
+
export const getCollectionIdType = ({ adapter, collection })=>{
|
|
8
|
+
return collection.customIDType ?? typeMap[adapter.idType];
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=getCollectionIdType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/getCollectionIdType.ts"],"sourcesContent":["import type { Collection } from 'payload'\n\nimport type { DrizzleAdapter } from '../types.js'\n\nconst typeMap: Record<string, 'number' | 'text'> = {\n number: 'number',\n serial: 'number',\n text: 'text',\n uuid: 'text',\n}\n\nexport const getCollectionIdType = ({\n adapter,\n collection,\n}: {\n adapter: DrizzleAdapter\n collection: Collection\n}) => {\n return collection.customIDType ?? typeMap[adapter.idType]\n}\n"],"names":["typeMap","number","serial","text","uuid","getCollectionIdType","adapter","collection","customIDType","idType"],"mappings":"AAIA,MAAMA,UAA6C;IACjDC,QAAQ;IACRC,QAAQ;IACRC,MAAM;IACNC,MAAM;AACR;AAEA,OAAO,MAAMC,sBAAsB,CAAC,EAClCC,OAAO,EACPC,UAAU,EAIX;IACC,OAAOA,WAAWC,YAAY,IAAIR,OAAO,CAACM,QAAQG,MAAM,CAAC;AAC3D,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isPolymorphicRelationship.d.ts","sourceRoot":"","sources":["../../src/utilities/isPolymorphicRelationship.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,eAAO,MAAM,yBAAyB,UAC7B,OAAO,KACb,KAAK,IAAI;IACV,UAAU,EAAE,cAAc,CAAA;IAC1B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CASvB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/isPolymorphicRelationship.ts"],"sourcesContent":["import type { CollectionSlug } from 'payload'\n\nexport const isPolymorphicRelationship = (\n value: unknown,\n): value is {\n relationTo: CollectionSlug\n value: number | string\n} => {\n return (\n value &&\n typeof value === 'object' &&\n 'relationTo' in value &&\n typeof value.relationTo === 'string' &&\n 'value' in value\n )\n}\n"],"names":["isPolymorphicRelationship","value","relationTo"],"mappings":"AAEA,OAAO,MAAMA,4BAA4B,CACvCC;IAKA,OACEA,SACA,OAAOA,UAAU,YACjB,gBAAgBA,SAChB,OAAOA,MAAMC,UAAU,KAAK,YAC5B,WAAWD;AAEf,EAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/drizzle",
|
|
3
|
-
"version": "3.0.0-canary.
|
|
3
|
+
"version": "3.0.0-canary.51be7be",
|
|
4
4
|
"description": "A library of shared functions used by different payload database adapters",
|
|
5
5
|
"homepage": "https://payloadcms.com",
|
|
6
6
|
"repository": {
|
|
@@ -36,20 +36,20 @@
|
|
|
36
36
|
],
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"console-table-printer": "2.11.2",
|
|
39
|
-
"drizzle-orm": "0.
|
|
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": "
|
|
45
|
+
"@libsql/client": "0.14.0",
|
|
46
46
|
"@types/pg": "8.10.2",
|
|
47
47
|
"@types/to-snake-case": "1.0.0",
|
|
48
|
-
"
|
|
49
|
-
"
|
|
48
|
+
"payload": "3.0.0-canary.51be7be",
|
|
49
|
+
"@payloadcms/eslint-config": "3.0.0-beta.112"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
|
-
"payload": "3.0.0-canary.
|
|
52
|
+
"payload": "3.0.0-canary.51be7be"
|
|
53
53
|
},
|
|
54
54
|
"scripts": {
|
|
55
55
|
"build": "pnpm build:swc && pnpm build:types",
|