@payloadcms/drizzle 3.23.0 → 3.24.0-canary.1cfcb91
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/find/traverseFields.d.ts.map +1 -1
- package/dist/find/traverseFields.js +3 -1
- package/dist/find/traverseFields.js.map +1 -1
- package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/traverseFields.d.ts.map +1 -1
- package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/traverseFields.js +4 -2
- package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/traverseFields.js.map +1 -1
- package/dist/postgres/predefinedMigrations/v2-v3/traverseFields.d.ts.map +1 -1
- package/dist/postgres/predefinedMigrations/v2-v3/traverseFields.js +4 -0
- package/dist/postgres/predefinedMigrations/v2-v3/traverseFields.js.map +1 -1
- package/dist/queries/getTableColumnFromPath.d.ts.map +1 -1
- package/dist/queries/getTableColumnFromPath.js +3 -2
- package/dist/queries/getTableColumnFromPath.js.map +1 -1
- package/dist/schema/traverseFields.d.ts.map +1 -1
- package/dist/schema/traverseFields.js +2 -1
- package/dist/schema/traverseFields.js.map +1 -1
- package/dist/transform/read/traverseFields.d.ts.map +1 -1
- package/dist/transform/read/traverseFields.js +5 -2
- package/dist/transform/read/traverseFields.js.map +1 -1
- package/dist/transform/write/blocks.d.ts.map +1 -1
- package/dist/transform/write/blocks.js +1 -1
- package/dist/transform/write/blocks.js.map +1 -1
- package/dist/transform/write/traverseFields.js +3 -2
- package/dist/transform/write/traverseFields.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/transform/write/traverseFields.ts"],"sourcesContent":["import type { FlattenedField } from 'payload'\n\nimport { sql } from 'drizzle-orm'\nimport { 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: FlattenedField[]\n forcedLocale?: string\n /**\n * Tracks whether the current traversion context is from array or block.\n */\n insideArrayOrBlock?: boolean\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 insideArrayOrBlock = false,\n locales,\n numbers,\n parentTableName,\n path,\n relationships,\n relationshipsToDelete,\n row,\n selects,\n texts,\n withinArrayOrBlockLocale,\n}: Args) => {\n if (row._uuid) {\n data._uuid = row._uuid\n }\n\n fields.forEach((field) => {\n let columnName = ''\n let fieldName = ''\n let fieldData: unknown\n\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 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' || field.type === 'tab') {\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.flattenedFields,\n forcedLocale: localeKey,\n insideArrayOrBlock,\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.flattenedFields,\n insideArrayOrBlock,\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 === '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: insideArrayOrBlock ? data._uuid || data.id : undefined,\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: insideArrayOrBlock ? data._uuid || data.id : undefined,\n data: data[field.name],\n locale: withinArrayOrBlockLocale,\n })\n\n selects[selectTableName] = selects[selectTableName].concat(newRows)\n }\n\n return\n }\n\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 let formattedValue = value\n\n if (typeof value !== 'undefined') {\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 }\n }\n }\n\n if (field.type === 'date' && fieldName === 'updatedAt') {\n // let the db handle this\n formattedValue = new Date().toISOString()\n }\n\n if (typeof formattedValue !== 'undefined') {\n if (localeKey) {\n ref[localeKey][fieldName] = formattedValue\n } else {\n ref[fieldName] = formattedValue\n }\n }\n })\n })\n}\n"],"names":["sql","fieldIsVirtual","toSnakeCase","isArrayOfRows","transformArray","transformBlocks","transformNumbers","transformRelationship","transformSelects","transformTexts","traverseFields","adapter","arrays","baseTableName","blocks","blocksToDelete","columnPrefix","data","existingLocales","fieldPrefix","fields","forcedLocale","insideArrayOrBlock","locales","numbers","parentTableName","path","relationships","relationshipsToDelete","row","selects","texts","withinArrayOrBlockLocale","_uuid","forEach","field","columnName","fieldName","fieldData","name","type","arrayTableName","tableNameMap","get","localized","Object","entries","localeKey","localeData","Array","isArray","newRows","locale","concat","slug","add","id","flattenedFields","groupData","relationshipPath","relationTo","hasMany","push","baseRow","length","textPath","numberPath","selectTableName","undefined","valuesToTransform","ref","value","formattedValue","JSON","stringify","Number","isNaN","Date","toISOString"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/transform/write/traverseFields.ts"],"sourcesContent":["import type { FlattenedField } from 'payload'\n\nimport { sql } from 'drizzle-orm'\nimport { 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: FlattenedField[]\n forcedLocale?: string\n /**\n * Tracks whether the current traversion context is from array or block.\n */\n insideArrayOrBlock?: boolean\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 insideArrayOrBlock = false,\n locales,\n numbers,\n parentTableName,\n path,\n relationships,\n relationshipsToDelete,\n row,\n selects,\n texts,\n withinArrayOrBlockLocale,\n}: Args) => {\n if (row._uuid) {\n data._uuid = row._uuid\n }\n\n fields.forEach((field) => {\n let columnName = ''\n let fieldName = ''\n let fieldData: unknown\n\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 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.blockReferences ?? field.blocks).forEach((block) => {\n blocksToDelete.add(toSnakeCase(typeof block === 'string' ? block : block.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' || field.type === 'tab') {\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.flattenedFields,\n forcedLocale: localeKey,\n insideArrayOrBlock,\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.flattenedFields,\n insideArrayOrBlock,\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 === '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: insideArrayOrBlock ? data._uuid || data.id : undefined,\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: insideArrayOrBlock ? data._uuid || data.id : undefined,\n data: data[field.name],\n locale: withinArrayOrBlockLocale,\n })\n\n selects[selectTableName] = selects[selectTableName].concat(newRows)\n }\n\n return\n }\n\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 let formattedValue = value\n\n if (typeof value !== 'undefined') {\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 }\n }\n }\n\n if (field.type === 'date' && fieldName === 'updatedAt') {\n // let the db handle this\n formattedValue = new Date().toISOString()\n }\n\n if (typeof formattedValue !== 'undefined') {\n if (localeKey) {\n ref[localeKey][fieldName] = formattedValue\n } else {\n ref[fieldName] = formattedValue\n }\n }\n })\n })\n}\n"],"names":["sql","fieldIsVirtual","toSnakeCase","isArrayOfRows","transformArray","transformBlocks","transformNumbers","transformRelationship","transformSelects","transformTexts","traverseFields","adapter","arrays","baseTableName","blocks","blocksToDelete","columnPrefix","data","existingLocales","fieldPrefix","fields","forcedLocale","insideArrayOrBlock","locales","numbers","parentTableName","path","relationships","relationshipsToDelete","row","selects","texts","withinArrayOrBlockLocale","_uuid","forEach","field","columnName","fieldName","fieldData","name","type","arrayTableName","tableNameMap","get","localized","Object","entries","localeKey","localeData","Array","isArray","newRows","locale","concat","blockReferences","block","add","slug","id","flattenedFields","groupData","relationshipPath","relationTo","hasMany","push","baseRow","length","textPath","numberPath","selectTableName","undefined","valuesToTransform","ref","value","formattedValue","JSON","stringify","Number","isNaN","Date","toISOString"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/drizzle",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.24.0-canary.1cfcb91",
|
|
4
4
|
"description": "A library of shared functions used by different payload database adapters",
|
|
5
5
|
"homepage": "https://payloadcms.com",
|
|
6
6
|
"repository": {
|
|
@@ -52,11 +52,11 @@
|
|
|
52
52
|
"@libsql/client": "0.14.0",
|
|
53
53
|
"@types/pg": "8.10.2",
|
|
54
54
|
"@types/to-snake-case": "1.0.0",
|
|
55
|
-
"
|
|
56
|
-
"
|
|
55
|
+
"@payloadcms/eslint-config": "3.9.0",
|
|
56
|
+
"payload": "3.24.0-canary.1cfcb91"
|
|
57
57
|
},
|
|
58
58
|
"peerDependencies": {
|
|
59
|
-
"payload": "3.
|
|
59
|
+
"payload": "3.24.0-canary.1cfcb91"
|
|
60
60
|
},
|
|
61
61
|
"scripts": {
|
|
62
62
|
"build": "pnpm build:swc && pnpm build:types",
|