@payloadcms/drizzle 3.0.0-beta.126 → 3.0.0-beta.127
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/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/traverseFields.d.ts.map +1 -1
- package/dist/find/traverseFields.js +29 -0
- package/dist/find/traverseFields.js.map +1 -1
- package/dist/migrate.d.ts.map +1 -1
- package/dist/migrate.js +3 -0
- package/dist/migrate.js.map +1 -1
- package/dist/migrateFresh.d.ts.map +1 -1
- package/dist/migrateFresh.js +3 -0
- package/dist/migrateFresh.js.map +1 -1
- package/dist/postgres/createExtensions.d.ts +3 -0
- package/dist/postgres/createExtensions.d.ts.map +1 -0
- package/dist/postgres/createExtensions.js +16 -0
- package/dist/postgres/createExtensions.js.map +1 -0
- package/dist/postgres/defaultSnapshot.d.ts.map +1 -1
- package/dist/postgres/defaultSnapshot.js +2 -0
- package/dist/postgres/defaultSnapshot.js.map +1 -1
- package/dist/postgres/schema/geometryColumn.d.ts +12 -0
- package/dist/postgres/schema/geometryColumn.d.ts.map +1 -0
- package/dist/postgres/schema/geometryColumn.js +18 -0
- package/dist/postgres/schema/geometryColumn.js.map +1 -0
- package/dist/postgres/schema/traverseFields.d.ts.map +1 -1
- package/dist/postgres/schema/traverseFields.js +6 -2
- package/dist/postgres/schema/traverseFields.js.map +1 -1
- package/dist/postgres/schema/withDefault.d.ts.map +1 -1
- package/dist/postgres/schema/withDefault.js +3 -0
- package/dist/postgres/schema/withDefault.js.map +1 -1
- package/dist/postgres/types.d.ts +3 -0
- package/dist/postgres/types.d.ts.map +1 -1
- package/dist/postgres/types.js.map +1 -1
- package/dist/queries/operatorMap.d.ts.map +1 -1
- package/dist/queries/operatorMap.js +0 -4
- package/dist/queries/operatorMap.js.map +1 -1
- package/dist/queries/parseParams.d.ts.map +1 -1
- package/dist/queries/parseParams.js +27 -0
- package/dist/queries/parseParams.js.map +1 -1
- package/dist/queries/sanitizeQueryValue.js +8 -2
- package/dist/queries/sanitizeQueryValue.js.map +1 -1
- package/dist/transform/write/traverseFields.d.ts.map +1 -1
- package/dist/transform/write/traverseFields.js +4 -0
- package/dist/transform/write/traverseFields.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utilities/pushDevSchema.d.ts.map +1 -1
- package/dist/utilities/pushDevSchema.js +5 -0
- package/dist/utilities/pushDevSchema.js.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/queries/sanitizeQueryValue.ts"],"sourcesContent":["import type { SQL } from 'drizzle-orm'\n\nimport { APIError, createArrayFromCommaDelineated, type Field, type TabAsField } from 'payload'\nimport { fieldAffectsData } from 'payload/shared'\nimport { validate as uuidValidate } from 'uuid'\n\nimport type { DrizzleAdapter } from '../types.js'\n\nimport { getCollectionIdType } from '../utilities/getCollectionIdType.js'\nimport { isPolymorphicRelationship } from '../utilities/isPolymorphicRelationship.js'\n\ntype SanitizeQueryValueArgs = {\n adapter: DrizzleAdapter\n columns?: {\n idType: 'number' | 'text' | 'uuid'\n rawColumn: SQL<unknown>\n }[]\n field: Field | TabAsField\n isUUID: boolean\n operator: string\n relationOrPath: string\n val: any\n}\n\ntype SanitizedColumn = {\n rawColumn: SQL<unknown>\n value: unknown\n}\n\nexport const sanitizeQueryValue = ({\n adapter,\n columns,\n field,\n isUUID,\n operator: operatorArg,\n relationOrPath,\n val,\n}: SanitizeQueryValueArgs): {\n columns?: SanitizedColumn[]\n operator: string\n value: unknown\n} => {\n let operator = operatorArg\n let formattedValue = val\n let formattedColumns: SanitizedColumn[]\n\n if (!fieldAffectsData(field)) {\n return { operator, value: formattedValue }\n }\n\n if (\n (field.type === 'relationship' || field.type === 'upload') &&\n !relationOrPath.endsWith('relationTo') &&\n Array.isArray(formattedValue)\n ) {\n const allPossibleIDTypes: (number | string)[] = []\n formattedValue.forEach((val) => {\n if (adapter.idType !== 'uuid' && typeof val === 'string') {\n allPossibleIDTypes.push(val, parseInt(val))\n } else if (typeof val === 'string') {\n allPossibleIDTypes.push(val)\n } else {\n allPossibleIDTypes.push(val, String(val))\n }\n })\n formattedValue = allPossibleIDTypes\n }\n\n // Cast incoming values as proper searchable types\n if (field.type === 'checkbox' && typeof val === 'string') {\n if (val.toLowerCase() === 'true') {\n formattedValue = true\n }\n if (val.toLowerCase() === 'false') {\n formattedValue = false\n }\n }\n\n if (['all', 'in', 'not_in'].includes(operator)) {\n if (typeof formattedValue === 'string') {\n formattedValue = createArrayFromCommaDelineated(formattedValue)\n\n if (field.type === 'number') {\n formattedValue = formattedValue.map((arrayVal) => parseFloat(arrayVal))\n }\n }\n\n if (!Array.isArray(formattedValue) || formattedValue.length === 0) {\n return null\n }\n }\n\n if (field.type === 'number' && typeof formattedValue === 'string') {\n formattedValue = Number(val)\n\n if (Number.isNaN(formattedValue)) {\n formattedValue = null\n }\n }\n\n if (isUUID && typeof formattedValue === 'string') {\n if (!uuidValidate(val)) {\n formattedValue = null\n }\n }\n\n if (field.type === 'date' && operator !== 'exists') {\n if (typeof val === 'string') {\n formattedValue = new Date(val).toISOString()\n if (Number.isNaN(Date.parse(formattedValue))) {\n return { operator, value: undefined }\n }\n } else if (typeof val === 'number') {\n formattedValue = new Date(val).toISOString()\n }\n }\n\n if (field.type === 'relationship' || field.type === 'upload') {\n if (val === 'null') {\n formattedValue = null\n } else if (!(formattedValue === null || typeof formattedValue === 'boolean')) {\n // convert the value to the idType of the relationship\n let idType: 'number' | 'text'\n if (typeof field.relationTo === 'string') {\n idType = getCollectionIdType({\n adapter,\n collection: adapter.payload.collections[field.relationTo],\n })\n } else {\n if (isPolymorphicRelationship(val)) {\n if (operator !== 'equals') {\n throw new APIError(\n `Only 'equals' operator is supported for polymorphic relationship object notation. Given - ${operator}`,\n )\n }\n idType = getCollectionIdType({\n adapter,\n collection: adapter.payload.collections[val.relationTo],\n })\n\n return {\n operator,\n value: idType === 'number' ? Number(val.value) : String(val.value),\n }\n }\n\n formattedColumns = columns\n .map(({ idType, rawColumn }) => {\n let formattedValue: number | number[] | string | string[]\n\n if (Array.isArray(val)) {\n formattedValue = val\n .map((eachVal) => {\n let formattedValue: number | string\n\n if (idType === 'number') {\n formattedValue = Number(eachVal)\n\n if (Number.isNaN(formattedValue)) {\n return null\n }\n } else {\n if (idType === 'uuid' && !uuidValidate(eachVal)) {\n return null\n }\n\n formattedValue = String(eachVal)\n }\n\n return formattedValue\n })\n .filter(Boolean) as number[] | string[]\n } else if (idType === 'number') {\n formattedValue = Number(val)\n\n if (Number.isNaN(formattedValue)) {\n return null\n }\n } else {\n formattedValue = String(val)\n }\n\n return {\n rawColumn,\n value: formattedValue,\n }\n })\n .filter(Boolean)\n }\n if (Array.isArray(formattedValue)) {\n formattedValue = formattedValue.map((value) => {\n if (idType === 'number') {\n return Number(value)\n }\n if (idType === 'text') {\n return String(value)\n }\n return value\n })\n } else {\n if (idType === 'number') {\n formattedValue = Number(val)\n }\n if (idType === 'text') {\n formattedValue = String(val)\n }\n }\n }\n }\n\n if ('hasMany' in field && field.hasMany && operator === 'contains') {\n operator = 'equals'\n }\n\n if (operator === 'near' || operator === 'within' || operator === 'intersects') {\n throw new APIError(\n `Querying with '${operator}' is not supported with the postgres database adapter.`,\n )\n }\n\n if (operator === 'contains') {\n formattedValue = `%${formattedValue}%`\n }\n\n if (operator === 'exists') {\n formattedValue = val === 'true' || val === true\n\n if (formattedValue) {\n operator = 'exists'\n } else {\n operator = 'isNull'\n }\n }\n\n return {\n columns: formattedColumns,\n operator,\n value: formattedValue,\n }\n}\n"],"names":["APIError","createArrayFromCommaDelineated","fieldAffectsData","validate","uuidValidate","getCollectionIdType","isPolymorphicRelationship","sanitizeQueryValue","adapter","columns","field","isUUID","operator","operatorArg","relationOrPath","val","formattedValue","formattedColumns","value","type","endsWith","Array","isArray","allPossibleIDTypes","forEach","idType","push","parseInt","String","toLowerCase","includes","map","arrayVal","parseFloat","length","Number","isNaN","Date","toISOString","parse","undefined","relationTo","collection","payload","collections","rawColumn","eachVal","filter","Boolean","hasMany"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/queries/sanitizeQueryValue.ts"],"sourcesContent":["import type { SQL } from 'drizzle-orm'\n\nimport { APIError, createArrayFromCommaDelineated, type Field, type TabAsField } from 'payload'\nimport { fieldAffectsData } from 'payload/shared'\nimport { validate as uuidValidate } from 'uuid'\n\nimport type { DrizzleAdapter } from '../types.js'\n\nimport { getCollectionIdType } from '../utilities/getCollectionIdType.js'\nimport { isPolymorphicRelationship } from '../utilities/isPolymorphicRelationship.js'\n\ntype SanitizeQueryValueArgs = {\n adapter: DrizzleAdapter\n columns?: {\n idType: 'number' | 'text' | 'uuid'\n rawColumn: SQL<unknown>\n }[]\n field: Field | TabAsField\n isUUID: boolean\n operator: string\n relationOrPath: string\n val: any\n}\n\ntype SanitizedColumn = {\n rawColumn: SQL<unknown>\n value: unknown\n}\n\nexport const sanitizeQueryValue = ({\n adapter,\n columns,\n field,\n isUUID,\n operator: operatorArg,\n relationOrPath,\n val,\n}: SanitizeQueryValueArgs): {\n columns?: SanitizedColumn[]\n operator: string\n value: unknown\n} => {\n let operator = operatorArg\n let formattedValue = val\n let formattedColumns: SanitizedColumn[]\n\n if (!fieldAffectsData(field)) {\n return { operator, value: formattedValue }\n }\n\n if (\n (field.type === 'relationship' || field.type === 'upload') &&\n !relationOrPath.endsWith('relationTo') &&\n Array.isArray(formattedValue)\n ) {\n const allPossibleIDTypes: (number | string)[] = []\n formattedValue.forEach((val) => {\n if (adapter.idType !== 'uuid' && typeof val === 'string') {\n allPossibleIDTypes.push(val, parseInt(val))\n } else if (typeof val === 'string') {\n allPossibleIDTypes.push(val)\n } else {\n allPossibleIDTypes.push(val, String(val))\n }\n })\n formattedValue = allPossibleIDTypes\n }\n\n // Cast incoming values as proper searchable types\n if (field.type === 'checkbox' && typeof val === 'string') {\n if (val.toLowerCase() === 'true') {\n formattedValue = true\n }\n if (val.toLowerCase() === 'false') {\n formattedValue = false\n }\n }\n\n if (['all', 'in', 'not_in'].includes(operator)) {\n if (typeof formattedValue === 'string') {\n formattedValue = createArrayFromCommaDelineated(formattedValue)\n\n if (field.type === 'number') {\n formattedValue = formattedValue.map((arrayVal) => parseFloat(arrayVal))\n }\n }\n\n if (!Array.isArray(formattedValue) || formattedValue.length === 0) {\n return null\n }\n }\n\n if (field.type === 'number' && typeof formattedValue === 'string') {\n formattedValue = Number(val)\n\n if (Number.isNaN(formattedValue)) {\n formattedValue = null\n }\n }\n\n if (isUUID && typeof formattedValue === 'string') {\n if (!uuidValidate(val)) {\n formattedValue = null\n }\n }\n\n if (field.type === 'date' && operator !== 'exists') {\n if (typeof val === 'string') {\n formattedValue = new Date(val).toISOString()\n if (Number.isNaN(Date.parse(formattedValue))) {\n return { operator, value: undefined }\n }\n } else if (typeof val === 'number') {\n formattedValue = new Date(val).toISOString()\n }\n }\n\n if (field.type === 'relationship' || field.type === 'upload') {\n if (val === 'null') {\n formattedValue = null\n } else if (!(formattedValue === null || typeof formattedValue === 'boolean')) {\n // convert the value to the idType of the relationship\n let idType: 'number' | 'text'\n if (typeof field.relationTo === 'string') {\n idType = getCollectionIdType({\n adapter,\n collection: adapter.payload.collections[field.relationTo],\n })\n } else {\n if (isPolymorphicRelationship(val)) {\n if (operator !== 'equals') {\n throw new APIError(\n `Only 'equals' operator is supported for polymorphic relationship object notation. Given - ${operator}`,\n )\n }\n idType = getCollectionIdType({\n adapter,\n collection: adapter.payload.collections[val.relationTo],\n })\n\n return {\n operator,\n value: idType === 'number' ? Number(val.value) : String(val.value),\n }\n }\n\n formattedColumns = columns\n .map(({ idType, rawColumn }) => {\n let formattedValue: number | number[] | string | string[]\n\n if (Array.isArray(val)) {\n formattedValue = val\n .map((eachVal) => {\n let formattedValue: number | string\n\n if (idType === 'number') {\n formattedValue = Number(eachVal)\n\n if (Number.isNaN(formattedValue)) {\n return null\n }\n } else {\n if (idType === 'uuid' && !uuidValidate(eachVal)) {\n return null\n }\n\n formattedValue = String(eachVal)\n }\n\n return formattedValue\n })\n .filter(Boolean) as number[] | string[]\n } else if (idType === 'number') {\n formattedValue = Number(val)\n\n if (Number.isNaN(formattedValue)) {\n return null\n }\n } else {\n formattedValue = String(val)\n }\n\n return {\n rawColumn,\n value: formattedValue,\n }\n })\n .filter(Boolean)\n }\n if (Array.isArray(formattedValue)) {\n formattedValue = formattedValue.map((value) => {\n if (idType === 'number') {\n return Number(value)\n }\n if (idType === 'text') {\n return String(value)\n }\n return value\n })\n } else {\n if (idType === 'number') {\n formattedValue = Number(val)\n }\n if (idType === 'text') {\n formattedValue = String(val)\n }\n }\n }\n }\n\n if ('hasMany' in field && field.hasMany && operator === 'contains') {\n operator = 'equals'\n }\n\n if (operator === 'near' && field.type === 'point' && typeof formattedValue === 'string') {\n const [lng, lat, maxDistance, minDistance] = formattedValue.split(',')\n\n formattedValue = [Number(lng), Number(lat), Number(maxDistance), Number(minDistance)]\n }\n\n if (operator === 'contains') {\n formattedValue = `%${formattedValue}%`\n }\n\n if (operator === 'exists') {\n formattedValue = val === 'true' || val === true\n\n if (formattedValue) {\n operator = 'exists'\n } else {\n operator = 'isNull'\n }\n }\n\n return {\n columns: formattedColumns,\n operator,\n value: formattedValue,\n }\n}\n"],"names":["APIError","createArrayFromCommaDelineated","fieldAffectsData","validate","uuidValidate","getCollectionIdType","isPolymorphicRelationship","sanitizeQueryValue","adapter","columns","field","isUUID","operator","operatorArg","relationOrPath","val","formattedValue","formattedColumns","value","type","endsWith","Array","isArray","allPossibleIDTypes","forEach","idType","push","parseInt","String","toLowerCase","includes","map","arrayVal","parseFloat","length","Number","isNaN","Date","toISOString","parse","undefined","relationTo","collection","payload","collections","rawColumn","eachVal","filter","Boolean","hasMany","lng","lat","maxDistance","minDistance","split"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../src/transform/write/traverseFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../src/transform/write/traverseFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAMpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAU1F,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,cAAc,CAAA;IACvB,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,CAAA;IACD;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,CAAA;IACD,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3B;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAC3C;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE;QACP,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAC1C,CAAA;IACD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAClC;;OAEG;IACH,eAAe,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACxC,qBAAqB,EAAE,oBAAoB,EAAE,CAAA;IAC7C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,OAAO,EAAE;QACP,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;KAC/C,CAAA;IACD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAChC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAA;CAClC,CAAA;AAED,eAAO,MAAM,cAAc,sQAsBxB,IAAI,SAihBN,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { sql } from 'drizzle-orm';
|
|
1
2
|
import { fieldAffectsData, fieldIsVirtual } from 'payload/shared';
|
|
2
3
|
import toSnakeCase from 'to-snake-case';
|
|
3
4
|
import { isArrayOfRows } from '../../utilities/isArrayOfRows.js';
|
|
@@ -467,6 +468,9 @@ export const traverseFields = ({ adapter, arrays, baseTableName, blocks, blocksT
|
|
|
467
468
|
valuesToTransform.forEach(({ localeKey, ref, value })=>{
|
|
468
469
|
if (typeof value !== 'undefined') {
|
|
469
470
|
let formattedValue = value;
|
|
471
|
+
if (value && field.type === 'point' && adapter.name !== 'sqlite') {
|
|
472
|
+
formattedValue = sql`ST_GeomFromGeoJSON(${JSON.stringify(value)})`;
|
|
473
|
+
}
|
|
470
474
|
if (field.type === 'date') {
|
|
471
475
|
if (typeof value === 'number' && !Number.isNaN(value)) {
|
|
472
476
|
formattedValue = new Date(value).toISOString();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/transform/write/traverseFields.ts"],"sourcesContent":["import type { Field } from 'payload'\n\nimport { fieldAffectsData, fieldIsVirtual } from 'payload/shared'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter } from '../../types.js'\nimport type { ArrayRowToInsert, BlockRowToInsert, RelationshipToDelete } from './types.js'\n\nimport { isArrayOfRows } from '../../utilities/isArrayOfRows.js'\nimport { transformArray } from './array.js'\nimport { transformBlocks } from './blocks.js'\nimport { transformNumbers } from './numbers.js'\nimport { transformRelationship } from './relationships.js'\nimport { transformSelects } from './selects.js'\nimport { transformTexts } from './texts.js'\n\ntype Args = {\n adapter: DrizzleAdapter\n arrays: {\n [tableName: string]: ArrayRowToInsert[]\n }\n /**\n * This is the name of the base table\n */\n baseTableName: string\n blocks: {\n [blockType: string]: BlockRowToInsert[]\n }\n blocksToDelete: Set<string>\n /**\n * A snake-case field prefix, representing prior fields\n * Ex: my_group_my_named_tab_\n */\n columnPrefix: string\n data: Record<string, unknown>\n existingLocales?: Record<string, unknown>[]\n /**\n * A prefix that will retain camel-case formatting, representing prior fields\n * Ex: myGroup_myNamedTab_\n */\n fieldPrefix: string\n fields: Field[]\n forcedLocale?: string\n locales: {\n [locale: string]: Record<string, unknown>\n }\n numbers: Record<string, unknown>[]\n /**\n * This is the name of the parent table\n */\n parentTableName: string\n path: string\n relationships: Record<string, unknown>[]\n relationshipsToDelete: RelationshipToDelete[]\n row: Record<string, unknown>\n selects: {\n [tableName: string]: Record<string, unknown>[]\n }\n texts: Record<string, unknown>[]\n /**\n * Set to a locale code if this set of fields is traversed within a\n * localized array or block field\n */\n withinArrayOrBlockLocale?: string\n}\n\nexport const traverseFields = ({\n adapter,\n arrays,\n baseTableName,\n blocks,\n blocksToDelete,\n columnPrefix,\n data,\n existingLocales,\n fieldPrefix,\n fields,\n forcedLocale,\n locales,\n numbers,\n parentTableName,\n path,\n relationships,\n relationshipsToDelete,\n row,\n selects,\n texts,\n withinArrayOrBlockLocale,\n}: Args) => {\n fields.forEach((field) => {\n let columnName = ''\n let fieldName = ''\n let fieldData: unknown\n\n if (fieldAffectsData(field)) {\n if (fieldIsVirtual(field)) {\n return\n }\n\n columnName = `${columnPrefix || ''}${toSnakeCase(field.name)}`\n fieldName = `${fieldPrefix || ''}${field.name}`\n fieldData = data[field.name]\n }\n\n if (field.type === 'array') {\n const arrayTableName = adapter.tableNameMap.get(`${parentTableName}_${columnName}`)\n\n if (!arrays[arrayTableName]) {\n arrays[arrayTableName] = []\n }\n\n if (field.localized) {\n if (typeof data[field.name] === 'object' && data[field.name] !== null) {\n Object.entries(data[field.name]).forEach(([localeKey, localeData]) => {\n if (Array.isArray(localeData)) {\n const newRows = transformArray({\n adapter,\n arrayTableName,\n baseTableName,\n blocks,\n blocksToDelete,\n data: localeData,\n field,\n locale: localeKey,\n numbers,\n path,\n relationships,\n relationshipsToDelete,\n selects,\n texts,\n withinArrayOrBlockLocale: localeKey,\n })\n\n arrays[arrayTableName] = arrays[arrayTableName].concat(newRows)\n }\n })\n }\n } else {\n const newRows = transformArray({\n adapter,\n arrayTableName,\n baseTableName,\n blocks,\n blocksToDelete,\n data: data[field.name],\n field,\n numbers,\n path,\n relationships,\n relationshipsToDelete,\n selects,\n texts,\n withinArrayOrBlockLocale,\n })\n\n arrays[arrayTableName] = arrays[arrayTableName].concat(newRows)\n }\n\n return\n }\n\n if (field.type === 'blocks') {\n field.blocks.forEach(({ slug }) => {\n blocksToDelete.add(toSnakeCase(slug))\n })\n\n if (field.localized) {\n if (typeof data[field.name] === 'object' && data[field.name] !== null) {\n Object.entries(data[field.name]).forEach(([localeKey, localeData]) => {\n if (Array.isArray(localeData)) {\n transformBlocks({\n adapter,\n baseTableName,\n blocks,\n blocksToDelete,\n data: localeData,\n field,\n locale: localeKey,\n numbers,\n path,\n relationships,\n relationshipsToDelete,\n selects,\n texts,\n withinArrayOrBlockLocale: localeKey,\n })\n }\n })\n }\n } else if (isArrayOfRows(fieldData)) {\n transformBlocks({\n adapter,\n baseTableName,\n blocks,\n blocksToDelete,\n data: fieldData,\n field,\n numbers,\n path,\n relationships,\n relationshipsToDelete,\n selects,\n texts,\n withinArrayOrBlockLocale,\n })\n }\n\n return\n }\n\n if (field.type === 'group') {\n if (typeof data[field.name] === 'object' && data[field.name] !== null) {\n if (field.localized) {\n Object.entries(data[field.name]).forEach(([localeKey, localeData]) => {\n // preserve array ID if there is\n localeData._uuid = data.id || data._uuid\n\n traverseFields({\n adapter,\n arrays,\n baseTableName,\n blocks,\n blocksToDelete,\n columnPrefix: `${columnName}_`,\n data: localeData as Record<string, unknown>,\n existingLocales,\n fieldPrefix: `${fieldName}_`,\n fields: field.fields,\n forcedLocale: localeKey,\n locales,\n numbers,\n parentTableName,\n path: `${path || ''}${field.name}.`,\n relationships,\n relationshipsToDelete,\n row,\n selects,\n texts,\n withinArrayOrBlockLocale: localeKey,\n })\n })\n } else {\n // preserve array ID if there is\n const groupData = data[field.name] as Record<string, unknown>\n groupData._uuid = data.id || data._uuid\n\n traverseFields({\n adapter,\n arrays,\n baseTableName,\n blocks,\n blocksToDelete,\n columnPrefix: `${columnName}_`,\n data: groupData,\n existingLocales,\n fieldPrefix: `${fieldName}_`,\n fields: field.fields,\n locales,\n numbers,\n parentTableName,\n path: `${path || ''}${field.name}.`,\n relationships,\n relationshipsToDelete,\n row,\n selects,\n texts,\n withinArrayOrBlockLocale,\n })\n }\n }\n\n return\n }\n\n if (field.type === 'tabs') {\n field.tabs.forEach((tab) => {\n if ('name' in tab) {\n if (fieldIsVirtual(tab)) {\n return\n }\n\n if (typeof data[tab.name] === 'object' && data[tab.name] !== null) {\n if (tab.localized) {\n Object.entries(data[tab.name]).forEach(([localeKey, localeData]) => {\n // preserve array ID if there is\n localeData._uuid = data.id || data._uuid\n\n traverseFields({\n adapter,\n arrays,\n baseTableName,\n blocks,\n blocksToDelete,\n columnPrefix: `${columnPrefix || ''}${toSnakeCase(tab.name)}_`,\n data: localeData as Record<string, unknown>,\n existingLocales,\n fieldPrefix: `${fieldPrefix || ''}${tab.name}_`,\n fields: tab.fields,\n forcedLocale: localeKey,\n locales,\n numbers,\n parentTableName,\n path: `${path || ''}${tab.name}.`,\n relationships,\n relationshipsToDelete,\n row,\n selects,\n texts,\n withinArrayOrBlockLocale: localeKey,\n })\n })\n } else {\n const tabData = data[tab.name] as Record<string, unknown>\n // preserve array ID if there is\n tabData._uuid = data.id || data._uuid\n\n traverseFields({\n adapter,\n arrays,\n baseTableName,\n blocks,\n blocksToDelete,\n columnPrefix: `${columnPrefix || ''}${toSnakeCase(tab.name)}_`,\n data: tabData,\n existingLocales,\n fieldPrefix: `${fieldPrefix || ''}${tab.name}_`,\n fields: tab.fields,\n locales,\n numbers,\n parentTableName,\n path: `${path || ''}${tab.name}.`,\n relationships,\n relationshipsToDelete,\n row,\n selects,\n texts,\n withinArrayOrBlockLocale,\n })\n }\n }\n } else {\n traverseFields({\n adapter,\n arrays,\n baseTableName,\n blocks,\n blocksToDelete,\n columnPrefix,\n data,\n existingLocales,\n fieldPrefix,\n fields: tab.fields,\n locales,\n numbers,\n parentTableName,\n path,\n relationships,\n relationshipsToDelete,\n row,\n selects,\n texts,\n withinArrayOrBlockLocale,\n })\n }\n })\n }\n\n if (field.type === 'row' || field.type === 'collapsible') {\n traverseFields({\n adapter,\n arrays,\n baseTableName,\n blocks,\n blocksToDelete,\n columnPrefix,\n data,\n existingLocales,\n fieldPrefix,\n fields: field.fields,\n forcedLocale,\n locales,\n numbers,\n parentTableName,\n path,\n relationships,\n relationshipsToDelete,\n row,\n selects,\n texts,\n withinArrayOrBlockLocale,\n })\n }\n\n if (field.type === 'relationship' || field.type === 'upload') {\n const relationshipPath = `${path || ''}${field.name}`\n\n if (\n field.localized &&\n (Array.isArray(field.relationTo) || ('hasMany' in field && field.hasMany))\n ) {\n if (typeof fieldData === 'object') {\n Object.entries(fieldData).forEach(([localeKey, localeData]) => {\n if (localeData === null) {\n relationshipsToDelete.push({\n locale: localeKey,\n path: relationshipPath,\n })\n return\n }\n\n transformRelationship({\n baseRow: {\n locale: localeKey,\n path: relationshipPath,\n },\n data: localeData,\n field,\n relationships,\n })\n })\n }\n return\n } else if (Array.isArray(field.relationTo) || ('hasMany' in field && field.hasMany)) {\n if (fieldData === null || (Array.isArray(fieldData) && fieldData.length === 0)) {\n relationshipsToDelete.push({ path: relationshipPath })\n return\n }\n\n transformRelationship({\n baseRow: {\n locale: withinArrayOrBlockLocale,\n path: relationshipPath,\n },\n data: fieldData,\n field,\n relationships,\n })\n return\n } else {\n if (\n !field.localized &&\n fieldData &&\n typeof fieldData === 'object' &&\n 'id' in fieldData &&\n fieldData?.id\n ) {\n fieldData = fieldData.id\n } else if (field.localized) {\n if (typeof fieldData === 'object') {\n Object.entries(fieldData).forEach(([localeKey, localeData]) => {\n if (typeof localeData === 'object') {\n if (localeData && 'id' in localeData && localeData?.id) {\n fieldData[localeKey] = localeData.id\n }\n } else {\n fieldData[localeKey] = localeData\n }\n })\n }\n }\n }\n }\n\n if (field.type === 'text' && field.hasMany) {\n const textPath = `${path || ''}${field.name}`\n\n if (field.localized) {\n if (typeof fieldData === 'object') {\n Object.entries(fieldData).forEach(([localeKey, localeData]) => {\n if (Array.isArray(localeData)) {\n transformTexts({\n baseRow: {\n locale: localeKey,\n path: textPath,\n },\n data: localeData,\n texts,\n })\n }\n })\n }\n } else if (Array.isArray(fieldData)) {\n transformTexts({\n baseRow: {\n locale: withinArrayOrBlockLocale,\n path: textPath,\n },\n data: fieldData,\n texts,\n })\n }\n\n return\n }\n\n if (field.type === 'number' && field.hasMany) {\n const numberPath = `${path || ''}${field.name}`\n\n if (field.localized) {\n if (typeof fieldData === 'object') {\n Object.entries(fieldData).forEach(([localeKey, localeData]) => {\n if (Array.isArray(localeData)) {\n transformNumbers({\n baseRow: {\n locale: localeKey,\n path: numberPath,\n },\n data: localeData,\n numbers,\n })\n }\n })\n }\n } else if (Array.isArray(fieldData)) {\n transformNumbers({\n baseRow: {\n locale: withinArrayOrBlockLocale,\n path: numberPath,\n },\n data: fieldData,\n numbers,\n })\n }\n\n return\n }\n\n if (field.type === 'select' && field.hasMany) {\n const selectTableName = adapter.tableNameMap.get(`${parentTableName}_${columnName}`)\n if (!selects[selectTableName]) {\n selects[selectTableName] = []\n }\n\n if (field.localized) {\n if (typeof data[field.name] === 'object' && data[field.name] !== null) {\n Object.entries(data[field.name]).forEach(([localeKey, localeData]) => {\n if (Array.isArray(localeData)) {\n const newRows = transformSelects({\n id: data._uuid || data.id,\n data: localeData,\n locale: localeKey,\n })\n\n selects[selectTableName] = selects[selectTableName].concat(newRows)\n }\n })\n }\n } else if (Array.isArray(data[field.name])) {\n const newRows = transformSelects({\n id: data._uuid || data.id,\n data: data[field.name],\n locale: withinArrayOrBlockLocale,\n })\n\n selects[selectTableName] = selects[selectTableName].concat(newRows)\n }\n\n return\n }\n\n if (fieldAffectsData(field)) {\n const valuesToTransform: { localeKey?: string; ref: unknown; value: unknown }[] = []\n\n if (field.localized) {\n if (typeof fieldData === 'object' && fieldData !== null) {\n Object.entries(fieldData).forEach(([localeKey, localeData]) => {\n if (!locales[localeKey]) {\n locales[localeKey] = {}\n }\n\n valuesToTransform.push({\n localeKey,\n ref: locales,\n value: localeData,\n })\n })\n }\n } else {\n let ref = row\n\n if (forcedLocale) {\n if (!locales[forcedLocale]) {\n locales[forcedLocale] = {}\n }\n ref = locales[forcedLocale]\n }\n\n valuesToTransform.push({ ref, value: fieldData })\n }\n\n valuesToTransform.forEach(({ localeKey, ref, value }) => {\n if (typeof value !== 'undefined') {\n let formattedValue = value\n\n if (field.type === 'date') {\n if (typeof value === 'number' && !Number.isNaN(value)) {\n formattedValue = new Date(value).toISOString()\n } else if (value instanceof Date) {\n formattedValue = value.toISOString()\n } else if (fieldName === 'updatedAt') {\n // let the db handle this\n formattedValue = new Date().toISOString()\n }\n }\n\n if (localeKey) {\n ref[localeKey][fieldName] = formattedValue\n } else {\n ref[fieldName] = formattedValue\n }\n }\n })\n }\n })\n}\n"],"names":["fieldAffectsData","fieldIsVirtual","toSnakeCase","isArrayOfRows","transformArray","transformBlocks","transformNumbers","transformRelationship","transformSelects","transformTexts","traverseFields","adapter","arrays","baseTableName","blocks","blocksToDelete","columnPrefix","data","existingLocales","fieldPrefix","fields","forcedLocale","locales","numbers","parentTableName","path","relationships","relationshipsToDelete","row","selects","texts","withinArrayOrBlockLocale","forEach","field","columnName","fieldName","fieldData","name","type","arrayTableName","tableNameMap","get","localized","Object","entries","localeKey","localeData","Array","isArray","newRows","locale","concat","slug","add","_uuid","id","groupData","tabs","tab","tabData","relationshipPath","relationTo","hasMany","push","baseRow","length","textPath","numberPath","selectTableName","valuesToTransform","ref","value","formattedValue","Number","isNaN","Date","toISOString"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/transform/write/traverseFields.ts"],"sourcesContent":["import type { Field } from 'payload'\n\nimport { sql } from 'drizzle-orm'\nimport { fieldAffectsData, fieldIsVirtual } from 'payload/shared'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter } from '../../types.js'\nimport type { ArrayRowToInsert, BlockRowToInsert, RelationshipToDelete } from './types.js'\n\nimport { isArrayOfRows } from '../../utilities/isArrayOfRows.js'\nimport { transformArray } from './array.js'\nimport { transformBlocks } from './blocks.js'\nimport { transformNumbers } from './numbers.js'\nimport { transformRelationship } from './relationships.js'\nimport { transformSelects } from './selects.js'\nimport { transformTexts } from './texts.js'\n\ntype Args = {\n adapter: DrizzleAdapter\n arrays: {\n [tableName: string]: ArrayRowToInsert[]\n }\n /**\n * This is the name of the base table\n */\n baseTableName: string\n blocks: {\n [blockType: string]: BlockRowToInsert[]\n }\n blocksToDelete: Set<string>\n /**\n * A snake-case field prefix, representing prior fields\n * Ex: my_group_my_named_tab_\n */\n columnPrefix: string\n data: Record<string, unknown>\n existingLocales?: Record<string, unknown>[]\n /**\n * A prefix that will retain camel-case formatting, representing prior fields\n * Ex: myGroup_myNamedTab_\n */\n fieldPrefix: string\n fields: Field[]\n forcedLocale?: string\n locales: {\n [locale: string]: Record<string, unknown>\n }\n numbers: Record<string, unknown>[]\n /**\n * This is the name of the parent table\n */\n parentTableName: string\n path: string\n relationships: Record<string, unknown>[]\n relationshipsToDelete: RelationshipToDelete[]\n row: Record<string, unknown>\n selects: {\n [tableName: string]: Record<string, unknown>[]\n }\n texts: Record<string, unknown>[]\n /**\n * Set to a locale code if this set of fields is traversed within a\n * localized array or block field\n */\n withinArrayOrBlockLocale?: string\n}\n\nexport const traverseFields = ({\n adapter,\n arrays,\n baseTableName,\n blocks,\n blocksToDelete,\n columnPrefix,\n data,\n existingLocales,\n fieldPrefix,\n fields,\n forcedLocale,\n locales,\n numbers,\n parentTableName,\n path,\n relationships,\n relationshipsToDelete,\n row,\n selects,\n texts,\n withinArrayOrBlockLocale,\n}: Args) => {\n fields.forEach((field) => {\n let columnName = ''\n let fieldName = ''\n let fieldData: unknown\n\n if (fieldAffectsData(field)) {\n if (fieldIsVirtual(field)) {\n return\n }\n\n columnName = `${columnPrefix || ''}${toSnakeCase(field.name)}`\n fieldName = `${fieldPrefix || ''}${field.name}`\n fieldData = data[field.name]\n }\n\n if (field.type === 'array') {\n const arrayTableName = adapter.tableNameMap.get(`${parentTableName}_${columnName}`)\n\n if (!arrays[arrayTableName]) {\n arrays[arrayTableName] = []\n }\n\n if (field.localized) {\n if (typeof data[field.name] === 'object' && data[field.name] !== null) {\n Object.entries(data[field.name]).forEach(([localeKey, localeData]) => {\n if (Array.isArray(localeData)) {\n const newRows = transformArray({\n adapter,\n arrayTableName,\n baseTableName,\n blocks,\n blocksToDelete,\n data: localeData,\n field,\n locale: localeKey,\n numbers,\n path,\n relationships,\n relationshipsToDelete,\n selects,\n texts,\n withinArrayOrBlockLocale: localeKey,\n })\n\n arrays[arrayTableName] = arrays[arrayTableName].concat(newRows)\n }\n })\n }\n } else {\n const newRows = transformArray({\n adapter,\n arrayTableName,\n baseTableName,\n blocks,\n blocksToDelete,\n data: data[field.name],\n field,\n numbers,\n path,\n relationships,\n relationshipsToDelete,\n selects,\n texts,\n withinArrayOrBlockLocale,\n })\n\n arrays[arrayTableName] = arrays[arrayTableName].concat(newRows)\n }\n\n return\n }\n\n if (field.type === 'blocks') {\n field.blocks.forEach(({ slug }) => {\n blocksToDelete.add(toSnakeCase(slug))\n })\n\n if (field.localized) {\n if (typeof data[field.name] === 'object' && data[field.name] !== null) {\n Object.entries(data[field.name]).forEach(([localeKey, localeData]) => {\n if (Array.isArray(localeData)) {\n transformBlocks({\n adapter,\n baseTableName,\n blocks,\n blocksToDelete,\n data: localeData,\n field,\n locale: localeKey,\n numbers,\n path,\n relationships,\n relationshipsToDelete,\n selects,\n texts,\n withinArrayOrBlockLocale: localeKey,\n })\n }\n })\n }\n } else if (isArrayOfRows(fieldData)) {\n transformBlocks({\n adapter,\n baseTableName,\n blocks,\n blocksToDelete,\n data: fieldData,\n field,\n numbers,\n path,\n relationships,\n relationshipsToDelete,\n selects,\n texts,\n withinArrayOrBlockLocale,\n })\n }\n\n return\n }\n\n if (field.type === 'group') {\n if (typeof data[field.name] === 'object' && data[field.name] !== null) {\n if (field.localized) {\n Object.entries(data[field.name]).forEach(([localeKey, localeData]) => {\n // preserve array ID if there is\n localeData._uuid = data.id || data._uuid\n\n traverseFields({\n adapter,\n arrays,\n baseTableName,\n blocks,\n blocksToDelete,\n columnPrefix: `${columnName}_`,\n data: localeData as Record<string, unknown>,\n existingLocales,\n fieldPrefix: `${fieldName}_`,\n fields: field.fields,\n forcedLocale: localeKey,\n locales,\n numbers,\n parentTableName,\n path: `${path || ''}${field.name}.`,\n relationships,\n relationshipsToDelete,\n row,\n selects,\n texts,\n withinArrayOrBlockLocale: localeKey,\n })\n })\n } else {\n // preserve array ID if there is\n const groupData = data[field.name] as Record<string, unknown>\n groupData._uuid = data.id || data._uuid\n\n traverseFields({\n adapter,\n arrays,\n baseTableName,\n blocks,\n blocksToDelete,\n columnPrefix: `${columnName}_`,\n data: groupData,\n existingLocales,\n fieldPrefix: `${fieldName}_`,\n fields: field.fields,\n locales,\n numbers,\n parentTableName,\n path: `${path || ''}${field.name}.`,\n relationships,\n relationshipsToDelete,\n row,\n selects,\n texts,\n withinArrayOrBlockLocale,\n })\n }\n }\n\n return\n }\n\n if (field.type === 'tabs') {\n field.tabs.forEach((tab) => {\n if ('name' in tab) {\n if (fieldIsVirtual(tab)) {\n return\n }\n\n if (typeof data[tab.name] === 'object' && data[tab.name] !== null) {\n if (tab.localized) {\n Object.entries(data[tab.name]).forEach(([localeKey, localeData]) => {\n // preserve array ID if there is\n localeData._uuid = data.id || data._uuid\n\n traverseFields({\n adapter,\n arrays,\n baseTableName,\n blocks,\n blocksToDelete,\n columnPrefix: `${columnPrefix || ''}${toSnakeCase(tab.name)}_`,\n data: localeData as Record<string, unknown>,\n existingLocales,\n fieldPrefix: `${fieldPrefix || ''}${tab.name}_`,\n fields: tab.fields,\n forcedLocale: localeKey,\n locales,\n numbers,\n parentTableName,\n path: `${path || ''}${tab.name}.`,\n relationships,\n relationshipsToDelete,\n row,\n selects,\n texts,\n withinArrayOrBlockLocale: localeKey,\n })\n })\n } else {\n const tabData = data[tab.name] as Record<string, unknown>\n // preserve array ID if there is\n tabData._uuid = data.id || data._uuid\n\n traverseFields({\n adapter,\n arrays,\n baseTableName,\n blocks,\n blocksToDelete,\n columnPrefix: `${columnPrefix || ''}${toSnakeCase(tab.name)}_`,\n data: tabData,\n existingLocales,\n fieldPrefix: `${fieldPrefix || ''}${tab.name}_`,\n fields: tab.fields,\n locales,\n numbers,\n parentTableName,\n path: `${path || ''}${tab.name}.`,\n relationships,\n relationshipsToDelete,\n row,\n selects,\n texts,\n withinArrayOrBlockLocale,\n })\n }\n }\n } else {\n traverseFields({\n adapter,\n arrays,\n baseTableName,\n blocks,\n blocksToDelete,\n columnPrefix,\n data,\n existingLocales,\n fieldPrefix,\n fields: tab.fields,\n locales,\n numbers,\n parentTableName,\n path,\n relationships,\n relationshipsToDelete,\n row,\n selects,\n texts,\n withinArrayOrBlockLocale,\n })\n }\n })\n }\n\n if (field.type === 'row' || field.type === 'collapsible') {\n traverseFields({\n adapter,\n arrays,\n baseTableName,\n blocks,\n blocksToDelete,\n columnPrefix,\n data,\n existingLocales,\n fieldPrefix,\n fields: field.fields,\n forcedLocale,\n locales,\n numbers,\n parentTableName,\n path,\n relationships,\n relationshipsToDelete,\n row,\n selects,\n texts,\n withinArrayOrBlockLocale,\n })\n }\n\n if (field.type === 'relationship' || field.type === 'upload') {\n const relationshipPath = `${path || ''}${field.name}`\n\n if (\n field.localized &&\n (Array.isArray(field.relationTo) || ('hasMany' in field && field.hasMany))\n ) {\n if (typeof fieldData === 'object') {\n Object.entries(fieldData).forEach(([localeKey, localeData]) => {\n if (localeData === null) {\n relationshipsToDelete.push({\n locale: localeKey,\n path: relationshipPath,\n })\n return\n }\n\n transformRelationship({\n baseRow: {\n locale: localeKey,\n path: relationshipPath,\n },\n data: localeData,\n field,\n relationships,\n })\n })\n }\n return\n } else if (Array.isArray(field.relationTo) || ('hasMany' in field && field.hasMany)) {\n if (fieldData === null || (Array.isArray(fieldData) && fieldData.length === 0)) {\n relationshipsToDelete.push({ path: relationshipPath })\n return\n }\n\n transformRelationship({\n baseRow: {\n locale: withinArrayOrBlockLocale,\n path: relationshipPath,\n },\n data: fieldData,\n field,\n relationships,\n })\n return\n } else {\n if (\n !field.localized &&\n fieldData &&\n typeof fieldData === 'object' &&\n 'id' in fieldData &&\n fieldData?.id\n ) {\n fieldData = fieldData.id\n } else if (field.localized) {\n if (typeof fieldData === 'object') {\n Object.entries(fieldData).forEach(([localeKey, localeData]) => {\n if (typeof localeData === 'object') {\n if (localeData && 'id' in localeData && localeData?.id) {\n fieldData[localeKey] = localeData.id\n }\n } else {\n fieldData[localeKey] = localeData\n }\n })\n }\n }\n }\n }\n\n if (field.type === 'text' && field.hasMany) {\n const textPath = `${path || ''}${field.name}`\n\n if (field.localized) {\n if (typeof fieldData === 'object') {\n Object.entries(fieldData).forEach(([localeKey, localeData]) => {\n if (Array.isArray(localeData)) {\n transformTexts({\n baseRow: {\n locale: localeKey,\n path: textPath,\n },\n data: localeData,\n texts,\n })\n }\n })\n }\n } else if (Array.isArray(fieldData)) {\n transformTexts({\n baseRow: {\n locale: withinArrayOrBlockLocale,\n path: textPath,\n },\n data: fieldData,\n texts,\n })\n }\n\n return\n }\n\n if (field.type === 'number' && field.hasMany) {\n const numberPath = `${path || ''}${field.name}`\n\n if (field.localized) {\n if (typeof fieldData === 'object') {\n Object.entries(fieldData).forEach(([localeKey, localeData]) => {\n if (Array.isArray(localeData)) {\n transformNumbers({\n baseRow: {\n locale: localeKey,\n path: numberPath,\n },\n data: localeData,\n numbers,\n })\n }\n })\n }\n } else if (Array.isArray(fieldData)) {\n transformNumbers({\n baseRow: {\n locale: withinArrayOrBlockLocale,\n path: numberPath,\n },\n data: fieldData,\n numbers,\n })\n }\n\n return\n }\n\n if (field.type === 'select' && field.hasMany) {\n const selectTableName = adapter.tableNameMap.get(`${parentTableName}_${columnName}`)\n if (!selects[selectTableName]) {\n selects[selectTableName] = []\n }\n\n if (field.localized) {\n if (typeof data[field.name] === 'object' && data[field.name] !== null) {\n Object.entries(data[field.name]).forEach(([localeKey, localeData]) => {\n if (Array.isArray(localeData)) {\n const newRows = transformSelects({\n id: data._uuid || data.id,\n data: localeData,\n locale: localeKey,\n })\n\n selects[selectTableName] = selects[selectTableName].concat(newRows)\n }\n })\n }\n } else if (Array.isArray(data[field.name])) {\n const newRows = transformSelects({\n id: data._uuid || data.id,\n data: data[field.name],\n locale: withinArrayOrBlockLocale,\n })\n\n selects[selectTableName] = selects[selectTableName].concat(newRows)\n }\n\n return\n }\n\n if (fieldAffectsData(field)) {\n const valuesToTransform: { localeKey?: string; ref: unknown; value: unknown }[] = []\n\n if (field.localized) {\n if (typeof fieldData === 'object' && fieldData !== null) {\n Object.entries(fieldData).forEach(([localeKey, localeData]) => {\n if (!locales[localeKey]) {\n locales[localeKey] = {}\n }\n\n valuesToTransform.push({\n localeKey,\n ref: locales,\n value: localeData,\n })\n })\n }\n } else {\n let ref = row\n\n if (forcedLocale) {\n if (!locales[forcedLocale]) {\n locales[forcedLocale] = {}\n }\n ref = locales[forcedLocale]\n }\n\n valuesToTransform.push({ ref, value: fieldData })\n }\n\n valuesToTransform.forEach(({ localeKey, ref, value }) => {\n if (typeof value !== 'undefined') {\n let formattedValue = value\n if (value && field.type === 'point' && adapter.name !== 'sqlite') {\n formattedValue = sql`ST_GeomFromGeoJSON(${JSON.stringify(value)})`\n }\n\n if (field.type === 'date') {\n if (typeof value === 'number' && !Number.isNaN(value)) {\n formattedValue = new Date(value).toISOString()\n } else if (value instanceof Date) {\n formattedValue = value.toISOString()\n } else if (fieldName === 'updatedAt') {\n // let the db handle this\n formattedValue = new Date().toISOString()\n }\n }\n\n if (localeKey) {\n ref[localeKey][fieldName] = formattedValue\n } else {\n ref[fieldName] = formattedValue\n }\n }\n })\n }\n })\n}\n"],"names":["sql","fieldAffectsData","fieldIsVirtual","toSnakeCase","isArrayOfRows","transformArray","transformBlocks","transformNumbers","transformRelationship","transformSelects","transformTexts","traverseFields","adapter","arrays","baseTableName","blocks","blocksToDelete","columnPrefix","data","existingLocales","fieldPrefix","fields","forcedLocale","locales","numbers","parentTableName","path","relationships","relationshipsToDelete","row","selects","texts","withinArrayOrBlockLocale","forEach","field","columnName","fieldName","fieldData","name","type","arrayTableName","tableNameMap","get","localized","Object","entries","localeKey","localeData","Array","isArray","newRows","locale","concat","slug","add","_uuid","id","groupData","tabs","tab","tabData","relationshipPath","relationTo","hasMany","push","baseRow","length","textPath","numberPath","selectTableName","valuesToTransform","ref","value","formattedValue","JSON","stringify","Number","isNaN","Date","toISOString"],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -71,7 +71,7 @@ export type RequireDrizzleKit = () => {
|
|
|
71
71
|
generateDrizzleJson: (args: {
|
|
72
72
|
schema: Record<string, unknown>;
|
|
73
73
|
}) => unknown;
|
|
74
|
-
pushSchema: (schema: Record<string, unknown>, drizzle: DrizzleAdapter['drizzle'], filterSchema?: string[]) => Promise<{
|
|
74
|
+
pushSchema: (schema: Record<string, unknown>, drizzle: DrizzleAdapter['drizzle'], filterSchema?: string[], tablesFilter?: string[], extensionsFilter?: string[]) => Promise<{
|
|
75
75
|
apply: any;
|
|
76
76
|
hasDataLoss: any;
|
|
77
77
|
warnings: any;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type {\n ColumnBaseConfig,\n ColumnDataType,\n DrizzleConfig,\n ExtractTablesWithRelations,\n Relation,\n Relations,\n SQL,\n TableRelationalConfig,\n} from 'drizzle-orm'\nimport type { LibSQLDatabase } from 'drizzle-orm/libsql'\nimport type { NodePgDatabase, NodePgQueryResultHKT } from 'drizzle-orm/node-postgres'\nimport type { PgColumn, PgTable, PgTransaction } from 'drizzle-orm/pg-core'\nimport type { SQLiteColumn, SQLiteTable, SQLiteTransaction } from 'drizzle-orm/sqlite-core'\nimport type { Result } from 'drizzle-orm/sqlite-core/session'\nimport type {\n BaseDatabaseAdapter,\n MigrationData,\n MigrationTemplateArgs,\n Payload,\n PayloadRequest,\n} from 'payload'\n\nimport type { BuildQueryJoinAliases } from './queries/buildQuery.js'\n\nexport { BuildQueryJoinAliases }\n\nimport type { ResultSet } from '@libsql/client'\nimport type { SQLiteRaw } from 'drizzle-orm/sqlite-core/query-builders/raw'\nimport type { QueryResult } from 'pg'\n\nimport type { ChainedMethods } from './find/chainMethods.js'\nimport type { Operators } from './queries/operatorMap.js'\n\nexport { ChainedMethods }\n\nexport type PostgresDB = NodePgDatabase<Record<string, unknown>>\n\nexport type SQLiteDB = LibSQLDatabase<\n Record<string, GenericRelation | GenericTable> & Record<string, unknown>\n>\n\nexport type GenericPgColumn = PgColumn<\n ColumnBaseConfig<ColumnDataType, string>,\n Record<string, unknown>\n>\n\nexport type GenericColumns<T> = {\n [x: string]: T\n}\n\ntype GenericPgTable = PgTable<{\n columns: GenericColumns<GenericPgColumn>\n dialect: string\n name: string\n schema: undefined\n}>\n\ntype GenericSQLiteTable = SQLiteTable<{\n columns: GenericColumns<SQLiteColumn>\n dialect: string\n name: string\n schema: undefined\n}>\n\nexport type GenericColumn = GenericPgColumn | SQLiteColumn\n\nexport type GenericTable = GenericPgTable | GenericSQLiteTable\n\nexport type GenericRelation = Relations<string, Record<string, Relation<string>>>\n\nexport type TransactionSQLite = SQLiteTransaction<\n 'async',\n Result<'async', unknown>,\n Record<string, unknown>,\n { tsName: TableRelationalConfig }\n>\nexport type TransactionPg = PgTransaction<\n NodePgQueryResultHKT,\n Record<string, unknown>,\n ExtractTablesWithRelations<Record<string, unknown>>\n>\n\nexport type DrizzleTransaction = TransactionPg | TransactionSQLite\n\nexport type CountDistinct = (args: {\n db: DrizzleTransaction | LibSQLDatabase | PostgresDB\n joins: BuildQueryJoinAliases\n tableName: string\n where: SQL\n}) => Promise<number>\n\nexport type DeleteWhere = (args: {\n db: DrizzleTransaction | LibSQLDatabase | PostgresDB\n tableName: string\n where: SQL\n}) => Promise<void>\n\nexport type DropDatabase = (args: { adapter: DrizzleAdapter }) => Promise<void>\n\nexport type Execute<T> = (args: {\n db?: DrizzleTransaction | LibSQLDatabase | PostgresDB\n drizzle?: LibSQLDatabase | PostgresDB\n raw?: string\n sql?: SQL<unknown>\n}) =>\n | Promise<QueryResult<Record<string, T>>>\n | SQLiteRaw<Promise<{ rows: T[] }>>\n | SQLiteRaw<ResultSet>\n\nexport type Insert = (args: {\n db: DrizzleTransaction | LibSQLDatabase | PostgresDB\n onConflictDoUpdate?: unknown\n tableName: string\n values: Record<string, unknown> | Record<string, unknown>[]\n}) => Promise<Record<string, unknown>[]>\n\nexport type RequireDrizzleKit = () => {\n generateDrizzleJson: (args: { schema: Record<string, unknown> }) => unknown\n pushSchema: (\n schema: Record<string, unknown>,\n drizzle: DrizzleAdapter['drizzle'],\n filterSchema?: string[],\n ) => Promise<{ apply; hasDataLoss; warnings }>\n}\n\nexport type Migration = {\n down: ({\n db,\n payload,\n req,\n }: {\n db?: DrizzleTransaction | LibSQLDatabase<Record<string, never>> | PostgresDB\n payload: Payload\n req: PayloadRequest\n }) => Promise<void>\n up: ({\n db,\n payload,\n req,\n }: {\n db?: DrizzleTransaction | LibSQLDatabase | PostgresDB\n payload: Payload\n req: PayloadRequest\n }) => Promise<void>\n} & MigrationData\n\nexport type CreateJSONQueryArgs = {\n operator: string\n pathSegments: string[]\n table?: string\n treatAsArray?: string[]\n treatRootAsArray?: boolean\n value: boolean | number | string\n}\n\nexport interface DrizzleAdapter extends BaseDatabaseAdapter {\n convertPathToJSONTraversal: (incomingSegments: string[]) => string\n countDistinct: CountDistinct\n createJSONQuery: (args: CreateJSONQueryArgs) => string\n defaultDrizzleSnapshot: Record<string, unknown>\n deleteWhere: DeleteWhere\n drizzle: LibSQLDatabase | PostgresDB\n dropDatabase: DropDatabase\n enums?: never | Record<string, unknown>\n execute: Execute<unknown>\n features: {\n json?: boolean\n }\n /**\n * An object keyed on each table, with a key value pair where the constraint name is the key, followed by the dot-notation field name\n * Used for returning properly formed errors from unique fields\n */\n fieldConstraints: Record<string, Record<string, string>>\n getMigrationTemplate: (args: MigrationTemplateArgs) => string\n idType: 'serial' | 'uuid'\n indexes: Set<string>\n initializing: Promise<void>\n insert: Insert\n localesSuffix?: string\n logger: DrizzleConfig['logger']\n operators: Operators\n push: boolean\n rejectInitializing: () => void\n relations: Record<string, GenericRelation>\n relationshipsSuffix?: string\n requireDrizzleKit: RequireDrizzleKit\n resolveInitializing: () => void\n schema: Record<string, unknown>\n schemaName?: string\n sessions: {\n [id: string]: {\n db: DrizzleTransaction\n reject: () => Promise<void>\n resolve: () => Promise<void>\n }\n }\n tableNameMap: Map<string, string>\n tables: Record<string, any>\n transactionOptions: unknown\n versionsSuffix?: string\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type {\n ColumnBaseConfig,\n ColumnDataType,\n DrizzleConfig,\n ExtractTablesWithRelations,\n Relation,\n Relations,\n SQL,\n TableRelationalConfig,\n} from 'drizzle-orm'\nimport type { LibSQLDatabase } from 'drizzle-orm/libsql'\nimport type { NodePgDatabase, NodePgQueryResultHKT } from 'drizzle-orm/node-postgres'\nimport type { PgColumn, PgTable, PgTransaction } from 'drizzle-orm/pg-core'\nimport type { SQLiteColumn, SQLiteTable, SQLiteTransaction } from 'drizzle-orm/sqlite-core'\nimport type { Result } from 'drizzle-orm/sqlite-core/session'\nimport type {\n BaseDatabaseAdapter,\n MigrationData,\n MigrationTemplateArgs,\n Payload,\n PayloadRequest,\n} from 'payload'\n\nimport type { BuildQueryJoinAliases } from './queries/buildQuery.js'\n\nexport { BuildQueryJoinAliases }\n\nimport type { ResultSet } from '@libsql/client'\nimport type { SQLiteRaw } from 'drizzle-orm/sqlite-core/query-builders/raw'\nimport type { QueryResult } from 'pg'\n\nimport type { ChainedMethods } from './find/chainMethods.js'\nimport type { Operators } from './queries/operatorMap.js'\n\nexport { ChainedMethods }\n\nexport type PostgresDB = NodePgDatabase<Record<string, unknown>>\n\nexport type SQLiteDB = LibSQLDatabase<\n Record<string, GenericRelation | GenericTable> & Record<string, unknown>\n>\n\nexport type GenericPgColumn = PgColumn<\n ColumnBaseConfig<ColumnDataType, string>,\n Record<string, unknown>\n>\n\nexport type GenericColumns<T> = {\n [x: string]: T\n}\n\ntype GenericPgTable = PgTable<{\n columns: GenericColumns<GenericPgColumn>\n dialect: string\n name: string\n schema: undefined\n}>\n\ntype GenericSQLiteTable = SQLiteTable<{\n columns: GenericColumns<SQLiteColumn>\n dialect: string\n name: string\n schema: undefined\n}>\n\nexport type GenericColumn = GenericPgColumn | SQLiteColumn\n\nexport type GenericTable = GenericPgTable | GenericSQLiteTable\n\nexport type GenericRelation = Relations<string, Record<string, Relation<string>>>\n\nexport type TransactionSQLite = SQLiteTransaction<\n 'async',\n Result<'async', unknown>,\n Record<string, unknown>,\n { tsName: TableRelationalConfig }\n>\nexport type TransactionPg = PgTransaction<\n NodePgQueryResultHKT,\n Record<string, unknown>,\n ExtractTablesWithRelations<Record<string, unknown>>\n>\n\nexport type DrizzleTransaction = TransactionPg | TransactionSQLite\n\nexport type CountDistinct = (args: {\n db: DrizzleTransaction | LibSQLDatabase | PostgresDB\n joins: BuildQueryJoinAliases\n tableName: string\n where: SQL\n}) => Promise<number>\n\nexport type DeleteWhere = (args: {\n db: DrizzleTransaction | LibSQLDatabase | PostgresDB\n tableName: string\n where: SQL\n}) => Promise<void>\n\nexport type DropDatabase = (args: { adapter: DrizzleAdapter }) => Promise<void>\n\nexport type Execute<T> = (args: {\n db?: DrizzleTransaction | LibSQLDatabase | PostgresDB\n drizzle?: LibSQLDatabase | PostgresDB\n raw?: string\n sql?: SQL<unknown>\n}) =>\n | Promise<QueryResult<Record<string, T>>>\n | SQLiteRaw<Promise<{ rows: T[] }>>\n | SQLiteRaw<ResultSet>\n\nexport type Insert = (args: {\n db: DrizzleTransaction | LibSQLDatabase | PostgresDB\n onConflictDoUpdate?: unknown\n tableName: string\n values: Record<string, unknown> | Record<string, unknown>[]\n}) => Promise<Record<string, unknown>[]>\n\nexport type RequireDrizzleKit = () => {\n generateDrizzleJson: (args: { schema: Record<string, unknown> }) => unknown\n pushSchema: (\n schema: Record<string, unknown>,\n drizzle: DrizzleAdapter['drizzle'],\n filterSchema?: string[],\n tablesFilter?: string[],\n extensionsFilter?: string[],\n ) => Promise<{ apply; hasDataLoss; warnings }>\n}\n\nexport type Migration = {\n down: ({\n db,\n payload,\n req,\n }: {\n db?: DrizzleTransaction | LibSQLDatabase<Record<string, never>> | PostgresDB\n payload: Payload\n req: PayloadRequest\n }) => Promise<void>\n up: ({\n db,\n payload,\n req,\n }: {\n db?: DrizzleTransaction | LibSQLDatabase | PostgresDB\n payload: Payload\n req: PayloadRequest\n }) => Promise<void>\n} & MigrationData\n\nexport type CreateJSONQueryArgs = {\n operator: string\n pathSegments: string[]\n table?: string\n treatAsArray?: string[]\n treatRootAsArray?: boolean\n value: boolean | number | string\n}\n\nexport interface DrizzleAdapter extends BaseDatabaseAdapter {\n convertPathToJSONTraversal: (incomingSegments: string[]) => string\n countDistinct: CountDistinct\n createJSONQuery: (args: CreateJSONQueryArgs) => string\n defaultDrizzleSnapshot: Record<string, unknown>\n deleteWhere: DeleteWhere\n drizzle: LibSQLDatabase | PostgresDB\n dropDatabase: DropDatabase\n enums?: never | Record<string, unknown>\n execute: Execute<unknown>\n\n features: {\n json?: boolean\n }\n /**\n * An object keyed on each table, with a key value pair where the constraint name is the key, followed by the dot-notation field name\n * Used for returning properly formed errors from unique fields\n */\n fieldConstraints: Record<string, Record<string, string>>\n getMigrationTemplate: (args: MigrationTemplateArgs) => string\n idType: 'serial' | 'uuid'\n indexes: Set<string>\n initializing: Promise<void>\n insert: Insert\n localesSuffix?: string\n logger: DrizzleConfig['logger']\n operators: Operators\n push: boolean\n rejectInitializing: () => void\n relations: Record<string, GenericRelation>\n relationshipsSuffix?: string\n requireDrizzleKit: RequireDrizzleKit\n resolveInitializing: () => void\n schema: Record<string, unknown>\n\n schemaName?: string\n sessions: {\n [id: string]: {\n db: DrizzleTransaction\n reject: () => Promise<void>\n resolve: () => Promise<void>\n }\n }\n tableNameMap: Map<string, string>\n tables: Record<string, any>\n transactionOptions: unknown\n versionsSuffix?: string\n}\n"],"names":[],"mappings":"AA8JA,WA+CC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pushDevSchema.d.ts","sourceRoot":"","sources":["../../src/utilities/pushDevSchema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pushDevSchema.d.ts","sourceRoot":"","sources":["../../src/utilities/pushDevSchema.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,YAAmB,cAAc,kBAqE1D,CAAA"}
|
|
@@ -6,9 +6,14 @@ import prompts from 'prompts';
|
|
|
6
6
|
* @returns {Promise<void>} - A promise that resolves once the schema push is complete.
|
|
7
7
|
*/ export const pushDevSchema = async (adapter)=>{
|
|
8
8
|
const { pushSchema } = adapter.requireDrizzleKit();
|
|
9
|
+
const { extensions = {}, tablesFilter } = adapter;
|
|
9
10
|
// This will prompt if clarifications are needed for Drizzle to push new schema
|
|
10
11
|
const { apply, hasDataLoss, warnings } = await pushSchema(adapter.schema, adapter.drizzle, adapter.schemaName ? [
|
|
11
12
|
adapter.schemaName
|
|
13
|
+
] : undefined, tablesFilter, // Drizzle extensionsFilter supports only postgis for now
|
|
14
|
+
// https://github.com/drizzle-team/drizzle-orm/blob/83daf2d5cf023112de878bc2249ee2c41a2a5b1b/drizzle-kit/src/cli/validations/cli.ts#L26
|
|
15
|
+
extensions.postgis ? [
|
|
16
|
+
'postgis'
|
|
12
17
|
] : undefined);
|
|
13
18
|
if (warnings.length) {
|
|
14
19
|
let message = `Warnings detected during schema push: \n\n${warnings.join('\n')}\n\n`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utilities/pushDevSchema.ts"],"sourcesContent":["import prompts from 'prompts'\n\nimport type { DrizzleAdapter } from '../types.js'\n\n/**\n * Pushes the development schema to the database using Drizzle.\n *\n * @param {DrizzleAdapter} adapter - The PostgresAdapter instance connected to the database.\n * @returns {Promise<void>} - A promise that resolves once the schema push is complete.\n */\nexport const pushDevSchema = async (adapter: DrizzleAdapter) => {\n const { pushSchema } = adapter.requireDrizzleKit()\n\n // This will prompt if clarifications are needed for Drizzle to push new schema\n const { apply, hasDataLoss, warnings } = await pushSchema(\n adapter.schema,\n adapter.drizzle,\n adapter.schemaName ? [adapter.schemaName] : undefined,\n )\n\n if (warnings.length) {\n let message = `Warnings detected during schema push: \\n\\n${warnings.join('\\n')}\\n\\n`\n\n if (hasDataLoss) {\n message += `DATA LOSS WARNING: Possible data loss detected if schema is pushed.\\n\\n`\n }\n\n message += `Accept warnings and push schema to database?`\n\n const { confirm: acceptWarnings } = await prompts(\n {\n name: 'confirm',\n type: 'confirm',\n initial: false,\n message,\n },\n {\n onCancel: () => {\n process.exit(0)\n },\n },\n )\n\n // Exit if user does not accept warnings.\n // Q: Is this the right type of exit for this interaction?\n if (!acceptWarnings) {\n process.exit(0)\n }\n }\n\n await apply()\n const migrationsTable = adapter.schemaName\n ? `\"${adapter.schemaName}\".\"payload_migrations\"`\n : '\"payload_migrations\"'\n\n const result = await adapter.execute({\n drizzle: adapter.drizzle,\n raw: `SELECT * FROM ${migrationsTable} WHERE batch = '-1'`,\n })\n\n const devPush = result.rows\n\n if (!devPush.length) {\n await adapter.execute({\n drizzle: adapter.drizzle,\n raw: `INSERT INTO ${migrationsTable} (name, batch) VALUES ('dev', '-1')`,\n })\n } else {\n await adapter.execute({\n drizzle: adapter.drizzle,\n raw: `UPDATE ${migrationsTable} SET updated_at = CURRENT_TIMESTAMP WHERE batch = '-1'`,\n })\n }\n}\n"],"names":["prompts","pushDevSchema","adapter","pushSchema","requireDrizzleKit","apply","hasDataLoss","warnings","schema","drizzle","schemaName","undefined","length","message","join","confirm","acceptWarnings","name","type","initial","onCancel","process","exit","migrationsTable","result","execute","raw","devPush","rows"],"mappings":"AAAA,OAAOA,aAAa,UAAS;
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/pushDevSchema.ts"],"sourcesContent":["import prompts from 'prompts'\n\nimport type { BasePostgresAdapter } from '../postgres/types.js'\nimport type { DrizzleAdapter } from '../types.js'\n\n/**\n * Pushes the development schema to the database using Drizzle.\n *\n * @param {DrizzleAdapter} adapter - The PostgresAdapter instance connected to the database.\n * @returns {Promise<void>} - A promise that resolves once the schema push is complete.\n */\nexport const pushDevSchema = async (adapter: DrizzleAdapter) => {\n const { pushSchema } = adapter.requireDrizzleKit()\n\n const { extensions = {}, tablesFilter } = adapter as BasePostgresAdapter\n\n // This will prompt if clarifications are needed for Drizzle to push new schema\n const { apply, hasDataLoss, warnings } = await pushSchema(\n adapter.schema,\n adapter.drizzle,\n adapter.schemaName ? [adapter.schemaName] : undefined,\n tablesFilter,\n // Drizzle extensionsFilter supports only postgis for now\n // https://github.com/drizzle-team/drizzle-orm/blob/83daf2d5cf023112de878bc2249ee2c41a2a5b1b/drizzle-kit/src/cli/validations/cli.ts#L26\n extensions.postgis ? ['postgis'] : undefined,\n )\n\n if (warnings.length) {\n let message = `Warnings detected during schema push: \\n\\n${warnings.join('\\n')}\\n\\n`\n\n if (hasDataLoss) {\n message += `DATA LOSS WARNING: Possible data loss detected if schema is pushed.\\n\\n`\n }\n\n message += `Accept warnings and push schema to database?`\n\n const { confirm: acceptWarnings } = await prompts(\n {\n name: 'confirm',\n type: 'confirm',\n initial: false,\n message,\n },\n {\n onCancel: () => {\n process.exit(0)\n },\n },\n )\n\n // Exit if user does not accept warnings.\n // Q: Is this the right type of exit for this interaction?\n if (!acceptWarnings) {\n process.exit(0)\n }\n }\n\n await apply()\n const migrationsTable = adapter.schemaName\n ? `\"${adapter.schemaName}\".\"payload_migrations\"`\n : '\"payload_migrations\"'\n\n const result = await adapter.execute({\n drizzle: adapter.drizzle,\n raw: `SELECT * FROM ${migrationsTable} WHERE batch = '-1'`,\n })\n\n const devPush = result.rows\n\n if (!devPush.length) {\n await adapter.execute({\n drizzle: adapter.drizzle,\n raw: `INSERT INTO ${migrationsTable} (name, batch) VALUES ('dev', '-1')`,\n })\n } else {\n await adapter.execute({\n drizzle: adapter.drizzle,\n raw: `UPDATE ${migrationsTable} SET updated_at = CURRENT_TIMESTAMP WHERE batch = '-1'`,\n })\n }\n}\n"],"names":["prompts","pushDevSchema","adapter","pushSchema","requireDrizzleKit","extensions","tablesFilter","apply","hasDataLoss","warnings","schema","drizzle","schemaName","undefined","postgis","length","message","join","confirm","acceptWarnings","name","type","initial","onCancel","process","exit","migrationsTable","result","execute","raw","devPush","rows"],"mappings":"AAAA,OAAOA,aAAa,UAAS;AAK7B;;;;;CAKC,GACD,OAAO,MAAMC,gBAAgB,OAAOC;IAClC,MAAM,EAAEC,UAAU,EAAE,GAAGD,QAAQE,iBAAiB;IAEhD,MAAM,EAAEC,aAAa,CAAC,CAAC,EAAEC,YAAY,EAAE,GAAGJ;IAE1C,+EAA+E;IAC/E,MAAM,EAAEK,KAAK,EAAEC,WAAW,EAAEC,QAAQ,EAAE,GAAG,MAAMN,WAC7CD,QAAQQ,MAAM,EACdR,QAAQS,OAAO,EACfT,QAAQU,UAAU,GAAG;QAACV,QAAQU,UAAU;KAAC,GAAGC,WAC5CP,cACA,yDAAyD;IACzD,uIAAuI;IACvID,WAAWS,OAAO,GAAG;QAAC;KAAU,GAAGD;IAGrC,IAAIJ,SAASM,MAAM,EAAE;QACnB,IAAIC,UAAU,CAAC,0CAA0C,EAAEP,SAASQ,IAAI,CAAC,MAAM,IAAI,CAAC;QAEpF,IAAIT,aAAa;YACfQ,WAAW,CAAC,uEAAuE,CAAC;QACtF;QAEAA,WAAW,CAAC,4CAA4C,CAAC;QAEzD,MAAM,EAAEE,SAASC,cAAc,EAAE,GAAG,MAAMnB,QACxC;YACEoB,MAAM;YACNC,MAAM;YACNC,SAAS;YACTN;QACF,GACA;YACEO,UAAU;gBACRC,QAAQC,IAAI,CAAC;YACf;QACF;QAGF,yCAAyC;QACzC,0DAA0D;QAC1D,IAAI,CAACN,gBAAgB;YACnBK,QAAQC,IAAI,CAAC;QACf;IACF;IAEA,MAAMlB;IACN,MAAMmB,kBAAkBxB,QAAQU,UAAU,GACtC,CAAC,CAAC,EAAEV,QAAQU,UAAU,CAAC,sBAAsB,CAAC,GAC9C;IAEJ,MAAMe,SAAS,MAAMzB,QAAQ0B,OAAO,CAAC;QACnCjB,SAAST,QAAQS,OAAO;QACxBkB,KAAK,CAAC,cAAc,EAAEH,gBAAgB,mBAAmB,CAAC;IAC5D;IAEA,MAAMI,UAAUH,OAAOI,IAAI;IAE3B,IAAI,CAACD,QAAQf,MAAM,EAAE;QACnB,MAAMb,QAAQ0B,OAAO,CAAC;YACpBjB,SAAST,QAAQS,OAAO;YACxBkB,KAAK,CAAC,YAAY,EAAEH,gBAAgB,mCAAmC,CAAC;QAC1E;IACF,OAAO;QACL,MAAMxB,QAAQ0B,OAAO,CAAC;YACpBjB,SAAST,QAAQS,OAAO;YACxBkB,KAAK,CAAC,OAAO,EAAEH,gBAAgB,sDAAsD,CAAC;QACxF;IACF;AACF,EAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/drizzle",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.127",
|
|
4
4
|
"description": "A library of shared functions used by different payload database adapters",
|
|
5
5
|
"homepage": "https://payloadcms.com",
|
|
6
6
|
"repository": {
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
"mock.js"
|
|
36
36
|
],
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"console-table-printer": "2.
|
|
39
|
-
"drizzle-orm": "0.
|
|
38
|
+
"console-table-printer": "2.12.1",
|
|
39
|
+
"drizzle-orm": "0.36.1",
|
|
40
40
|
"prompts": "2.4.2",
|
|
41
41
|
"to-snake-case": "1.0.0",
|
|
42
42
|
"uuid": "9.0.0"
|
|
@@ -45,11 +45,11 @@
|
|
|
45
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
|
+
"@payloadcms/eslint-config": "3.0.0-beta.112",
|
|
49
|
+
"payload": "3.0.0-beta.127"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
|
-
"payload": "3.0.0-beta.
|
|
52
|
+
"payload": "3.0.0-beta.127"
|
|
53
53
|
},
|
|
54
54
|
"scripts": {
|
|
55
55
|
"build": "pnpm build:swc && pnpm build:types",
|