@payloadcms/drizzle 3.9.0 → 3.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/count.d.ts.map +1 -1
- package/dist/count.js +2 -1
- package/dist/count.js.map +1 -1
- package/dist/countGlobalVersions.d.ts.map +1 -1
- package/dist/countGlobalVersions.js +2 -1
- package/dist/countGlobalVersions.js.map +1 -1
- package/dist/countVersions.d.ts.map +1 -1
- package/dist/countVersions.js +2 -1
- package/dist/countVersions.js.map +1 -1
- package/dist/create.d.ts.map +1 -1
- package/dist/create.js +2 -1
- package/dist/create.js.map +1 -1
- package/dist/createGlobal.d.ts.map +1 -1
- package/dist/createGlobal.js +3 -2
- package/dist/createGlobal.js.map +1 -1
- package/dist/createGlobalVersion.d.ts.map +1 -1
- package/dist/createGlobalVersion.js +3 -2
- package/dist/createGlobalVersion.js.map +1 -1
- package/dist/createVersion.d.ts.map +1 -1
- package/dist/createVersion.js +3 -2
- package/dist/createVersion.js.map +1 -1
- package/dist/deleteMany.d.ts.map +1 -1
- package/dist/deleteMany.js +4 -3
- package/dist/deleteMany.js.map +1 -1
- package/dist/deleteOne.d.ts.map +1 -1
- package/dist/deleteOne.js +4 -3
- package/dist/deleteOne.js.map +1 -1
- package/dist/deleteVersions.d.ts.map +1 -1
- package/dist/deleteVersions.js +3 -2
- package/dist/deleteVersions.js.map +1 -1
- package/dist/exports/postgres.d.ts +2 -0
- package/dist/exports/postgres.d.ts.map +1 -1
- package/dist/exports/postgres.js +2 -0
- package/dist/exports/postgres.js.map +1 -1
- package/dist/find/buildFindManyArgs.d.ts +2 -1
- package/dist/find/buildFindManyArgs.d.ts.map +1 -1
- package/dist/find/buildFindManyArgs.js +2 -1
- package/dist/find/buildFindManyArgs.js.map +1 -1
- package/dist/find/findMany.d.ts +2 -1
- package/dist/find/findMany.d.ts.map +1 -1
- package/dist/find/findMany.js +4 -2
- package/dist/find/findMany.js.map +1 -1
- package/dist/find/traverseFields.d.ts +2 -1
- package/dist/find/traverseFields.d.ts.map +1 -1
- package/dist/find/traverseFields.js +20 -7
- package/dist/find/traverseFields.js.map +1 -1
- package/dist/find.d.ts.map +1 -1
- package/dist/find.js +2 -1
- package/dist/find.js.map +1 -1
- package/dist/findGlobalVersions.d.ts.map +1 -1
- package/dist/findGlobalVersions.js +1 -1
- package/dist/findGlobalVersions.js.map +1 -1
- package/dist/findOne.d.ts.map +1 -1
- package/dist/findOne.js +2 -1
- package/dist/findOne.js.map +1 -1
- package/dist/findVersions.d.ts.map +1 -1
- package/dist/findVersions.js +1 -1
- package/dist/findVersions.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/migrate.d.ts.map +1 -1
- package/dist/migrate.js +4 -6
- package/dist/migrate.js.map +1 -1
- package/dist/migrateDown.d.ts.map +1 -1
- package/dist/migrateDown.js +4 -5
- package/dist/migrateDown.js.map +1 -1
- package/dist/migrateFresh.d.ts.map +1 -1
- package/dist/migrateFresh.js +4 -5
- package/dist/migrateFresh.js.map +1 -1
- package/dist/migrateRefresh.d.ts.map +1 -1
- package/dist/migrateRefresh.js +4 -5
- package/dist/migrateRefresh.js.map +1 -1
- package/dist/migrateReset.d.ts.map +1 -1
- package/dist/migrateReset.js +4 -5
- package/dist/migrateReset.js.map +1 -1
- package/dist/postgres/columnToCodeConverter.d.ts +3 -0
- package/dist/postgres/columnToCodeConverter.d.ts.map +1 -0
- package/dist/postgres/columnToCodeConverter.js +70 -0
- package/dist/postgres/columnToCodeConverter.js.map +1 -0
- package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/index.d.ts +3 -4
- package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/index.d.ts.map +1 -1
- package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/index.js.map +1 -1
- package/dist/postgres/predefinedMigrations/v2-v3/index.d.ts.map +1 -1
- package/dist/postgres/predefinedMigrations/v2-v3/index.js +7 -2
- package/dist/postgres/predefinedMigrations/v2-v3/index.js.map +1 -1
- package/dist/postgres/predefinedMigrations/v2-v3/migrateRelationships.d.ts +2 -3
- package/dist/postgres/predefinedMigrations/v2-v3/migrateRelationships.d.ts.map +1 -1
- package/dist/postgres/predefinedMigrations/v2-v3/migrateRelationships.js +1 -1
- package/dist/postgres/predefinedMigrations/v2-v3/migrateRelationships.js.map +1 -1
- package/dist/postgres/predefinedMigrations/v2-v3/traverseFields.d.ts +2 -3
- package/dist/postgres/predefinedMigrations/v2-v3/traverseFields.d.ts.map +1 -1
- package/dist/postgres/predefinedMigrations/v2-v3/traverseFields.js.map +1 -1
- package/dist/queries/getTableColumnFromPath.js +1 -1
- package/dist/queries/getTableColumnFromPath.js.map +1 -1
- package/dist/queries/sanitizeQueryValue.d.ts.map +1 -1
- package/dist/queries/sanitizeQueryValue.js +6 -0
- package/dist/queries/sanitizeQueryValue.js.map +1 -1
- package/dist/queryDrafts.d.ts.map +1 -1
- package/dist/queryDrafts.js +2 -1
- package/dist/queryDrafts.js.map +1 -1
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/update.d.ts.map +1 -1
- package/dist/update.js +2 -1
- package/dist/update.js.map +1 -1
- package/dist/updateGlobal.d.ts.map +1 -1
- package/dist/updateGlobal.js +3 -2
- package/dist/updateGlobal.js.map +1 -1
- package/dist/updateGlobalVersion.d.ts +1 -1
- package/dist/updateGlobalVersion.d.ts.map +1 -1
- package/dist/updateGlobalVersion.js +3 -2
- package/dist/updateGlobalVersion.js.map +1 -1
- package/dist/updateVersion.d.ts +1 -1
- package/dist/updateVersion.d.ts.map +1 -1
- package/dist/updateVersion.js +3 -2
- package/dist/updateVersion.js.map +1 -1
- package/dist/upsertRow/index.js +2 -2
- package/dist/upsertRow/index.js.map +1 -1
- package/dist/upsertRow/types.d.ts +1 -1
- package/dist/upsertRow/types.d.ts.map +1 -1
- package/dist/upsertRow/types.js.map +1 -1
- package/dist/utilities/createSchemaGenerator.d.ts +11 -0
- package/dist/utilities/createSchemaGenerator.d.ts.map +1 -0
- package/dist/utilities/createSchemaGenerator.js +220 -0
- package/dist/utilities/createSchemaGenerator.js.map +1 -0
- package/dist/utilities/getTransaction.d.ts +7 -0
- package/dist/utilities/getTransaction.d.ts.map +1 -0
- package/dist/utilities/getTransaction.js +10 -0
- package/dist/utilities/getTransaction.js.map +1 -0
- package/dist/utilities/pushDevSchema.d.ts.map +1 -1
- package/dist/utilities/pushDevSchema.js +7 -5
- package/dist/utilities/pushDevSchema.js.map +1 -1
- package/package.json +4 -4
|
@@ -301,7 +301,7 @@ import { getTableAlias } from './getTableAlias.js';
|
|
|
301
301
|
const relationshipConfig = adapter.payload.collections[field.relationTo].config;
|
|
302
302
|
newTableName = adapter.tableNameMap.get(toSnakeCase(relationshipConfig.slug));
|
|
303
303
|
// parent to relationship join table
|
|
304
|
-
relationshipFields = relationshipConfig.
|
|
304
|
+
relationshipFields = relationshipConfig.flattenedFields;
|
|
305
305
|
({ newAliasTable } = getTableAlias({
|
|
306
306
|
adapter,
|
|
307
307
|
tableName: newTableName
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/queries/getTableColumnFromPath.ts"],"sourcesContent":["import type { SQL } from 'drizzle-orm'\nimport type { SQLiteTableWithColumns } from 'drizzle-orm/sqlite-core'\nimport type { FlattenedField, NumberField, TextField } from 'payload'\n\nimport { and, eq, like, sql } from 'drizzle-orm'\nimport { type PgTableWithColumns } from 'drizzle-orm/pg-core'\nimport { APIError } from 'payload'\nimport { tabHasName } from 'payload/shared'\nimport toSnakeCase from 'to-snake-case'\nimport { validate as uuidValidate } from 'uuid'\n\nimport type { DrizzleAdapter, GenericColumn } from '../types.js'\nimport type { BuildQueryJoinAliases } from './buildQuery.js'\n\nimport { isPolymorphicRelationship } from '../utilities/isPolymorphicRelationship.js'\nimport { addJoinTable } from './addJoinTable.js'\nimport { getTableAlias } from './getTableAlias.js'\n\ntype Constraint = {\n columnName: string\n table: PgTableWithColumns<any> | SQLiteTableWithColumns<any>\n value: unknown\n}\n\ntype TableColumn = {\n columnName?: string\n columns?: {\n idType: 'number' | 'text' | 'uuid'\n rawColumn: SQL<unknown>\n }[]\n constraints: Constraint[]\n field: FlattenedField\n getNotNullColumnByValue?: (val: unknown) => string\n pathSegments?: string[]\n rawColumn?: SQL\n table: PgTableWithColumns<any> | SQLiteTableWithColumns<any>\n}\n\ntype Args = {\n adapter: DrizzleAdapter\n aliasTable?: PgTableWithColumns<any> | SQLiteTableWithColumns<any>\n collectionPath: string\n columnPrefix?: string\n constraintPath?: string\n constraints?: Constraint[]\n fields: FlattenedField[]\n joins: BuildQueryJoinAliases\n locale?: string\n pathSegments: string[]\n rootTableName?: string\n selectFields: Record<string, GenericColumn>\n selectLocale?: boolean\n tableName: string\n /**\n * If creating a new table name for arrays and blocks, this suffix should be appended to the table name\n */\n tableNameSuffix?: string\n /**\n * The raw value of the query before sanitization\n */\n value: unknown\n}\n/**\n * Transforms path to table and column name or to a list of OR columns\n * Adds tables to `join`\n * @returns TableColumn\n */\nexport const getTableColumnFromPath = ({\n adapter,\n aliasTable,\n collectionPath,\n columnPrefix = '',\n constraintPath: incomingConstraintPath,\n constraints = [],\n fields,\n joins,\n locale: incomingLocale,\n pathSegments: incomingSegments,\n rootTableName: incomingRootTableName,\n selectFields,\n selectLocale,\n tableName,\n tableNameSuffix = '',\n value,\n}: Args): TableColumn => {\n const fieldPath = incomingSegments[0]\n let locale = incomingLocale\n const rootTableName = incomingRootTableName || tableName\n let constraintPath = incomingConstraintPath || ''\n\n const field = fields.find((fieldToFind) => fieldToFind.name === fieldPath)\n let newTableName = tableName\n\n if (!field && fieldPath === 'id') {\n selectFields.id = adapter.tables[newTableName].id\n return {\n columnName: 'id',\n constraints,\n field: {\n name: 'id',\n type: adapter.idType === 'uuid' ? 'text' : 'number',\n } as NumberField | TextField,\n table: adapter.tables[newTableName],\n }\n }\n\n if (field) {\n const pathSegments = [...incomingSegments]\n\n // If next segment is a locale,\n // we need to take it out and use it as the locale from this point on\n if ('localized' in field && field.localized && adapter.payload.config.localization) {\n const matchedLocale = adapter.payload.config.localization.localeCodes.find(\n (locale) => locale === pathSegments[1],\n )\n\n if (matchedLocale) {\n locale = matchedLocale\n pathSegments.splice(1, 1)\n }\n }\n\n switch (field.type) {\n case 'array': {\n newTableName = adapter.tableNameMap.get(\n `${tableName}_${tableNameSuffix}${toSnakeCase(field.name)}`,\n )\n\n const arrayParentTable = aliasTable || adapter.tables[tableName]\n\n constraintPath = `${constraintPath}${field.name}.%.`\n if (locale && field.localized && adapter.payload.config.localization) {\n const conditions = [eq(arrayParentTable.id, adapter.tables[newTableName]._parentID)]\n\n if (selectLocale) {\n selectFields._locale = adapter.tables[newTableName]._locale\n }\n\n if (locale !== 'all') {\n conditions.push(eq(adapter.tables[newTableName]._locale, locale))\n }\n addJoinTable({\n condition: and(...conditions),\n joins,\n table: adapter.tables[newTableName],\n })\n } else {\n addJoinTable({\n condition: eq(arrayParentTable.id, adapter.tables[newTableName]._parentID),\n joins,\n table: adapter.tables[newTableName],\n })\n }\n return getTableColumnFromPath({\n adapter,\n collectionPath,\n constraintPath,\n constraints,\n fields: field.flattenedFields,\n joins,\n locale,\n pathSegments: pathSegments.slice(1),\n rootTableName,\n selectFields,\n selectLocale,\n tableName: newTableName,\n value,\n })\n }\n case 'blocks': {\n let blockTableColumn: TableColumn\n let newTableName: string\n\n // handle blockType queries\n if (pathSegments[1] === 'blockType') {\n // find the block config using the value\n const blockTypes = Array.isArray(value) ? value : [value]\n blockTypes.forEach((blockType) => {\n const block = field.blocks.find((block) => block.slug === blockType)\n newTableName = adapter.tableNameMap.get(\n `${tableName}_blocks_${toSnakeCase(block.slug)}`,\n )\n\n const { newAliasTable } = getTableAlias({ adapter, tableName: newTableName })\n\n joins.push({\n condition: eq(adapter.tables[tableName].id, newAliasTable._parentID),\n table: newAliasTable,\n })\n constraints.push({\n columnName: '_path',\n table: newAliasTable,\n value: pathSegments[0],\n })\n })\n return {\n constraints,\n field,\n getNotNullColumnByValue: () => 'id',\n table: adapter.tables[tableName],\n }\n }\n\n const hasBlockField = field.blocks.some((block) => {\n newTableName = adapter.tableNameMap.get(`${tableName}_blocks_${toSnakeCase(block.slug)}`)\n constraintPath = `${constraintPath}${field.name}.%.`\n\n let result\n const blockConstraints = []\n const blockSelectFields = {}\n try {\n result = getTableColumnFromPath({\n adapter,\n collectionPath,\n constraintPath,\n constraints: blockConstraints,\n fields: block.flattenedFields,\n joins,\n locale,\n pathSegments: pathSegments.slice(1),\n rootTableName,\n selectFields: blockSelectFields,\n selectLocale,\n tableName: newTableName,\n value,\n })\n } catch (error) {\n // this is fine, not every block will have the field\n }\n if (!result) {\n return\n }\n blockTableColumn = result\n constraints = constraints.concat(blockConstraints)\n selectFields = { ...selectFields, ...blockSelectFields }\n if (field.localized && adapter.payload.config.localization) {\n const conditions = [\n eq(\n (aliasTable || adapter.tables[tableName]).id,\n adapter.tables[newTableName]._parentID,\n ),\n ]\n\n if (locale !== 'all') {\n conditions.push(eq(adapter.tables[newTableName]._locale, locale))\n }\n\n joins.push({\n condition: and(...conditions),\n table: adapter.tables[newTableName],\n })\n } else {\n joins.push({\n condition: eq(\n (aliasTable || adapter.tables[tableName]).id,\n adapter.tables[newTableName]._parentID,\n ),\n table: adapter.tables[newTableName],\n })\n }\n return true\n })\n if (hasBlockField) {\n return {\n columnName: blockTableColumn.columnName,\n constraints,\n field: blockTableColumn.field,\n pathSegments: pathSegments.slice(1),\n rawColumn: blockTableColumn.rawColumn,\n table: blockTableColumn.table,\n }\n }\n break\n }\n\n case 'group': {\n if (locale && field.localized && adapter.payload.config.localization) {\n newTableName = `${tableName}${adapter.localesSuffix}`\n\n let condition = eq(adapter.tables[tableName].id, adapter.tables[newTableName]._parentID)\n\n if (locale !== 'all') {\n condition = and(condition, eq(adapter.tables[newTableName]._locale, locale))\n }\n\n addJoinTable({\n condition,\n joins,\n table: adapter.tables[newTableName],\n })\n }\n return getTableColumnFromPath({\n adapter,\n aliasTable,\n collectionPath,\n columnPrefix: `${columnPrefix}${field.name}_`,\n constraintPath: `${constraintPath}${field.name}.`,\n constraints,\n fields: field.flattenedFields,\n joins,\n locale,\n pathSegments: pathSegments.slice(1),\n rootTableName,\n selectFields,\n selectLocale,\n tableName: newTableName,\n tableNameSuffix: `${tableNameSuffix}${toSnakeCase(field.name)}_`,\n value,\n })\n }\n\n case 'number':\n case 'text': {\n if (field.hasMany) {\n let tableType = 'texts'\n let columnName = 'text'\n if (field.type === 'number') {\n tableType = 'numbers'\n columnName = 'number'\n }\n newTableName = `${rootTableName}_${tableType}`\n const joinConstraints = [\n eq(adapter.tables[rootTableName].id, adapter.tables[newTableName].parent),\n like(adapter.tables[newTableName].path, `${constraintPath}${field.name}`),\n ]\n\n if (locale && field.localized && adapter.payload.config.localization) {\n const conditions = [...joinConstraints]\n\n if (locale !== 'all') {\n conditions.push(eq(adapter.tables[newTableName]._locale, locale))\n }\n addJoinTable({\n condition: and(...conditions),\n joins,\n table: adapter.tables[newTableName],\n })\n } else {\n addJoinTable({\n condition: and(...joinConstraints),\n joins,\n table: adapter.tables[newTableName],\n })\n }\n\n return {\n columnName,\n constraints,\n field,\n table: adapter.tables[newTableName],\n }\n }\n break\n }\n\n case 'relationship':\n case 'upload': {\n const newCollectionPath = pathSegments.slice(1).join('.')\n\n if (Array.isArray(field.relationTo) || field.hasMany) {\n let relationshipFields\n const relationTableName = `${rootTableName}${adapter.relationshipsSuffix}`\n const {\n newAliasTable: aliasRelationshipTable,\n newAliasTableName: aliasRelationshipTableName,\n } = getTableAlias({ adapter, tableName: relationTableName })\n\n if (selectLocale && field.localized && adapter.payload.config.localization) {\n selectFields._locale = aliasRelationshipTable.locale\n }\n\n // Join in the relationships table\n if (locale && field.localized && adapter.payload.config.localization) {\n const conditions = [\n eq((aliasTable || adapter.tables[rootTableName]).id, aliasRelationshipTable.parent),\n like(aliasRelationshipTable.path, `${constraintPath}${field.name}`),\n ]\n\n if (locale !== 'all') {\n conditions.push(eq(aliasRelationshipTable.locale, locale))\n }\n\n joins.push({\n condition: and(...conditions),\n table: aliasRelationshipTable,\n })\n } else {\n // Join in the relationships table\n joins.push({\n condition: and(\n eq((aliasTable || adapter.tables[rootTableName]).id, aliasRelationshipTable.parent),\n like(aliasRelationshipTable.path, `${constraintPath}${field.name}`),\n ),\n table: aliasRelationshipTable,\n })\n }\n\n selectFields[`${relationTableName}.path`] = aliasRelationshipTable.path\n\n let newAliasTable\n\n if (typeof field.relationTo === 'string') {\n const relationshipConfig = adapter.payload.collections[field.relationTo].config\n\n newTableName = adapter.tableNameMap.get(toSnakeCase(relationshipConfig.slug))\n\n // parent to relationship join table\n relationshipFields = relationshipConfig.fields\n ;({ newAliasTable } = getTableAlias({ adapter, tableName: newTableName }))\n\n joins.push({\n condition: eq(newAliasTable.id, aliasRelationshipTable[`${field.relationTo}ID`]),\n table: newAliasTable,\n })\n\n if (newCollectionPath === '' || newCollectionPath === 'id') {\n return {\n columnName: `${field.relationTo}ID`,\n constraints,\n field,\n table: aliasRelationshipTable,\n }\n }\n } else if (newCollectionPath === 'value') {\n const hasCustomCollectionWithCustomID = field.relationTo.some(\n (relationTo) => !!adapter.payload.collections[relationTo].customIDType,\n )\n\n const columns: TableColumn['columns'] = field.relationTo\n .map((relationTo) => {\n let idType: 'number' | 'text' | 'uuid' =\n adapter.idType === 'uuid' ? 'uuid' : 'number'\n\n const { customIDType } = adapter.payload.collections[relationTo]\n\n if (customIDType) {\n idType = customIDType\n }\n\n const idTypeTextOrUuid = idType === 'text' || idType === 'uuid'\n\n // Do not add the column to OR if we know that it can't match by the type\n // We can't do the same with idType: 'number' because `value` can be from the REST search query params\n if (typeof value === 'number' && idTypeTextOrUuid) {\n return null\n }\n\n if (\n Array.isArray(value) &&\n value.every((val) => typeof val === 'number') &&\n idTypeTextOrUuid\n ) {\n return null\n }\n\n // Do not add the UUID type column if incoming query value doesn't match UUID. If there aren't any collections with\n // a custom ID type, we skip this check\n // We need this because Postgres throws an error if querying by UUID column with a value that isn't a valid UUID.\n if (\n value &&\n !Array.isArray(value) &&\n idType === 'uuid' &&\n hasCustomCollectionWithCustomID\n ) {\n if (!uuidValidate(value)) {\n return null\n }\n }\n\n if (\n Array.isArray(value) &&\n idType === 'uuid' &&\n hasCustomCollectionWithCustomID &&\n !value.some((val) => uuidValidate(val))\n ) {\n return null\n }\n\n const relationTableName = adapter.tableNameMap.get(\n toSnakeCase(adapter.payload.collections[relationTo].config.slug),\n )\n\n return {\n idType,\n rawColumn: sql.raw(`\"${aliasRelationshipTableName}\".\"${relationTableName}_id\"`),\n }\n })\n .filter(Boolean)\n\n return {\n columns,\n constraints,\n field,\n table: aliasRelationshipTable,\n }\n } else if (newCollectionPath === 'relationTo') {\n const relationTo = Array.isArray(field.relationTo)\n ? field.relationTo\n : [field.relationTo]\n\n return {\n constraints,\n field,\n getNotNullColumnByValue: (val) => {\n const matchedRelation = relationTo.find((relation) => relation === val)\n if (matchedRelation) {\n return `${matchedRelation}ID`\n }\n return undefined\n },\n table: aliasRelationshipTable,\n }\n } else if (isPolymorphicRelationship(value)) {\n const { relationTo } = value\n\n const relationTableName = adapter.tableNameMap.get(\n toSnakeCase(adapter.payload.collections[relationTo].config.slug),\n )\n\n return {\n constraints,\n field,\n rawColumn: sql.raw(`\"${aliasRelationshipTableName}\".\"${relationTableName}_id\"`),\n table: aliasRelationshipTable,\n }\n } else {\n throw new APIError('Not supported')\n }\n\n return getTableColumnFromPath({\n adapter,\n aliasTable: newAliasTable,\n collectionPath: newCollectionPath,\n constraints,\n fields: relationshipFields,\n joins,\n locale,\n pathSegments: pathSegments.slice(1),\n rootTableName: newTableName,\n selectFields,\n selectLocale,\n tableName: newTableName,\n value,\n })\n } else if (\n pathSegments.length > 1 &&\n !(pathSegments.length === 2 && pathSegments[1] === 'id')\n ) {\n // simple relationships\n const columnName = `${columnPrefix}${field.name}`\n const newTableName = adapter.tableNameMap.get(\n toSnakeCase(adapter.payload.collections[field.relationTo].config.slug),\n )\n const { newAliasTable } = getTableAlias({ adapter, tableName: newTableName })\n\n if (field.localized && adapter.payload.config.localization) {\n const { newAliasTable: aliasLocaleTable } = getTableAlias({\n adapter,\n tableName: `${rootTableName}${adapter.localesSuffix}`,\n })\n\n const condtions = [eq(aliasLocaleTable._parentID, adapter.tables[rootTableName].id)]\n\n if (selectLocale) {\n selectFields._locale = aliasLocaleTable._locale\n }\n\n if (locale !== 'all') {\n condtions.push(eq(aliasLocaleTable._locale, locale))\n }\n\n const localesTable = adapter.tables[`${rootTableName}${adapter.localesSuffix}`]\n\n addJoinTable({\n condition: and(...condtions),\n joins,\n table: localesTable,\n })\n\n joins.push({\n condition: eq(localesTable[columnName], newAliasTable.id),\n table: newAliasTable,\n })\n } else {\n joins.push({\n condition: eq(\n newAliasTable.id,\n aliasTable ? aliasTable[columnName] : adapter.tables[tableName][columnName],\n ),\n table: newAliasTable,\n })\n }\n\n return getTableColumnFromPath({\n adapter,\n aliasTable: newAliasTable,\n collectionPath: newCollectionPath,\n constraintPath: '',\n constraints,\n fields: adapter.payload.collections[field.relationTo].config.flattenedFields,\n joins,\n locale,\n pathSegments: pathSegments.slice(1),\n selectFields,\n tableName: newTableName,\n value,\n })\n }\n break\n }\n\n case 'select': {\n if (field.hasMany) {\n const newTableName = adapter.tableNameMap.get(\n `${tableName}_${tableNameSuffix}${toSnakeCase(field.name)}`,\n )\n\n if (locale && field.localized && adapter.payload.config.localization) {\n const conditions = [\n eq(adapter.tables[tableName].id, adapter.tables[newTableName].parent),\n eq(adapter.tables[newTableName]._locale, locale),\n ]\n\n if (locale !== 'all') {\n conditions.push(eq(adapter.tables[newTableName]._locale, locale))\n }\n\n addJoinTable({\n condition: and(...conditions),\n joins,\n table: adapter.tables[newTableName],\n })\n } else {\n addJoinTable({\n condition: eq(adapter.tables[tableName].id, adapter.tables[newTableName].parent),\n joins,\n table: adapter.tables[newTableName],\n })\n }\n\n return {\n columnName: 'value',\n constraints,\n field,\n table: adapter.tables[newTableName],\n }\n }\n break\n }\n\n case 'tab': {\n if (tabHasName(field)) {\n return getTableColumnFromPath({\n adapter,\n aliasTable,\n collectionPath,\n columnPrefix: `${columnPrefix}${field.name}_`,\n constraintPath: `${constraintPath}${field.name}.`,\n constraints,\n fields: field.flattenedFields,\n joins,\n locale,\n pathSegments: pathSegments.slice(1),\n rootTableName,\n selectFields,\n selectLocale,\n tableName: newTableName,\n tableNameSuffix: `${tableNameSuffix}${toSnakeCase(field.name)}_`,\n value,\n })\n }\n return getTableColumnFromPath({\n adapter,\n aliasTable,\n collectionPath,\n columnPrefix,\n constraintPath,\n constraints,\n fields: field.flattenedFields,\n joins,\n locale,\n pathSegments: pathSegments.slice(1),\n rootTableName,\n selectFields,\n selectLocale,\n tableName: newTableName,\n tableNameSuffix,\n value,\n })\n }\n\n default: {\n // fall through\n break\n }\n }\n\n let newTable = adapter.tables[newTableName]\n\n if (field.localized && adapter.payload.config.localization) {\n // If localized, we go to localized table and set aliasTable to undefined\n // so it is not picked up below to be used as targetTable\n const parentTable = aliasTable || adapter.tables[tableName]\n newTableName = `${tableName}${adapter.localesSuffix}`\n\n newTable = adapter.tables[newTableName]\n\n let condition = eq(parentTable.id, newTable._parentID)\n\n if (locale !== 'all') {\n condition = and(condition, eq(newTable._locale, locale))\n }\n\n if (selectLocale) {\n selectFields._locale = newTable._locale\n }\n\n addJoinTable({\n condition,\n joins,\n table: newTable,\n })\n\n aliasTable = undefined\n }\n\n const targetTable = aliasTable || newTable\n\n selectFields[`${newTableName}.${columnPrefix}${field.name}`] =\n targetTable[`${columnPrefix}${field.name}`]\n\n return {\n columnName: `${columnPrefix}${field.name}`,\n constraints,\n field,\n pathSegments,\n table: targetTable,\n }\n }\n\n throw new APIError(`Cannot find field for path at ${fieldPath}`)\n}\n"],"names":["and","eq","like","sql","APIError","tabHasName","toSnakeCase","validate","uuidValidate","isPolymorphicRelationship","addJoinTable","getTableAlias","getTableColumnFromPath","adapter","aliasTable","collectionPath","columnPrefix","constraintPath","incomingConstraintPath","constraints","fields","joins","locale","incomingLocale","pathSegments","incomingSegments","rootTableName","incomingRootTableName","selectFields","selectLocale","tableName","tableNameSuffix","value","fieldPath","field","find","fieldToFind","name","newTableName","id","tables","columnName","type","idType","table","localized","payload","config","localization","matchedLocale","localeCodes","splice","tableNameMap","get","arrayParentTable","conditions","_parentID","_locale","push","condition","flattenedFields","slice","blockTableColumn","blockTypes","Array","isArray","forEach","blockType","block","blocks","slug","newAliasTable","getNotNullColumnByValue","hasBlockField","some","result","blockConstraints","blockSelectFields","error","concat","rawColumn","localesSuffix","hasMany","tableType","joinConstraints","parent","path","newCollectionPath","join","relationTo","relationshipFields","relationTableName","relationshipsSuffix","aliasRelationshipTable","newAliasTableName","aliasRelationshipTableName","relationshipConfig","collections","hasCustomCollectionWithCustomID","customIDType","columns","map","idTypeTextOrUuid","every","val","raw","filter","Boolean","matchedRelation","relation","undefined","length","aliasLocaleTable","condtions","localesTable","newTable","parentTable","targetTable"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/queries/getTableColumnFromPath.ts"],"sourcesContent":["import type { SQL } from 'drizzle-orm'\nimport type { SQLiteTableWithColumns } from 'drizzle-orm/sqlite-core'\nimport type { FlattenedField, NumberField, TextField } from 'payload'\n\nimport { and, eq, like, sql } from 'drizzle-orm'\nimport { type PgTableWithColumns } from 'drizzle-orm/pg-core'\nimport { APIError } from 'payload'\nimport { tabHasName } from 'payload/shared'\nimport toSnakeCase from 'to-snake-case'\nimport { validate as uuidValidate } from 'uuid'\n\nimport type { DrizzleAdapter, GenericColumn } from '../types.js'\nimport type { BuildQueryJoinAliases } from './buildQuery.js'\n\nimport { isPolymorphicRelationship } from '../utilities/isPolymorphicRelationship.js'\nimport { addJoinTable } from './addJoinTable.js'\nimport { getTableAlias } from './getTableAlias.js'\n\ntype Constraint = {\n columnName: string\n table: PgTableWithColumns<any> | SQLiteTableWithColumns<any>\n value: unknown\n}\n\ntype TableColumn = {\n columnName?: string\n columns?: {\n idType: 'number' | 'text' | 'uuid'\n rawColumn: SQL<unknown>\n }[]\n constraints: Constraint[]\n field: FlattenedField\n getNotNullColumnByValue?: (val: unknown) => string\n pathSegments?: string[]\n rawColumn?: SQL\n table: PgTableWithColumns<any> | SQLiteTableWithColumns<any>\n}\n\ntype Args = {\n adapter: DrizzleAdapter\n aliasTable?: PgTableWithColumns<any> | SQLiteTableWithColumns<any>\n collectionPath: string\n columnPrefix?: string\n constraintPath?: string\n constraints?: Constraint[]\n fields: FlattenedField[]\n joins: BuildQueryJoinAliases\n locale?: string\n pathSegments: string[]\n rootTableName?: string\n selectFields: Record<string, GenericColumn>\n selectLocale?: boolean\n tableName: string\n /**\n * If creating a new table name for arrays and blocks, this suffix should be appended to the table name\n */\n tableNameSuffix?: string\n /**\n * The raw value of the query before sanitization\n */\n value: unknown\n}\n/**\n * Transforms path to table and column name or to a list of OR columns\n * Adds tables to `join`\n * @returns TableColumn\n */\nexport const getTableColumnFromPath = ({\n adapter,\n aliasTable,\n collectionPath,\n columnPrefix = '',\n constraintPath: incomingConstraintPath,\n constraints = [],\n fields,\n joins,\n locale: incomingLocale,\n pathSegments: incomingSegments,\n rootTableName: incomingRootTableName,\n selectFields,\n selectLocale,\n tableName,\n tableNameSuffix = '',\n value,\n}: Args): TableColumn => {\n const fieldPath = incomingSegments[0]\n let locale = incomingLocale\n const rootTableName = incomingRootTableName || tableName\n let constraintPath = incomingConstraintPath || ''\n\n const field = fields.find((fieldToFind) => fieldToFind.name === fieldPath)\n let newTableName = tableName\n\n if (!field && fieldPath === 'id') {\n selectFields.id = adapter.tables[newTableName].id\n return {\n columnName: 'id',\n constraints,\n field: {\n name: 'id',\n type: adapter.idType === 'uuid' ? 'text' : 'number',\n } as NumberField | TextField,\n table: adapter.tables[newTableName],\n }\n }\n\n if (field) {\n const pathSegments = [...incomingSegments]\n\n // If next segment is a locale,\n // we need to take it out and use it as the locale from this point on\n if ('localized' in field && field.localized && adapter.payload.config.localization) {\n const matchedLocale = adapter.payload.config.localization.localeCodes.find(\n (locale) => locale === pathSegments[1],\n )\n\n if (matchedLocale) {\n locale = matchedLocale\n pathSegments.splice(1, 1)\n }\n }\n\n switch (field.type) {\n case 'array': {\n newTableName = adapter.tableNameMap.get(\n `${tableName}_${tableNameSuffix}${toSnakeCase(field.name)}`,\n )\n\n const arrayParentTable = aliasTable || adapter.tables[tableName]\n\n constraintPath = `${constraintPath}${field.name}.%.`\n if (locale && field.localized && adapter.payload.config.localization) {\n const conditions = [eq(arrayParentTable.id, adapter.tables[newTableName]._parentID)]\n\n if (selectLocale) {\n selectFields._locale = adapter.tables[newTableName]._locale\n }\n\n if (locale !== 'all') {\n conditions.push(eq(adapter.tables[newTableName]._locale, locale))\n }\n addJoinTable({\n condition: and(...conditions),\n joins,\n table: adapter.tables[newTableName],\n })\n } else {\n addJoinTable({\n condition: eq(arrayParentTable.id, adapter.tables[newTableName]._parentID),\n joins,\n table: adapter.tables[newTableName],\n })\n }\n return getTableColumnFromPath({\n adapter,\n collectionPath,\n constraintPath,\n constraints,\n fields: field.flattenedFields,\n joins,\n locale,\n pathSegments: pathSegments.slice(1),\n rootTableName,\n selectFields,\n selectLocale,\n tableName: newTableName,\n value,\n })\n }\n case 'blocks': {\n let blockTableColumn: TableColumn\n let newTableName: string\n\n // handle blockType queries\n if (pathSegments[1] === 'blockType') {\n // find the block config using the value\n const blockTypes = Array.isArray(value) ? value : [value]\n blockTypes.forEach((blockType) => {\n const block = field.blocks.find((block) => block.slug === blockType)\n newTableName = adapter.tableNameMap.get(\n `${tableName}_blocks_${toSnakeCase(block.slug)}`,\n )\n\n const { newAliasTable } = getTableAlias({ adapter, tableName: newTableName })\n\n joins.push({\n condition: eq(adapter.tables[tableName].id, newAliasTable._parentID),\n table: newAliasTable,\n })\n constraints.push({\n columnName: '_path',\n table: newAliasTable,\n value: pathSegments[0],\n })\n })\n return {\n constraints,\n field,\n getNotNullColumnByValue: () => 'id',\n table: adapter.tables[tableName],\n }\n }\n\n const hasBlockField = field.blocks.some((block) => {\n newTableName = adapter.tableNameMap.get(`${tableName}_blocks_${toSnakeCase(block.slug)}`)\n constraintPath = `${constraintPath}${field.name}.%.`\n\n let result\n const blockConstraints = []\n const blockSelectFields = {}\n try {\n result = getTableColumnFromPath({\n adapter,\n collectionPath,\n constraintPath,\n constraints: blockConstraints,\n fields: block.flattenedFields,\n joins,\n locale,\n pathSegments: pathSegments.slice(1),\n rootTableName,\n selectFields: blockSelectFields,\n selectLocale,\n tableName: newTableName,\n value,\n })\n } catch (error) {\n // this is fine, not every block will have the field\n }\n if (!result) {\n return\n }\n blockTableColumn = result\n constraints = constraints.concat(blockConstraints)\n selectFields = { ...selectFields, ...blockSelectFields }\n if (field.localized && adapter.payload.config.localization) {\n const conditions = [\n eq(\n (aliasTable || adapter.tables[tableName]).id,\n adapter.tables[newTableName]._parentID,\n ),\n ]\n\n if (locale !== 'all') {\n conditions.push(eq(adapter.tables[newTableName]._locale, locale))\n }\n\n joins.push({\n condition: and(...conditions),\n table: adapter.tables[newTableName],\n })\n } else {\n joins.push({\n condition: eq(\n (aliasTable || adapter.tables[tableName]).id,\n adapter.tables[newTableName]._parentID,\n ),\n table: adapter.tables[newTableName],\n })\n }\n return true\n })\n if (hasBlockField) {\n return {\n columnName: blockTableColumn.columnName,\n constraints,\n field: blockTableColumn.field,\n pathSegments: pathSegments.slice(1),\n rawColumn: blockTableColumn.rawColumn,\n table: blockTableColumn.table,\n }\n }\n break\n }\n\n case 'group': {\n if (locale && field.localized && adapter.payload.config.localization) {\n newTableName = `${tableName}${adapter.localesSuffix}`\n\n let condition = eq(adapter.tables[tableName].id, adapter.tables[newTableName]._parentID)\n\n if (locale !== 'all') {\n condition = and(condition, eq(adapter.tables[newTableName]._locale, locale))\n }\n\n addJoinTable({\n condition,\n joins,\n table: adapter.tables[newTableName],\n })\n }\n return getTableColumnFromPath({\n adapter,\n aliasTable,\n collectionPath,\n columnPrefix: `${columnPrefix}${field.name}_`,\n constraintPath: `${constraintPath}${field.name}.`,\n constraints,\n fields: field.flattenedFields,\n joins,\n locale,\n pathSegments: pathSegments.slice(1),\n rootTableName,\n selectFields,\n selectLocale,\n tableName: newTableName,\n tableNameSuffix: `${tableNameSuffix}${toSnakeCase(field.name)}_`,\n value,\n })\n }\n\n case 'number':\n case 'text': {\n if (field.hasMany) {\n let tableType = 'texts'\n let columnName = 'text'\n if (field.type === 'number') {\n tableType = 'numbers'\n columnName = 'number'\n }\n newTableName = `${rootTableName}_${tableType}`\n const joinConstraints = [\n eq(adapter.tables[rootTableName].id, adapter.tables[newTableName].parent),\n like(adapter.tables[newTableName].path, `${constraintPath}${field.name}`),\n ]\n\n if (locale && field.localized && adapter.payload.config.localization) {\n const conditions = [...joinConstraints]\n\n if (locale !== 'all') {\n conditions.push(eq(adapter.tables[newTableName]._locale, locale))\n }\n addJoinTable({\n condition: and(...conditions),\n joins,\n table: adapter.tables[newTableName],\n })\n } else {\n addJoinTable({\n condition: and(...joinConstraints),\n joins,\n table: adapter.tables[newTableName],\n })\n }\n\n return {\n columnName,\n constraints,\n field,\n table: adapter.tables[newTableName],\n }\n }\n break\n }\n\n case 'relationship':\n case 'upload': {\n const newCollectionPath = pathSegments.slice(1).join('.')\n\n if (Array.isArray(field.relationTo) || field.hasMany) {\n let relationshipFields: FlattenedField[]\n const relationTableName = `${rootTableName}${adapter.relationshipsSuffix}`\n const {\n newAliasTable: aliasRelationshipTable,\n newAliasTableName: aliasRelationshipTableName,\n } = getTableAlias({ adapter, tableName: relationTableName })\n\n if (selectLocale && field.localized && adapter.payload.config.localization) {\n selectFields._locale = aliasRelationshipTable.locale\n }\n\n // Join in the relationships table\n if (locale && field.localized && adapter.payload.config.localization) {\n const conditions = [\n eq((aliasTable || adapter.tables[rootTableName]).id, aliasRelationshipTable.parent),\n like(aliasRelationshipTable.path, `${constraintPath}${field.name}`),\n ]\n\n if (locale !== 'all') {\n conditions.push(eq(aliasRelationshipTable.locale, locale))\n }\n\n joins.push({\n condition: and(...conditions),\n table: aliasRelationshipTable,\n })\n } else {\n // Join in the relationships table\n joins.push({\n condition: and(\n eq((aliasTable || adapter.tables[rootTableName]).id, aliasRelationshipTable.parent),\n like(aliasRelationshipTable.path, `${constraintPath}${field.name}`),\n ),\n table: aliasRelationshipTable,\n })\n }\n\n selectFields[`${relationTableName}.path`] = aliasRelationshipTable.path\n\n let newAliasTable\n\n if (typeof field.relationTo === 'string') {\n const relationshipConfig = adapter.payload.collections[field.relationTo].config\n\n newTableName = adapter.tableNameMap.get(toSnakeCase(relationshipConfig.slug))\n\n // parent to relationship join table\n relationshipFields = relationshipConfig.flattenedFields\n ;({ newAliasTable } = getTableAlias({ adapter, tableName: newTableName }))\n\n joins.push({\n condition: eq(newAliasTable.id, aliasRelationshipTable[`${field.relationTo}ID`]),\n table: newAliasTable,\n })\n\n if (newCollectionPath === '' || newCollectionPath === 'id') {\n return {\n columnName: `${field.relationTo}ID`,\n constraints,\n field,\n table: aliasRelationshipTable,\n }\n }\n } else if (newCollectionPath === 'value') {\n const hasCustomCollectionWithCustomID = field.relationTo.some(\n (relationTo) => !!adapter.payload.collections[relationTo].customIDType,\n )\n\n const columns: TableColumn['columns'] = field.relationTo\n .map((relationTo) => {\n let idType: 'number' | 'text' | 'uuid' =\n adapter.idType === 'uuid' ? 'uuid' : 'number'\n\n const { customIDType } = adapter.payload.collections[relationTo]\n\n if (customIDType) {\n idType = customIDType\n }\n\n const idTypeTextOrUuid = idType === 'text' || idType === 'uuid'\n\n // Do not add the column to OR if we know that it can't match by the type\n // We can't do the same with idType: 'number' because `value` can be from the REST search query params\n if (typeof value === 'number' && idTypeTextOrUuid) {\n return null\n }\n\n if (\n Array.isArray(value) &&\n value.every((val) => typeof val === 'number') &&\n idTypeTextOrUuid\n ) {\n return null\n }\n\n // Do not add the UUID type column if incoming query value doesn't match UUID. If there aren't any collections with\n // a custom ID type, we skip this check\n // We need this because Postgres throws an error if querying by UUID column with a value that isn't a valid UUID.\n if (\n value &&\n !Array.isArray(value) &&\n idType === 'uuid' &&\n hasCustomCollectionWithCustomID\n ) {\n if (!uuidValidate(value)) {\n return null\n }\n }\n\n if (\n Array.isArray(value) &&\n idType === 'uuid' &&\n hasCustomCollectionWithCustomID &&\n !value.some((val) => uuidValidate(val))\n ) {\n return null\n }\n\n const relationTableName = adapter.tableNameMap.get(\n toSnakeCase(adapter.payload.collections[relationTo].config.slug),\n )\n\n return {\n idType,\n rawColumn: sql.raw(`\"${aliasRelationshipTableName}\".\"${relationTableName}_id\"`),\n }\n })\n .filter(Boolean)\n\n return {\n columns,\n constraints,\n field,\n table: aliasRelationshipTable,\n }\n } else if (newCollectionPath === 'relationTo') {\n const relationTo = Array.isArray(field.relationTo)\n ? field.relationTo\n : [field.relationTo]\n\n return {\n constraints,\n field,\n getNotNullColumnByValue: (val) => {\n const matchedRelation = relationTo.find((relation) => relation === val)\n if (matchedRelation) {\n return `${matchedRelation}ID`\n }\n return undefined\n },\n table: aliasRelationshipTable,\n }\n } else if (isPolymorphicRelationship(value)) {\n const { relationTo } = value\n\n const relationTableName = adapter.tableNameMap.get(\n toSnakeCase(adapter.payload.collections[relationTo].config.slug),\n )\n\n return {\n constraints,\n field,\n rawColumn: sql.raw(`\"${aliasRelationshipTableName}\".\"${relationTableName}_id\"`),\n table: aliasRelationshipTable,\n }\n } else {\n throw new APIError('Not supported')\n }\n\n return getTableColumnFromPath({\n adapter,\n aliasTable: newAliasTable,\n collectionPath: newCollectionPath,\n constraints,\n fields: relationshipFields,\n joins,\n locale,\n pathSegments: pathSegments.slice(1),\n rootTableName: newTableName,\n selectFields,\n selectLocale,\n tableName: newTableName,\n value,\n })\n } else if (\n pathSegments.length > 1 &&\n !(pathSegments.length === 2 && pathSegments[1] === 'id')\n ) {\n // simple relationships\n const columnName = `${columnPrefix}${field.name}`\n const newTableName = adapter.tableNameMap.get(\n toSnakeCase(adapter.payload.collections[field.relationTo].config.slug),\n )\n const { newAliasTable } = getTableAlias({ adapter, tableName: newTableName })\n\n if (field.localized && adapter.payload.config.localization) {\n const { newAliasTable: aliasLocaleTable } = getTableAlias({\n adapter,\n tableName: `${rootTableName}${adapter.localesSuffix}`,\n })\n\n const condtions = [eq(aliasLocaleTable._parentID, adapter.tables[rootTableName].id)]\n\n if (selectLocale) {\n selectFields._locale = aliasLocaleTable._locale\n }\n\n if (locale !== 'all') {\n condtions.push(eq(aliasLocaleTable._locale, locale))\n }\n\n const localesTable = adapter.tables[`${rootTableName}${adapter.localesSuffix}`]\n\n addJoinTable({\n condition: and(...condtions),\n joins,\n table: localesTable,\n })\n\n joins.push({\n condition: eq(localesTable[columnName], newAliasTable.id),\n table: newAliasTable,\n })\n } else {\n joins.push({\n condition: eq(\n newAliasTable.id,\n aliasTable ? aliasTable[columnName] : adapter.tables[tableName][columnName],\n ),\n table: newAliasTable,\n })\n }\n\n return getTableColumnFromPath({\n adapter,\n aliasTable: newAliasTable,\n collectionPath: newCollectionPath,\n constraintPath: '',\n constraints,\n fields: adapter.payload.collections[field.relationTo].config.flattenedFields,\n joins,\n locale,\n pathSegments: pathSegments.slice(1),\n selectFields,\n tableName: newTableName,\n value,\n })\n }\n break\n }\n\n case 'select': {\n if (field.hasMany) {\n const newTableName = adapter.tableNameMap.get(\n `${tableName}_${tableNameSuffix}${toSnakeCase(field.name)}`,\n )\n\n if (locale && field.localized && adapter.payload.config.localization) {\n const conditions = [\n eq(adapter.tables[tableName].id, adapter.tables[newTableName].parent),\n eq(adapter.tables[newTableName]._locale, locale),\n ]\n\n if (locale !== 'all') {\n conditions.push(eq(adapter.tables[newTableName]._locale, locale))\n }\n\n addJoinTable({\n condition: and(...conditions),\n joins,\n table: adapter.tables[newTableName],\n })\n } else {\n addJoinTable({\n condition: eq(adapter.tables[tableName].id, adapter.tables[newTableName].parent),\n joins,\n table: adapter.tables[newTableName],\n })\n }\n\n return {\n columnName: 'value',\n constraints,\n field,\n table: adapter.tables[newTableName],\n }\n }\n break\n }\n\n case 'tab': {\n if (tabHasName(field)) {\n return getTableColumnFromPath({\n adapter,\n aliasTable,\n collectionPath,\n columnPrefix: `${columnPrefix}${field.name}_`,\n constraintPath: `${constraintPath}${field.name}.`,\n constraints,\n fields: field.flattenedFields,\n joins,\n locale,\n pathSegments: pathSegments.slice(1),\n rootTableName,\n selectFields,\n selectLocale,\n tableName: newTableName,\n tableNameSuffix: `${tableNameSuffix}${toSnakeCase(field.name)}_`,\n value,\n })\n }\n return getTableColumnFromPath({\n adapter,\n aliasTable,\n collectionPath,\n columnPrefix,\n constraintPath,\n constraints,\n fields: field.flattenedFields,\n joins,\n locale,\n pathSegments: pathSegments.slice(1),\n rootTableName,\n selectFields,\n selectLocale,\n tableName: newTableName,\n tableNameSuffix,\n value,\n })\n }\n\n default: {\n // fall through\n break\n }\n }\n\n let newTable = adapter.tables[newTableName]\n\n if (field.localized && adapter.payload.config.localization) {\n // If localized, we go to localized table and set aliasTable to undefined\n // so it is not picked up below to be used as targetTable\n const parentTable = aliasTable || adapter.tables[tableName]\n newTableName = `${tableName}${adapter.localesSuffix}`\n\n newTable = adapter.tables[newTableName]\n\n let condition = eq(parentTable.id, newTable._parentID)\n\n if (locale !== 'all') {\n condition = and(condition, eq(newTable._locale, locale))\n }\n\n if (selectLocale) {\n selectFields._locale = newTable._locale\n }\n\n addJoinTable({\n condition,\n joins,\n table: newTable,\n })\n\n aliasTable = undefined\n }\n\n const targetTable = aliasTable || newTable\n\n selectFields[`${newTableName}.${columnPrefix}${field.name}`] =\n targetTable[`${columnPrefix}${field.name}`]\n\n return {\n columnName: `${columnPrefix}${field.name}`,\n constraints,\n field,\n pathSegments,\n table: targetTable,\n }\n }\n\n throw new APIError(`Cannot find field for path at ${fieldPath}`)\n}\n"],"names":["and","eq","like","sql","APIError","tabHasName","toSnakeCase","validate","uuidValidate","isPolymorphicRelationship","addJoinTable","getTableAlias","getTableColumnFromPath","adapter","aliasTable","collectionPath","columnPrefix","constraintPath","incomingConstraintPath","constraints","fields","joins","locale","incomingLocale","pathSegments","incomingSegments","rootTableName","incomingRootTableName","selectFields","selectLocale","tableName","tableNameSuffix","value","fieldPath","field","find","fieldToFind","name","newTableName","id","tables","columnName","type","idType","table","localized","payload","config","localization","matchedLocale","localeCodes","splice","tableNameMap","get","arrayParentTable","conditions","_parentID","_locale","push","condition","flattenedFields","slice","blockTableColumn","blockTypes","Array","isArray","forEach","blockType","block","blocks","slug","newAliasTable","getNotNullColumnByValue","hasBlockField","some","result","blockConstraints","blockSelectFields","error","concat","rawColumn","localesSuffix","hasMany","tableType","joinConstraints","parent","path","newCollectionPath","join","relationTo","relationshipFields","relationTableName","relationshipsSuffix","aliasRelationshipTable","newAliasTableName","aliasRelationshipTableName","relationshipConfig","collections","hasCustomCollectionWithCustomID","customIDType","columns","map","idTypeTextOrUuid","every","val","raw","filter","Boolean","matchedRelation","relation","undefined","length","aliasLocaleTable","condtions","localesTable","newTable","parentTable","targetTable"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitizeQueryValue.d.ts","sourceRoot":"","sources":["../../src/queries/sanitizeQueryValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAA4C,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAA;AAI/F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAMjD,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,cAAc,CAAA;IACvB,OAAO,CAAC,EAAE;QACR,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAA;QAClC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;KACxB,EAAE,CAAA;IACH,KAAK,EAAE,KAAK,GAAG,UAAU,CAAA;IACzB,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,GAAG,EAAE,GAAG,CAAA;CACT,CAAA;AAED,KAAK,eAAe,GAAG;IACrB,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACvB,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AAED,eAAO,MAAM,kBAAkB,qFAQ5B,sBAAsB,KAAG;IAC1B,OAAO,CAAC,EAAE,eAAe,EAAE,CAAA;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"sanitizeQueryValue.d.ts","sourceRoot":"","sources":["../../src/queries/sanitizeQueryValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAA4C,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAA;AAI/F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAMjD,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,cAAc,CAAA;IACvB,OAAO,CAAC,EAAE;QACR,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAA;QAClC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;KACxB,EAAE,CAAA;IACH,KAAK,EAAE,KAAK,GAAG,UAAU,CAAA;IACzB,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,GAAG,EAAE,GAAG,CAAA;CACT,CAAA;AAED,KAAK,eAAe,GAAG;IACrB,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACvB,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AAED,eAAO,MAAM,kBAAkB,qFAQ5B,sBAAsB,KAAG;IAC1B,OAAO,CAAC,EAAE,eAAe,EAAE,CAAA;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;CAgNf,CAAA"}
|
|
@@ -101,6 +101,12 @@ export const sanitizeQueryValue = ({ adapter, columns, field, isUUID, operator:
|
|
|
101
101
|
adapter,
|
|
102
102
|
collection: adapter.payload.collections[val.relationTo]
|
|
103
103
|
});
|
|
104
|
+
if (isRawConstraint(val.value)) {
|
|
105
|
+
return {
|
|
106
|
+
operator,
|
|
107
|
+
value: val.value.value
|
|
108
|
+
};
|
|
109
|
+
}
|
|
104
110
|
return {
|
|
105
111
|
operator,
|
|
106
112
|
value: idType === 'number' ? Number(val.value) : String(val.value)
|
|
@@ -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'\nimport { isRawConstraint } from '../utilities/rawConstraint.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 (isRawConstraint(val)) {\n return { operator, value: val.value }\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","isRawConstraint","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
|
+
{"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'\nimport { isRawConstraint } from '../utilities/rawConstraint.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 (isRawConstraint(val)) {\n return { operator, value: val.value }\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 if (isRawConstraint(val.value)) {\n return {\n operator,\n value: val.value.value,\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","isRawConstraint","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":"AAEA,SAASA,QAAQ,EAAEC,8BAA8B,QAAqC,UAAS;AAC/F,SAASC,gBAAgB,QAAQ,iBAAgB;AACjD,SAASC,YAAYC,YAAY,QAAQ,OAAM;AAI/C,SAASC,mBAAmB,QAAQ,sCAAqC;AACzE,SAASC,yBAAyB,QAAQ,4CAA2C;AACrF,SAASC,eAAe,QAAQ,gCAA+B;AAoB/D,OAAO,MAAMC,qBAAqB,CAAC,EACjCC,OAAO,EACPC,OAAO,EACPC,KAAK,EACLC,MAAM,EACNC,UAAUC,WAAW,EACrBC,cAAc,EACdC,GAAG,EACoB;IAKvB,IAAIH,WAAWC;IACf,IAAIG,iBAAiBD;IACrB,IAAIE;IAEJ,IAAI,CAAChB,iBAAiBS,QAAQ;QAC5B,OAAO;YAAEE;YAAUM,OAAOF;QAAe;IAC3C;IAEA,IAAIV,gBAAgBS,MAAM;QACxB,OAAO;YAAEH;YAAUM,OAAOH,IAAIG,KAAK;QAAC;IACtC;IACA,IACE,AAACR,CAAAA,MAAMS,IAAI,KAAK,kBAAkBT,MAAMS,IAAI,KAAK,QAAO,KACxD,CAACL,eAAeM,QAAQ,CAAC,iBACzBC,MAAMC,OAAO,CAACN,iBACd;QACA,MAAMO,qBAA0C,EAAE;QAClDP,eAAeQ,OAAO,CAAC,CAACT;YACtB,IAAIP,QAAQiB,MAAM,KAAK,UAAU,OAAOV,QAAQ,UAAU;gBACxDQ,mBAAmBG,IAAI,CAACX,KAAKY,SAASZ;YACxC,OAAO,IAAI,OAAOA,QAAQ,UAAU;gBAClCQ,mBAAmBG,IAAI,CAACX;YAC1B,OAAO;gBACLQ,mBAAmBG,IAAI,CAACX,KAAKa,OAAOb;YACtC;QACF;QACAC,iBAAiBO;IACnB;IAEA,kDAAkD;IAClD,IAAIb,MAAMS,IAAI,KAAK,cAAc,OAAOJ,QAAQ,UAAU;QACxD,IAAIA,IAAIc,WAAW,OAAO,QAAQ;YAChCb,iBAAiB;QACnB;QACA,IAAID,IAAIc,WAAW,OAAO,SAAS;YACjCb,iBAAiB;QACnB;IACF;IAEA,IAAI;QAAC;QAAO;QAAM;KAAS,CAACc,QAAQ,CAAClB,WAAW;QAC9C,IAAI,OAAOI,mBAAmB,UAAU;YACtCA,iBAAiBhB,+BAA+BgB;YAEhD,IAAIN,MAAMS,IAAI,KAAK,UAAU;gBAC3BH,iBAAiBA,eAAee,GAAG,CAAC,CAACC,WAAaC,WAAWD;YAC/D;QACF;QAEA,IAAI,CAACX,MAAMC,OAAO,CAACN,mBAAmBA,eAAekB,MAAM,KAAK,GAAG;YACjE,OAAO;QACT;IACF;IAEA,IAAIxB,MAAMS,IAAI,KAAK,YAAY,OAAOH,mBAAmB,UAAU;QACjEA,iBAAiBmB,OAAOpB;QAExB,IAAIoB,OAAOC,KAAK,CAACpB,iBAAiB;YAChCA,iBAAiB;QACnB;IACF;IAEA,IAAIL,UAAU,OAAOK,mBAAmB,UAAU;QAChD,IAAI,CAACb,aAAaY,MAAM;YACtBC,iBAAiB;QACnB;IACF;IAEA,IAAIN,MAAMS,IAAI,KAAK,UAAUP,aAAa,UAAU;QAClD,IAAI,OAAOG,QAAQ,UAAU;YAC3BC,iBAAiB,IAAIqB,KAAKtB,KAAKuB,WAAW;YAC1C,IAAIH,OAAOC,KAAK,CAACC,KAAKE,KAAK,CAACvB,kBAAkB;gBAC5C,OAAO;oBAAEJ;oBAAUM,OAAOsB;gBAAU;YACtC;QACF,OAAO,IAAI,OAAOzB,QAAQ,UAAU;YAClCC,iBAAiB,IAAIqB,KAAKtB,KAAKuB,WAAW;QAC5C;IACF;IAEA,IAAI5B,MAAMS,IAAI,KAAK,kBAAkBT,MAAMS,IAAI,KAAK,UAAU;QAC5D,IAAIJ,QAAQ,QAAQ;YAClBC,iBAAiB;QACnB,OAAO,IAAI,CAAEA,CAAAA,mBAAmB,QAAQ,OAAOA,mBAAmB,SAAQ,GAAI;YAC5E,sDAAsD;YACtD,IAAIS;YACJ,IAAI,OAAOf,MAAM+B,UAAU,KAAK,UAAU;gBACxChB,SAASrB,oBAAoB;oBAC3BI;oBACAkC,YAAYlC,QAAQmC,OAAO,CAACC,WAAW,CAAClC,MAAM+B,UAAU,CAAC;gBAC3D;YACF,OAAO;gBACL,IAAIpC,0BAA0BU,MAAM;oBAClC,IAAIH,aAAa,UAAU;wBACzB,MAAM,IAAIb,SACR,CAAC,0FAA0F,EAAEa,UAAU;oBAE3G;oBACAa,SAASrB,oBAAoB;wBAC3BI;wBACAkC,YAAYlC,QAAQmC,OAAO,CAACC,WAAW,CAAC7B,IAAI0B,UAAU,CAAC;oBACzD;oBAEA,IAAInC,gBAAgBS,IAAIG,KAAK,GAAG;wBAC9B,OAAO;4BACLN;4BACAM,OAAOH,IAAIG,KAAK,CAACA,KAAK;wBACxB;oBACF;oBACA,OAAO;wBACLN;wBACAM,OAAOO,WAAW,WAAWU,OAAOpB,IAAIG,KAAK,IAAIU,OAAOb,IAAIG,KAAK;oBACnE;gBACF;gBAEAD,mBAAmBR,QAChBsB,GAAG,CAAC,CAAC,EAAEN,MAAM,EAAEoB,SAAS,EAAE;oBACzB,IAAI7B;oBAEJ,IAAIK,MAAMC,OAAO,CAACP,MAAM;wBACtBC,iBAAiBD,IACdgB,GAAG,CAAC,CAACe;4BACJ,IAAI9B;4BAEJ,IAAIS,WAAW,UAAU;gCACvBT,iBAAiBmB,OAAOW;gCAExB,IAAIX,OAAOC,KAAK,CAACpB,iBAAiB;oCAChC,OAAO;gCACT;4BACF,OAAO;gCACL,IAAIS,WAAW,UAAU,CAACtB,aAAa2C,UAAU;oCAC/C,OAAO;gCACT;gCAEA9B,iBAAiBY,OAAOkB;4BAC1B;4BAEA,OAAO9B;wBACT,GACC+B,MAAM,CAACC;oBACZ,OAAO,IAAIvB,WAAW,UAAU;wBAC9BT,iBAAiBmB,OAAOpB;wBAExB,IAAIoB,OAAOC,KAAK,CAACpB,iBAAiB;4BAChC,OAAO;wBACT;oBACF,OAAO;wBACLA,iBAAiBY,OAAOb;oBAC1B;oBAEA,OAAO;wBACL8B;wBACA3B,OAAOF;oBACT;gBACF,GACC+B,MAAM,CAACC;YACZ;YACA,IAAI3B,MAAMC,OAAO,CAACN,iBAAiB;gBACjCA,iBAAiBA,eAAee,GAAG,CAAC,CAACb;oBACnC,IAAIO,WAAW,UAAU;wBACvB,OAAOU,OAAOjB;oBAChB;oBACA,IAAIO,WAAW,QAAQ;wBACrB,OAAOG,OAAOV;oBAChB;oBACA,OAAOA;gBACT;YACF,OAAO;gBACL,IAAIO,WAAW,UAAU;oBACvBT,iBAAiBmB,OAAOpB;gBAC1B;gBACA,IAAIU,WAAW,QAAQ;oBACrBT,iBAAiBY,OAAOb;gBAC1B;YACF;QACF;IACF;IAEA,IAAI,aAAaL,SAASA,MAAMuC,OAAO,IAAIrC,aAAa,YAAY;QAClEA,WAAW;IACb;IAEA,IAAIA,aAAa,UAAUF,MAAMS,IAAI,KAAK,WAAW,OAAOH,mBAAmB,UAAU;QACvF,MAAM,CAACkC,KAAKC,KAAKC,aAAaC,YAAY,GAAGrC,eAAesC,KAAK,CAAC;QAElEtC,iBAAiB;YAACmB,OAAOe;YAAMf,OAAOgB;YAAMhB,OAAOiB;YAAcjB,OAAOkB;SAAa;IACvF;IAEA,IAAIzC,aAAa,YAAY;QAC3BI,iBAAiB,CAAC,CAAC,EAAEA,eAAe,CAAC,CAAC;IACxC;IAEA,IAAIJ,aAAa,UAAU;QACzBI,iBAAiBD,QAAQ,UAAUA,QAAQ;QAE3C,IAAIC,gBAAgB;YAClBJ,WAAW;QACb,OAAO;YACLA,WAAW;QACb;IACF;IAEA,OAAO;QACLH,SAASQ;QACTL;QACAM,OAAOF;IACT;AACF,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryDrafts.d.ts","sourceRoot":"","sources":["../src/queryDrafts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"queryDrafts.d.ts","sourceRoot":"","sources":["../src/queryDrafts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAA6B,MAAM,SAAS,CAAA;AASrE,eAAO,MAAM,WAAW,EAAE,WAwCzB,CAAA"}
|
package/dist/queryDrafts.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { buildVersionCollectionFields, combineQueries } from 'payload';
|
|
2
2
|
import toSnakeCase from 'to-snake-case';
|
|
3
3
|
import { findMany } from './find/findMany.js';
|
|
4
|
-
export const queryDrafts = async function queryDrafts({ collection, joins, limit, locale, page = 1, pagination, req
|
|
4
|
+
export const queryDrafts = async function queryDrafts({ collection, joins, limit, locale, page = 1, pagination, req, select, sort, where }) {
|
|
5
5
|
const collectionConfig = this.payload.collections[collection].config;
|
|
6
6
|
const tableName = this.tableNameMap.get(`_${toSnakeCase(collectionConfig.slug)}${this.versionsSuffix}`);
|
|
7
7
|
const fields = buildVersionCollectionFields(this.payload.config, collectionConfig, true);
|
|
@@ -12,6 +12,7 @@ export const queryDrafts = async function queryDrafts({ collection, joins, limit
|
|
|
12
12
|
}, where);
|
|
13
13
|
const result = await findMany({
|
|
14
14
|
adapter: this,
|
|
15
|
+
collectionSlug: collection,
|
|
15
16
|
fields,
|
|
16
17
|
joins,
|
|
17
18
|
limit,
|
package/dist/queryDrafts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/queryDrafts.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"sources":["../src/queryDrafts.ts"],"sourcesContent":["import type { QueryDrafts, SanitizedCollectionConfig } from 'payload'\n\nimport { buildVersionCollectionFields, combineQueries } from 'payload'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter } from './types.js'\n\nimport { findMany } from './find/findMany.js'\n\nexport const queryDrafts: QueryDrafts = async function queryDrafts(\n this: DrizzleAdapter,\n { collection, joins, limit, locale, page = 1, pagination, req, select, sort, where },\n) {\n const collectionConfig: SanitizedCollectionConfig = this.payload.collections[collection].config\n const tableName = this.tableNameMap.get(\n `_${toSnakeCase(collectionConfig.slug)}${this.versionsSuffix}`,\n )\n const fields = buildVersionCollectionFields(this.payload.config, collectionConfig, true)\n\n const combinedWhere = combineQueries({ latest: { equals: true } }, where)\n\n const result = await findMany({\n adapter: this,\n collectionSlug: collection,\n fields,\n joins,\n limit,\n locale,\n page,\n pagination,\n req,\n select,\n sort,\n tableName,\n versions: true,\n where: combinedWhere,\n })\n\n return {\n ...result,\n docs: result.docs.map((doc) => {\n doc = {\n id: doc.parent,\n ...doc.version,\n }\n\n return doc\n }),\n }\n}\n"],"names":["buildVersionCollectionFields","combineQueries","toSnakeCase","findMany","queryDrafts","collection","joins","limit","locale","page","pagination","req","select","sort","where","collectionConfig","payload","collections","config","tableName","tableNameMap","get","slug","versionsSuffix","fields","combinedWhere","latest","equals","result","adapter","collectionSlug","versions","docs","map","doc","id","parent","version"],"mappings":"AAEA,SAASA,4BAA4B,EAAEC,cAAc,QAAQ,UAAS;AACtE,OAAOC,iBAAiB,gBAAe;AAIvC,SAASC,QAAQ,QAAQ,qBAAoB;AAE7C,OAAO,MAAMC,cAA2B,eAAeA,YAErD,EAAEC,UAAU,EAAEC,KAAK,EAAEC,KAAK,EAAEC,MAAM,EAAEC,OAAO,CAAC,EAAEC,UAAU,EAAEC,GAAG,EAAEC,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAE;IAEpF,MAAMC,mBAA8C,IAAI,CAACC,OAAO,CAACC,WAAW,CAACZ,WAAW,CAACa,MAAM;IAC/F,MAAMC,YAAY,IAAI,CAACC,YAAY,CAACC,GAAG,CACrC,CAAC,CAAC,EAAEnB,YAAYa,iBAAiBO,IAAI,IAAI,IAAI,CAACC,cAAc,EAAE;IAEhE,MAAMC,SAASxB,6BAA6B,IAAI,CAACgB,OAAO,CAACE,MAAM,EAAEH,kBAAkB;IAEnF,MAAMU,gBAAgBxB,eAAe;QAAEyB,QAAQ;YAAEC,QAAQ;QAAK;IAAE,GAAGb;IAEnE,MAAMc,SAAS,MAAMzB,SAAS;QAC5B0B,SAAS,IAAI;QACbC,gBAAgBzB;QAChBmB;QACAlB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAM;QACAY,UAAU;QACVjB,OAAOW;IACT;IAEA,OAAO;QACL,GAAGG,MAAM;QACTI,MAAMJ,OAAOI,IAAI,CAACC,GAAG,CAAC,CAACC;YACrBA,MAAM;gBACJC,IAAID,IAAIE,MAAM;gBACd,GAAGF,IAAIG,OAAO;YAChB;YAEA,OAAOH;QACT;IACF;AACF,EAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -201,6 +201,14 @@ export type SetColumnID = (args: {
|
|
|
201
201
|
columns: Record<string, RawColumn>;
|
|
202
202
|
fields: FlattenedField[];
|
|
203
203
|
}) => IDType;
|
|
204
|
+
export type ColumnToCodeConverter = (args: {
|
|
205
|
+
adapter: DrizzleAdapter;
|
|
206
|
+
addEnum: (name: string, options: string[]) => void;
|
|
207
|
+
addImport: (from: string, name: string) => void;
|
|
208
|
+
column: RawColumn;
|
|
209
|
+
locales?: string[];
|
|
210
|
+
tableKey: string;
|
|
211
|
+
}) => string;
|
|
204
212
|
export type BuildDrizzleTable<T extends DrizzleAdapter = DrizzleAdapter> = (args: {
|
|
205
213
|
adapter: T;
|
|
206
214
|
locales: string[];
|
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 Column,\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 {\n PgColumn,\n PgTable,\n PgTransaction,\n Precision,\n UpdateDeleteAction,\n} 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 FlattenedField,\n MigrationData,\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 { DrizzleSnapshotJSON } from 'drizzle-kit/api'\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: (\n args: Record<string, unknown>,\n ) => DrizzleSnapshotJSON | Promise<DrizzleSnapshotJSON>\n generateMigration: (prev: DrizzleSnapshotJSON, cur: DrizzleSnapshotJSON) => Promise<string[]>\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 upSnapshot?: (snapshot: Record<string, unknown>) => DrizzleSnapshotJSON\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 column?: Column | string\n operator: string\n pathSegments: string[]\n table?: string\n treatAsArray?: string[]\n treatRootAsArray?: boolean\n value: boolean | number | string\n}\n\n/**\n * Abstract relation link\n */\nexport type RawRelation =\n | {\n fields: { name: string; table: string }[]\n references: string[]\n relationName?: string\n to: string\n type: 'one'\n }\n | {\n relationName?: string\n to: string\n type: 'many'\n }\n\n/**\n * Abstract SQL table that later gets converted by database specific implementation to Drizzle\n */\nexport type RawTable = {\n columns: Record<string, RawColumn>\n foreignKeys?: Record<string, RawForeignKey>\n indexes?: Record<string, RawIndex>\n name: string\n}\n\n/**\n * Abstract SQL foreign key that later gets converted by database specific implementation to Drizzle\n */\nexport type RawForeignKey = {\n columns: string[]\n foreignColumns: { name: string; table: string }[]\n name: string\n onDelete?: UpdateDeleteAction\n onUpdate?: UpdateDeleteAction\n}\n\n/**\n * Abstract SQL index that later gets converted by database specific implementation to Drizzle\n */\nexport type RawIndex = {\n name: string\n on: string | string[]\n unique?: boolean\n}\n\n/**\n * Abstract SQL column that later gets converted by database specific implementation to Drizzle\n */\nexport type BaseRawColumn = {\n default?: any\n name: string\n notNull?: boolean\n primaryKey?: boolean\n reference?: {\n name: string\n onDelete: UpdateDeleteAction\n table: string\n }\n}\n\n/**\n * Postgres: native timestamp type\n * SQLite: text column, defaultNow achieved through strftime('%Y-%m-%dT%H:%M:%fZ', 'now'). withTimezone/precision have no any effect.\n */\nexport type TimestampRawColumn = {\n defaultNow?: boolean\n mode: 'date' | 'string'\n precision: Precision\n type: 'timestamp'\n withTimezone?: boolean\n} & BaseRawColumn\n\n/**\n * Postgres: native UUID type and db lavel defaultRandom\n * SQLite: text type and defaultRandom in the app level\n */\nexport type UUIDRawColumn = {\n defaultRandom?: boolean\n type: 'uuid'\n} & BaseRawColumn\n\n/**\n * Accepts either `locale: true` to have options from locales or `options` string array\n * Postgres: native enums\n * SQLite: text column with checks.\n */\nexport type EnumRawColumn = (\n | {\n enumName: string\n options: string[]\n type: 'enum'\n }\n | {\n locale: true\n type: 'enum'\n }\n) &\n BaseRawColumn\n\nexport type RawColumn =\n | ({\n type: 'boolean' | 'geometry' | 'integer' | 'jsonb' | 'numeric' | 'serial' | 'text' | 'varchar'\n } & BaseRawColumn)\n | EnumRawColumn\n | TimestampRawColumn\n | UUIDRawColumn\n\nexport type IDType = 'integer' | 'numeric' | 'text' | 'uuid' | 'varchar'\n\nexport type SetColumnID = (args: {\n adapter: DrizzleAdapter\n columns: Record<string, RawColumn>\n fields: FlattenedField[]\n}) => IDType\n\nexport type BuildDrizzleTable<T extends DrizzleAdapter = DrizzleAdapter> = (args: {\n adapter: T\n locales: string[]\n rawTable: RawTable\n}) => void\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 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 rawRelations: Record<string, Record<string, RawRelation>>\n rawTables: Record<string, RawTable>\n rejectInitializing: () => void\n\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\nexport type RelationMap = Map<\n string,\n {\n localized: boolean\n relationName?: string\n target: string\n type: 'many' | 'one'\n }\n>\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type {\n Column,\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 {\n PgColumn,\n PgTable,\n PgTransaction,\n Precision,\n UpdateDeleteAction,\n} 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 FlattenedField,\n MigrationData,\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 { DrizzleSnapshotJSON } from 'drizzle-kit/api'\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: (\n args: Record<string, unknown>,\n ) => DrizzleSnapshotJSON | Promise<DrizzleSnapshotJSON>\n generateMigration: (prev: DrizzleSnapshotJSON, cur: DrizzleSnapshotJSON) => Promise<string[]>\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 upSnapshot?: (snapshot: Record<string, unknown>) => DrizzleSnapshotJSON\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 column?: Column | string\n operator: string\n pathSegments: string[]\n table?: string\n treatAsArray?: string[]\n treatRootAsArray?: boolean\n value: boolean | number | string\n}\n\n/**\n * Abstract relation link\n */\nexport type RawRelation =\n | {\n fields: { name: string; table: string }[]\n references: string[]\n relationName?: string\n to: string\n type: 'one'\n }\n | {\n relationName?: string\n to: string\n type: 'many'\n }\n\n/**\n * Abstract SQL table that later gets converted by database specific implementation to Drizzle\n */\nexport type RawTable = {\n columns: Record<string, RawColumn>\n foreignKeys?: Record<string, RawForeignKey>\n indexes?: Record<string, RawIndex>\n name: string\n}\n\n/**\n * Abstract SQL foreign key that later gets converted by database specific implementation to Drizzle\n */\nexport type RawForeignKey = {\n columns: string[]\n foreignColumns: { name: string; table: string }[]\n name: string\n onDelete?: UpdateDeleteAction\n onUpdate?: UpdateDeleteAction\n}\n\n/**\n * Abstract SQL index that later gets converted by database specific implementation to Drizzle\n */\nexport type RawIndex = {\n name: string\n on: string | string[]\n unique?: boolean\n}\n\n/**\n * Abstract SQL column that later gets converted by database specific implementation to Drizzle\n */\nexport type BaseRawColumn = {\n default?: any\n name: string\n notNull?: boolean\n primaryKey?: boolean\n reference?: {\n name: string\n onDelete: UpdateDeleteAction\n table: string\n }\n}\n\n/**\n * Postgres: native timestamp type\n * SQLite: text column, defaultNow achieved through strftime('%Y-%m-%dT%H:%M:%fZ', 'now'). withTimezone/precision have no any effect.\n */\nexport type TimestampRawColumn = {\n defaultNow?: boolean\n mode: 'date' | 'string'\n precision: Precision\n type: 'timestamp'\n withTimezone?: boolean\n} & BaseRawColumn\n\n/**\n * Postgres: native UUID type and db lavel defaultRandom\n * SQLite: text type and defaultRandom in the app level\n */\nexport type UUIDRawColumn = {\n defaultRandom?: boolean\n type: 'uuid'\n} & BaseRawColumn\n\n/**\n * Accepts either `locale: true` to have options from locales or `options` string array\n * Postgres: native enums\n * SQLite: text column with checks.\n */\nexport type EnumRawColumn = (\n | {\n enumName: string\n options: string[]\n type: 'enum'\n }\n | {\n locale: true\n type: 'enum'\n }\n) &\n BaseRawColumn\n\nexport type RawColumn =\n | ({\n type: 'boolean' | 'geometry' | 'integer' | 'jsonb' | 'numeric' | 'serial' | 'text' | 'varchar'\n } & BaseRawColumn)\n | EnumRawColumn\n | TimestampRawColumn\n | UUIDRawColumn\n\nexport type IDType = 'integer' | 'numeric' | 'text' | 'uuid' | 'varchar'\n\nexport type SetColumnID = (args: {\n adapter: DrizzleAdapter\n columns: Record<string, RawColumn>\n fields: FlattenedField[]\n}) => IDType\n\nexport type ColumnToCodeConverter = (args: {\n adapter: DrizzleAdapter\n addEnum: (name: string, options: string[]) => void\n addImport: (from: string, name: string) => void\n column: RawColumn\n locales?: string[]\n tableKey: string\n}) => string\n\nexport type BuildDrizzleTable<T extends DrizzleAdapter = DrizzleAdapter> = (args: {\n adapter: T\n locales: string[]\n rawTable: RawTable\n}) => void\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 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 rawRelations: Record<string, Record<string, RawRelation>>\n rawTables: Record<string, RawTable>\n rejectInitializing: () => void\n\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\nexport type RelationMap = Map<\n string,\n {\n localized: boolean\n relationName?: string\n target: string\n type: 'many' | 'one'\n }\n>\n"],"names":[],"mappings":"AAkWA,WAQC"}
|
package/dist/update.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAYxC,eAAO,MAAM,SAAS,EAAE,SA8DvB,CAAA"}
|
package/dist/update.js
CHANGED
|
@@ -3,8 +3,9 @@ import { buildFindManyArgs } from './find/buildFindManyArgs.js';
|
|
|
3
3
|
import buildQuery from './queries/buildQuery.js';
|
|
4
4
|
import { selectDistinct } from './queries/selectDistinct.js';
|
|
5
5
|
import { upsertRow } from './upsertRow/index.js';
|
|
6
|
+
import { getTransaction } from './utilities/getTransaction.js';
|
|
6
7
|
export const updateOne = async function updateOne({ id, collection: collectionSlug, data, joins: joinQuery, locale, req, select, where: whereArg }) {
|
|
7
|
-
const db =
|
|
8
|
+
const db = await getTransaction(this, req);
|
|
8
9
|
const collection = this.payload.collections[collectionSlug].config;
|
|
9
10
|
const tableName = this.tableNameMap.get(toSnakeCase(collection.slug));
|
|
10
11
|
const whereToUse = whereArg || {
|
package/dist/update.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/update.ts"],"sourcesContent":["import type { UpdateOne } from 'payload'\n\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter } from './types.js'\n\nimport { buildFindManyArgs } from './find/buildFindManyArgs.js'\nimport buildQuery from './queries/buildQuery.js'\nimport { selectDistinct } from './queries/selectDistinct.js'\nimport { upsertRow } from './upsertRow/index.js'\n\nexport const updateOne: UpdateOne = async function updateOne(\n this: DrizzleAdapter,\n { id, collection: collectionSlug, data, joins: joinQuery, locale, req, select, where: whereArg },\n) {\n const db =
|
|
1
|
+
{"version":3,"sources":["../src/update.ts"],"sourcesContent":["import type { UpdateOne } from 'payload'\n\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter } from './types.js'\n\nimport { buildFindManyArgs } from './find/buildFindManyArgs.js'\nimport buildQuery from './queries/buildQuery.js'\nimport { selectDistinct } from './queries/selectDistinct.js'\nimport { upsertRow } from './upsertRow/index.js'\nimport { getTransaction } from './utilities/getTransaction.js'\n\nexport const updateOne: UpdateOne = async function updateOne(\n this: DrizzleAdapter,\n { id, collection: collectionSlug, data, joins: joinQuery, locale, req, select, where: whereArg },\n) {\n const db = await getTransaction(this, req)\n const collection = this.payload.collections[collectionSlug].config\n const tableName = this.tableNameMap.get(toSnakeCase(collection.slug))\n const whereToUse = whereArg || { id: { equals: id } }\n let idToUpdate = id\n\n const { joins, selectFields, where } = buildQuery({\n adapter: this,\n fields: collection.flattenedFields,\n locale,\n tableName,\n where: whereToUse,\n })\n\n const selectDistinctResult = await selectDistinct({\n adapter: this,\n chainedMethods: [{ args: [1], method: 'limit' }],\n db,\n joins,\n selectFields,\n tableName,\n where,\n })\n\n if (selectDistinctResult?.[0]?.id) {\n idToUpdate = selectDistinctResult?.[0]?.id\n\n // If id wasn't passed but `where` without any joins, retrieve it with findFirst\n } else if (whereArg && !joins.length) {\n const findManyArgs = buildFindManyArgs({\n adapter: this,\n depth: 0,\n fields: collection.flattenedFields,\n joinQuery: false,\n select: {},\n tableName,\n })\n\n findManyArgs.where = where\n\n const docToUpdate = await db.query[tableName].findFirst(findManyArgs)\n idToUpdate = docToUpdate?.id\n }\n\n const result = await upsertRow({\n id: idToUpdate,\n adapter: this,\n data,\n db,\n fields: collection.flattenedFields,\n joinQuery,\n operation: 'update',\n req,\n select,\n tableName,\n })\n\n return result\n}\n"],"names":["toSnakeCase","buildFindManyArgs","buildQuery","selectDistinct","upsertRow","getTransaction","updateOne","id","collection","collectionSlug","data","joins","joinQuery","locale","req","select","where","whereArg","db","payload","collections","config","tableName","tableNameMap","get","slug","whereToUse","equals","idToUpdate","selectFields","adapter","fields","flattenedFields","selectDistinctResult","chainedMethods","args","method","length","findManyArgs","depth","docToUpdate","query","findFirst","result","operation"],"mappings":"AAEA,OAAOA,iBAAiB,gBAAe;AAIvC,SAASC,iBAAiB,QAAQ,8BAA6B;AAC/D,OAAOC,gBAAgB,0BAAyB;AAChD,SAASC,cAAc,QAAQ,8BAA6B;AAC5D,SAASC,SAAS,QAAQ,uBAAsB;AAChD,SAASC,cAAc,QAAQ,gCAA+B;AAE9D,OAAO,MAAMC,YAAuB,eAAeA,UAEjD,EAAEC,EAAE,EAAEC,YAAYC,cAAc,EAAEC,IAAI,EAAEC,OAAOC,SAAS,EAAEC,MAAM,EAAEC,GAAG,EAAEC,MAAM,EAAEC,OAAOC,QAAQ,EAAE;IAEhG,MAAMC,KAAK,MAAMb,eAAe,IAAI,EAAES;IACtC,MAAMN,aAAa,IAAI,CAACW,OAAO,CAACC,WAAW,CAACX,eAAe,CAACY,MAAM;IAClE,MAAMC,YAAY,IAAI,CAACC,YAAY,CAACC,GAAG,CAACxB,YAAYQ,WAAWiB,IAAI;IACnE,MAAMC,aAAaT,YAAY;QAAEV,IAAI;YAAEoB,QAAQpB;QAAG;IAAE;IACpD,IAAIqB,aAAarB;IAEjB,MAAM,EAAEI,KAAK,EAAEkB,YAAY,EAAEb,KAAK,EAAE,GAAGd,WAAW;QAChD4B,SAAS,IAAI;QACbC,QAAQvB,WAAWwB,eAAe;QAClCnB;QACAS;QACAN,OAAOU;IACT;IAEA,MAAMO,uBAAuB,MAAM9B,eAAe;QAChD2B,SAAS,IAAI;QACbI,gBAAgB;YAAC;gBAAEC,MAAM;oBAAC;iBAAE;gBAAEC,QAAQ;YAAQ;SAAE;QAChDlB;QACAP;QACAkB;QACAP;QACAN;IACF;IAEA,IAAIiB,sBAAsB,CAAC,EAAE,EAAE1B,IAAI;QACjCqB,aAAaK,sBAAsB,CAAC,EAAE,EAAE1B;IAExC,gFAAgF;IAClF,OAAO,IAAIU,YAAY,CAACN,MAAM0B,MAAM,EAAE;QACpC,MAAMC,eAAerC,kBAAkB;YACrC6B,SAAS,IAAI;YACbS,OAAO;YACPR,QAAQvB,WAAWwB,eAAe;YAClCpB,WAAW;YACXG,QAAQ,CAAC;YACTO;QACF;QAEAgB,aAAatB,KAAK,GAAGA;QAErB,MAAMwB,cAAc,MAAMtB,GAAGuB,KAAK,CAACnB,UAAU,CAACoB,SAAS,CAACJ;QACxDV,aAAaY,aAAajC;IAC5B;IAEA,MAAMoC,SAAS,MAAMvC,UAAU;QAC7BG,IAAIqB;QACJE,SAAS,IAAI;QACbpB;QACAQ;QACAa,QAAQvB,WAAWwB,eAAe;QAClCpB;QACAgC,WAAW;QACX9B;QACAC;QACAO;IACF;IAEA,OAAOqB;AACT,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateGlobal.d.ts","sourceRoot":"","sources":["../src/updateGlobal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"updateGlobal.d.ts","sourceRoot":"","sources":["../src/updateGlobal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAI/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAKhD,wBAAsB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClE,IAAI,EAAE,cAAc,EACpB,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,gBAAgB,GAC5C,OAAO,CAAC,CAAC,CAAC,CAmBZ"}
|
package/dist/updateGlobal.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import toSnakeCase from 'to-snake-case';
|
|
2
2
|
import { upsertRow } from './upsertRow/index.js';
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
import { getTransaction } from './utilities/getTransaction.js';
|
|
4
|
+
export async function updateGlobal({ slug, data, req, select }) {
|
|
5
|
+
const db = await getTransaction(this, req);
|
|
5
6
|
const globalConfig = this.payload.globals.config.find((config)=>config.slug === slug);
|
|
6
7
|
const tableName = this.tableNameMap.get(toSnakeCase(globalConfig.slug));
|
|
7
8
|
const existingGlobal = await db.query[tableName].findFirst({});
|
package/dist/updateGlobal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/updateGlobal.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"sources":["../src/updateGlobal.ts"],"sourcesContent":["import type { UpdateGlobalArgs } from 'payload'\n\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter } from './types.js'\n\nimport { upsertRow } from './upsertRow/index.js'\nimport { getTransaction } from './utilities/getTransaction.js'\n\nexport async function updateGlobal<T extends Record<string, unknown>>(\n this: DrizzleAdapter,\n { slug, data, req, select }: UpdateGlobalArgs,\n): Promise<T> {\n const db = await getTransaction(this, req)\n const globalConfig = this.payload.globals.config.find((config) => config.slug === slug)\n const tableName = this.tableNameMap.get(toSnakeCase(globalConfig.slug))\n\n const existingGlobal = await db.query[tableName].findFirst({})\n\n const result = await upsertRow<T>({\n ...(existingGlobal ? { id: existingGlobal.id, operation: 'update' } : { operation: 'create' }),\n adapter: this,\n data,\n db,\n fields: globalConfig.flattenedFields,\n req,\n select,\n tableName,\n })\n\n return result\n}\n"],"names":["toSnakeCase","upsertRow","getTransaction","updateGlobal","slug","data","req","select","db","globalConfig","payload","globals","config","find","tableName","tableNameMap","get","existingGlobal","query","findFirst","result","id","operation","adapter","fields","flattenedFields"],"mappings":"AAEA,OAAOA,iBAAiB,gBAAe;AAIvC,SAASC,SAAS,QAAQ,uBAAsB;AAChD,SAASC,cAAc,QAAQ,gCAA+B;AAE9D,OAAO,eAAeC,aAEpB,EAAEC,IAAI,EAAEC,IAAI,EAAEC,GAAG,EAAEC,MAAM,EAAoB;IAE7C,MAAMC,KAAK,MAAMN,eAAe,IAAI,EAAEI;IACtC,MAAMG,eAAe,IAAI,CAACC,OAAO,CAACC,OAAO,CAACC,MAAM,CAACC,IAAI,CAAC,CAACD,SAAWA,OAAOR,IAAI,KAAKA;IAClF,MAAMU,YAAY,IAAI,CAACC,YAAY,CAACC,GAAG,CAAChB,YAAYS,aAAaL,IAAI;IAErE,MAAMa,iBAAiB,MAAMT,GAAGU,KAAK,CAACJ,UAAU,CAACK,SAAS,CAAC,CAAC;IAE5D,MAAMC,SAAS,MAAMnB,UAAa;QAChC,GAAIgB,iBAAiB;YAAEI,IAAIJ,eAAeI,EAAE;YAAEC,WAAW;QAAS,IAAI;YAAEA,WAAW;QAAS,CAAC;QAC7FC,SAAS,IAAI;QACblB;QACAG;QACAgB,QAAQf,aAAagB,eAAe;QACpCnB;QACAC;QACAO;IACF;IAEA,OAAOM;AACT"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { TypeWithID, TypeWithVersion, UpdateGlobalVersionArgs } from 'payload';
|
|
2
2
|
import type { DrizzleAdapter } from './types.js';
|
|
3
|
-
export declare function updateGlobalVersion<T extends TypeWithID>(this: DrizzleAdapter, { id, global, locale, req, select, versionData, where: whereArg
|
|
3
|
+
export declare function updateGlobalVersion<T extends TypeWithID>(this: DrizzleAdapter, { id, global, locale, req, select, versionData, where: whereArg }: UpdateGlobalVersionArgs<T>): Promise<TypeWithVersion<T>>;
|
|
4
4
|
//# sourceMappingURL=updateGlobalVersion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateGlobalVersion.d.ts","sourceRoot":"","sources":["../src/updateGlobalVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"updateGlobalVersion.d.ts","sourceRoot":"","sources":["../src/updateGlobalVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,UAAU,EACV,eAAe,EACf,uBAAuB,EACxB,MAAM,SAAS,CAAA;AAKhB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAMhD,wBAAsB,mBAAmB,CAAC,CAAC,SAAS,UAAU,EAC5D,IAAI,EAAE,cAAc,EACpB,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,uBAAuB,CAAC,CAAC,CAAC,+BAoC9F"}
|
|
@@ -2,8 +2,9 @@ import { buildVersionGlobalFields } from 'payload';
|
|
|
2
2
|
import toSnakeCase from 'to-snake-case';
|
|
3
3
|
import buildQuery from './queries/buildQuery.js';
|
|
4
4
|
import { upsertRow } from './upsertRow/index.js';
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
import { getTransaction } from './utilities/getTransaction.js';
|
|
6
|
+
export async function updateGlobalVersion({ id, global, locale, req, select, versionData, where: whereArg }) {
|
|
7
|
+
const db = await getTransaction(this, req);
|
|
7
8
|
const globalConfig = this.payload.globals.config.find(({ slug })=>slug === global);
|
|
8
9
|
const whereToUse = whereArg || {
|
|
9
10
|
id: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/updateGlobalVersion.ts"],"sourcesContent":["import type {\n
|
|
1
|
+
{"version":3,"sources":["../src/updateGlobalVersion.ts"],"sourcesContent":["import type {\n SanitizedGlobalConfig,\n TypeWithID,\n TypeWithVersion,\n UpdateGlobalVersionArgs,\n} from 'payload'\n\nimport { buildVersionGlobalFields } from 'payload'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter } from './types.js'\n\nimport buildQuery from './queries/buildQuery.js'\nimport { upsertRow } from './upsertRow/index.js'\nimport { getTransaction } from './utilities/getTransaction.js'\n\nexport async function updateGlobalVersion<T extends TypeWithID>(\n this: DrizzleAdapter,\n { id, global, locale, req, select, versionData, where: whereArg }: UpdateGlobalVersionArgs<T>,\n) {\n const db = await getTransaction(this, req)\n const globalConfig: SanitizedGlobalConfig = this.payload.globals.config.find(\n ({ slug }) => slug === global,\n )\n const whereToUse = whereArg || { id: { equals: id } }\n\n const tableName = this.tableNameMap.get(\n `_${toSnakeCase(globalConfig.slug)}${this.versionsSuffix}`,\n )\n\n const fields = buildVersionGlobalFields(this.payload.config, globalConfig, true)\n\n const { where } = buildQuery({\n adapter: this,\n fields,\n locale,\n tableName,\n where: whereToUse,\n })\n\n const result = await upsertRow<TypeWithVersion<T>>({\n id,\n adapter: this,\n data: versionData,\n db,\n fields,\n operation: 'update',\n req,\n select,\n tableName,\n where,\n })\n\n return result\n}\n"],"names":["buildVersionGlobalFields","toSnakeCase","buildQuery","upsertRow","getTransaction","updateGlobalVersion","id","global","locale","req","select","versionData","where","whereArg","db","globalConfig","payload","globals","config","find","slug","whereToUse","equals","tableName","tableNameMap","get","versionsSuffix","fields","adapter","result","data","operation"],"mappings":"AAOA,SAASA,wBAAwB,QAAQ,UAAS;AAClD,OAAOC,iBAAiB,gBAAe;AAIvC,OAAOC,gBAAgB,0BAAyB;AAChD,SAASC,SAAS,QAAQ,uBAAsB;AAChD,SAASC,cAAc,QAAQ,gCAA+B;AAE9D,OAAO,eAAeC,oBAEpB,EAAEC,EAAE,EAAEC,MAAM,EAAEC,MAAM,EAAEC,GAAG,EAAEC,MAAM,EAAEC,WAAW,EAAEC,OAAOC,QAAQ,EAA8B;IAE7F,MAAMC,KAAK,MAAMV,eAAe,IAAI,EAAEK;IACtC,MAAMM,eAAsC,IAAI,CAACC,OAAO,CAACC,OAAO,CAACC,MAAM,CAACC,IAAI,CAC1E,CAAC,EAAEC,IAAI,EAAE,GAAKA,SAASb;IAEzB,MAAMc,aAAaR,YAAY;QAAEP,IAAI;YAAEgB,QAAQhB;QAAG;IAAE;IAEpD,MAAMiB,YAAY,IAAI,CAACC,YAAY,CAACC,GAAG,CACrC,CAAC,CAAC,EAAExB,YAAYc,aAAaK,IAAI,IAAI,IAAI,CAACM,cAAc,EAAE;IAG5D,MAAMC,SAAS3B,yBAAyB,IAAI,CAACgB,OAAO,CAACE,MAAM,EAAEH,cAAc;IAE3E,MAAM,EAAEH,KAAK,EAAE,GAAGV,WAAW;QAC3B0B,SAAS,IAAI;QACbD;QACAnB;QACAe;QACAX,OAAOS;IACT;IAEA,MAAMQ,SAAS,MAAM1B,UAA8B;QACjDG;QACAsB,SAAS,IAAI;QACbE,MAAMnB;QACNG;QACAa;QACAI,WAAW;QACXtB;QACAC;QACAa;QACAX;IACF;IAEA,OAAOiB;AACT"}
|