@payloadcms/drizzle 4.0.0-internal.9496957 → 4.0.0-internal.952ed66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/count.d.ts.map +1 -1
- package/dist/count.js +25 -3
- package/dist/count.js.map +1 -1
- package/dist/countGlobalVersions.js +8 -3
- package/dist/countGlobalVersions.js.map +1 -1
- package/dist/countVersions.d.ts.map +1 -1
- package/dist/countVersions.js +29 -4
- package/dist/countVersions.js.map +1 -1
- package/dist/createGlobalVersion.d.ts.map +1 -1
- package/dist/createGlobalVersion.js +17 -2
- package/dist/createGlobalVersion.js.map +1 -1
- package/dist/createVersion.d.ts.map +1 -1
- package/dist/createVersion.js +12 -1
- package/dist/createVersion.js.map +1 -1
- package/dist/deleteBranchGlobal.d.ts +10 -0
- package/dist/deleteBranchGlobal.d.ts.map +1 -0
- package/dist/deleteBranchGlobal.js +27 -0
- package/dist/deleteBranchGlobal.js.map +1 -0
- package/dist/deleteOne.d.ts.map +1 -1
- package/dist/deleteOne.js +25 -1
- package/dist/deleteOne.js.map +1 -1
- package/dist/exports/postgres.d.ts +2 -1
- package/dist/exports/postgres.d.ts.map +1 -1
- package/dist/exports/postgres.js +2 -1
- package/dist/exports/postgres.js.map +1 -1
- package/dist/exports/sqlite.d.ts +2 -1
- package/dist/exports/sqlite.d.ts.map +1 -1
- package/dist/exports/sqlite.js +2 -1
- package/dist/exports/sqlite.js.map +1 -1
- package/dist/find/buildFindManyArgs.d.ts +3 -2
- package/dist/find/buildFindManyArgs.d.ts.map +1 -1
- package/dist/find/buildFindManyArgs.js +2 -1
- package/dist/find/buildFindManyArgs.js.map +1 -1
- package/dist/find/buildPolymorphicJoinQuery.d.ts +40 -0
- package/dist/find/buildPolymorphicJoinQuery.d.ts.map +1 -0
- package/dist/find/buildPolymorphicJoinQuery.js +163 -0
- package/dist/find/buildPolymorphicJoinQuery.js.map +1 -0
- package/dist/find/buildPolymorphicJoinWhere.d.ts +20 -0
- package/dist/find/buildPolymorphicJoinWhere.d.ts.map +1 -0
- package/dist/find/buildPolymorphicJoinWhere.js +301 -0
- package/dist/find/buildPolymorphicJoinWhere.js.map +1 -0
- package/dist/find/createPolymorphicJoinWherePlan.d.ts +38 -0
- package/dist/find/createPolymorphicJoinWherePlan.d.ts.map +1 -0
- package/dist/find/createPolymorphicJoinWherePlan.js +200 -0
- package/dist/find/createPolymorphicJoinWherePlan.js.map +1 -0
- package/dist/find/findMany.d.ts +6 -1
- package/dist/find/findMany.d.ts.map +1 -1
- package/dist/find/findMany.js +16 -3
- package/dist/find/findMany.js.map +1 -1
- package/dist/find/traverseFields.d.ts +3 -2
- package/dist/find/traverseFields.d.ts.map +1 -1
- package/dist/find/traverseFields.js +82 -198
- package/dist/find/traverseFields.js.map +1 -1
- package/dist/find.d.ts.map +1 -1
- package/dist/find.js +32 -4
- package/dist/find.js.map +1 -1
- package/dist/findDistinct.d.ts.map +1 -1
- package/dist/findDistinct.js +104 -8
- package/dist/findDistinct.js.map +1 -1
- package/dist/findGlobal.d.ts.map +1 -1
- package/dist/findGlobal.js +24 -5
- package/dist/findGlobal.js.map +1 -1
- package/dist/findGlobalVersions.js +8 -3
- package/dist/findGlobalVersions.js.map +1 -1
- package/dist/findOne.d.ts +1 -1
- package/dist/findOne.d.ts.map +1 -1
- package/dist/findOne.js +30 -3
- package/dist/findOne.js.map +1 -1
- package/dist/findVersions.d.ts.map +1 -1
- package/dist/findVersions.js +32 -5
- package/dist/findVersions.js.map +1 -1
- package/dist/index.d.ts +3 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -8
- package/dist/index.js.map +1 -1
- package/dist/migrate.d.ts.map +1 -1
- package/dist/migrate.js +6 -2
- package/dist/migrate.js.map +1 -1
- package/dist/migrateDown.d.ts.map +1 -1
- package/dist/migrateDown.js +5 -2
- package/dist/migrateDown.js.map +1 -1
- package/dist/migrateFresh.d.ts.map +1 -1
- package/dist/migrateFresh.js +5 -2
- package/dist/migrateFresh.js.map +1 -1
- package/dist/migrateRefresh.d.ts.map +1 -1
- package/dist/migrateRefresh.js +6 -2
- package/dist/migrateRefresh.js.map +1 -1
- package/dist/migrateReset.d.ts.map +1 -1
- package/dist/migrateReset.js +6 -2
- package/dist/migrateReset.js.map +1 -1
- package/dist/postgres/createJSONQuery/index.js +3 -3
- package/dist/postgres/createJSONQuery/index.js.map +1 -1
- package/dist/postgres/insert.d.ts.map +1 -1
- package/dist/postgres/insert.js +4 -2
- package/dist/postgres/insert.js.map +1 -1
- package/dist/postgres/predefinedMigrations/sizes-to-variants/index.d.ts +35 -0
- package/dist/postgres/predefinedMigrations/sizes-to-variants/index.d.ts.map +1 -0
- package/dist/postgres/predefinedMigrations/sizes-to-variants/index.js +185 -0
- package/dist/postgres/predefinedMigrations/sizes-to-variants/index.js.map +1 -0
- package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/index.d.ts.map +1 -1
- package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/index.js +8 -4
- package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/index.js.map +1 -1
- package/dist/postgres/predefinedMigrations/v2-v3/index.js +1 -1
- package/dist/postgres/predefinedMigrations/v2-v3/index.js.map +1 -1
- package/dist/postgres/requireDrizzleKit.d.ts +4 -0
- package/dist/postgres/requireDrizzleKit.d.ts.map +1 -1
- package/dist/postgres/requireDrizzleKit.js +16 -10
- package/dist/postgres/requireDrizzleKit.js.map +1 -1
- package/dist/postgres/types.d.ts +4 -0
- package/dist/postgres/types.d.ts.map +1 -1
- package/dist/postgres/types.js.map +1 -1
- package/dist/queries/buildAndOrConditions.d.ts +3 -2
- package/dist/queries/buildAndOrConditions.d.ts.map +1 -1
- package/dist/queries/buildAndOrConditions.js +2 -1
- package/dist/queries/buildAndOrConditions.js.map +1 -1
- package/dist/queries/buildBranchVisibility.d.ts +11 -0
- package/dist/queries/buildBranchVisibility.d.ts.map +1 -0
- package/dist/queries/buildBranchVisibility.js +48 -0
- package/dist/queries/buildBranchVisibility.js.map +1 -0
- package/dist/queries/buildOrderBy.d.ts +3 -2
- package/dist/queries/buildOrderBy.d.ts.map +1 -1
- package/dist/queries/buildOrderBy.js +2 -1
- package/dist/queries/buildOrderBy.js.map +1 -1
- package/dist/queries/buildQuery.d.ts +3 -2
- package/dist/queries/buildQuery.d.ts.map +1 -1
- package/dist/queries/buildQuery.js +4 -2
- package/dist/queries/buildQuery.js.map +1 -1
- package/dist/queries/getTableColumnFromPath.d.ts +3 -2
- package/dist/queries/getTableColumnFromPath.d.ts.map +1 -1
- package/dist/queries/getTableColumnFromPath.js +176 -29
- package/dist/queries/getTableColumnFromPath.js.map +1 -1
- package/dist/queries/parseParams.d.ts +3 -2
- package/dist/queries/parseParams.d.ts.map +1 -1
- package/dist/queries/parseParams.js +63 -3
- package/dist/queries/parseParams.js.map +1 -1
- package/dist/queryDrafts.d.ts.map +1 -1
- package/dist/queryDrafts.js +27 -5
- package/dist/queryDrafts.js.map +1 -1
- package/dist/schema/build.d.ts.map +1 -1
- package/dist/schema/build.js +28 -20
- package/dist/schema/build.js.map +1 -1
- package/dist/sqlite/createJSONQuery/convertPathToJSONTraversal.js +3 -2
- package/dist/sqlite/createJSONQuery/convertPathToJSONTraversal.js.map +1 -1
- package/dist/sqlite/createJSONQuery/index.d.ts.map +1 -1
- package/dist/sqlite/createJSONQuery/index.js +6 -5
- package/dist/sqlite/createJSONQuery/index.js.map +1 -1
- package/dist/sqlite/createRequireDrizzleKit.d.ts +6 -0
- package/dist/sqlite/createRequireDrizzleKit.d.ts.map +1 -0
- package/dist/sqlite/createRequireDrizzleKit.js +15 -0
- package/dist/sqlite/createRequireDrizzleKit.js.map +1 -0
- package/dist/sqlite/execute.js.map +1 -1
- package/dist/sqlite/insert.d.ts.map +1 -1
- package/dist/sqlite/insert.js +9 -4
- package/dist/sqlite/insert.js.map +1 -1
- package/dist/sqlite/predefinedMigrations/sizes-to-variants/index.d.ts +15 -0
- package/dist/sqlite/predefinedMigrations/sizes-to-variants/index.d.ts.map +1 -0
- package/dist/sqlite/predefinedMigrations/sizes-to-variants/index.js +114 -0
- package/dist/sqlite/predefinedMigrations/sizes-to-variants/index.js.map +1 -0
- package/dist/sqlite/types.d.ts +4 -0
- package/dist/sqlite/types.d.ts.map +1 -1
- package/dist/sqlite/types.js.map +1 -1
- package/dist/transactions/beginTransaction.d.ts.map +1 -1
- package/dist/transactions/beginTransaction.js +13 -5
- package/dist/transactions/beginTransaction.js.map +1 -1
- package/dist/transactions/commitTransaction.d.ts.map +1 -1
- package/dist/transactions/commitTransaction.js +2 -5
- package/dist/transactions/commitTransaction.js.map +1 -1
- package/dist/transform/read/traverseFields.js.map +1 -1
- package/dist/transform/write/array.d.ts +3 -2
- package/dist/transform/write/array.d.ts.map +1 -1
- package/dist/transform/write/array.js +2 -1
- package/dist/transform/write/array.js.map +1 -1
- package/dist/transform/write/blocks.d.ts +3 -2
- package/dist/transform/write/blocks.d.ts.map +1 -1
- package/dist/transform/write/blocks.js +2 -1
- package/dist/transform/write/blocks.js.map +1 -1
- package/dist/transform/write/index.d.ts.map +1 -1
- package/dist/transform/write/index.js +2 -0
- package/dist/transform/write/index.js.map +1 -1
- package/dist/transform/write/traverseFields.d.ts +2 -1
- package/dist/transform/write/traverseFields.d.ts.map +1 -1
- package/dist/transform/write/traverseFields.js +51 -21
- package/dist/transform/write/traverseFields.js.map +1 -1
- package/dist/transform/write/types.d.ts +7 -0
- package/dist/transform/write/types.d.ts.map +1 -1
- package/dist/transform/write/types.js.map +1 -1
- package/dist/types.d.ts +3 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/updateGlobal.d.ts +5 -1
- package/dist/updateGlobal.d.ts.map +1 -1
- package/dist/updateGlobal.js +96 -4
- package/dist/updateGlobal.js.map +1 -1
- package/dist/updateOne.d.ts.map +1 -1
- package/dist/updateOne.js +93 -4
- package/dist/updateOne.js.map +1 -1
- package/dist/upsertBranchGlobalChange.d.ts +3 -0
- package/dist/upsertBranchGlobalChange.d.ts.map +1 -0
- package/dist/upsertBranchGlobalChange.js +35 -0
- package/dist/upsertBranchGlobalChange.js.map +1 -0
- package/dist/upsertRow/deleteExistingRowsByPath.d.ts.map +1 -1
- package/dist/upsertRow/deleteExistingRowsByPath.js +17 -12
- package/dist/upsertRow/deleteExistingRowsByPath.js.map +1 -1
- package/dist/upsertRow/index.d.ts +1 -1
- package/dist/upsertRow/index.d.ts.map +1 -1
- package/dist/upsertRow/index.js +156 -46
- package/dist/upsertRow/index.js.map +1 -1
- package/dist/upsertRow/types.d.ts +3 -0
- package/dist/upsertRow/types.d.ts.map +1 -1
- package/dist/upsertRow/types.js.map +1 -1
- package/dist/utilities/blocksToJsonMigrator.d.ts.map +1 -1
- package/dist/utilities/blocksToJsonMigrator.js +7 -18
- package/dist/utilities/blocksToJsonMigrator.js.map +1 -1
- package/dist/utilities/buildCreateMigration.js +1 -1
- package/dist/utilities/buildCreateMigration.js.map +1 -1
- package/dist/utilities/buildDynamicPredefinedSizesToVariantsMigration.d.ts +15 -0
- package/dist/utilities/buildDynamicPredefinedSizesToVariantsMigration.d.ts.map +1 -0
- package/dist/utilities/buildDynamicPredefinedSizesToVariantsMigration.js +110 -0
- package/dist/utilities/buildDynamicPredefinedSizesToVariantsMigration.js.map +1 -0
- package/dist/utilities/createSchemaGenerator.d.ts.map +1 -1
- package/dist/utilities/createSchemaGenerator.js +7 -12
- package/dist/utilities/createSchemaGenerator.js.map +1 -1
- package/dist/utilities/executeSchemaHooks.js +1 -1
- package/dist/utilities/executeSchemaHooks.js.map +1 -1
- package/dist/utilities/formatGeneratedFile.d.ts +10 -0
- package/dist/utilities/formatGeneratedFile.d.ts.map +1 -0
- package/dist/utilities/formatGeneratedFile.js +58 -0
- package/dist/utilities/formatGeneratedFile.js.map +1 -0
- package/dist/utilities/getSizesToVariantsRenames.d.ts +54 -0
- package/dist/utilities/getSizesToVariantsRenames.d.ts.map +1 -0
- package/dist/utilities/getSizesToVariantsRenames.js +251 -0
- package/dist/utilities/getSizesToVariantsRenames.js.map +1 -0
- package/dist/utilities/getTransaction.js.map +1 -1
- package/dist/utilities/parseJSONPathSegment.d.ts +9 -0
- package/dist/utilities/parseJSONPathSegment.d.ts.map +1 -0
- package/dist/utilities/parseJSONPathSegment.js +17 -0
- package/dist/utilities/parseJSONPathSegment.js.map +1 -0
- package/dist/utilities/pushDevSchema.js +1 -1
- package/dist/utilities/pushDevSchema.js.map +1 -1
- package/package.json +17 -19
- package/dist/postgres/query/assertOperatorHandlerExtensionsInstalled.spec.js +0 -91
- package/dist/postgres/query/assertOperatorHandlerExtensionsInstalled.spec.js.map +0 -1
- package/dist/postgres/query/postgresUnaccent.spec.js +0 -71
- package/dist/postgres/query/postgresUnaccent.spec.js.map +0 -1
- package/dist/queries/buildOperatorConstraint.spec.js +0 -348
- package/dist/queries/buildOperatorConstraint.spec.js.map +0 -1
- package/dist/queries/validateOperatorHandlers.spec.js +0 -142
- package/dist/queries/validateOperatorHandlers.spec.js.map +0 -1
- package/dist/schema/buildRawSchema.spec.js +0 -290
- package/dist/schema/buildRawSchema.spec.js.map +0 -1
- package/dist/sqlite/requireDrizzleKit.d.ts +0 -3
- package/dist/sqlite/requireDrizzleKit.d.ts.map +0 -1
- package/dist/sqlite/requireDrizzleKit.js +0 -12
- package/dist/sqlite/requireDrizzleKit.js.map +0 -1
- package/dist/upsertRow/handleUpsertError.spec.js +0 -42
- package/dist/upsertRow/handleUpsertError.spec.js.map +0 -1
- package/dist/utilities/checkTruncatedIdentifiers.spec.js +0 -301
- package/dist/utilities/checkTruncatedIdentifiers.spec.js.map +0 -1
- package/dist/utilities/isValidStringID.spec.js +0 -15
- package/dist/utilities/isValidStringID.spec.js.map +0 -1
- package/dist/utilities/validateIdentifierLength.spec.js +0 -19
- package/dist/utilities/validateIdentifierLength.spec.js.map +0 -1
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { SQL } from 'drizzle-orm';
|
|
2
|
+
import type { DrizzleAdapter, GenericTable } from '../types.js';
|
|
3
|
+
export declare const buildBranchVisibility: ({ adapter, branch, canonicalIDExpression, collectionSlug, mode, table, }: {
|
|
4
|
+
adapter: DrizzleAdapter;
|
|
5
|
+
branch: string;
|
|
6
|
+
canonicalIDExpression?: SQL;
|
|
7
|
+
collectionSlug: string;
|
|
8
|
+
mode?: 'documents' | 'history';
|
|
9
|
+
table: GenericTable;
|
|
10
|
+
}) => SQL;
|
|
11
|
+
//# sourceMappingURL=buildBranchVisibility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildBranchVisibility.d.ts","sourceRoot":"","sources":["../../src/queries/buildBranchVisibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAMtC,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/D,eAAO,MAAM,qBAAqB,6EAO/B;IACD,OAAO,EAAE,cAAc,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,qBAAqB,CAAC,EAAE,GAAG,CAAA;IAC3B,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IAC9B,KAAK,EAAE,YAAY,CAAA;CACpB,KAAG,GA8DH,CAAA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { and, eq, exists, notExists, or, sql } from 'drizzle-orm';
|
|
2
|
+
import { branchChangesCollectionSlug, MAIN_BRANCH } from 'payload';
|
|
3
|
+
import toSnakeCase from 'to-snake-case';
|
|
4
|
+
export const buildBranchVisibility = ({ adapter, branch, canonicalIDExpression, collectionSlug, mode = 'documents', table })=>{
|
|
5
|
+
const branchChangesTableName = adapter.tableNameMap.get(toSnakeCase(branchChangesCollectionSlug));
|
|
6
|
+
const branchChangesTable = adapter.tables[branchChangesTableName];
|
|
7
|
+
const canonicalDocumentID = canonicalIDExpression ?? (mode === 'history' ? sql`COALESCE(${table['_branchParent']}, ${table['parent']})` : sql`COALESCE(${table['_branchDocID']}, ${table['id']})`);
|
|
8
|
+
const documentIDAsText = sql`CAST(${canonicalDocumentID} AS TEXT)`;
|
|
9
|
+
const branchChangesTableIdentifier = adapter.schemaName ? sql`${sql.identifier(adapter.schemaName)}.${sql.identifier(branchChangesTableName)}` : sql.identifier(branchChangesTableName);
|
|
10
|
+
const branchColumn = sql`${branchChangesTableIdentifier}.${sql.identifier(branchChangesTable.branch.name)}`;
|
|
11
|
+
const collectionSlugColumn = sql`${branchChangesTableIdentifier}.${sql.identifier(branchChangesTable.collectionSlug.name)}`;
|
|
12
|
+
const documentIDColumn = sql`${branchChangesTableIdentifier}.${sql.identifier(branchChangesTable.documentID.name)}`;
|
|
13
|
+
const operationColumn = sql`${branchChangesTableIdentifier}.${sql.identifier(branchChangesTable.operation.name)}`;
|
|
14
|
+
const baseVersionIDColumn = sql`${branchChangesTableIdentifier}.${sql.identifier(branchChangesTable.baseVersionID.name)}`;
|
|
15
|
+
const baseVersionUpdatedAtColumn = sql`${branchChangesTableIdentifier}.${sql.identifier(branchChangesTable.baseVersionUpdatedAt.name)}`;
|
|
16
|
+
const matchingChange = sql`(
|
|
17
|
+
SELECT 1 FROM ${branchChangesTableIdentifier}
|
|
18
|
+
WHERE ${branchColumn} = ${branch}
|
|
19
|
+
AND ${collectionSlugColumn} = ${collectionSlug}
|
|
20
|
+
AND ${documentIDColumn} = ${documentIDAsText}
|
|
21
|
+
)`;
|
|
22
|
+
const matchingDelete = sql`(
|
|
23
|
+
SELECT 1 FROM ${branchChangesTableIdentifier}
|
|
24
|
+
WHERE ${branchColumn} = ${branch}
|
|
25
|
+
AND ${collectionSlugColumn} = ${collectionSlug}
|
|
26
|
+
AND ${documentIDColumn} = ${documentIDAsText}
|
|
27
|
+
AND ${operationColumn} = ${'delete'}
|
|
28
|
+
)`;
|
|
29
|
+
const matchingHistory = sql`(
|
|
30
|
+
SELECT 1 FROM ${branchChangesTableIdentifier}
|
|
31
|
+
WHERE ${branchColumn} = ${branch}
|
|
32
|
+
AND ${collectionSlugColumn} = ${collectionSlug}
|
|
33
|
+
AND ${documentIDColumn} = ${documentIDAsText}
|
|
34
|
+
AND ${operationColumn} <> ${'create'}
|
|
35
|
+
AND (
|
|
36
|
+
(${baseVersionIDColumn} IS NULL AND ${baseVersionUpdatedAtColumn} IS NULL)
|
|
37
|
+
OR CAST(${table['id']} AS TEXT) = ${baseVersionIDColumn}
|
|
38
|
+
OR ${table['updatedAt']} <= ${baseVersionUpdatedAtColumn}
|
|
39
|
+
)
|
|
40
|
+
)`;
|
|
41
|
+
const visibility = mode === 'history' ? or(and(eq(table['_branch'], MAIN_BRANCH), or(notExists(matchingChange), exists(matchingHistory))), eq(table['_branch'], branch)) : or(and(eq(table['_branch'], MAIN_BRANCH), notExists(matchingChange)), and(eq(table['_branch'], branch), notExists(matchingDelete)));
|
|
42
|
+
if (!visibility) {
|
|
43
|
+
throw new Error('Could not build branch visibility query');
|
|
44
|
+
}
|
|
45
|
+
return visibility;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
//# sourceMappingURL=buildBranchVisibility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/queries/buildBranchVisibility.ts"],"sourcesContent":["import type { SQL } from 'drizzle-orm'\n\nimport { and, eq, exists, notExists, or, sql } from 'drizzle-orm'\nimport { branchChangesCollectionSlug, MAIN_BRANCH } from 'payload'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter, GenericTable } from '../types.js'\n\nexport const buildBranchVisibility = ({\n adapter,\n branch,\n canonicalIDExpression,\n collectionSlug,\n mode = 'documents',\n table,\n}: {\n adapter: DrizzleAdapter\n branch: string\n canonicalIDExpression?: SQL\n collectionSlug: string\n mode?: 'documents' | 'history'\n table: GenericTable\n}): SQL => {\n const branchChangesTableName = adapter.tableNameMap.get(toSnakeCase(branchChangesCollectionSlug))\n const branchChangesTable = adapter.tables[branchChangesTableName]\n const canonicalDocumentID =\n canonicalIDExpression ??\n (mode === 'history'\n ? sql`COALESCE(${table['_branchParent']}, ${table['parent']})`\n : sql`COALESCE(${table['_branchDocID']}, ${table['id']})`)\n const documentIDAsText = sql`CAST(${canonicalDocumentID} AS TEXT)`\n const branchChangesTableIdentifier = adapter.schemaName\n ? sql`${sql.identifier(adapter.schemaName)}.${sql.identifier(branchChangesTableName)}`\n : sql.identifier(branchChangesTableName)\n const branchColumn = sql`${branchChangesTableIdentifier}.${sql.identifier(branchChangesTable.branch.name)}`\n const collectionSlugColumn = sql`${branchChangesTableIdentifier}.${sql.identifier(branchChangesTable.collectionSlug.name)}`\n const documentIDColumn = sql`${branchChangesTableIdentifier}.${sql.identifier(branchChangesTable.documentID.name)}`\n const operationColumn = sql`${branchChangesTableIdentifier}.${sql.identifier(branchChangesTable.operation.name)}`\n const baseVersionIDColumn = sql`${branchChangesTableIdentifier}.${sql.identifier(branchChangesTable.baseVersionID.name)}`\n const baseVersionUpdatedAtColumn = sql`${branchChangesTableIdentifier}.${sql.identifier(branchChangesTable.baseVersionUpdatedAt.name)}`\n const matchingChange = sql`(\n SELECT 1 FROM ${branchChangesTableIdentifier}\n WHERE ${branchColumn} = ${branch}\n AND ${collectionSlugColumn} = ${collectionSlug}\n AND ${documentIDColumn} = ${documentIDAsText}\n )`\n const matchingDelete = sql`(\n SELECT 1 FROM ${branchChangesTableIdentifier}\n WHERE ${branchColumn} = ${branch}\n AND ${collectionSlugColumn} = ${collectionSlug}\n AND ${documentIDColumn} = ${documentIDAsText}\n AND ${operationColumn} = ${'delete'}\n )`\n const matchingHistory = sql`(\n SELECT 1 FROM ${branchChangesTableIdentifier}\n WHERE ${branchColumn} = ${branch}\n AND ${collectionSlugColumn} = ${collectionSlug}\n AND ${documentIDColumn} = ${documentIDAsText}\n AND ${operationColumn} <> ${'create'}\n AND (\n (${baseVersionIDColumn} IS NULL AND ${baseVersionUpdatedAtColumn} IS NULL)\n OR CAST(${table['id']} AS TEXT) = ${baseVersionIDColumn}\n OR ${table['updatedAt']} <= ${baseVersionUpdatedAtColumn}\n )\n )`\n const visibility =\n mode === 'history'\n ? or(\n and(\n eq(table['_branch'], MAIN_BRANCH),\n or(notExists(matchingChange), exists(matchingHistory)),\n ),\n eq(table['_branch'], branch),\n )\n : or(\n and(eq(table['_branch'], MAIN_BRANCH), notExists(matchingChange)),\n and(eq(table['_branch'], branch), notExists(matchingDelete)),\n )\n\n if (!visibility) {\n throw new Error('Could not build branch visibility query')\n }\n\n return visibility\n}\n"],"names":["and","eq","exists","notExists","or","sql","branchChangesCollectionSlug","MAIN_BRANCH","toSnakeCase","buildBranchVisibility","adapter","branch","canonicalIDExpression","collectionSlug","mode","table","branchChangesTableName","tableNameMap","get","branchChangesTable","tables","canonicalDocumentID","documentIDAsText","branchChangesTableIdentifier","schemaName","identifier","branchColumn","name","collectionSlugColumn","documentIDColumn","documentID","operationColumn","operation","baseVersionIDColumn","baseVersionID","baseVersionUpdatedAtColumn","baseVersionUpdatedAt","matchingChange","matchingDelete","matchingHistory","visibility","Error"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SQL, Table } from 'drizzle-orm';
|
|
2
|
-
import type { FlattenedField, Sort } from 'payload';
|
|
2
|
+
import type { FlattenedField, PayloadRequest, Sort } from 'payload';
|
|
3
3
|
import type { DrizzleAdapter, GenericColumn } from '../types.js';
|
|
4
4
|
import type { BuildQueryJoinAliases, BuildQueryResult } from './buildQuery.js';
|
|
5
5
|
type Args = {
|
|
@@ -10,6 +10,7 @@ type Args = {
|
|
|
10
10
|
locale?: string;
|
|
11
11
|
parentIsLocalized: boolean;
|
|
12
12
|
rawSort?: SQL;
|
|
13
|
+
req?: Partial<PayloadRequest>;
|
|
13
14
|
selectFields: Record<string, GenericColumn>;
|
|
14
15
|
sort?: Sort;
|
|
15
16
|
tableName: string;
|
|
@@ -17,6 +18,6 @@ type Args = {
|
|
|
17
18
|
/**
|
|
18
19
|
* Gets the order by column and direction constructed from the sort argument adds the column to the select fields and joins if necessary
|
|
19
20
|
*/
|
|
20
|
-
export declare const buildOrderBy: ({ adapter, aliasTable, fields, joins, locale, parentIsLocalized, rawSort, selectFields, sort, tableName, }: Args) => BuildQueryResult['orderBy'];
|
|
21
|
+
export declare const buildOrderBy: ({ adapter, aliasTable, fields, joins, locale, parentIsLocalized, rawSort, req, selectFields, sort, tableName, }: Args) => BuildQueryResult['orderBy'];
|
|
21
22
|
export {};
|
|
22
23
|
//# sourceMappingURL=buildOrderBy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildOrderBy.d.ts","sourceRoot":"","sources":["../../src/queries/buildOrderBy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"buildOrderBy.d.ts","sourceRoot":"","sources":["../../src/queries/buildOrderBy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAInE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAK9E,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,cAAc,CAAA;IACvB,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,KAAK,EAAE,qBAAqB,CAAA;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iBAAiB,EAAE,OAAO,CAAA;IAC1B,OAAO,CAAC,EAAE,GAAG,CAAA;IACb,GAAG,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IAC7B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC3C,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,oHAYtB,IAAI,KAAG,gBAAgB,CAAC,SAAS,CAiFnC,CAAA"}
|
|
@@ -3,7 +3,7 @@ import { getNameFromDrizzleTable } from '../utilities/getNameFromDrizzleTable.js
|
|
|
3
3
|
import { getTableColumnFromPath } from './getTableColumnFromPath.js';
|
|
4
4
|
/**
|
|
5
5
|
* Gets the order by column and direction constructed from the sort argument adds the column to the select fields and joins if necessary
|
|
6
|
-
*/ export const buildOrderBy = ({ adapter, aliasTable, fields, joins, locale, parentIsLocalized, rawSort, selectFields, sort, tableName })=>{
|
|
6
|
+
*/ export const buildOrderBy = ({ adapter, aliasTable, fields, joins, locale, parentIsLocalized, rawSort, req, selectFields, sort, tableName })=>{
|
|
7
7
|
const orderBy = [];
|
|
8
8
|
const createdAt = adapter.tables[tableName]?.createdAt;
|
|
9
9
|
if (!sort) {
|
|
@@ -46,6 +46,7 @@ import { getTableColumnFromPath } from './getTableColumnFromPath.js';
|
|
|
46
46
|
locale,
|
|
47
47
|
parentIsLocalized,
|
|
48
48
|
pathSegments: sortProperty.replace(/__/g, '.').split('.'),
|
|
49
|
+
req,
|
|
49
50
|
selectFields,
|
|
50
51
|
tableName,
|
|
51
52
|
value: sortProperty
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/queries/buildOrderBy.ts"],"sourcesContent":["import type { SQL, Table } from 'drizzle-orm'\nimport type { FlattenedField, Sort } from 'payload'\n\nimport { asc, desc } from 'drizzle-orm'\n\nimport type { DrizzleAdapter, GenericColumn } from '../types.js'\nimport type { BuildQueryJoinAliases, BuildQueryResult } from './buildQuery.js'\n\nimport { getNameFromDrizzleTable } from '../utilities/getNameFromDrizzleTable.js'\nimport { getTableColumnFromPath } from './getTableColumnFromPath.js'\n\ntype Args = {\n adapter: DrizzleAdapter\n aliasTable?: Table\n fields: FlattenedField[]\n joins: BuildQueryJoinAliases\n locale?: string\n parentIsLocalized: boolean\n rawSort?: SQL\n selectFields: Record<string, GenericColumn>\n sort?: Sort\n tableName: string\n}\n\n/**\n * Gets the order by column and direction constructed from the sort argument adds the column to the select fields and joins if necessary\n */\nexport const buildOrderBy = ({\n adapter,\n aliasTable,\n fields,\n joins,\n locale,\n parentIsLocalized,\n rawSort,\n selectFields,\n sort,\n tableName,\n}: Args): BuildQueryResult['orderBy'] => {\n const orderBy: BuildQueryResult['orderBy'] = []\n\n const createdAt = adapter.tables[tableName]?.createdAt\n\n if (!sort) {\n if (createdAt) {\n sort = '-createdAt'\n } else {\n sort = '-id'\n }\n }\n\n if (typeof sort === 'string') {\n sort = [sort]\n }\n\n // In the case of Mongo, when sorting by a field that is not unique, the results are not guaranteed to be in the same order each time.\n // So we add a fallback sort to ensure that the results are always in the same order.\n let fallbackSort = '-id'\n\n if (createdAt) {\n fallbackSort = '-createdAt'\n }\n\n if (!(sort.includes(fallbackSort) || sort.includes(fallbackSort.replace('-', '')))) {\n sort.push(fallbackSort)\n }\n\n for (const sortItem of sort) {\n let sortProperty: string\n let sortDirection: 'asc' | 'desc'\n if (sortItem[0] === '-') {\n sortProperty = sortItem.substring(1)\n sortDirection = 'desc'\n } else {\n sortProperty = sortItem\n sortDirection = 'asc'\n }\n try {\n const { columnName: sortTableColumnName, table: sortTable } = getTableColumnFromPath({\n adapter,\n collectionPath: sortProperty,\n fields,\n joins,\n locale,\n parentIsLocalized,\n pathSegments: sortProperty.replace(/__/g, '.').split('.'),\n selectFields,\n tableName,\n value: sortProperty,\n })\n if (sortTable?.[sortTableColumnName]) {\n let order = sortDirection === 'asc' ? asc : desc\n\n if (rawSort) {\n order = () => rawSort\n }\n\n orderBy.push({\n column:\n aliasTable && tableName === getNameFromDrizzleTable(sortTable)\n ? aliasTable[sortTableColumnName]\n : sortTable[sortTableColumnName],\n order,\n })\n\n // Only add to selectFields if not already present (avoid duplicates from getTableColumnFromPath)\n const columnToAdd = sortTable[sortTableColumnName]\n const alreadyExists = Object.values(selectFields).some((col) => col === columnToAdd)\n if (!alreadyExists) {\n selectFields[sortTableColumnName] = columnToAdd\n }\n }\n } catch (_) {\n // continue\n }\n }\n\n return orderBy\n}\n"],"names":["asc","desc","getNameFromDrizzleTable","getTableColumnFromPath","buildOrderBy","adapter","aliasTable","fields","joins","locale","parentIsLocalized","rawSort","selectFields","sort","tableName","orderBy","createdAt","tables","fallbackSort","includes","replace","push","sortItem","sortProperty","sortDirection","substring","columnName","sortTableColumnName","table","sortTable","collectionPath","pathSegments","split","value","order","column","columnToAdd","alreadyExists","Object","values","some","col","_"],"mappings":"AAGA,SAASA,GAAG,EAAEC,IAAI,QAAQ,cAAa;AAKvC,SAASC,uBAAuB,QAAQ,0CAAyC;AACjF,SAASC,sBAAsB,QAAQ,8BAA6B;
|
|
1
|
+
{"version":3,"sources":["../../src/queries/buildOrderBy.ts"],"sourcesContent":["import type { SQL, Table } from 'drizzle-orm'\nimport type { FlattenedField, PayloadRequest, Sort } from 'payload'\n\nimport { asc, desc } from 'drizzle-orm'\n\nimport type { DrizzleAdapter, GenericColumn } from '../types.js'\nimport type { BuildQueryJoinAliases, BuildQueryResult } from './buildQuery.js'\n\nimport { getNameFromDrizzleTable } from '../utilities/getNameFromDrizzleTable.js'\nimport { getTableColumnFromPath } from './getTableColumnFromPath.js'\n\ntype Args = {\n adapter: DrizzleAdapter\n aliasTable?: Table\n fields: FlattenedField[]\n joins: BuildQueryJoinAliases\n locale?: string\n parentIsLocalized: boolean\n rawSort?: SQL\n req?: Partial<PayloadRequest>\n selectFields: Record<string, GenericColumn>\n sort?: Sort\n tableName: string\n}\n\n/**\n * Gets the order by column and direction constructed from the sort argument adds the column to the select fields and joins if necessary\n */\nexport const buildOrderBy = ({\n adapter,\n aliasTable,\n fields,\n joins,\n locale,\n parentIsLocalized,\n rawSort,\n req,\n selectFields,\n sort,\n tableName,\n}: Args): BuildQueryResult['orderBy'] => {\n const orderBy: BuildQueryResult['orderBy'] = []\n\n const createdAt = adapter.tables[tableName]?.createdAt\n\n if (!sort) {\n if (createdAt) {\n sort = '-createdAt'\n } else {\n sort = '-id'\n }\n }\n\n if (typeof sort === 'string') {\n sort = [sort]\n }\n\n // In the case of Mongo, when sorting by a field that is not unique, the results are not guaranteed to be in the same order each time.\n // So we add a fallback sort to ensure that the results are always in the same order.\n let fallbackSort = '-id'\n\n if (createdAt) {\n fallbackSort = '-createdAt'\n }\n\n if (!(sort.includes(fallbackSort) || sort.includes(fallbackSort.replace('-', '')))) {\n sort.push(fallbackSort)\n }\n\n for (const sortItem of sort) {\n let sortProperty: string\n let sortDirection: 'asc' | 'desc'\n if (sortItem[0] === '-') {\n sortProperty = sortItem.substring(1)\n sortDirection = 'desc'\n } else {\n sortProperty = sortItem\n sortDirection = 'asc'\n }\n try {\n const { columnName: sortTableColumnName, table: sortTable } = getTableColumnFromPath({\n adapter,\n collectionPath: sortProperty,\n fields,\n joins,\n locale,\n parentIsLocalized,\n pathSegments: sortProperty.replace(/__/g, '.').split('.'),\n req,\n selectFields,\n tableName,\n value: sortProperty,\n })\n if (sortTable?.[sortTableColumnName]) {\n let order = sortDirection === 'asc' ? asc : desc\n\n if (rawSort) {\n order = () => rawSort\n }\n\n orderBy.push({\n column:\n aliasTable && tableName === getNameFromDrizzleTable(sortTable)\n ? aliasTable[sortTableColumnName]\n : sortTable[sortTableColumnName],\n order,\n })\n\n // Only add to selectFields if not already present (avoid duplicates from getTableColumnFromPath)\n const columnToAdd = sortTable[sortTableColumnName]\n const alreadyExists = Object.values(selectFields).some((col) => col === columnToAdd)\n if (!alreadyExists) {\n selectFields[sortTableColumnName] = columnToAdd\n }\n }\n } catch (_) {\n // continue\n }\n }\n\n return orderBy\n}\n"],"names":["asc","desc","getNameFromDrizzleTable","getTableColumnFromPath","buildOrderBy","adapter","aliasTable","fields","joins","locale","parentIsLocalized","rawSort","req","selectFields","sort","tableName","orderBy","createdAt","tables","fallbackSort","includes","replace","push","sortItem","sortProperty","sortDirection","substring","columnName","sortTableColumnName","table","sortTable","collectionPath","pathSegments","split","value","order","column","columnToAdd","alreadyExists","Object","values","some","col","_"],"mappings":"AAGA,SAASA,GAAG,EAAEC,IAAI,QAAQ,cAAa;AAKvC,SAASC,uBAAuB,QAAQ,0CAAyC;AACjF,SAASC,sBAAsB,QAAQ,8BAA6B;AAgBpE;;CAEC,GACD,OAAO,MAAMC,eAAe,CAAC,EAC3BC,OAAO,EACPC,UAAU,EACVC,MAAM,EACNC,KAAK,EACLC,MAAM,EACNC,iBAAiB,EACjBC,OAAO,EACPC,GAAG,EACHC,YAAY,EACZC,IAAI,EACJC,SAAS,EACJ;IACL,MAAMC,UAAuC,EAAE;IAE/C,MAAMC,YAAYZ,QAAQa,MAAM,CAACH,UAAU,EAAEE;IAE7C,IAAI,CAACH,MAAM;QACT,IAAIG,WAAW;YACbH,OAAO;QACT,OAAO;YACLA,OAAO;QACT;IACF;IAEA,IAAI,OAAOA,SAAS,UAAU;QAC5BA,OAAO;YAACA;SAAK;IACf;IAEA,sIAAsI;IACtI,qFAAqF;IACrF,IAAIK,eAAe;IAEnB,IAAIF,WAAW;QACbE,eAAe;IACjB;IAEA,IAAI,CAAEL,CAAAA,KAAKM,QAAQ,CAACD,iBAAiBL,KAAKM,QAAQ,CAACD,aAAaE,OAAO,CAAC,KAAK,IAAG,GAAI;QAClFP,KAAKQ,IAAI,CAACH;IACZ;IAEA,KAAK,MAAMI,YAAYT,KAAM;QAC3B,IAAIU;QACJ,IAAIC;QACJ,IAAIF,QAAQ,CAAC,EAAE,KAAK,KAAK;YACvBC,eAAeD,SAASG,SAAS,CAAC;YAClCD,gBAAgB;QAClB,OAAO;YACLD,eAAeD;YACfE,gBAAgB;QAClB;QACA,IAAI;YACF,MAAM,EAAEE,YAAYC,mBAAmB,EAAEC,OAAOC,SAAS,EAAE,GAAG3B,uBAAuB;gBACnFE;gBACA0B,gBAAgBP;gBAChBjB;gBACAC;gBACAC;gBACAC;gBACAsB,cAAcR,aAAaH,OAAO,CAAC,OAAO,KAAKY,KAAK,CAAC;gBACrDrB;gBACAC;gBACAE;gBACAmB,OAAOV;YACT;YACA,IAAIM,WAAW,CAACF,oBAAoB,EAAE;gBACpC,IAAIO,QAAQV,kBAAkB,QAAQzB,MAAMC;gBAE5C,IAAIU,SAAS;oBACXwB,QAAQ,IAAMxB;gBAChB;gBAEAK,QAAQM,IAAI,CAAC;oBACXc,QACE9B,cAAcS,cAAcb,wBAAwB4B,aAChDxB,UAAU,CAACsB,oBAAoB,GAC/BE,SAAS,CAACF,oBAAoB;oBACpCO;gBACF;gBAEA,iGAAiG;gBACjG,MAAME,cAAcP,SAAS,CAACF,oBAAoB;gBAClD,MAAMU,gBAAgBC,OAAOC,MAAM,CAAC3B,cAAc4B,IAAI,CAAC,CAACC,MAAQA,QAAQL;gBACxE,IAAI,CAACC,eAAe;oBAClBzB,YAAY,CAACe,oBAAoB,GAAGS;gBACtC;YACF;QACF,EAAE,OAAOM,GAAG;QACV,WAAW;QACb;IACF;IAEA,OAAO3B;AACT,EAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { asc, desc, SQL, Table } from 'drizzle-orm';
|
|
2
2
|
import type { PgTableWithColumns } from 'drizzle-orm/pg-core';
|
|
3
|
-
import type { FlattenedField, Sort, Where } from 'payload';
|
|
3
|
+
import type { FlattenedField, PayloadRequest, Sort, Where } from 'payload';
|
|
4
4
|
import type { DrizzleAdapter, GenericColumn, GenericTable } from '../types.js';
|
|
5
5
|
export type BuildQueryJoinAliases = {
|
|
6
6
|
condition: SQL;
|
|
@@ -16,6 +16,7 @@ type BuildQueryArgs = {
|
|
|
16
16
|
joins?: BuildQueryJoinAliases;
|
|
17
17
|
locale?: string;
|
|
18
18
|
parentIsLocalized?: boolean;
|
|
19
|
+
req?: Partial<PayloadRequest>;
|
|
19
20
|
selectLocale?: boolean;
|
|
20
21
|
sort?: Sort;
|
|
21
22
|
tableName: string;
|
|
@@ -30,6 +31,6 @@ export type BuildQueryResult = {
|
|
|
30
31
|
selectFields: Record<string, GenericColumn>;
|
|
31
32
|
where: SQL;
|
|
32
33
|
};
|
|
33
|
-
export declare const buildQuery: ({ adapter, aliasTable, fields, joins, locale, parentIsLocalized, selectLocale, sort, tableName, where: incomingWhere, }: BuildQueryArgs) => BuildQueryResult;
|
|
34
|
+
export declare const buildQuery: ({ adapter, aliasTable, fields, joins, locale, parentIsLocalized, req, selectLocale, sort, tableName, where: incomingWhere, }: BuildQueryArgs) => BuildQueryResult;
|
|
34
35
|
export {};
|
|
35
36
|
//# sourceMappingURL=buildQuery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildQuery.d.ts","sourceRoot":"","sources":["../../src/queries/buildQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"buildQuery.d.ts","sourceRoot":"","sources":["../../src/queries/buildQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE1E,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAM9E,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,GAAG,CAAA;IAEd,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAC7C,IAAI,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,WAAW,CAAA;CAC9C,EAAE,CAAA;AAEH,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE,cAAc,CAAA;IACvB,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,KAAK,CAAC,EAAE,qBAAqB,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,GAAG,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,qBAAqB,CAAA;IAC5B,OAAO,EAAE;QACP,MAAM,EAAE,aAAa,CAAA;QACrB,KAAK,EAAE,OAAO,GAAG,GAAG,OAAO,IAAI,CAAA;KAChC,EAAE,CAAA;IACH,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC3C,KAAK,EAAE,GAAG,CAAA;CACX,CAAA;AAED,eAAO,MAAM,UAAU,iIAYpB,cAAc,KAAG,gBA6CnB,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { buildOrderBy } from './buildOrderBy.js';
|
|
2
2
|
import { parseParams } from './parseParams.js';
|
|
3
|
-
export const buildQuery = function buildQuery({ adapter, aliasTable, fields, joins = [], locale, parentIsLocalized, selectLocale, sort, tableName, where: incomingWhere }) {
|
|
3
|
+
export const buildQuery = function buildQuery({ adapter, aliasTable, fields, joins = [], locale, parentIsLocalized, req, selectLocale, sort, tableName, where: incomingWhere }) {
|
|
4
4
|
const selectFields = {
|
|
5
|
-
id: adapter.tables[tableName]
|
|
5
|
+
id: (aliasTable ?? adapter.tables[tableName])['id']
|
|
6
6
|
};
|
|
7
7
|
let where;
|
|
8
8
|
const context = {
|
|
@@ -17,6 +17,7 @@ export const buildQuery = function buildQuery({ adapter, aliasTable, fields, joi
|
|
|
17
17
|
joins,
|
|
18
18
|
locale,
|
|
19
19
|
parentIsLocalized,
|
|
20
|
+
req,
|
|
20
21
|
selectFields,
|
|
21
22
|
selectLocale,
|
|
22
23
|
tableName,
|
|
@@ -31,6 +32,7 @@ export const buildQuery = function buildQuery({ adapter, aliasTable, fields, joi
|
|
|
31
32
|
locale,
|
|
32
33
|
parentIsLocalized,
|
|
33
34
|
rawSort: context.rawSort,
|
|
35
|
+
req,
|
|
34
36
|
selectFields,
|
|
35
37
|
sort: context.sort,
|
|
36
38
|
tableName
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/queries/buildQuery.ts"],"sourcesContent":["import type { asc, desc, SQL, Table } from 'drizzle-orm'\nimport type { PgTableWithColumns } from 'drizzle-orm/pg-core'\nimport type { FlattenedField, Sort, Where } from 'payload'\n\nimport type { DrizzleAdapter, GenericColumn, GenericTable } from '../types.js'\nimport type { QueryContext } from './parseParams.js'\n\nimport { buildOrderBy } from './buildOrderBy.js'\nimport { parseParams } from './parseParams.js'\n\nexport type BuildQueryJoinAliases = {\n condition: SQL\n // with parent\n isOneToMany?: boolean\n queryPath?: string\n table: GenericTable | PgTableWithColumns<any>\n type?: 'innerJoin' | 'leftJoin' | 'rightJoin'\n}[]\n\ntype BuildQueryArgs = {\n adapter: DrizzleAdapter\n aliasTable?: Table\n fields: FlattenedField[]\n joins?: BuildQueryJoinAliases\n locale?: string\n parentIsLocalized?: boolean\n selectLocale?: boolean\n sort?: Sort\n tableName: string\n where: Where\n}\n\nexport type BuildQueryResult = {\n joins: BuildQueryJoinAliases\n orderBy: {\n column: GenericColumn\n order: typeof asc | typeof desc\n }[]\n selectFields: Record<string, GenericColumn>\n where: SQL\n}\n\nexport const buildQuery = function buildQuery({\n adapter,\n aliasTable,\n fields,\n joins = [],\n locale,\n parentIsLocalized,\n selectLocale,\n sort,\n tableName,\n where: incomingWhere,\n}: BuildQueryArgs): BuildQueryResult {\n const selectFields: Record<string, GenericColumn> = {\n id: adapter.tables[tableName]
|
|
1
|
+
{"version":3,"sources":["../../src/queries/buildQuery.ts"],"sourcesContent":["import type { asc, desc, SQL, Table } from 'drizzle-orm'\nimport type { PgTableWithColumns } from 'drizzle-orm/pg-core'\nimport type { FlattenedField, PayloadRequest, Sort, Where } from 'payload'\n\nimport type { DrizzleAdapter, GenericColumn, GenericTable } from '../types.js'\nimport type { QueryContext } from './parseParams.js'\n\nimport { buildOrderBy } from './buildOrderBy.js'\nimport { parseParams } from './parseParams.js'\n\nexport type BuildQueryJoinAliases = {\n condition: SQL\n // with parent\n isOneToMany?: boolean\n queryPath?: string\n table: GenericTable | PgTableWithColumns<any>\n type?: 'innerJoin' | 'leftJoin' | 'rightJoin'\n}[]\n\ntype BuildQueryArgs = {\n adapter: DrizzleAdapter\n aliasTable?: Table\n fields: FlattenedField[]\n joins?: BuildQueryJoinAliases\n locale?: string\n parentIsLocalized?: boolean\n req?: Partial<PayloadRequest>\n selectLocale?: boolean\n sort?: Sort\n tableName: string\n where: Where\n}\n\nexport type BuildQueryResult = {\n joins: BuildQueryJoinAliases\n orderBy: {\n column: GenericColumn\n order: typeof asc | typeof desc\n }[]\n selectFields: Record<string, GenericColumn>\n where: SQL\n}\n\nexport const buildQuery = function buildQuery({\n adapter,\n aliasTable,\n fields,\n joins = [],\n locale,\n parentIsLocalized,\n req,\n selectLocale,\n sort,\n tableName,\n where: incomingWhere,\n}: BuildQueryArgs): BuildQueryResult {\n const selectFields: Record<string, GenericColumn> = {\n id: (aliasTable ?? adapter.tables[tableName])['id'],\n }\n\n let where: SQL\n\n const context: QueryContext = { sort }\n if (incomingWhere && Object.keys(incomingWhere).length > 0) {\n where = parseParams({\n adapter,\n aliasTable,\n context,\n fields,\n joins,\n locale,\n parentIsLocalized,\n req,\n selectFields,\n selectLocale,\n tableName,\n where: incomingWhere,\n })\n }\n\n const orderBy = buildOrderBy({\n adapter,\n aliasTable,\n fields,\n joins,\n locale,\n parentIsLocalized,\n rawSort: context.rawSort,\n req,\n selectFields,\n sort: context.sort,\n tableName,\n })\n\n return {\n joins,\n orderBy,\n selectFields,\n where,\n }\n}\n"],"names":["buildOrderBy","parseParams","buildQuery","adapter","aliasTable","fields","joins","locale","parentIsLocalized","req","selectLocale","sort","tableName","where","incomingWhere","selectFields","id","tables","context","Object","keys","length","orderBy","rawSort"],"mappings":"AAOA,SAASA,YAAY,QAAQ,oBAAmB;AAChD,SAASC,WAAW,QAAQ,mBAAkB;AAmC9C,OAAO,MAAMC,aAAa,SAASA,WAAW,EAC5CC,OAAO,EACPC,UAAU,EACVC,MAAM,EACNC,QAAQ,EAAE,EACVC,MAAM,EACNC,iBAAiB,EACjBC,GAAG,EACHC,YAAY,EACZC,IAAI,EACJC,SAAS,EACTC,OAAOC,aAAa,EACL;IACf,MAAMC,eAA8C;QAClDC,IAAI,AAACZ,CAAAA,cAAcD,QAAQc,MAAM,CAACL,UAAU,AAAD,CAAE,CAAC,KAAK;IACrD;IAEA,IAAIC;IAEJ,MAAMK,UAAwB;QAAEP;IAAK;IACrC,IAAIG,iBAAiBK,OAAOC,IAAI,CAACN,eAAeO,MAAM,GAAG,GAAG;QAC1DR,QAAQZ,YAAY;YAClBE;YACAC;YACAc;YACAb;YACAC;YACAC;YACAC;YACAC;YACAM;YACAL;YACAE;YACAC,OAAOC;QACT;IACF;IAEA,MAAMQ,UAAUtB,aAAa;QAC3BG;QACAC;QACAC;QACAC;QACAC;QACAC;QACAe,SAASL,QAAQK,OAAO;QACxBd;QACAM;QACAJ,MAAMO,QAAQP,IAAI;QAClBC;IACF;IAEA,OAAO;QACLN;QACAgB;QACAP;QACAF;IACF;AACF,EAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SQL } from 'drizzle-orm';
|
|
2
2
|
import type { SQLiteTableWithColumns } from 'drizzle-orm/sqlite-core';
|
|
3
|
-
import type { FlattenedField } from 'payload';
|
|
3
|
+
import type { FlattenedField, PayloadRequest } from 'payload';
|
|
4
4
|
import { type PgTableWithColumns } from 'drizzle-orm/pg-core';
|
|
5
5
|
import type { DrizzleAdapter, GenericColumn } from '../types.js';
|
|
6
6
|
import type { BuildQueryJoinAliases } from './buildQuery.js';
|
|
@@ -37,6 +37,7 @@ type Args = {
|
|
|
37
37
|
parentAliasTable?: PgTableWithColumns<any> | SQLiteTableWithColumns<any>;
|
|
38
38
|
parentIsLocalized: boolean;
|
|
39
39
|
pathSegments: string[];
|
|
40
|
+
req?: Partial<PayloadRequest>;
|
|
40
41
|
rootTableName?: string;
|
|
41
42
|
selectFields: Record<string, GenericColumn>;
|
|
42
43
|
selectLocale?: boolean;
|
|
@@ -62,6 +63,6 @@ type Args = {
|
|
|
62
63
|
*
|
|
63
64
|
* @returns The final field and column, plus any extra constraints discovered while resolving it.
|
|
64
65
|
*/
|
|
65
|
-
export declare const getTableColumnFromPath: ({ adapter, aliasTable, collectionPath, columnPrefix, constraintPath: incomingConstraintPath, constraints, fields, joins, locale: incomingLocale, parentAliasTable, parentIsLocalized, pathSegments: incomingSegments, rootTableName: incomingRootTableName, selectFields, selectLocale, tableName, tableNameSuffix, value, }: Args) => TableColumn;
|
|
66
|
+
export declare const getTableColumnFromPath: ({ adapter, aliasTable, collectionPath, columnPrefix, constraintPath: incomingConstraintPath, constraints, fields, joins, locale: incomingLocale, parentAliasTable, parentIsLocalized, pathSegments: incomingSegments, req, rootTableName: incomingRootTableName, selectFields, selectLocale, tableName, tableNameSuffix, value, }: Args) => TableColumn;
|
|
66
67
|
export {};
|
|
67
68
|
//# sourceMappingURL=getTableColumnFromPath.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTableColumnFromPath.d.ts","sourceRoot":"","sources":["../../src/queries/getTableColumnFromPath.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,KAAK,EAEV,cAAc,EAIf,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAM7D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"getTableColumnFromPath.d.ts","sourceRoot":"","sources":["../../src/queries/getTableColumnFromPath.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,KAAK,EAEV,cAAc,EAEd,cAAc,EAIf,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAM7D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAY5D,KAAK,UAAU,GAAG;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAA;IAC5D,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AAED,KAAK,WAAW,GAAG;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE;QACR,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAA;QAClC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;KACxB,EAAE,CAAA;IACH,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,KAAK,EAAE,cAAc,CAAA;IACrB,uBAAuB,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAA;IAClD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,SAAS,CAAC,EAAE,GAAG,CAAA;IACf,KAAK,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAA;CAC7D,CAAA;AAED,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,cAAc,CAAA;IACvB,8FAA8F;IAC9F,UAAU,CAAC,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAA;IAClE,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;IAC1B,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,KAAK,EAAE,qBAAqB,CAAA;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAA;IACxE,iBAAiB,EAAE,OAAO,CAAA;IAC1B,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,GAAG,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC3C,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AAsGD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,sUAoBhC,IAAI,KAAG,WAsiCT,CAAA"}
|