@payloadcms/drizzle 3.59.0-internal.fae0e05 → 3.59.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/find/traverseFields.js +3 -3
- package/dist/find/traverseFields.js.map +1 -1
- package/dist/findDistinct.d.ts.map +1 -1
- package/dist/findDistinct.js +2 -0
- package/dist/findDistinct.js.map +1 -1
- package/dist/queries/getTableColumnFromPath.d.ts.map +1 -1
- package/dist/queries/getTableColumnFromPath.js +13 -6
- package/dist/queries/getTableColumnFromPath.js.map +1 -1
- package/dist/queries/parseParams.d.ts.map +1 -1
- package/dist/queries/parseParams.js +33 -1
- package/dist/queries/parseParams.js.map +1 -1
- package/dist/sqlite/insert.d.ts.map +1 -1
- package/dist/sqlite/insert.js +13 -0
- package/dist/sqlite/insert.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utilities/createSchemaGenerator.js +5 -5
- package/dist/utilities/createSchemaGenerator.js.map +1 -1
- package/dist/utilities/isValidStringID.d.ts +2 -0
- package/dist/utilities/isValidStringID.d.ts.map +1 -0
- package/dist/utilities/isValidStringID.js +5 -0
- package/dist/utilities/isValidStringID.js.map +1 -0
- package/dist/utilities/isValidStringID.spec.js +14 -0
- package/dist/utilities/isValidStringID.spec.js.map +1 -0
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/queries/getTableColumnFromPath.ts"],"sourcesContent":["import type { SQL, Table } from 'drizzle-orm'\nimport type { SQLiteTableWithColumns } from 'drizzle-orm/sqlite-core'\nimport type {\n FlattenedBlock,\n FlattenedField,\n NumberField,\n RelationshipField,\n TextField,\n} from 'payload'\n\nimport { and, eq, getTableName, like, sql } from 'drizzle-orm'\nimport { type PgTableWithColumns } from 'drizzle-orm/pg-core'\nimport { APIError, getFieldByPath } from 'payload'\nimport { fieldShouldBeLocalized, 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 { jsonBuildObject } from '../utilities/json.js'\nimport { DistinctSymbol } from '../utilities/rawConstraint.js'\nimport { resolveBlockTableName } from '../utilities/validateExistingBlockIsIdentical.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 parentAliasTable?: PgTableWithColumns<any> | SQLiteTableWithColumns<any>\n parentIsLocalized: boolean\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 parentAliasTable,\n parentIsLocalized,\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 const isFieldLocalized = fieldShouldBeLocalized({ field, parentIsLocalized })\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 (isFieldLocalized && 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 && isFieldLocalized && 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\n return getTableColumnFromPath({\n adapter,\n collectionPath,\n constraintPath,\n constraints,\n fields: field.flattenedFields,\n joins,\n locale,\n parentAliasTable: aliasTable,\n parentIsLocalized: parentIsLocalized || field.localized,\n pathSegments: pathSegments.slice(1),\n rootTableName,\n selectFields,\n selectLocale,\n tableName: newTableName,\n value,\n })\n }\n case 'blocks': {\n if (adapter.blocksAsJSON) {\n break\n }\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 =\n adapter.payload.blocks[blockType] ??\n ((field.blockReferences ?? field.blocks).find(\n (block) => typeof block !== 'string' && block.slug === blockType,\n ) as FlattenedBlock | undefined)\n\n newTableName = resolveBlockTableName(\n block,\n adapter.tableNameMap.get(`${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.blockReferences ?? field.blocks).some((_block) => {\n const block = typeof _block === 'string' ? adapter.payload.blocks[_block] : _block\n\n newTableName = resolveBlockTableName(\n block,\n adapter.tableNameMap.get(`${tableName}_blocks_${toSnakeCase(block.slug)}`),\n )\n\n constraintPath = `${constraintPath}${field.name}.%.`\n\n let result: TableColumn\n const blockConstraints = []\n const blockSelectFields = {}\n\n let blockJoin: BuildQueryJoinAliases[0]\n if (isFieldLocalized && 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 blockJoin = {\n condition: and(...conditions),\n table: adapter.tables[newTableName],\n }\n } else {\n blockJoin = {\n condition: eq(\n (aliasTable || adapter.tables[tableName]).id,\n adapter.tables[newTableName]._parentID,\n ),\n table: adapter.tables[newTableName],\n }\n }\n\n // Create a new reference for nested joins\n const newJoins = [...joins]\n\n try {\n result = getTableColumnFromPath({\n adapter,\n collectionPath,\n constraintPath,\n constraints: blockConstraints,\n fields: block.flattenedFields,\n joins: newJoins,\n locale,\n parentIsLocalized: parentIsLocalized || field.localized,\n pathSegments: pathSegments.slice(1),\n rootTableName,\n selectFields: blockSelectFields,\n selectLocale,\n tableName: newTableName,\n value,\n })\n } catch (_) {\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\n const previousLength = joins.length\n joins.push(blockJoin)\n // Append new joins AFTER the block join to prevent errors with missing FROM clause.\n if (newJoins.length > previousLength) {\n for (let i = previousLength; i < newJoins.length; i++) {\n joins.push(newJoins[i])\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 && isFieldLocalized && 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 parentIsLocalized: parentIsLocalized || field.localized,\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 'join': {\n if (Array.isArray(field.collection)) {\n throw new APIError('Not supported')\n }\n\n const newCollectionPath = pathSegments.slice(1).join('.')\n\n if (field.hasMany) {\n const relationTableName = `${adapter.tableNameMap.get(toSnakeCase(field.collection))}${adapter.relationshipsSuffix}`\n const { newAliasTable: aliasRelationshipTable } = getTableAlias({\n adapter,\n tableName: relationTableName,\n })\n\n const relationshipField = getFieldByPath({\n fields: adapter.payload.collections[field.collection].config.flattenedFields,\n path: field.on,\n })\n if (!relationshipField) {\n throw new APIError('Relationship was not found')\n }\n\n addJoinTable({\n condition: and(\n eq(\n adapter.tables[rootTableName].id,\n aliasRelationshipTable[\n `${(relationshipField.field as RelationshipField).relationTo as string}ID`\n ],\n ),\n like(aliasRelationshipTable.path, field.on),\n ),\n joins,\n queryPath: field.on,\n table: aliasRelationshipTable,\n })\n\n if (newCollectionPath === 'id') {\n return {\n columnName: 'parent',\n constraints,\n field: {\n name: 'id',\n type: adapter.idType === 'uuid' ? 'text' : 'number',\n } as NumberField | TextField,\n table: aliasRelationshipTable,\n }\n }\n\n const relationshipConfig = adapter.payload.collections[field.collection].config\n const relationshipTableName = adapter.tableNameMap.get(\n toSnakeCase(relationshipConfig.slug),\n )\n\n // parent to relationship join table\n const relationshipFields = relationshipConfig.flattenedFields\n\n const { newAliasTable: relationshipTable } = getTableAlias({\n adapter,\n tableName: relationshipTableName,\n })\n\n joins.push({\n condition: eq(aliasRelationshipTable.parent, relationshipTable.id),\n table: relationshipTable,\n })\n\n return getTableColumnFromPath({\n adapter,\n aliasTable: relationshipTable,\n collectionPath: newCollectionPath,\n constraints,\n // relationshipFields are fields from a different collection => no parentIsLocalized\n fields: relationshipFields,\n joins,\n locale,\n parentIsLocalized: false,\n pathSegments: pathSegments.slice(1),\n rootTableName: relationshipTableName,\n selectFields,\n selectLocale,\n tableName: relationshipTableName,\n value,\n })\n }\n\n const newTableName = adapter.tableNameMap.get(\n toSnakeCase(adapter.payload.collections[field.collection].config.slug),\n )\n const { newAliasTable } = getTableAlias({ adapter, tableName: newTableName })\n\n joins.push({\n condition: eq(\n newAliasTable[field.on.replaceAll('.', '_')],\n aliasTable ? aliasTable.id : adapter.tables[tableName].id,\n ),\n table: newAliasTable,\n })\n\n if (newCollectionPath === '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: 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.collection].config.flattenedFields,\n joins,\n locale,\n parentIsLocalized: parentIsLocalized || field.localized,\n pathSegments: pathSegments.slice(1),\n selectFields,\n tableName: newTableName,\n value,\n })\n\n break\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 && isFieldLocalized && 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 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\n const existingJoin = joins.find((e) => e.queryPath === `${constraintPath}.${field.name}`)\n\n let aliasRelationshipTable: PgTableWithColumns<any> | SQLiteTableWithColumns<any>\n let aliasRelationshipTableName: string\n if (existingJoin) {\n aliasRelationshipTable = existingJoin.table\n aliasRelationshipTableName = getTableName(existingJoin.table)\n } else {\n const res = getTableAlias({\n adapter,\n tableName: relationTableName,\n })\n aliasRelationshipTable = res.newAliasTable\n aliasRelationshipTableName = res.newAliasTableName\n }\n\n if (selectLocale && isFieldLocalized && adapter.payload.config.localization) {\n selectFields._locale = aliasRelationshipTable.locale\n }\n\n // Join in the relationships table\n if (locale && isFieldLocalized && adapter.payload.config.localization) {\n const conditions = [\n eq(\n (parentAliasTable || aliasTable || adapter.tables[rootTableName]).id,\n aliasRelationshipTable.parent,\n ),\n like(aliasRelationshipTable.path, `${constraintPath}${field.name}`),\n ]\n\n if (locale !== 'all') {\n conditions.push(eq(aliasRelationshipTable.locale, locale))\n }\n\n addJoinTable({\n condition: and(...conditions),\n joins,\n queryPath: `${constraintPath}.${field.name}`,\n table: aliasRelationshipTable,\n })\n } else {\n // Join in the relationships table\n addJoinTable({\n condition: and(\n eq(\n (parentAliasTable || aliasTable || adapter.tables[rootTableName]).id,\n aliasRelationshipTable.parent,\n ),\n like(aliasRelationshipTable.path, `${constraintPath}${field.name}`),\n ),\n joins,\n queryPath: `${constraintPath}.${field.name}`,\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 if (value === DistinctSymbol) {\n const obj: Record<string, SQL> = {}\n\n field.relationTo.forEach((relationTo) => {\n const relationTableName = adapter.tableNameMap.get(\n toSnakeCase(adapter.payload.collections[relationTo].config.slug),\n )\n\n obj[relationTo] = sql.raw(`\"${aliasRelationshipTableName}\".\"${relationTableName}_id\"`)\n })\n\n let rawColumn = jsonBuildObject(adapter, obj)\n if (adapter.name === 'postgres') {\n rawColumn = sql`${rawColumn}::text`\n }\n\n return {\n constraints,\n field,\n rawColumn,\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 // relationshipFields are fields from a different collection => no parentIsLocalized\n fields: relationshipFields,\n joins,\n locale,\n parentIsLocalized: false,\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 (isFieldLocalized && 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 parentIsLocalized: parentIsLocalized || field.localized,\n pathSegments: pathSegments.slice(1),\n selectFields,\n tableName: newTableName,\n value,\n })\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 const idColumn = (aliasTable ?? adapter.tables[tableName]).id\n if (locale && isFieldLocalized && adapter.payload.config.localization) {\n const conditions = [\n eq(idColumn, 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(idColumn, 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 parentIsLocalized: parentIsLocalized || field.localized,\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 parentIsLocalized: parentIsLocalized || field.localized,\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 (isFieldLocalized && 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","getTableName","like","sql","APIError","getFieldByPath","fieldShouldBeLocalized","tabHasName","toSnakeCase","validate","uuidValidate","isPolymorphicRelationship","jsonBuildObject","DistinctSymbol","resolveBlockTableName","addJoinTable","getTableAlias","getTableColumnFromPath","adapter","aliasTable","collectionPath","columnPrefix","constraintPath","incomingConstraintPath","constraints","fields","joins","locale","incomingLocale","parentAliasTable","parentIsLocalized","pathSegments","incomingSegments","rootTableName","incomingRootTableName","selectFields","selectLocale","tableName","tableNameSuffix","value","fieldPath","field","find","fieldToFind","name","newTableName","id","tables","columnName","type","idType","table","isFieldLocalized","payload","config","localization","matchedLocale","localeCodes","splice","tableNameMap","get","arrayParentTable","conditions","_parentID","_locale","push","condition","flattenedFields","localized","slice","blocksAsJSON","blockTableColumn","blockTypes","Array","isArray","forEach","blockType","block","blocks","blockReferences","slug","newAliasTable","getNotNullColumnByValue","hasBlockField","some","_block","result","blockConstraints","blockSelectFields","blockJoin","newJoins","_","concat","previousLength","length","i","rawColumn","localesSuffix","collection","newCollectionPath","join","hasMany","relationTableName","relationshipsSuffix","aliasRelationshipTable","relationshipField","collections","path","on","relationTo","queryPath","relationshipConfig","relationshipTableName","relationshipFields","relationshipTable","parent","replaceAll","tableType","joinConstraints","existingJoin","e","aliasRelationshipTableName","res","newAliasTableName","hasCustomCollectionWithCustomID","customIDType","columns","map","idTypeTextOrUuid","every","val","raw","filter","Boolean","matchedRelation","relation","undefined","obj","aliasLocaleTable","condtions","localesTable","idColumn","newTable","parentTable","targetTable"],"mappings":"AAUA,SAASA,GAAG,EAAEC,EAAE,EAAEC,YAAY,EAAEC,IAAI,EAAEC,GAAG,QAAQ,cAAa;AAE9D,SAASC,QAAQ,EAAEC,cAAc,QAAQ,UAAS;AAClD,SAASC,sBAAsB,EAAEC,UAAU,QAAQ,iBAAgB;AACnE,OAAOC,iBAAiB,gBAAe;AACvC,SAASC,YAAYC,YAAY,QAAQ,OAAM;AAK/C,SAASC,yBAAyB,QAAQ,4CAA2C;AACrF,SAASC,eAAe,QAAQ,uBAAsB;AACtD,SAASC,cAAc,QAAQ,gCAA+B;AAC9D,SAASC,qBAAqB,QAAQ,mDAAkD;AACxF,SAASC,YAAY,QAAQ,oBAAmB;AAChD,SAASC,aAAa,QAAQ,qBAAoB;AAgDlD;;;;CAIC,GACD,OAAO,MAAMC,yBAAyB,CAAC,EACrCC,OAAO,EACPC,UAAU,EACVC,cAAc,EACdC,eAAe,EAAE,EACjBC,gBAAgBC,sBAAsB,EACtCC,cAAc,EAAE,EAChBC,MAAM,EACNC,KAAK,EACLC,QAAQC,cAAc,EACtBC,gBAAgB,EAChBC,iBAAiB,EACjBC,cAAcC,gBAAgB,EAC9BC,eAAeC,qBAAqB,EACpCC,YAAY,EACZC,YAAY,EACZC,SAAS,EACTC,kBAAkB,EAAE,EACpBC,KAAK,EACA;IACL,MAAMC,YAAYR,gBAAgB,CAAC,EAAE;IACrC,IAAIL,SAASC;IACb,MAAMK,gBAAgBC,yBAAyBG;IAC/C,IAAIf,iBAAiBC,0BAA0B;IAE/C,MAAMkB,QAAQhB,OAAOiB,IAAI,CAAC,CAACC,cAAgBA,YAAYC,IAAI,KAAKJ;IAChE,IAAIK,eAAeR;IAEnB,IAAI,CAACI,SAASD,cAAc,MAAM;QAChCL,aAAaW,EAAE,GAAG5B,QAAQ6B,MAAM,CAACF,aAAa,CAACC,EAAE;QACjD,OAAO;YACLE,YAAY;YACZxB;YACAiB,OAAO;gBACLG,MAAM;gBACNK,MAAM/B,QAAQgC,MAAM,KAAK,SAAS,SAAS;YAC7C;YACAC,OAAOjC,QAAQ6B,MAAM,CAACF,aAAa;QACrC;IACF;IAEA,IAAIJ,OAAO;QACT,MAAMV,eAAe;eAAIC;SAAiB;QAE1C,MAAMoB,mBAAmB9C,uBAAuB;YAAEmC;YAAOX;QAAkB;QAE3E,+BAA+B;QAC/B,qEAAqE;QACrE,IAAIsB,oBAAoBlC,QAAQmC,OAAO,CAACC,MAAM,CAACC,YAAY,EAAE;YAC3D,MAAMC,gBAAgBtC,QAAQmC,OAAO,CAACC,MAAM,CAACC,YAAY,CAACE,WAAW,CAACf,IAAI,CACxE,CAACf,SAAWA,WAAWI,YAAY,CAAC,EAAE;YAGxC,IAAIyB,eAAe;gBACjB7B,SAAS6B;gBACTzB,aAAa2B,MAAM,CAAC,GAAG;YACzB;QACF;QAEA,OAAQjB,MAAMQ,IAAI;YAChB,KAAK;gBAAS;oBACZJ,eAAe3B,QAAQyC,YAAY,CAACC,GAAG,CACrC,GAAGvB,UAAU,CAAC,EAAEC,kBAAkB9B,YAAYiC,MAAMG,IAAI,GAAG;oBAG7D,MAAMiB,mBAAmB1C,cAAcD,QAAQ6B,MAAM,CAACV,UAAU;oBAEhEf,iBAAiB,GAAGA,iBAAiBmB,MAAMG,IAAI,CAAC,GAAG,CAAC;oBACpD,IAAIjB,UAAUyB,oBAAoBlC,QAAQmC,OAAO,CAACC,MAAM,CAACC,YAAY,EAAE;wBACrE,MAAMO,aAAa;4BAAC9D,GAAG6D,iBAAiBf,EAAE,EAAE5B,QAAQ6B,MAAM,CAACF,aAAa,CAACkB,SAAS;yBAAE;wBAEpF,IAAI3B,cAAc;4BAChBD,aAAa6B,OAAO,GAAG9C,QAAQ6B,MAAM,CAACF,aAAa,CAACmB,OAAO;wBAC7D;wBAEA,IAAIrC,WAAW,OAAO;4BACpBmC,WAAWG,IAAI,CAACjE,GAAGkB,QAAQ6B,MAAM,CAACF,aAAa,CAACmB,OAAO,EAAErC;wBAC3D;wBACAZ,aAAa;4BACXmD,WAAWnE,OAAO+D;4BAClBpC;4BACAyB,OAAOjC,QAAQ6B,MAAM,CAACF,aAAa;wBACrC;oBACF,OAAO;wBACL9B,aAAa;4BACXmD,WAAWlE,GAAG6D,iBAAiBf,EAAE,EAAE5B,QAAQ6B,MAAM,CAACF,aAAa,CAACkB,SAAS;4BACzErC;4BACAyB,OAAOjC,QAAQ6B,MAAM,CAACF,aAAa;wBACrC;oBACF;oBAEA,OAAO5B,uBAAuB;wBAC5BC;wBACAE;wBACAE;wBACAE;wBACAC,QAAQgB,MAAM0B,eAAe;wBAC7BzC;wBACAC;wBACAE,kBAAkBV;wBAClBW,mBAAmBA,qBAAqBW,MAAM2B,SAAS;wBACvDrC,cAAcA,aAAasC,KAAK,CAAC;wBACjCpC;wBACAE;wBACAC;wBACAC,WAAWQ;wBACXN;oBACF;gBACF;YACA,KAAK;gBAAU;oBACb,IAAIrB,QAAQoD,YAAY,EAAE;wBACxB;oBACF;oBACA,IAAIC;oBACJ,IAAI1B;oBAEJ,2BAA2B;oBAC3B,IAAId,YAAY,CAAC,EAAE,KAAK,aAAa;wBACnC,wCAAwC;wBACxC,MAAMyC,aAAaC,MAAMC,OAAO,CAACnC,SAASA,QAAQ;4BAACA;yBAAM;wBACzDiC,WAAWG,OAAO,CAAC,CAACC;4BAClB,MAAMC,QACJ3D,QAAQmC,OAAO,CAACyB,MAAM,CAACF,UAAU,IAChC,AAACnC,CAAAA,MAAMsC,eAAe,IAAItC,MAAMqC,MAAM,AAAD,EAAGpC,IAAI,CAC3C,CAACmC,QAAU,OAAOA,UAAU,YAAYA,MAAMG,IAAI,KAAKJ;4BAG3D/B,eAAe/B,sBACb+D,OACA3D,QAAQyC,YAAY,CAACC,GAAG,CAAC,GAAGvB,UAAU,QAAQ,EAAE7B,YAAYqE,MAAMG,IAAI,GAAG;4BAG3E,MAAM,EAAEC,aAAa,EAAE,GAAGjE,cAAc;gCAAEE;gCAASmB,WAAWQ;4BAAa;4BAE3EnB,MAAMuC,IAAI,CAAC;gCACTC,WAAWlE,GAAGkB,QAAQ6B,MAAM,CAACV,UAAU,CAACS,EAAE,EAAEmC,cAAclB,SAAS;gCACnEZ,OAAO8B;4BACT;4BACAzD,YAAYyC,IAAI,CAAC;gCACfjB,YAAY;gCACZG,OAAO8B;gCACP1C,OAAOR,YAAY,CAAC,EAAE;4BACxB;wBACF;wBACA,OAAO;4BACLP;4BACAiB;4BACAyC,yBAAyB,IAAM;4BAC/B/B,OAAOjC,QAAQ6B,MAAM,CAACV,UAAU;wBAClC;oBACF;oBAEA,MAAM8C,gBAAgB,AAAC1C,CAAAA,MAAMsC,eAAe,IAAItC,MAAMqC,MAAM,AAAD,EAAGM,IAAI,CAAC,CAACC;wBAClE,MAAMR,QAAQ,OAAOQ,WAAW,WAAWnE,QAAQmC,OAAO,CAACyB,MAAM,CAACO,OAAO,GAAGA;wBAE5ExC,eAAe/B,sBACb+D,OACA3D,QAAQyC,YAAY,CAACC,GAAG,CAAC,GAAGvB,UAAU,QAAQ,EAAE7B,YAAYqE,MAAMG,IAAI,GAAG;wBAG3E1D,iBAAiB,GAAGA,iBAAiBmB,MAAMG,IAAI,CAAC,GAAG,CAAC;wBAEpD,IAAI0C;wBACJ,MAAMC,mBAAmB,EAAE;wBAC3B,MAAMC,oBAAoB,CAAC;wBAE3B,IAAIC;wBACJ,IAAIrC,oBAAoBlC,QAAQmC,OAAO,CAACC,MAAM,CAACC,YAAY,EAAE;4BAC3D,MAAMO,aAAa;gCACjB9D,GACE,AAACmB,CAAAA,cAAcD,QAAQ6B,MAAM,CAACV,UAAU,AAAD,EAAGS,EAAE,EAC5C5B,QAAQ6B,MAAM,CAACF,aAAa,CAACkB,SAAS;6BAEzC;4BAED,IAAIpC,WAAW,OAAO;gCACpBmC,WAAWG,IAAI,CAACjE,GAAGkB,QAAQ6B,MAAM,CAACF,aAAa,CAACmB,OAAO,EAAErC;4BAC3D;4BAEA8D,YAAY;gCACVvB,WAAWnE,OAAO+D;gCAClBX,OAAOjC,QAAQ6B,MAAM,CAACF,aAAa;4BACrC;wBACF,OAAO;4BACL4C,YAAY;gCACVvB,WAAWlE,GACT,AAACmB,CAAAA,cAAcD,QAAQ6B,MAAM,CAACV,UAAU,AAAD,EAAGS,EAAE,EAC5C5B,QAAQ6B,MAAM,CAACF,aAAa,CAACkB,SAAS;gCAExCZ,OAAOjC,QAAQ6B,MAAM,CAACF,aAAa;4BACrC;wBACF;wBAEA,0CAA0C;wBAC1C,MAAM6C,WAAW;+BAAIhE;yBAAM;wBAE3B,IAAI;4BACF4D,SAASrE,uBAAuB;gCAC9BC;gCACAE;gCACAE;gCACAE,aAAa+D;gCACb9D,QAAQoD,MAAMV,eAAe;gCAC7BzC,OAAOgE;gCACP/D;gCACAG,mBAAmBA,qBAAqBW,MAAM2B,SAAS;gCACvDrC,cAAcA,aAAasC,KAAK,CAAC;gCACjCpC;gCACAE,cAAcqD;gCACdpD;gCACAC,WAAWQ;gCACXN;4BACF;wBACF,EAAE,OAAOoD,GAAG;wBACV,oDAAoD;wBACtD;wBACA,IAAI,CAACL,QAAQ;4BACX;wBACF;wBACAf,mBAAmBe;wBACnB9D,cAAcA,YAAYoE,MAAM,CAACL;wBACjCpD,eAAe;4BAAE,GAAGA,YAAY;4BAAE,GAAGqD,iBAAiB;wBAAC;wBAEvD,MAAMK,iBAAiBnE,MAAMoE,MAAM;wBACnCpE,MAAMuC,IAAI,CAACwB;wBACX,oFAAoF;wBACpF,IAAIC,SAASI,MAAM,GAAGD,gBAAgB;4BACpC,IAAK,IAAIE,IAAIF,gBAAgBE,IAAIL,SAASI,MAAM,EAAEC,IAAK;gCACrDrE,MAAMuC,IAAI,CAACyB,QAAQ,CAACK,EAAE;4BACxB;wBACF;wBACA,OAAO;oBACT;oBACA,IAAIZ,eAAe;wBACjB,OAAO;4BACLnC,YAAYuB,iBAAiBvB,UAAU;4BACvCxB;4BACAiB,OAAO8B,iBAAiB9B,KAAK;4BAC7BV,cAAcA,aAAasC,KAAK,CAAC;4BACjC2B,WAAWzB,iBAAiByB,SAAS;4BACrC7C,OAAOoB,iBAAiBpB,KAAK;wBAC/B;oBACF;oBACA;gBACF;YAEA,KAAK;gBAAS;oBACZ,IAAIxB,UAAUyB,oBAAoBlC,QAAQmC,OAAO,CAACC,MAAM,CAACC,YAAY,EAAE;wBACrEV,eAAe,GAAGR,YAAYnB,QAAQ+E,aAAa,EAAE;wBAErD,IAAI/B,YAAYlE,GAAGkB,QAAQ6B,MAAM,CAACV,UAAU,CAACS,EAAE,EAAE5B,QAAQ6B,MAAM,CAACF,aAAa,CAACkB,SAAS;wBAEvF,IAAIpC,WAAW,OAAO;4BACpBuC,YAAYnE,IAAImE,WAAWlE,GAAGkB,QAAQ6B,MAAM,CAACF,aAAa,CAACmB,OAAO,EAAErC;wBACtE;wBAEAZ,aAAa;4BACXmD;4BACAxC;4BACAyB,OAAOjC,QAAQ6B,MAAM,CAACF,aAAa;wBACrC;oBACF;oBACA,OAAO5B,uBAAuB;wBAC5BC;wBACAC;wBACAC;wBACAC,cAAc,GAAGA,eAAeoB,MAAMG,IAAI,CAAC,CAAC,CAAC;wBAC7CtB,gBAAgB,GAAGA,iBAAiBmB,MAAMG,IAAI,CAAC,CAAC,CAAC;wBACjDpB;wBACAC,QAAQgB,MAAM0B,eAAe;wBAC7BzC;wBACAC;wBACAG,mBAAmBA,qBAAqBW,MAAM2B,SAAS;wBACvDrC,cAAcA,aAAasC,KAAK,CAAC;wBACjCpC;wBACAE;wBACAC;wBACAC,WAAWQ;wBACXP,iBAAiB,GAAGA,kBAAkB9B,YAAYiC,MAAMG,IAAI,EAAE,CAAC,CAAC;wBAChEL;oBACF;gBACF;YAEA,KAAK;gBAAQ;oBACX,IAAIkC,MAAMC,OAAO,CAACjC,MAAMyD,UAAU,GAAG;wBACnC,MAAM,IAAI9F,SAAS;oBACrB;oBAEA,MAAM+F,oBAAoBpE,aAAasC,KAAK,CAAC,GAAG+B,IAAI,CAAC;oBAErD,IAAI3D,MAAM4D,OAAO,EAAE;wBACjB,MAAMC,oBAAoB,GAAGpF,QAAQyC,YAAY,CAACC,GAAG,CAACpD,YAAYiC,MAAMyD,UAAU,KAAKhF,QAAQqF,mBAAmB,EAAE;wBACpH,MAAM,EAAEtB,eAAeuB,sBAAsB,EAAE,GAAGxF,cAAc;4BAC9DE;4BACAmB,WAAWiE;wBACb;wBAEA,MAAMG,oBAAoBpG,eAAe;4BACvCoB,QAAQP,QAAQmC,OAAO,CAACqD,WAAW,CAACjE,MAAMyD,UAAU,CAAC,CAAC5C,MAAM,CAACa,eAAe;4BAC5EwC,MAAMlE,MAAMmE,EAAE;wBAChB;wBACA,IAAI,CAACH,mBAAmB;4BACtB,MAAM,IAAIrG,SAAS;wBACrB;wBAEAW,aAAa;4BACXmD,WAAWnE,IACTC,GACEkB,QAAQ6B,MAAM,CAACd,cAAc,CAACa,EAAE,EAChC0D,sBAAsB,CACpB,GAAG,AAACC,kBAAkBhE,KAAK,CAAuBoE,UAAU,CAAW,EAAE,CAAC,CAC3E,GAEH3G,KAAKsG,uBAAuBG,IAAI,EAAElE,MAAMmE,EAAE;4BAE5ClF;4BACAoF,WAAWrE,MAAMmE,EAAE;4BACnBzD,OAAOqD;wBACT;wBAEA,IAAIL,sBAAsB,MAAM;4BAC9B,OAAO;gCACLnD,YAAY;gCACZxB;gCACAiB,OAAO;oCACLG,MAAM;oCACNK,MAAM/B,QAAQgC,MAAM,KAAK,SAAS,SAAS;gCAC7C;gCACAC,OAAOqD;4BACT;wBACF;wBAEA,MAAMO,qBAAqB7F,QAAQmC,OAAO,CAACqD,WAAW,CAACjE,MAAMyD,UAAU,CAAC,CAAC5C,MAAM;wBAC/E,MAAM0D,wBAAwB9F,QAAQyC,YAAY,CAACC,GAAG,CACpDpD,YAAYuG,mBAAmB/B,IAAI;wBAGrC,oCAAoC;wBACpC,MAAMiC,qBAAqBF,mBAAmB5C,eAAe;wBAE7D,MAAM,EAAEc,eAAeiC,iBAAiB,EAAE,GAAGlG,cAAc;4BACzDE;4BACAmB,WAAW2E;wBACb;wBAEAtF,MAAMuC,IAAI,CAAC;4BACTC,WAAWlE,GAAGwG,uBAAuBW,MAAM,EAAED,kBAAkBpE,EAAE;4BACjEK,OAAO+D;wBACT;wBAEA,OAAOjG,uBAAuB;4BAC5BC;4BACAC,YAAY+F;4BACZ9F,gBAAgB+E;4BAChB3E;4BACA,oFAAoF;4BACpFC,QAAQwF;4BACRvF;4BACAC;4BACAG,mBAAmB;4BACnBC,cAAcA,aAAasC,KAAK,CAAC;4BACjCpC,eAAe+E;4BACf7E;4BACAC;4BACAC,WAAW2E;4BACXzE;wBACF;oBACF;oBAEA,MAAMM,eAAe3B,QAAQyC,YAAY,CAACC,GAAG,CAC3CpD,YAAYU,QAAQmC,OAAO,CAACqD,WAAW,CAACjE,MAAMyD,UAAU,CAAC,CAAC5C,MAAM,CAAC0B,IAAI;oBAEvE,MAAM,EAAEC,aAAa,EAAE,GAAGjE,cAAc;wBAAEE;wBAASmB,WAAWQ;oBAAa;oBAE3EnB,MAAMuC,IAAI,CAAC;wBACTC,WAAWlE,GACTiF,aAAa,CAACxC,MAAMmE,EAAE,CAACQ,UAAU,CAAC,KAAK,KAAK,EAC5CjG,aAAaA,WAAW2B,EAAE,GAAG5B,QAAQ6B,MAAM,CAACV,UAAU,CAACS,EAAE;wBAE3DK,OAAO8B;oBACT;oBAEA,IAAIkB,sBAAsB,MAAM;wBAC9B,OAAO;4BACLnD,YAAY;4BACZxB;4BACAiB,OAAO;gCACLG,MAAM;gCACNK,MAAM/B,QAAQgC,MAAM,KAAK,SAAS,SAAS;4BAC7C;4BACAC,OAAO8B;wBACT;oBACF;oBAEA,OAAOhE,uBAAuB;wBAC5BC;wBACAC,YAAY8D;wBACZ7D,gBAAgB+E;wBAChB7E,gBAAgB;wBAChBE;wBACAC,QAAQP,QAAQmC,OAAO,CAACqD,WAAW,CAACjE,MAAMyD,UAAU,CAAC,CAAC5C,MAAM,CAACa,eAAe;wBAC5EzC;wBACAC;wBACAG,mBAAmBA,qBAAqBW,MAAM2B,SAAS;wBACvDrC,cAAcA,aAAasC,KAAK,CAAC;wBACjClC;wBACAE,WAAWQ;wBACXN;oBACF;oBAEA;gBACF;YAEA,KAAK;YACL,KAAK;gBAAQ;oBACX,IAAIE,MAAM4D,OAAO,EAAE;wBACjB,IAAIgB,YAAY;wBAChB,IAAIrE,aAAa;wBACjB,IAAIP,MAAMQ,IAAI,KAAK,UAAU;4BAC3BoE,YAAY;4BACZrE,aAAa;wBACf;wBACAH,eAAe,GAAGZ,cAAc,CAAC,EAAEoF,WAAW;wBAC9C,MAAMC,kBAAkB;4BACtBtH,GAAGkB,QAAQ6B,MAAM,CAACd,cAAc,CAACa,EAAE,EAAE5B,QAAQ6B,MAAM,CAACF,aAAa,CAACsE,MAAM;4BACxEjH,KAAKgB,QAAQ6B,MAAM,CAACF,aAAa,CAAC8D,IAAI,EAAE,GAAGrF,iBAAiBmB,MAAMG,IAAI,EAAE;yBACzE;wBAED,IAAIjB,UAAUyB,oBAAoBlC,QAAQmC,OAAO,CAACC,MAAM,CAACC,YAAY,EAAE;4BACrE,MAAMO,aAAa;mCAAIwD;6BAAgB;4BAEvC,IAAI3F,WAAW,OAAO;gCACpBmC,WAAWG,IAAI,CAACjE,GAAGkB,QAAQ6B,MAAM,CAACF,aAAa,CAACmB,OAAO,EAAErC;4BAC3D;4BACAZ,aAAa;gCACXmD,WAAWnE,OAAO+D;gCAClBpC;gCACAyB,OAAOjC,QAAQ6B,MAAM,CAACF,aAAa;4BACrC;wBACF,OAAO;4BACL9B,aAAa;gCACXmD,WAAWnE,OAAOuH;gCAClB5F;gCACAyB,OAAOjC,QAAQ6B,MAAM,CAACF,aAAa;4BACrC;wBACF;wBAEA,OAAO;4BACLG;4BACAxB;4BACAiB;4BACAU,OAAOjC,QAAQ6B,MAAM,CAACF,aAAa;wBACrC;oBACF;oBACA;gBACF;YACA,KAAK;YACL,KAAK;gBAAU;oBACb,MAAMsD,oBAAoBpE,aAAasC,KAAK,CAAC,GAAG+B,IAAI,CAAC;oBAErD,IAAI3B,MAAMC,OAAO,CAACjC,MAAMoE,UAAU,KAAKpE,MAAM4D,OAAO,EAAE;wBACpD,IAAIY;wBACJ,MAAMX,oBAAoB,GAAGrE,gBAAgBf,QAAQqF,mBAAmB,EAAE;wBAE1E,MAAMgB,eAAe7F,MAAMgB,IAAI,CAAC,CAAC8E,IAAMA,EAAEV,SAAS,KAAK,GAAGxF,eAAe,CAAC,EAAEmB,MAAMG,IAAI,EAAE;wBAExF,IAAI4D;wBACJ,IAAIiB;wBACJ,IAAIF,cAAc;4BAChBf,yBAAyBe,aAAapE,KAAK;4BAC3CsE,6BAA6BxH,aAAasH,aAAapE,KAAK;wBAC9D,OAAO;4BACL,MAAMuE,MAAM1G,cAAc;gCACxBE;gCACAmB,WAAWiE;4BACb;4BACAE,yBAAyBkB,IAAIzC,aAAa;4BAC1CwC,6BAA6BC,IAAIC,iBAAiB;wBACpD;wBAEA,IAAIvF,gBAAgBgB,oBAAoBlC,QAAQmC,OAAO,CAACC,MAAM,CAACC,YAAY,EAAE;4BAC3EpB,aAAa6B,OAAO,GAAGwC,uBAAuB7E,MAAM;wBACtD;wBAEA,kCAAkC;wBAClC,IAAIA,UAAUyB,oBAAoBlC,QAAQmC,OAAO,CAACC,MAAM,CAACC,YAAY,EAAE;4BACrE,MAAMO,aAAa;gCACjB9D,GACE,AAAC6B,CAAAA,oBAAoBV,cAAcD,QAAQ6B,MAAM,CAACd,cAAc,AAAD,EAAGa,EAAE,EACpE0D,uBAAuBW,MAAM;gCAE/BjH,KAAKsG,uBAAuBG,IAAI,EAAE,GAAGrF,iBAAiBmB,MAAMG,IAAI,EAAE;6BACnE;4BAED,IAAIjB,WAAW,OAAO;gCACpBmC,WAAWG,IAAI,CAACjE,GAAGwG,uBAAuB7E,MAAM,EAAEA;4BACpD;4BAEAZ,aAAa;gCACXmD,WAAWnE,OAAO+D;gCAClBpC;gCACAoF,WAAW,GAAGxF,eAAe,CAAC,EAAEmB,MAAMG,IAAI,EAAE;gCAC5CO,OAAOqD;4BACT;wBACF,OAAO;4BACL,kCAAkC;4BAClCzF,aAAa;gCACXmD,WAAWnE,IACTC,GACE,AAAC6B,CAAAA,oBAAoBV,cAAcD,QAAQ6B,MAAM,CAACd,cAAc,AAAD,EAAGa,EAAE,EACpE0D,uBAAuBW,MAAM,GAE/BjH,KAAKsG,uBAAuBG,IAAI,EAAE,GAAGrF,iBAAiBmB,MAAMG,IAAI,EAAE;gCAEpElB;gCACAoF,WAAW,GAAGxF,eAAe,CAAC,EAAEmB,MAAMG,IAAI,EAAE;gCAC5CO,OAAOqD;4BACT;wBACF;wBAEArE,YAAY,CAAC,GAAGmE,kBAAkB,KAAK,CAAC,CAAC,GAAGE,uBAAuBG,IAAI;wBAEvE,IAAI1B;wBAEJ,IAAI,OAAOxC,MAAMoE,UAAU,KAAK,UAAU;4BACxC,MAAME,qBAAqB7F,QAAQmC,OAAO,CAACqD,WAAW,CAACjE,MAAMoE,UAAU,CAAC,CAACvD,MAAM;4BAE/ET,eAAe3B,QAAQyC,YAAY,CAACC,GAAG,CAACpD,YAAYuG,mBAAmB/B,IAAI;4BAE3E,oCAAoC;4BACpCiC,qBAAqBF,mBAAmB5C,eAAe;4BACrD,CAAA,EAAEc,aAAa,EAAE,GAAGjE,cAAc;gCAAEE;gCAASmB,WAAWQ;4BAAa,EAAC;4BAExEnB,MAAMuC,IAAI,CAAC;gCACTC,WAAWlE,GAAGiF,cAAcnC,EAAE,EAAE0D,sBAAsB,CAAC,GAAG/D,MAAMoE,UAAU,CAAC,EAAE,CAAC,CAAC;gCAC/E1D,OAAO8B;4BACT;4BAEA,IAAIkB,sBAAsB,MAAMA,sBAAsB,MAAM;gCAC1D,OAAO;oCACLnD,YAAY,GAAGP,MAAMoE,UAAU,CAAC,EAAE,CAAC;oCACnCrF;oCACAiB;oCACAU,OAAOqD;gCACT;4BACF;wBACF,OAAO,IAAIL,sBAAsB,SAAS;4BACxC,MAAMyB,kCAAkCnF,MAAMoE,UAAU,CAACzB,IAAI,CAC3D,CAACyB,aAAe,CAAC,CAAC3F,QAAQmC,OAAO,CAACqD,WAAW,CAACG,WAAW,CAACgB,YAAY;4BAGxE,MAAMC,UAAkCrF,MAAMoE,UAAU,CACrDkB,GAAG,CAAC,CAAClB;gCACJ,IAAI3D,SACFhC,QAAQgC,MAAM,KAAK,SAAS,SAAS;gCAEvC,MAAM,EAAE2E,YAAY,EAAE,GAAG3G,QAAQmC,OAAO,CAACqD,WAAW,CAACG,WAAW;gCAEhE,IAAIgB,cAAc;oCAChB3E,SAAS2E;gCACX;gCAEA,MAAMG,mBAAmB9E,WAAW,UAAUA,WAAW;gCAEzD,yEAAyE;gCACzE,sGAAsG;gCACtG,IAAI,OAAOX,UAAU,YAAYyF,kBAAkB;oCACjD,OAAO;gCACT;gCAEA,IACEvD,MAAMC,OAAO,CAACnC,UACdA,MAAM0F,KAAK,CAAC,CAACC,MAAQ,OAAOA,QAAQ,aACpCF,kBACA;oCACA,OAAO;gCACT;gCAEA,mHAAmH;gCACnH,uCAAuC;gCACvC,iHAAiH;gCACjH,IACEzF,SACA,CAACkC,MAAMC,OAAO,CAACnC,UACfW,WAAW,UACX0E,iCACA;oCACA,IAAI,CAAClH,aAAa6B,QAAQ;wCACxB,OAAO;oCACT;gCACF;gCAEA,IACEkC,MAAMC,OAAO,CAACnC,UACdW,WAAW,UACX0E,mCACA,CAACrF,MAAM6C,IAAI,CAAC,CAAC8C,MAAQxH,aAAawH,OAClC;oCACA,OAAO;gCACT;gCAEA,MAAM5B,oBAAoBpF,QAAQyC,YAAY,CAACC,GAAG,CAChDpD,YAAYU,QAAQmC,OAAO,CAACqD,WAAW,CAACG,WAAW,CAACvD,MAAM,CAAC0B,IAAI;gCAGjE,OAAO;oCACL9B;oCACA8C,WAAW7F,IAAIgI,GAAG,CAAC,CAAC,CAAC,EAAEV,2BAA2B,GAAG,EAAEnB,kBAAkB,IAAI,CAAC;gCAChF;4BACF,GACC8B,MAAM,CAACC;4BAEV,OAAO;gCACLP;gCACAtG;gCACAiB;gCACAU,OAAOqD;4BACT;wBACF,OAAO,IAAIL,sBAAsB,cAAc;4BAC7C,MAAMU,aAAapC,MAAMC,OAAO,CAACjC,MAAMoE,UAAU,IAC7CpE,MAAMoE,UAAU,GAChB;gCAACpE,MAAMoE,UAAU;6BAAC;4BAEtB,OAAO;gCACLrF;gCACAiB;gCACAyC,yBAAyB,CAACgD;oCACxB,MAAMI,kBAAkBzB,WAAWnE,IAAI,CAAC,CAAC6F,WAAaA,aAAaL;oCACnE,IAAII,iBAAiB;wCACnB,OAAO,GAAGA,gBAAgB,EAAE,CAAC;oCAC/B;oCACA,OAAOE;gCACT;gCACArF,OAAOqD;4BACT;wBACF,OAAO,IAAI7F,0BAA0B4B,QAAQ;4BAC3C,MAAM,EAAEsE,UAAU,EAAE,GAAGtE;4BAEvB,MAAM+D,oBAAoBpF,QAAQyC,YAAY,CAACC,GAAG,CAChDpD,YAAYU,QAAQmC,OAAO,CAACqD,WAAW,CAACG,WAAW,CAACvD,MAAM,CAAC0B,IAAI;4BAGjE,OAAO;gCACLxD;gCACAiB;gCACAuD,WAAW7F,IAAIgI,GAAG,CAAC,CAAC,CAAC,EAAEV,2BAA2B,GAAG,EAAEnB,kBAAkB,IAAI,CAAC;gCAC9EnD,OAAOqD;4BACT;wBACF,OAAO,IAAIjE,UAAU1B,gBAAgB;4BACnC,MAAM4H,MAA2B,CAAC;4BAElChG,MAAMoE,UAAU,CAAClC,OAAO,CAAC,CAACkC;gCACxB,MAAMP,oBAAoBpF,QAAQyC,YAAY,CAACC,GAAG,CAChDpD,YAAYU,QAAQmC,OAAO,CAACqD,WAAW,CAACG,WAAW,CAACvD,MAAM,CAAC0B,IAAI;gCAGjEyD,GAAG,CAAC5B,WAAW,GAAG1G,IAAIgI,GAAG,CAAC,CAAC,CAAC,EAAEV,2BAA2B,GAAG,EAAEnB,kBAAkB,IAAI,CAAC;4BACvF;4BAEA,IAAIN,YAAYpF,gBAAgBM,SAASuH;4BACzC,IAAIvH,QAAQ0B,IAAI,KAAK,YAAY;gCAC/BoD,YAAY7F,GAAG,CAAC,EAAE6F,UAAU,MAAM,CAAC;4BACrC;4BAEA,OAAO;gCACLxE;gCACAiB;gCACAuD;gCACA7C,OAAOqD;4BACT;wBACF,OAAO;4BACL,MAAM,IAAIpG,SAAS;wBACrB;wBAEA,OAAOa,uBAAuB;4BAC5BC;4BACAC,YAAY8D;4BACZ7D,gBAAgB+E;4BAChB3E;4BACA,oFAAoF;4BACpFC,QAAQwF;4BACRvF;4BACAC;4BACAG,mBAAmB;4BACnBC,cAAcA,aAAasC,KAAK,CAAC;4BACjCpC,eAAeY;4BACfV;4BACAC;4BACAC,WAAWQ;4BACXN;wBACF;oBACF,OAAO,IACLR,aAAa+D,MAAM,GAAG,KACtB,CAAE/D,CAAAA,aAAa+D,MAAM,KAAK,KAAK/D,YAAY,CAAC,EAAE,KAAK,IAAG,GACtD;wBACA,uBAAuB;wBACvB,MAAMiB,aAAa,GAAG3B,eAAeoB,MAAMG,IAAI,EAAE;wBACjD,MAAMC,eAAe3B,QAAQyC,YAAY,CAACC,GAAG,CAC3CpD,YAAYU,QAAQmC,OAAO,CAACqD,WAAW,CAACjE,MAAMoE,UAAU,CAAC,CAACvD,MAAM,CAAC0B,IAAI;wBAEvE,MAAM,EAAEC,aAAa,EAAE,GAAGjE,cAAc;4BAAEE;4BAASmB,WAAWQ;wBAAa;wBAE3E,IAAIO,oBAAoBlC,QAAQmC,OAAO,CAACC,MAAM,CAACC,YAAY,EAAE;4BAC3D,MAAM,EAAE0B,eAAeyD,gBAAgB,EAAE,GAAG1H,cAAc;gCACxDE;gCACAmB,WAAW,GAAGJ,gBAAgBf,QAAQ+E,aAAa,EAAE;4BACvD;4BAEA,MAAM0C,YAAY;gCAAC3I,GAAG0I,iBAAiB3E,SAAS,EAAE7C,QAAQ6B,MAAM,CAACd,cAAc,CAACa,EAAE;6BAAE;4BAEpF,IAAIV,cAAc;gCAChBD,aAAa6B,OAAO,GAAG0E,iBAAiB1E,OAAO;4BACjD;4BAEA,IAAIrC,WAAW,OAAO;gCACpBgH,UAAU1E,IAAI,CAACjE,GAAG0I,iBAAiB1E,OAAO,EAAErC;4BAC9C;4BAEA,MAAMiH,eAAe1H,QAAQ6B,MAAM,CAAC,GAAGd,gBAAgBf,QAAQ+E,aAAa,EAAE,CAAC;4BAE/ElF,aAAa;gCACXmD,WAAWnE,OAAO4I;gCAClBjH;gCACAyB,OAAOyF;4BACT;4BAEAlH,MAAMuC,IAAI,CAAC;gCACTC,WAAWlE,GAAG4I,YAAY,CAAC5F,WAAW,EAAEiC,cAAcnC,EAAE;gCACxDK,OAAO8B;4BACT;wBACF,OAAO;4BACLvD,MAAMuC,IAAI,CAAC;gCACTC,WAAWlE,GACTiF,cAAcnC,EAAE,EAChB3B,aAAaA,UAAU,CAAC6B,WAAW,GAAG9B,QAAQ6B,MAAM,CAACV,UAAU,CAACW,WAAW;gCAE7EG,OAAO8B;4BACT;wBACF;wBAEA,OAAOhE,uBAAuB;4BAC5BC;4BACAC,YAAY8D;4BACZ7D,gBAAgB+E;4BAChB7E,gBAAgB;4BAChBE;4BACAC,QAAQP,QAAQmC,OAAO,CAACqD,WAAW,CAACjE,MAAMoE,UAAU,CAAC,CAACvD,MAAM,CAACa,eAAe;4BAC5EzC;4BACAC;4BACAG,mBAAmBA,qBAAqBW,MAAM2B,SAAS;4BACvDrC,cAAcA,aAAasC,KAAK,CAAC;4BACjClC;4BACAE,WAAWQ;4BACXN;wBACF;oBACF;oBAEA;gBACF;YAEA,KAAK;gBAAU;oBACb,IAAIE,MAAM4D,OAAO,EAAE;wBACjB,MAAMxD,eAAe3B,QAAQyC,YAAY,CAACC,GAAG,CAC3C,GAAGvB,UAAU,CAAC,EAAEC,kBAAkB9B,YAAYiC,MAAMG,IAAI,GAAG;wBAG7D,MAAMiG,WAAW,AAAC1H,CAAAA,cAAcD,QAAQ6B,MAAM,CAACV,UAAU,AAAD,EAAGS,EAAE;wBAC7D,IAAInB,UAAUyB,oBAAoBlC,QAAQmC,OAAO,CAACC,MAAM,CAACC,YAAY,EAAE;4BACrE,MAAMO,aAAa;gCACjB9D,GAAG6I,UAAU3H,QAAQ6B,MAAM,CAACF,aAAa,CAACsE,MAAM;gCAChDnH,GAAGkB,QAAQ6B,MAAM,CAACF,aAAa,CAACmB,OAAO,EAAErC;6BAC1C;4BAED,IAAIA,WAAW,OAAO;gCACpBmC,WAAWG,IAAI,CAACjE,GAAGkB,QAAQ6B,MAAM,CAACF,aAAa,CAACmB,OAAO,EAAErC;4BAC3D;4BAEAZ,aAAa;gCACXmD,WAAWnE,OAAO+D;gCAClBpC;gCACAyB,OAAOjC,QAAQ6B,MAAM,CAACF,aAAa;4BACrC;wBACF,OAAO;4BACL9B,aAAa;gCACXmD,WAAWlE,GAAG6I,UAAU3H,QAAQ6B,MAAM,CAACF,aAAa,CAACsE,MAAM;gCAC3DzF;gCACAyB,OAAOjC,QAAQ6B,MAAM,CAACF,aAAa;4BACrC;wBACF;wBAEA,OAAO;4BACLG,YAAY;4BACZxB;4BACAiB;4BACAU,OAAOjC,QAAQ6B,MAAM,CAACF,aAAa;wBACrC;oBACF;oBACA;gBACF;YAEA,KAAK;gBAAO;oBACV,IAAItC,WAAWkC,QAAQ;wBACrB,OAAOxB,uBAAuB;4BAC5BC;4BACAC;4BACAC;4BACAC,cAAc,GAAGA,eAAeoB,MAAMG,IAAI,CAAC,CAAC,CAAC;4BAC7CtB,gBAAgB,GAAGA,iBAAiBmB,MAAMG,IAAI,CAAC,CAAC,CAAC;4BACjDpB;4BACAC,QAAQgB,MAAM0B,eAAe;4BAC7BzC;4BACAC;4BACAG,mBAAmBA,qBAAqBW,MAAM2B,SAAS;4BACvDrC,cAAcA,aAAasC,KAAK,CAAC;4BACjCpC;4BACAE;4BACAC;4BACAC,WAAWQ;4BACXP,iBAAiB,GAAGA,kBAAkB9B,YAAYiC,MAAMG,IAAI,EAAE,CAAC,CAAC;4BAChEL;wBACF;oBACF;oBACA,OAAOtB,uBAAuB;wBAC5BC;wBACAC;wBACAC;wBACAC;wBACAC;wBACAE;wBACAC,QAAQgB,MAAM0B,eAAe;wBAC7BzC;wBACAC;wBACAG,mBAAmBA,qBAAqBW,MAAM2B,SAAS;wBACvDrC,cAAcA,aAAasC,KAAK,CAAC;wBACjCpC;wBACAE;wBACAC;wBACAC,WAAWQ;wBACXP;wBACAC;oBACF;gBACF;YAEA;gBAAS;oBAEP;gBACF;QACF;QAEA,IAAIuG,WAAW5H,QAAQ6B,MAAM,CAACF,aAAa;QAE3C,IAAIO,oBAAoBlC,QAAQmC,OAAO,CAACC,MAAM,CAACC,YAAY,EAAE;YAC3D,yEAAyE;YACzE,yDAAyD;YACzD,MAAMwF,cAAc5H,cAAcD,QAAQ6B,MAAM,CAACV,UAAU;YAC3DQ,eAAe,GAAGR,YAAYnB,QAAQ+E,aAAa,EAAE;YAErD6C,WAAW5H,QAAQ6B,MAAM,CAACF,aAAa;YAEvC,IAAIqB,YAAYlE,GAAG+I,YAAYjG,EAAE,EAAEgG,SAAS/E,SAAS;YAErD,IAAIpC,WAAW,OAAO;gBACpBuC,YAAYnE,IAAImE,WAAWlE,GAAG8I,SAAS9E,OAAO,EAAErC;YAClD;YAEA,IAAIS,cAAc;gBAChBD,aAAa6B,OAAO,GAAG8E,SAAS9E,OAAO;YACzC;YAEAjD,aAAa;gBACXmD;gBACAxC;gBACAyB,OAAO2F;YACT;YAEA3H,aAAaqH;QACf;QAEA,MAAMQ,cAAc7H,cAAc2H;QAElC3G,YAAY,CAAC,GAAGU,aAAa,CAAC,EAAExB,eAAeoB,MAAMG,IAAI,EAAE,CAAC,GAC1DoG,WAAW,CAAC,GAAG3H,eAAeoB,MAAMG,IAAI,EAAE,CAAC;QAE7C,OAAO;YACLI,YAAY,GAAG3B,eAAeoB,MAAMG,IAAI,EAAE;YAC1CpB;YACAiB;YACAV;YACAoB,OAAO6F;QACT;IACF;IAEA,MAAM,IAAI5I,SAAS,CAAC,8BAA8B,EAAEoC,WAAW;AACjE,EAAC"}
|
|
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 {\n FlattenedBlock,\n FlattenedField,\n NumberField,\n RelationshipField,\n TextField,\n} from 'payload'\n\nimport { and, eq, getTableName, like, or, sql, Table } from 'drizzle-orm'\nimport { type PgTableWithColumns } from 'drizzle-orm/pg-core'\nimport { APIError, getFieldByPath } from 'payload'\nimport { fieldShouldBeLocalized, 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 { jsonBuildObject } from '../utilities/json.js'\nimport { DistinctSymbol } from '../utilities/rawConstraint.js'\nimport { resolveBlockTableName } from '../utilities/validateExistingBlockIsIdentical.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 parentAliasTable?: PgTableWithColumns<any> | SQLiteTableWithColumns<any>\n parentIsLocalized: boolean\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 parentAliasTable,\n parentIsLocalized,\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 const isFieldLocalized = fieldShouldBeLocalized({ field, parentIsLocalized })\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 (isFieldLocalized && 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 && isFieldLocalized && 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\n return getTableColumnFromPath({\n adapter,\n collectionPath,\n constraintPath,\n constraints,\n fields: field.flattenedFields,\n joins,\n locale,\n parentAliasTable: aliasTable,\n parentIsLocalized: parentIsLocalized || field.localized,\n pathSegments: pathSegments.slice(1),\n rootTableName,\n selectFields,\n selectLocale,\n tableName: newTableName,\n value,\n })\n }\n case 'blocks': {\n if (adapter.blocksAsJSON) {\n break\n }\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 =\n adapter.payload.blocks[blockType] ??\n ((field.blockReferences ?? field.blocks).find(\n (block) => typeof block !== 'string' && block.slug === blockType,\n ) as FlattenedBlock | undefined)\n\n newTableName = resolveBlockTableName(\n block,\n adapter.tableNameMap.get(`${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.blockReferences ?? field.blocks).some((_block) => {\n const block = typeof _block === 'string' ? adapter.payload.blocks[_block] : _block\n\n newTableName = resolveBlockTableName(\n block,\n adapter.tableNameMap.get(`${tableName}_blocks_${toSnakeCase(block.slug)}`),\n )\n\n constraintPath = `${constraintPath}${field.name}.%.`\n\n let result: TableColumn\n const blockConstraints = []\n const blockSelectFields = {}\n\n let blockJoin: BuildQueryJoinAliases[0]\n if (isFieldLocalized && 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 blockJoin = {\n condition: and(...conditions),\n table: adapter.tables[newTableName],\n }\n } else {\n blockJoin = {\n condition: eq(\n (aliasTable || adapter.tables[tableName]).id,\n adapter.tables[newTableName]._parentID,\n ),\n table: adapter.tables[newTableName],\n }\n }\n\n // Create a new reference for nested joins\n const newJoins = [...joins]\n\n try {\n result = getTableColumnFromPath({\n adapter,\n collectionPath,\n constraintPath,\n constraints: blockConstraints,\n fields: block.flattenedFields,\n joins: newJoins,\n locale,\n parentIsLocalized: parentIsLocalized || field.localized,\n pathSegments: pathSegments.slice(1),\n rootTableName,\n selectFields: blockSelectFields,\n selectLocale,\n tableName: newTableName,\n value,\n })\n } catch (_) {\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\n const previousLength = joins.length\n joins.push(blockJoin)\n // Append new joins AFTER the block join to prevent errors with missing FROM clause.\n if (newJoins.length > previousLength) {\n for (let i = previousLength; i < newJoins.length; i++) {\n joins.push(newJoins[i])\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 && isFieldLocalized && 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 parentIsLocalized: parentIsLocalized || field.localized,\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 'join': {\n if (Array.isArray(field.collection)) {\n throw new APIError('Not supported')\n }\n\n const newCollectionPath = pathSegments.slice(1).join('.')\n\n if (field.hasMany) {\n const relationTableName = `${adapter.tableNameMap.get(toSnakeCase(field.collection))}${adapter.relationshipsSuffix}`\n const { newAliasTable: aliasRelationshipTable } = getTableAlias({\n adapter,\n tableName: relationTableName,\n })\n\n const relationshipField = getFieldByPath({\n fields: adapter.payload.collections[field.collection].config.flattenedFields,\n path: field.on,\n })\n if (!relationshipField) {\n throw new APIError('Relationship was not found')\n }\n\n addJoinTable({\n condition: and(\n eq(\n adapter.tables[rootTableName].id,\n aliasRelationshipTable[\n `${(relationshipField.field as RelationshipField).relationTo as string}ID`\n ],\n ),\n like(aliasRelationshipTable.path, field.on),\n ),\n joins,\n queryPath: field.on,\n table: aliasRelationshipTable,\n })\n\n if (newCollectionPath === 'id') {\n return {\n columnName: 'parent',\n constraints,\n field: {\n name: 'id',\n type: adapter.idType === 'uuid' ? 'text' : 'number',\n } as NumberField | TextField,\n table: aliasRelationshipTable,\n }\n }\n\n const relationshipConfig = adapter.payload.collections[field.collection].config\n const relationshipTableName = adapter.tableNameMap.get(\n toSnakeCase(relationshipConfig.slug),\n )\n\n // parent to relationship join table\n const relationshipFields = relationshipConfig.flattenedFields\n\n const { newAliasTable: relationshipTable } = getTableAlias({\n adapter,\n tableName: relationshipTableName,\n })\n\n joins.push({\n condition: eq(aliasRelationshipTable.parent, relationshipTable.id),\n table: relationshipTable,\n })\n\n return getTableColumnFromPath({\n adapter,\n aliasTable: relationshipTable,\n collectionPath: newCollectionPath,\n constraints,\n // relationshipFields are fields from a different collection => no parentIsLocalized\n fields: relationshipFields,\n joins,\n locale,\n parentIsLocalized: false,\n pathSegments: pathSegments.slice(1),\n rootTableName: relationshipTableName,\n selectFields,\n selectLocale,\n tableName: relationshipTableName,\n value,\n })\n }\n\n const newTableName = adapter.tableNameMap.get(\n toSnakeCase(adapter.payload.collections[field.collection].config.slug),\n )\n const { newAliasTable } = getTableAlias({ adapter, tableName: newTableName })\n\n joins.push({\n condition: eq(\n newAliasTable[field.on.replaceAll('.', '_')],\n aliasTable ? aliasTable.id : adapter.tables[tableName].id,\n ),\n table: newAliasTable,\n })\n\n if (newCollectionPath === '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: 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.collection].config.flattenedFields,\n joins,\n locale,\n parentIsLocalized: parentIsLocalized || field.localized,\n pathSegments: pathSegments.slice(1),\n selectFields,\n tableName: newTableName,\n value,\n })\n\n break\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\n const existingTable = joins.find((e) => e.queryPath === `${constraintPath}${field.name}`)\n\n const table = (existingTable?.table ??\n getTableAlias({ adapter, tableName: newTableName })\n .newAliasTable) as PgTableWithColumns<any>\n\n const joinConstraints = [\n eq(adapter.tables[rootTableName].id, table.parent),\n like(table.path, `${constraintPath}${field.name}`),\n ]\n\n if (locale && isFieldLocalized && adapter.payload.config.localization) {\n const conditions = [...joinConstraints]\n\n if (locale !== 'all') {\n conditions.push(eq(table._locale, locale))\n }\n\n addJoinTable({\n condition: and(...conditions),\n joins,\n queryPath: `${constraintPath}${field.name}`,\n table,\n })\n } else {\n addJoinTable({\n condition: and(...joinConstraints),\n joins,\n queryPath: `${constraintPath}${field.name}`,\n table,\n })\n }\n\n return {\n columnName,\n constraints,\n field,\n table,\n }\n }\n break\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\n const existingJoin = joins.find((e) => e.queryPath === `${constraintPath}.${field.name}`)\n\n let aliasRelationshipTable: PgTableWithColumns<any> | SQLiteTableWithColumns<any>\n let aliasRelationshipTableName: string\n if (existingJoin) {\n aliasRelationshipTable = existingJoin.table\n aliasRelationshipTableName = getTableName(existingJoin.table)\n } else {\n const res = getTableAlias({\n adapter,\n tableName: relationTableName,\n })\n aliasRelationshipTable = res.newAliasTable\n aliasRelationshipTableName = res.newAliasTableName\n }\n\n if (selectLocale && isFieldLocalized && adapter.payload.config.localization) {\n selectFields._locale = aliasRelationshipTable.locale\n }\n\n // Join in the relationships table\n if (locale && isFieldLocalized && adapter.payload.config.localization) {\n const conditions = [\n eq(\n (parentAliasTable || aliasTable || adapter.tables[rootTableName]).id,\n aliasRelationshipTable.parent,\n ),\n like(aliasRelationshipTable.path, `${constraintPath}${field.name}`),\n ]\n\n if (locale !== 'all') {\n conditions.push(eq(aliasRelationshipTable.locale, locale))\n }\n\n addJoinTable({\n condition: and(...conditions),\n joins,\n queryPath: `${constraintPath}.${field.name}`,\n table: aliasRelationshipTable,\n })\n } else {\n // Join in the relationships table\n addJoinTable({\n condition: and(\n eq(\n (parentAliasTable || aliasTable || adapter.tables[rootTableName]).id,\n aliasRelationshipTable.parent,\n ),\n like(aliasRelationshipTable.path, `${constraintPath}${field.name}`),\n ),\n joins,\n queryPath: `${constraintPath}.${field.name}`,\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 if (value === DistinctSymbol) {\n const obj: Record<string, SQL> = {}\n\n field.relationTo.forEach((relationTo) => {\n const relationTableName = adapter.tableNameMap.get(\n toSnakeCase(adapter.payload.collections[relationTo].config.slug),\n )\n\n obj[relationTo] = sql.raw(`\"${aliasRelationshipTableName}\".\"${relationTableName}_id\"`)\n })\n\n let rawColumn = jsonBuildObject(adapter, obj)\n if (adapter.name === 'postgres') {\n rawColumn = sql`${rawColumn}::text`\n }\n\n return {\n constraints,\n field,\n rawColumn,\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 // relationshipFields are fields from a different collection => no parentIsLocalized\n fields: relationshipFields,\n joins,\n locale,\n parentIsLocalized: false,\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 (isFieldLocalized && 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 parentIsLocalized: parentIsLocalized || field.localized,\n pathSegments: pathSegments.slice(1),\n selectFields,\n tableName: newTableName,\n value,\n })\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 const idColumn = (aliasTable ?? adapter.tables[tableName]).id\n if (locale && isFieldLocalized && adapter.payload.config.localization) {\n const conditions = [\n eq(idColumn, 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(idColumn, 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 parentIsLocalized: parentIsLocalized || field.localized,\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 parentIsLocalized: parentIsLocalized || field.localized,\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 (isFieldLocalized && 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","getTableName","like","sql","APIError","getFieldByPath","fieldShouldBeLocalized","tabHasName","toSnakeCase","validate","uuidValidate","isPolymorphicRelationship","jsonBuildObject","DistinctSymbol","resolveBlockTableName","addJoinTable","getTableAlias","getTableColumnFromPath","adapter","aliasTable","collectionPath","columnPrefix","constraintPath","incomingConstraintPath","constraints","fields","joins","locale","incomingLocale","parentAliasTable","parentIsLocalized","pathSegments","incomingSegments","rootTableName","incomingRootTableName","selectFields","selectLocale","tableName","tableNameSuffix","value","fieldPath","field","find","fieldToFind","name","newTableName","id","tables","columnName","type","idType","table","isFieldLocalized","payload","config","localization","matchedLocale","localeCodes","splice","tableNameMap","get","arrayParentTable","conditions","_parentID","_locale","push","condition","flattenedFields","localized","slice","blocksAsJSON","blockTableColumn","blockTypes","Array","isArray","forEach","blockType","block","blocks","blockReferences","slug","newAliasTable","getNotNullColumnByValue","hasBlockField","some","_block","result","blockConstraints","blockSelectFields","blockJoin","newJoins","_","concat","previousLength","length","i","rawColumn","localesSuffix","collection","newCollectionPath","join","hasMany","relationTableName","relationshipsSuffix","aliasRelationshipTable","relationshipField","collections","path","on","relationTo","queryPath","relationshipConfig","relationshipTableName","relationshipFields","relationshipTable","parent","replaceAll","tableType","existingTable","e","joinConstraints","existingJoin","aliasRelationshipTableName","res","newAliasTableName","hasCustomCollectionWithCustomID","customIDType","columns","map","idTypeTextOrUuid","every","val","raw","filter","Boolean","matchedRelation","relation","undefined","obj","aliasLocaleTable","condtions","localesTable","idColumn","newTable","parentTable","targetTable"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseParams.d.ts","sourceRoot":"","sources":["../../src/queries/parseParams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAY,IAAI,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAOpE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"parseParams.d.ts","sourceRoot":"","sources":["../../src/queries/parseParams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAY,IAAI,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAOpE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAS5D,MAAM,MAAM,YAAY,GAAG;IAAE,OAAO,CAAC,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,CAAA;AAExD,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,cAAc,CAAA;IACvB,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,OAAO,EAAE,YAAY,CAAA;IACrB,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,KAAK,EAAE,qBAAqB,CAAA;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iBAAiB,EAAE,OAAO,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC3C,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,UAAU,EACV,OAAO,EACP,MAAM,EACN,KAAK,EACL,MAAM,EACN,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,KAAK,GACN,EAAE,IAAI,GAAG,GAAG,CAqaZ"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { and, isNotNull, isNull, ne, notInArray, or, sql } from 'drizzle-orm';
|
|
2
2
|
import { PgUUID } from 'drizzle-orm/pg-core';
|
|
3
|
-
import { QueryError } from 'payload';
|
|
3
|
+
import { APIError, QueryError } from 'payload';
|
|
4
4
|
import { validOperatorSet } from 'payload/shared';
|
|
5
5
|
import { getNameFromDrizzleTable } from '../utilities/getNameFromDrizzleTable.js';
|
|
6
|
+
import { isValidStringID } from '../utilities/isValidStringID.js';
|
|
6
7
|
import { DistinctSymbol } from '../utilities/rawConstraint.js';
|
|
7
8
|
import { buildAndOrConditions } from './buildAndOrConditions.js';
|
|
8
9
|
import { getTableColumnFromPath } from './getTableColumnFromPath.js';
|
|
@@ -280,6 +281,37 @@ export function parseParams({ adapter, aliasTable, context, fields, joins, local
|
|
|
280
281
|
resolvedQueryValue = queryValue.filter((v)=>v !== null);
|
|
281
282
|
}
|
|
282
283
|
let constraint = adapter.operators[queryOperator](resolvedColumn, resolvedQueryValue);
|
|
284
|
+
if (adapter.limitedBoundParameters && (operator === 'in' || operator === 'not_in') && relationOrPath === 'id' && Array.isArray(queryValue)) {
|
|
285
|
+
let isInvalid = false;
|
|
286
|
+
for (const val of queryValue){
|
|
287
|
+
if (typeof val === 'number' || val === null) {
|
|
288
|
+
continue;
|
|
289
|
+
}
|
|
290
|
+
if (typeof val === 'string') {
|
|
291
|
+
if (!isValidStringID(val)) {
|
|
292
|
+
isInvalid = true;
|
|
293
|
+
break;
|
|
294
|
+
} else {
|
|
295
|
+
continue;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
isInvalid = true;
|
|
299
|
+
break;
|
|
300
|
+
}
|
|
301
|
+
if (isInvalid) {
|
|
302
|
+
throw new APIError(`Invalid ID value in ${JSON.stringify(queryValue)}`);
|
|
303
|
+
}
|
|
304
|
+
constraints.push(sql.raw(`${resolvedColumn.name} ${operator === 'in' ? 'IN' : 'NOT IN'} (${queryValue.map((e)=>{
|
|
305
|
+
if (e === null) {
|
|
306
|
+
return `NULL`;
|
|
307
|
+
}
|
|
308
|
+
if (typeof e === 'number') {
|
|
309
|
+
return e;
|
|
310
|
+
}
|
|
311
|
+
return `'${e}'`;
|
|
312
|
+
}).join(',')})`));
|
|
313
|
+
break;
|
|
314
|
+
}
|
|
283
315
|
if (orConditions.length) {
|
|
284
316
|
orConditions.push(constraint);
|
|
285
317
|
constraint = or(...orConditions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/queries/parseParams.ts"],"sourcesContent":["import type { SQL, Table } from 'drizzle-orm'\nimport type { FlattenedField, Operator, Sort, Where } from 'payload'\n\nimport { and, isNotNull, isNull, ne, notInArray, or, sql } from 'drizzle-orm'\nimport { PgUUID } from 'drizzle-orm/pg-core'\nimport { QueryError } from 'payload'\nimport { validOperatorSet } from 'payload/shared'\n\nimport type { DrizzleAdapter, GenericColumn } from '../types.js'\nimport type { BuildQueryJoinAliases } from './buildQuery.js'\n\nimport { getNameFromDrizzleTable } from '../utilities/getNameFromDrizzleTable.js'\nimport { DistinctSymbol } from '../utilities/rawConstraint.js'\nimport { buildAndOrConditions } from './buildAndOrConditions.js'\nimport { getTableColumnFromPath } from './getTableColumnFromPath.js'\nimport { sanitizeQueryValue } from './sanitizeQueryValue.js'\n\nexport type QueryContext = { rawSort?: SQL; sort: Sort }\n\ntype Args = {\n adapter: DrizzleAdapter\n aliasTable?: Table\n context: QueryContext\n fields: FlattenedField[]\n joins: BuildQueryJoinAliases\n locale?: string\n parentIsLocalized: boolean\n selectFields: Record<string, GenericColumn>\n selectLocale?: boolean\n tableName: string\n where: Where\n}\n\nexport function parseParams({\n adapter,\n aliasTable,\n context,\n fields,\n joins,\n locale,\n parentIsLocalized,\n selectFields,\n selectLocale,\n tableName,\n where,\n}: Args): SQL {\n let result: SQL\n const constraints: SQL[] = []\n\n if (typeof where === 'object' && Object.keys(where).length > 0) {\n // We need to determine if the whereKey is an AND, OR, or a schema path\n for (const relationOrPath of Object.keys(where)) {\n if (relationOrPath) {\n const condition = where[relationOrPath]\n let conditionOperator: typeof and | typeof or\n if (relationOrPath.toLowerCase() === 'and') {\n conditionOperator = and\n } else if (relationOrPath.toLowerCase() === 'or') {\n conditionOperator = or\n }\n if (Array.isArray(condition)) {\n const builtConditions = buildAndOrConditions({\n adapter,\n aliasTable,\n context,\n fields,\n joins,\n locale,\n parentIsLocalized,\n selectFields,\n selectLocale,\n tableName,\n where: condition,\n })\n if (builtConditions.length > 0) {\n result = conditionOperator(...builtConditions)\n }\n } else {\n // It's a path - and there can be multiple comparisons on a single path.\n // For example - title like 'test' and title not equal to 'tester'\n // So we need to loop on keys again here to handle each operator independently\n const pathOperators = where[relationOrPath]\n if (typeof pathOperators === 'object') {\n for (let operator of Object.keys(pathOperators)) {\n if (validOperatorSet.has(operator as Operator)) {\n const val = where[relationOrPath][operator]\n\n const {\n columnName,\n columns,\n constraints: queryConstraints,\n field,\n getNotNullColumnByValue,\n pathSegments,\n rawColumn,\n table,\n } = getTableColumnFromPath({\n adapter,\n aliasTable,\n collectionPath: relationOrPath,\n fields,\n joins,\n locale,\n parentIsLocalized,\n pathSegments: relationOrPath.replace(/__/g, '.').split('.'),\n selectFields,\n selectLocale,\n tableName,\n value: val,\n })\n\n const resolvedColumn =\n rawColumn ||\n (aliasTable && tableName === getNameFromDrizzleTable(table)\n ? aliasTable[columnName]\n : table[columnName])\n\n if (val === DistinctSymbol) {\n selectFields['_selected'] = resolvedColumn\n break\n }\n\n queryConstraints.forEach(({ columnName: col, table: constraintTable, value }) => {\n if (typeof value === 'string' && value.indexOf('%') > -1) {\n constraints.push(adapter.operators.like(constraintTable[col], value))\n } else {\n constraints.push(adapter.operators.equals(constraintTable[col], value))\n }\n })\n\n if (\n (['json', 'richText'].includes(field.type) ||\n (field.type === 'blocks' && adapter.blocksAsJSON)) &&\n Array.isArray(pathSegments) &&\n pathSegments.length > 1\n ) {\n if (adapter.name === 'postgres') {\n const constraint = adapter.createJSONQuery({\n column: rawColumn || table[columnName],\n operator,\n pathSegments,\n value: val,\n })\n\n constraints.push(sql.raw(constraint))\n break\n }\n\n const segments = pathSegments.slice(1)\n segments.unshift(table[columnName].name)\n\n if (field.type === 'richText') {\n // use the table name from the nearest join to handle blocks, arrays, etc. or use the tableName arg\n const jsonTable =\n joins.length === 0\n ? tableName\n : joins[joins.length - 1].table[\n Object.getOwnPropertySymbols(joins[joins.length - 1].table)[0]\n ]\n const jsonQuery = adapter.createJSONQuery({\n operator,\n pathSegments: segments,\n table: jsonTable,\n treatAsArray: ['children'],\n treatRootAsArray: true,\n value: val,\n })\n\n constraints.push(sql.raw(jsonQuery))\n break\n }\n\n const jsonQuery = adapter.convertPathToJSONTraversal(pathSegments)\n const operatorKeys: Record<string, { operator: string; wildcard: string }> = {\n contains: { operator: 'like', wildcard: '%' },\n equals: { operator: '=', wildcard: '' },\n exists: { operator: val === true ? 'is not null' : 'is null', wildcard: '' },\n in: { operator: 'in', wildcard: '' },\n like: { operator: 'like', wildcard: '%' },\n not_equals: { operator: '<>', wildcard: '' },\n not_in: { operator: 'not in', wildcard: '' },\n not_like: { operator: 'not like', wildcard: '%' },\n }\n\n let formattedValue = val\n if (adapter.name === 'sqlite' && operator === 'equals' && !isNaN(val)) {\n formattedValue = val\n } else if (['in', 'not_in'].includes(operator) && Array.isArray(val)) {\n formattedValue = `(${val.map((v) => `${v}`).join(',')})`\n } else {\n formattedValue = `'${operatorKeys[operator].wildcard}${val}${operatorKeys[operator].wildcard}'`\n }\n if (operator === 'exists') {\n formattedValue = ''\n }\n\n let jsonQuerySelector = `${table[columnName].name}${jsonQuery}`\n\n if (adapter.name === 'sqlite' && operator === 'not_like') {\n jsonQuerySelector = `COALESCE(${table[columnName].name}${jsonQuery}, '')`\n }\n\n const rawSQLQuery = `${jsonQuerySelector} ${operatorKeys[operator].operator} ${formattedValue}`\n\n constraints.push(sql.raw(rawSQLQuery))\n\n break\n }\n\n if (getNotNullColumnByValue) {\n const columnName = getNotNullColumnByValue(val)\n if (columnName) {\n constraints.push(isNotNull(table[columnName]))\n } else {\n throw new QueryError([{ path: relationOrPath }])\n }\n break\n }\n\n if (\n operator === 'like' &&\n (field.type === 'number' ||\n field.type === 'relationship' ||\n field.type === 'upload' ||\n table[columnName].columnType === 'PgUUID')\n ) {\n operator = 'equals'\n }\n\n if (operator === 'like') {\n constraints.push(\n and(\n ...val\n .split(' ')\n .map((word) => adapter.operators.like(table[columnName], `%${word}%`)),\n ),\n )\n break\n }\n\n const sanitizedQueryValue = sanitizeQueryValue({\n adapter,\n columns,\n field,\n isUUID: table?.[columnName] instanceof PgUUID,\n operator,\n relationOrPath,\n val,\n })\n\n if (sanitizedQueryValue === null) {\n break\n }\n\n const {\n columns: queryColumns,\n operator: queryOperator,\n value: queryValue,\n } = sanitizedQueryValue\n\n // Handle polymorphic relationships by value\n if (queryColumns) {\n if (!queryColumns.length) {\n break\n }\n\n let wrapOperator = or\n\n if (queryValue === null && ['equals', 'not_equals'].includes(operator)) {\n if (operator === 'equals') {\n wrapOperator = and\n }\n\n constraints.push(\n wrapOperator(\n ...queryColumns.map(({ rawColumn }) =>\n operator === 'equals' ? isNull(rawColumn) : isNotNull(rawColumn),\n ),\n ),\n )\n break\n }\n\n if (['not_equals', 'not_in'].includes(operator)) {\n wrapOperator = and\n }\n\n constraints.push(\n wrapOperator(\n ...queryColumns.map(({ rawColumn, value }) =>\n adapter.operators[queryOperator](rawColumn, value),\n ),\n ),\n )\n\n break\n }\n\n if (queryOperator === 'not_equals' && queryValue !== null) {\n constraints.push(\n or(\n isNull(resolvedColumn),\n /* eslint-disable @typescript-eslint/no-explicit-any */\n ne<any>(resolvedColumn, queryValue),\n ),\n )\n break\n }\n\n if (\n (field.type === 'relationship' || field.type === 'upload') &&\n Array.isArray(queryValue) &&\n operator === 'not_in'\n ) {\n constraints.push(\n sql`(${notInArray(table[columnName], queryValue)} OR\n ${table[columnName]}\n IS\n NULL)`,\n )\n\n break\n }\n\n if (operator === 'equals' && queryValue === null) {\n constraints.push(isNull(resolvedColumn))\n break\n }\n\n if (operator === 'not_equals' && queryValue === null) {\n constraints.push(isNotNull(resolvedColumn))\n break\n }\n\n if (field.type === 'point' && adapter.name === 'postgres') {\n switch (operator) {\n case 'intersects': {\n constraints.push(\n sql`ST_Intersects(${table[columnName]}, ST_GeomFromGeoJSON(${JSON.stringify(queryValue)}))`,\n )\n break\n }\n\n case 'near': {\n const [lng, lat, maxDistance, minDistance] = queryValue as number[]\n const geoConstraints: SQL[] = []\n\n if (typeof maxDistance === 'number' && !Number.isNaN(maxDistance)) {\n geoConstraints.push(\n sql`ST_DWithin(ST_Transform(${table[columnName]}, 3857), ST_Transform(ST_SetSRID(ST_MakePoint(${lng}, ${lat}), 4326), 3857), ${maxDistance})`,\n )\n }\n\n if (typeof minDistance === 'number' && !Number.isNaN(minDistance)) {\n geoConstraints.push(\n sql`ST_Distance(ST_Transform(${table[columnName]}, 3857), ST_Transform(ST_SetSRID(ST_MakePoint(${lng}, ${lat}), 4326), 3857)) >= ${minDistance}`,\n )\n }\n if (geoConstraints.length) {\n context.sort = relationOrPath\n context.rawSort = sql`${table[columnName]} <-> ST_SetSRID(ST_MakePoint(${lng}, ${lat}), 4326)`\n constraints.push(and(...geoConstraints))\n }\n break\n }\n\n case 'within': {\n constraints.push(\n sql`ST_Within(${table[columnName]}, ST_GeomFromGeoJSON(${JSON.stringify(queryValue)}))`,\n )\n break\n }\n\n default:\n break\n }\n break\n }\n\n const orConditions: SQL<unknown>[] = []\n let resolvedQueryValue = queryValue\n if (\n operator === 'in' &&\n Array.isArray(queryValue) &&\n queryValue.some((v) => v === null)\n ) {\n orConditions.push(isNull(resolvedColumn))\n resolvedQueryValue = queryValue.filter((v) => v !== null)\n }\n let constraint = adapter.operators[queryOperator](\n resolvedColumn,\n resolvedQueryValue,\n )\n if (orConditions.length) {\n orConditions.push(constraint)\n constraint = or(...orConditions)\n }\n constraints.push(constraint)\n }\n }\n }\n }\n }\n }\n }\n if (constraints.length > 0) {\n if (result) {\n result = and(result, ...constraints)\n } else {\n result = and(...constraints)\n }\n }\n if (constraints.length === 1 && !result) {\n ;[result] = constraints\n }\n\n return result\n}\n"],"names":["and","isNotNull","isNull","ne","notInArray","or","sql","PgUUID","QueryError","validOperatorSet","getNameFromDrizzleTable","DistinctSymbol","buildAndOrConditions","getTableColumnFromPath","sanitizeQueryValue","parseParams","adapter","aliasTable","context","fields","joins","locale","parentIsLocalized","selectFields","selectLocale","tableName","where","result","constraints","Object","keys","length","relationOrPath","condition","conditionOperator","toLowerCase","Array","isArray","builtConditions","pathOperators","operator","has","val","columnName","columns","queryConstraints","field","getNotNullColumnByValue","pathSegments","rawColumn","table","collectionPath","replace","split","value","resolvedColumn","forEach","col","constraintTable","indexOf","push","operators","like","equals","includes","type","blocksAsJSON","name","constraint","createJSONQuery","column","raw","segments","slice","unshift","jsonTable","getOwnPropertySymbols","jsonQuery","treatAsArray","treatRootAsArray","convertPathToJSONTraversal","operatorKeys","contains","wildcard","exists","in","not_equals","not_in","not_like","formattedValue","isNaN","map","v","join","jsonQuerySelector","rawSQLQuery","path","columnType","word","sanitizedQueryValue","isUUID","queryColumns","queryOperator","queryValue","wrapOperator","JSON","stringify","lng","lat","maxDistance","minDistance","geoConstraints","Number","sort","rawSort","orConditions","resolvedQueryValue","some","filter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/queries/parseParams.ts"],"sourcesContent":["import type { SQL, Table } from 'drizzle-orm'\nimport type { FlattenedField, Operator, Sort, Where } from 'payload'\n\nimport { and, isNotNull, isNull, ne, notInArray, or, sql } from 'drizzle-orm'\nimport { PgUUID } from 'drizzle-orm/pg-core'\nimport { APIError, QueryError } from 'payload'\nimport { validOperatorSet } from 'payload/shared'\n\nimport type { DrizzleAdapter, GenericColumn } from '../types.js'\nimport type { BuildQueryJoinAliases } from './buildQuery.js'\n\nimport { getNameFromDrizzleTable } from '../utilities/getNameFromDrizzleTable.js'\nimport { isValidStringID } from '../utilities/isValidStringID.js'\nimport { DistinctSymbol } from '../utilities/rawConstraint.js'\nimport { buildAndOrConditions } from './buildAndOrConditions.js'\nimport { getTableColumnFromPath } from './getTableColumnFromPath.js'\nimport { sanitizeQueryValue } from './sanitizeQueryValue.js'\n\nexport type QueryContext = { rawSort?: SQL; sort: Sort }\n\ntype Args = {\n adapter: DrizzleAdapter\n aliasTable?: Table\n context: QueryContext\n fields: FlattenedField[]\n joins: BuildQueryJoinAliases\n locale?: string\n parentIsLocalized: boolean\n selectFields: Record<string, GenericColumn>\n selectLocale?: boolean\n tableName: string\n where: Where\n}\n\nexport function parseParams({\n adapter,\n aliasTable,\n context,\n fields,\n joins,\n locale,\n parentIsLocalized,\n selectFields,\n selectLocale,\n tableName,\n where,\n}: Args): SQL {\n let result: SQL\n const constraints: SQL[] = []\n\n if (typeof where === 'object' && Object.keys(where).length > 0) {\n // We need to determine if the whereKey is an AND, OR, or a schema path\n for (const relationOrPath of Object.keys(where)) {\n if (relationOrPath) {\n const condition = where[relationOrPath]\n let conditionOperator: typeof and | typeof or\n if (relationOrPath.toLowerCase() === 'and') {\n conditionOperator = and\n } else if (relationOrPath.toLowerCase() === 'or') {\n conditionOperator = or\n }\n if (Array.isArray(condition)) {\n const builtConditions = buildAndOrConditions({\n adapter,\n aliasTable,\n context,\n fields,\n joins,\n locale,\n parentIsLocalized,\n selectFields,\n selectLocale,\n tableName,\n where: condition,\n })\n if (builtConditions.length > 0) {\n result = conditionOperator(...builtConditions)\n }\n } else {\n // It's a path - and there can be multiple comparisons on a single path.\n // For example - title like 'test' and title not equal to 'tester'\n // So we need to loop on keys again here to handle each operator independently\n const pathOperators = where[relationOrPath]\n if (typeof pathOperators === 'object') {\n for (let operator of Object.keys(pathOperators)) {\n if (validOperatorSet.has(operator as Operator)) {\n const val = where[relationOrPath][operator]\n\n const {\n columnName,\n columns,\n constraints: queryConstraints,\n field,\n getNotNullColumnByValue,\n pathSegments,\n rawColumn,\n table,\n } = getTableColumnFromPath({\n adapter,\n aliasTable,\n collectionPath: relationOrPath,\n fields,\n joins,\n locale,\n parentIsLocalized,\n pathSegments: relationOrPath.replace(/__/g, '.').split('.'),\n selectFields,\n selectLocale,\n tableName,\n value: val,\n })\n\n const resolvedColumn =\n rawColumn ||\n (aliasTable && tableName === getNameFromDrizzleTable(table)\n ? aliasTable[columnName]\n : table[columnName])\n\n if (val === DistinctSymbol) {\n selectFields['_selected'] = resolvedColumn\n break\n }\n\n queryConstraints.forEach(({ columnName: col, table: constraintTable, value }) => {\n if (typeof value === 'string' && value.indexOf('%') > -1) {\n constraints.push(adapter.operators.like(constraintTable[col], value))\n } else {\n constraints.push(adapter.operators.equals(constraintTable[col], value))\n }\n })\n\n if (\n (['json', 'richText'].includes(field.type) ||\n (field.type === 'blocks' && adapter.blocksAsJSON)) &&\n Array.isArray(pathSegments) &&\n pathSegments.length > 1\n ) {\n if (adapter.name === 'postgres') {\n const constraint = adapter.createJSONQuery({\n column: rawColumn || table[columnName],\n operator,\n pathSegments,\n value: val,\n })\n\n constraints.push(sql.raw(constraint))\n break\n }\n\n const segments = pathSegments.slice(1)\n segments.unshift(table[columnName].name)\n\n if (field.type === 'richText') {\n // use the table name from the nearest join to handle blocks, arrays, etc. or use the tableName arg\n const jsonTable =\n joins.length === 0\n ? tableName\n : joins[joins.length - 1].table[\n Object.getOwnPropertySymbols(joins[joins.length - 1].table)[0]\n ]\n const jsonQuery = adapter.createJSONQuery({\n operator,\n pathSegments: segments,\n table: jsonTable,\n treatAsArray: ['children'],\n treatRootAsArray: true,\n value: val,\n })\n\n constraints.push(sql.raw(jsonQuery))\n break\n }\n\n const jsonQuery = adapter.convertPathToJSONTraversal(pathSegments)\n const operatorKeys: Record<string, { operator: string; wildcard: string }> = {\n contains: { operator: 'like', wildcard: '%' },\n equals: { operator: '=', wildcard: '' },\n exists: { operator: val === true ? 'is not null' : 'is null', wildcard: '' },\n in: { operator: 'in', wildcard: '' },\n like: { operator: 'like', wildcard: '%' },\n not_equals: { operator: '<>', wildcard: '' },\n not_in: { operator: 'not in', wildcard: '' },\n not_like: { operator: 'not like', wildcard: '%' },\n }\n\n let formattedValue = val\n if (adapter.name === 'sqlite' && operator === 'equals' && !isNaN(val)) {\n formattedValue = val\n } else if (['in', 'not_in'].includes(operator) && Array.isArray(val)) {\n formattedValue = `(${val.map((v) => `${v}`).join(',')})`\n } else {\n formattedValue = `'${operatorKeys[operator].wildcard}${val}${operatorKeys[operator].wildcard}'`\n }\n if (operator === 'exists') {\n formattedValue = ''\n }\n\n let jsonQuerySelector = `${table[columnName].name}${jsonQuery}`\n\n if (adapter.name === 'sqlite' && operator === 'not_like') {\n jsonQuerySelector = `COALESCE(${table[columnName].name}${jsonQuery}, '')`\n }\n\n const rawSQLQuery = `${jsonQuerySelector} ${operatorKeys[operator].operator} ${formattedValue}`\n\n constraints.push(sql.raw(rawSQLQuery))\n\n break\n }\n\n if (getNotNullColumnByValue) {\n const columnName = getNotNullColumnByValue(val)\n if (columnName) {\n constraints.push(isNotNull(table[columnName]))\n } else {\n throw new QueryError([{ path: relationOrPath }])\n }\n break\n }\n\n if (\n operator === 'like' &&\n (field.type === 'number' ||\n field.type === 'relationship' ||\n field.type === 'upload' ||\n table[columnName].columnType === 'PgUUID')\n ) {\n operator = 'equals'\n }\n\n if (operator === 'like') {\n constraints.push(\n and(\n ...val\n .split(' ')\n .map((word) => adapter.operators.like(table[columnName], `%${word}%`)),\n ),\n )\n break\n }\n\n const sanitizedQueryValue = sanitizeQueryValue({\n adapter,\n columns,\n field,\n isUUID: table?.[columnName] instanceof PgUUID,\n operator,\n relationOrPath,\n val,\n })\n\n if (sanitizedQueryValue === null) {\n break\n }\n\n const {\n columns: queryColumns,\n operator: queryOperator,\n value: queryValue,\n } = sanitizedQueryValue\n\n // Handle polymorphic relationships by value\n if (queryColumns) {\n if (!queryColumns.length) {\n break\n }\n\n let wrapOperator = or\n\n if (queryValue === null && ['equals', 'not_equals'].includes(operator)) {\n if (operator === 'equals') {\n wrapOperator = and\n }\n\n constraints.push(\n wrapOperator(\n ...queryColumns.map(({ rawColumn }) =>\n operator === 'equals' ? isNull(rawColumn) : isNotNull(rawColumn),\n ),\n ),\n )\n break\n }\n\n if (['not_equals', 'not_in'].includes(operator)) {\n wrapOperator = and\n }\n\n constraints.push(\n wrapOperator(\n ...queryColumns.map(({ rawColumn, value }) =>\n adapter.operators[queryOperator](rawColumn, value),\n ),\n ),\n )\n\n break\n }\n\n if (queryOperator === 'not_equals' && queryValue !== null) {\n constraints.push(\n or(\n isNull(resolvedColumn),\n /* eslint-disable @typescript-eslint/no-explicit-any */\n ne<any>(resolvedColumn, queryValue),\n ),\n )\n break\n }\n\n if (\n (field.type === 'relationship' || field.type === 'upload') &&\n Array.isArray(queryValue) &&\n operator === 'not_in'\n ) {\n constraints.push(\n sql`(${notInArray(table[columnName], queryValue)} OR\n ${table[columnName]}\n IS\n NULL)`,\n )\n\n break\n }\n\n if (operator === 'equals' && queryValue === null) {\n constraints.push(isNull(resolvedColumn))\n break\n }\n\n if (operator === 'not_equals' && queryValue === null) {\n constraints.push(isNotNull(resolvedColumn))\n break\n }\n\n if (field.type === 'point' && adapter.name === 'postgres') {\n switch (operator) {\n case 'intersects': {\n constraints.push(\n sql`ST_Intersects(${table[columnName]}, ST_GeomFromGeoJSON(${JSON.stringify(queryValue)}))`,\n )\n break\n }\n\n case 'near': {\n const [lng, lat, maxDistance, minDistance] = queryValue as number[]\n const geoConstraints: SQL[] = []\n\n if (typeof maxDistance === 'number' && !Number.isNaN(maxDistance)) {\n geoConstraints.push(\n sql`ST_DWithin(ST_Transform(${table[columnName]}, 3857), ST_Transform(ST_SetSRID(ST_MakePoint(${lng}, ${lat}), 4326), 3857), ${maxDistance})`,\n )\n }\n\n if (typeof minDistance === 'number' && !Number.isNaN(minDistance)) {\n geoConstraints.push(\n sql`ST_Distance(ST_Transform(${table[columnName]}, 3857), ST_Transform(ST_SetSRID(ST_MakePoint(${lng}, ${lat}), 4326), 3857)) >= ${minDistance}`,\n )\n }\n if (geoConstraints.length) {\n context.sort = relationOrPath\n context.rawSort = sql`${table[columnName]} <-> ST_SetSRID(ST_MakePoint(${lng}, ${lat}), 4326)`\n constraints.push(and(...geoConstraints))\n }\n break\n }\n\n case 'within': {\n constraints.push(\n sql`ST_Within(${table[columnName]}, ST_GeomFromGeoJSON(${JSON.stringify(queryValue)}))`,\n )\n break\n }\n\n default:\n break\n }\n break\n }\n\n const orConditions: SQL<unknown>[] = []\n let resolvedQueryValue = queryValue\n if (\n operator === 'in' &&\n Array.isArray(queryValue) &&\n queryValue.some((v) => v === null)\n ) {\n orConditions.push(isNull(resolvedColumn))\n resolvedQueryValue = queryValue.filter((v) => v !== null)\n }\n\n let constraint = adapter.operators[queryOperator](\n resolvedColumn,\n resolvedQueryValue,\n )\n\n if (\n adapter.limitedBoundParameters &&\n (operator === 'in' || operator === 'not_in') &&\n relationOrPath === 'id' &&\n Array.isArray(queryValue)\n ) {\n let isInvalid = false\n for (const val of queryValue) {\n if (typeof val === 'number' || val === null) {\n continue\n }\n if (typeof val === 'string') {\n if (!isValidStringID(val)) {\n isInvalid = true\n break\n } else {\n continue\n }\n }\n isInvalid = true\n break\n }\n\n if (isInvalid) {\n throw new APIError(`Invalid ID value in ${JSON.stringify(queryValue)}`)\n }\n\n constraints.push(\n sql.raw(\n `${resolvedColumn.name} ${operator === 'in' ? 'IN' : 'NOT IN'} (${queryValue\n .map((e) => {\n if (e === null) {\n return `NULL`\n }\n\n if (typeof e === 'number') {\n return e\n }\n\n return `'${e}'`\n })\n .join(',')})`,\n ),\n )\n break\n }\n\n if (orConditions.length) {\n orConditions.push(constraint)\n constraint = or(...orConditions)\n }\n constraints.push(constraint)\n }\n }\n }\n }\n }\n }\n }\n if (constraints.length > 0) {\n if (result) {\n result = and(result, ...constraints)\n } else {\n result = and(...constraints)\n }\n }\n if (constraints.length === 1 && !result) {\n ;[result] = constraints\n }\n\n return result\n}\n"],"names":["and","isNotNull","isNull","ne","notInArray","or","sql","PgUUID","APIError","QueryError","validOperatorSet","getNameFromDrizzleTable","isValidStringID","DistinctSymbol","buildAndOrConditions","getTableColumnFromPath","sanitizeQueryValue","parseParams","adapter","aliasTable","context","fields","joins","locale","parentIsLocalized","selectFields","selectLocale","tableName","where","result","constraints","Object","keys","length","relationOrPath","condition","conditionOperator","toLowerCase","Array","isArray","builtConditions","pathOperators","operator","has","val","columnName","columns","queryConstraints","field","getNotNullColumnByValue","pathSegments","rawColumn","table","collectionPath","replace","split","value","resolvedColumn","forEach","col","constraintTable","indexOf","push","operators","like","equals","includes","type","blocksAsJSON","name","constraint","createJSONQuery","column","raw","segments","slice","unshift","jsonTable","getOwnPropertySymbols","jsonQuery","treatAsArray","treatRootAsArray","convertPathToJSONTraversal","operatorKeys","contains","wildcard","exists","in","not_equals","not_in","not_like","formattedValue","isNaN","map","v","join","jsonQuerySelector","rawSQLQuery","path","columnType","word","sanitizedQueryValue","isUUID","queryColumns","queryOperator","queryValue","wrapOperator","JSON","stringify","lng","lat","maxDistance","minDistance","geoConstraints","Number","sort","rawSort","orConditions","resolvedQueryValue","some","filter","limitedBoundParameters","isInvalid","e"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insert.d.ts","sourceRoot":"","sources":["../../src/sqlite/insert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,MAAM,EAAE,MAAM,YAAY,CAAA;AAE3D,eAAO,MAAM,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"insert.d.ts","sourceRoot":"","sources":["../../src/sqlite/insert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,MAAM,EAAE,MAAM,YAAY,CAAA;AAE3D,eAAO,MAAM,MAAM,EAAE,MAkCpB,CAAA"}
|
package/dist/sqlite/insert.js
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
export const insert = async function({ db, onConflictDoUpdate, tableName, values }) {
|
|
2
2
|
const table = this.tables[tableName];
|
|
3
|
+
// Batch insert if limitedBoundParameters: true
|
|
4
|
+
if (this.limitedBoundParameters && Array.isArray(values)) {
|
|
5
|
+
const results = [];
|
|
6
|
+
const colsPerRow = Object.keys(values[0]).length;
|
|
7
|
+
const maxParams = 100;
|
|
8
|
+
const maxRowsPerBatch = Math.max(1, Math.floor(maxParams / colsPerRow));
|
|
9
|
+
for(let i = 0; i < values.length; i += maxRowsPerBatch){
|
|
10
|
+
const batch = values.slice(i, i + maxRowsPerBatch);
|
|
11
|
+
const batchResult = onConflictDoUpdate ? await db.insert(table).values(batch).onConflictDoUpdate(onConflictDoUpdate).returning() : await db.insert(table).values(batch).returning();
|
|
12
|
+
results.push(...batchResult);
|
|
13
|
+
}
|
|
14
|
+
return results;
|
|
15
|
+
}
|
|
3
16
|
const result = onConflictDoUpdate ? await db.insert(table).values(values).onConflictDoUpdate(onConflictDoUpdate).returning() : await db.insert(table).values(values).returning();
|
|
4
17
|
// See https://github.com/payloadcms/payload/pull/11831#discussion_r2010431908
|
|
5
18
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/sqlite/insert.ts"],"sourcesContent":["import type { BaseSQLiteAdapter, Insert } from './types.js'\n\nexport const insert: Insert = async function (\n // Here 'this' is not a parameter. See:\n // https://www.typescriptlang.org/docs/handbook/2/classes.html#this-parameters\n this: BaseSQLiteAdapter,\n { db, onConflictDoUpdate, tableName, values },\n): Promise<Record<string, unknown>[]> {\n const table = this.tables[tableName]\n\n const result = onConflictDoUpdate\n ? await db.insert(table).values(values).onConflictDoUpdate(onConflictDoUpdate).returning()\n : await db.insert(table).values(values).returning()\n\n // See https://github.com/payloadcms/payload/pull/11831#discussion_r2010431908\n return result as Record<string, unknown>[]\n}\n"],"names":["insert","db","onConflictDoUpdate","tableName","values","table","tables","
|
|
1
|
+
{"version":3,"sources":["../../src/sqlite/insert.ts"],"sourcesContent":["import type { BaseSQLiteAdapter, Insert } from './types.js'\n\nexport const insert: Insert = async function (\n // Here 'this' is not a parameter. See:\n // https://www.typescriptlang.org/docs/handbook/2/classes.html#this-parameters\n this: BaseSQLiteAdapter,\n { db, onConflictDoUpdate, tableName, values },\n): Promise<Record<string, unknown>[]> {\n const table = this.tables[tableName]\n\n // Batch insert if limitedBoundParameters: true\n if (this.limitedBoundParameters && Array.isArray(values)) {\n const results: Record<string, unknown>[] = []\n const colsPerRow = Object.keys(values[0]).length\n const maxParams = 100\n const maxRowsPerBatch = Math.max(1, Math.floor(maxParams / colsPerRow))\n\n for (let i = 0; i < values.length; i += maxRowsPerBatch) {\n const batch = values.slice(i, i + maxRowsPerBatch)\n\n const batchResult = onConflictDoUpdate\n ? await db.insert(table).values(batch).onConflictDoUpdate(onConflictDoUpdate).returning()\n : await db.insert(table).values(batch).returning()\n\n results.push(...(batchResult as Record<string, unknown>[]))\n }\n\n return results\n }\n\n const result = onConflictDoUpdate\n ? await db.insert(table).values(values).onConflictDoUpdate(onConflictDoUpdate).returning()\n : await db.insert(table).values(values).returning()\n\n // See https://github.com/payloadcms/payload/pull/11831#discussion_r2010431908\n return result as Record<string, unknown>[]\n}\n"],"names":["insert","db","onConflictDoUpdate","tableName","values","table","tables","limitedBoundParameters","Array","isArray","results","colsPerRow","Object","keys","length","maxParams","maxRowsPerBatch","Math","max","floor","i","batch","slice","batchResult","returning","push","result"],"mappings":"AAEA,OAAO,MAAMA,SAAiB,eAI5B,EAAEC,EAAE,EAAEC,kBAAkB,EAAEC,SAAS,EAAEC,MAAM,EAAE;IAE7C,MAAMC,QAAQ,IAAI,CAACC,MAAM,CAACH,UAAU;IAEpC,+CAA+C;IAC/C,IAAI,IAAI,CAACI,sBAAsB,IAAIC,MAAMC,OAAO,CAACL,SAAS;QACxD,MAAMM,UAAqC,EAAE;QAC7C,MAAMC,aAAaC,OAAOC,IAAI,CAACT,MAAM,CAAC,EAAE,EAAEU,MAAM;QAChD,MAAMC,YAAY;QAClB,MAAMC,kBAAkBC,KAAKC,GAAG,CAAC,GAAGD,KAAKE,KAAK,CAACJ,YAAYJ;QAE3D,IAAK,IAAIS,IAAI,GAAGA,IAAIhB,OAAOU,MAAM,EAAEM,KAAKJ,gBAAiB;YACvD,MAAMK,QAAQjB,OAAOkB,KAAK,CAACF,GAAGA,IAAIJ;YAElC,MAAMO,cAAcrB,qBAChB,MAAMD,GAAGD,MAAM,CAACK,OAAOD,MAAM,CAACiB,OAAOnB,kBAAkB,CAACA,oBAAoBsB,SAAS,KACrF,MAAMvB,GAAGD,MAAM,CAACK,OAAOD,MAAM,CAACiB,OAAOG,SAAS;YAElDd,QAAQe,IAAI,IAAKF;QACnB;QAEA,OAAOb;IACT;IAEA,MAAMgB,SAASxB,qBACX,MAAMD,GAAGD,MAAM,CAACK,OAAOD,MAAM,CAACA,QAAQF,kBAAkB,CAACA,oBAAoBsB,SAAS,KACtF,MAAMvB,GAAGD,MAAM,CAACK,OAAOD,MAAM,CAACA,QAAQoB,SAAS;IAEnD,8EAA8E;IAC9E,OAAOE;AACT,EAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -261,6 +261,7 @@ export interface DrizzleAdapter extends BaseDatabaseAdapter {
|
|
|
261
261
|
indexes: Set<string>;
|
|
262
262
|
initializing: Promise<void>;
|
|
263
263
|
insert: Insert;
|
|
264
|
+
limitedBoundParameters?: boolean;
|
|
264
265
|
localesSuffix?: string;
|
|
265
266
|
logger: DrizzleConfig['logger'];
|
|
266
267
|
operators: Operators;
|
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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"}
|