payload 4.0.0-internal.2f0d313 → 4.0.0-internal.314c594
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/auth/operations/access.d.ts.map +1 -1
- package/dist/auth/operations/access.js +3 -9
- package/dist/auth/operations/access.js.map +1 -1
- package/dist/auth/operations/auth.d.ts.map +1 -1
- package/dist/auth/operations/auth.js +15 -21
- package/dist/auth/operations/auth.js.map +1 -1
- package/dist/collections/operations/count.d.ts.map +1 -1
- package/dist/collections/operations/count.js +65 -71
- package/dist/collections/operations/count.js.map +1 -1
- package/dist/collections/operations/countVersions.d.ts.map +1 -1
- package/dist/collections/operations/countVersions.js +61 -67
- package/dist/collections/operations/countVersions.js.map +1 -1
- package/dist/collections/operations/docAccess.d.ts.map +1 -1
- package/dist/collections/operations/docAccess.js +19 -25
- package/dist/collections/operations/docAccess.js.map +1 -1
- package/dist/collections/operations/find.d.ts.map +1 -1
- package/dist/collections/operations/find.js +245 -251
- package/dist/collections/operations/find.js.map +1 -1
- package/dist/collections/operations/findByID.d.ts.map +1 -1
- package/dist/collections/operations/findByID.js +215 -221
- package/dist/collections/operations/findByID.js.map +1 -1
- package/dist/collections/operations/findDistinct.d.ts.map +1 -1
- package/dist/collections/operations/findDistinct.js +160 -166
- package/dist/collections/operations/findDistinct.js.map +1 -1
- package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
- package/dist/collections/operations/findVersionByID.js +131 -137
- package/dist/collections/operations/findVersionByID.js.map +1 -1
- package/dist/collections/operations/findVersions.d.ts.map +1 -1
- package/dist/collections/operations/findVersions.js +151 -157
- package/dist/collections/operations/findVersions.js.map +1 -1
- package/dist/database/isNestedRelationshipQuery.d.ts +14 -0
- package/dist/database/isNestedRelationshipQuery.d.ts.map +1 -0
- package/dist/database/isNestedRelationshipQuery.js +19 -0
- package/dist/database/isNestedRelationshipQuery.js.map +1 -0
- package/dist/database/queryValidation/validateSearchParams.d.ts.map +1 -1
- package/dist/database/queryValidation/validateSearchParams.js +21 -4
- package/dist/database/queryValidation/validateSearchParams.js.map +1 -1
- package/dist/database/sanitizeWhereQuery.d.ts +1 -1
- package/dist/database/sanitizeWhereQuery.d.ts.map +1 -1
- package/dist/database/sanitizeWhereQuery.js +44 -1
- package/dist/database/sanitizeWhereQuery.js.map +1 -1
- package/dist/exports/shared.d.ts +3 -1
- package/dist/exports/shared.d.ts.map +1 -1
- package/dist/exports/shared.js +2 -1
- package/dist/exports/shared.js.map +1 -1
- package/dist/globals/operations/countGlobalVersions.d.ts.map +1 -1
- package/dist/globals/operations/countGlobalVersions.js +51 -57
- package/dist/globals/operations/countGlobalVersions.js.map +1 -1
- package/dist/globals/operations/docAccess.d.ts.map +1 -1
- package/dist/globals/operations/docAccess.js +19 -25
- package/dist/globals/operations/docAccess.js.map +1 -1
- package/dist/globals/operations/findOne.d.ts.map +1 -1
- package/dist/globals/operations/findOne.js +169 -175
- package/dist/globals/operations/findOne.js.map +1 -1
- package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
- package/dist/globals/operations/findVersionByID.js +104 -110
- package/dist/globals/operations/findVersionByID.js.map +1 -1
- package/dist/globals/operations/findVersions.d.ts.map +1 -1
- package/dist/globals/operations/findVersions.js +111 -117
- package/dist/globals/operations/findVersions.js.map +1 -1
- package/dist/index.bundled.d.ts +28 -1
- package/dist/types/constants.d.ts +21 -0
- package/dist/types/constants.d.ts.map +1 -1
- package/dist/types/constants.js +23 -0
- package/dist/types/constants.js.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utilities/killTransaction.d.ts +7 -0
- package/dist/utilities/killTransaction.d.ts.map +1 -1
- package/dist/utilities/killTransaction.js +7 -0
- package/dist/utilities/killTransaction.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAKvD,KAAK,SAAS,GAAG;IACf,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,eAAe,SAAgB,SAAS,KAAG,OAAO,CAAC,oBAAoB,CAMnF,CAAA"}
|
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
import { killTransaction } from '../../utilities/killTransaction.js';
|
|
2
1
|
import { adminInit as adminInitTelemetry } from '../../utilities/telemetry/events/adminInit.js';
|
|
3
2
|
import { getAccessResults } from '../getAccessResults.js';
|
|
4
3
|
export const accessOperation = async (args)=>{
|
|
5
4
|
const { req } = args;
|
|
6
5
|
adminInitTelemetry(req);
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
});
|
|
11
|
-
} catch (e) {
|
|
12
|
-
await killTransaction(req);
|
|
13
|
-
throw e;
|
|
14
|
-
}
|
|
6
|
+
return getAccessResults({
|
|
7
|
+
req
|
|
8
|
+
});
|
|
15
9
|
};
|
|
16
10
|
|
|
17
11
|
//# sourceMappingURL=access.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/auth/operations/access.ts"],"sourcesContent":["import type { PayloadRequest } from '../../types/index.js'\nimport type { SanitizedPermissions } from '../types.js'\n\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/auth/operations/access.ts"],"sourcesContent":["import type { PayloadRequest } from '../../types/index.js'\nimport type { SanitizedPermissions } from '../types.js'\n\nimport { adminInit as adminInitTelemetry } from '../../utilities/telemetry/events/adminInit.js'\nimport { getAccessResults } from '../getAccessResults.js'\n\ntype Arguments = {\n req: PayloadRequest\n}\n\nexport const accessOperation = async (args: Arguments): Promise<SanitizedPermissions> => {\n const { req } = args\n\n adminInitTelemetry(req)\n\n return getAccessResults({ req })\n}\n"],"names":["adminInit","adminInitTelemetry","getAccessResults","accessOperation","args","req"],"mappings":"AAGA,SAASA,aAAaC,kBAAkB,QAAQ,gDAA+C;AAC/F,SAASC,gBAAgB,QAAQ,yBAAwB;AAMzD,OAAO,MAAMC,kBAAkB,OAAOC;IACpC,MAAM,EAAEC,GAAG,EAAE,GAAGD;IAEhBH,mBAAmBI;IAEnB,OAAOH,iBAAiB;QAAEG;IAAI;AAChC,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAK1D,MAAM,MAAM,QAAQ,GAAG;IACrB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC3B,GAAG,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,EAAE,oBAAoB,CAAA;IACjC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAA;CAC/B,CAAA;AAED,eAAO,MAAM,IAAI,SAAgB,QAAQ,CAAC,QAAQ,CAAC,KAAG,OAAO,CAAC,UAAU,CAuBvE,CAAA"}
|
|
@@ -1,30 +1,24 @@
|
|
|
1
|
-
import { killTransaction } from '../../utilities/killTransaction.js';
|
|
2
1
|
import { executeAuthStrategies } from '../executeAuthStrategies.js';
|
|
3
2
|
import { getAccessResults } from '../getAccessResults.js';
|
|
4
3
|
export const auth = async (args)=>{
|
|
5
4
|
const { canSetHeaders, headers } = args;
|
|
6
5
|
const req = args.req;
|
|
7
6
|
const { payload } = req;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
};
|
|
24
|
-
} catch (error) {
|
|
25
|
-
await killTransaction(req);
|
|
26
|
-
throw error;
|
|
27
|
-
}
|
|
7
|
+
const { responseHeaders, user } = await executeAuthStrategies({
|
|
8
|
+
canSetHeaders,
|
|
9
|
+
headers,
|
|
10
|
+
payload
|
|
11
|
+
});
|
|
12
|
+
req.user = user;
|
|
13
|
+
req.responseHeaders = responseHeaders;
|
|
14
|
+
const permissions = await getAccessResults({
|
|
15
|
+
req
|
|
16
|
+
});
|
|
17
|
+
return {
|
|
18
|
+
permissions,
|
|
19
|
+
responseHeaders,
|
|
20
|
+
user
|
|
21
|
+
};
|
|
28
22
|
};
|
|
29
23
|
|
|
30
24
|
//# sourceMappingURL=auth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/auth/operations/auth.ts"],"sourcesContent":["import type { AuthenticatedUser, SanitizedPermissions } from '../../index.js'\nimport type { PayloadRequest } from '../../types/index.js'\n\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/auth/operations/auth.ts"],"sourcesContent":["import type { AuthenticatedUser, SanitizedPermissions } from '../../index.js'\nimport type { PayloadRequest } from '../../types/index.js'\n\nimport { executeAuthStrategies } from '../executeAuthStrategies.js'\nimport { getAccessResults } from '../getAccessResults.js'\n\nexport type AuthArgs = {\n /**\n * Specify if it's possible for auth strategies to set headers within this operation.\n */\n canSetHeaders?: boolean\n headers: Request['headers']\n req?: Omit<PayloadRequest, 'user'>\n}\n\nexport type AuthResult = {\n permissions: SanitizedPermissions\n responseHeaders?: Headers\n user: AuthenticatedUser | null\n}\n\nexport const auth = async (args: Required<AuthArgs>): Promise<AuthResult> => {\n const { canSetHeaders, headers } = args\n const req = args.req as PayloadRequest\n const { payload } = req\n\n const { responseHeaders, user } = await executeAuthStrategies({\n canSetHeaders,\n headers,\n payload,\n })\n\n req.user = user\n req.responseHeaders = responseHeaders\n\n const permissions = await getAccessResults({\n req,\n })\n\n return {\n permissions,\n responseHeaders,\n user,\n }\n}\n"],"names":["executeAuthStrategies","getAccessResults","auth","args","canSetHeaders","headers","req","payload","responseHeaders","user","permissions"],"mappings":"AAGA,SAASA,qBAAqB,QAAQ,8BAA6B;AACnE,SAASC,gBAAgB,QAAQ,yBAAwB;AAiBzD,OAAO,MAAMC,OAAO,OAAOC;IACzB,MAAM,EAAEC,aAAa,EAAEC,OAAO,EAAE,GAAGF;IACnC,MAAMG,MAAMH,KAAKG,GAAG;IACpB,MAAM,EAAEC,OAAO,EAAE,GAAGD;IAEpB,MAAM,EAAEE,eAAe,EAAEC,IAAI,EAAE,GAAG,MAAMT,sBAAsB;QAC5DI;QACAC;QACAE;IACF;IAEAD,IAAIG,IAAI,GAAGA;IACXH,IAAIE,eAAe,GAAGA;IAEtB,MAAME,cAAc,MAAMT,iBAAiB;QACzCK;IACF;IAEA,OAAO;QACLI;QACAF;QACAC;IACF;AACF,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"count.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/count.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"count.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/count.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAUpD,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAGD,eAAO,MAAM,cAAc,GAAU,KAAK,SAAS,cAAc,gBACjD,SAAS,KACtB,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAwF/B,CAAA"}
|
|
@@ -3,84 +3,78 @@ import { combineQueries } from '../../database/combineQueries.js';
|
|
|
3
3
|
import { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js';
|
|
4
4
|
import { sanitizeWhereQuery } from '../../database/sanitizeWhereQuery.js';
|
|
5
5
|
import { appendNonTrashedFilter } from '../../utilities/appendNonTrashedFilter.js';
|
|
6
|
-
import { killTransaction } from '../../utilities/killTransaction.js';
|
|
7
6
|
import { buildAfterOperation } from './utilities/buildAfterOperation.js';
|
|
8
7
|
import { buildBeforeOperation } from './utilities/buildBeforeOperation.js';
|
|
9
8
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
10
9
|
export const countOperation = async (incomingArgs)=>{
|
|
11
10
|
let args = incomingArgs;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
args
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
};
|
|
39
|
-
}
|
|
11
|
+
// /////////////////////////////////////
|
|
12
|
+
// beforeOperation - Collection
|
|
13
|
+
// /////////////////////////////////////
|
|
14
|
+
args = await buildBeforeOperation({
|
|
15
|
+
args,
|
|
16
|
+
collection: args.collection.config,
|
|
17
|
+
operation: 'count',
|
|
18
|
+
overrideAccess: args.overrideAccess
|
|
19
|
+
});
|
|
20
|
+
const { collection: { config: collectionConfig }, disableErrors, overrideAccess, req, trash = false, where } = args;
|
|
21
|
+
const { payload } = req;
|
|
22
|
+
// /////////////////////////////////////
|
|
23
|
+
// Access
|
|
24
|
+
// /////////////////////////////////////
|
|
25
|
+
let accessResult;
|
|
26
|
+
if (!overrideAccess) {
|
|
27
|
+
accessResult = await executeAccess({
|
|
28
|
+
slug: collectionConfig.slug,
|
|
29
|
+
disableErrors,
|
|
30
|
+
req: req
|
|
31
|
+
}, collectionConfig.access.read);
|
|
32
|
+
// If errors are disabled, and access returns false, return empty results
|
|
33
|
+
if (accessResult === false) {
|
|
34
|
+
return {
|
|
35
|
+
totalDocs: 0
|
|
36
|
+
};
|
|
40
37
|
}
|
|
41
|
-
let result;
|
|
42
|
-
let fullWhere = combineQueries(where, accessResult);
|
|
43
|
-
sanitizeWhereQuery({
|
|
44
|
-
fields: collectionConfig.flattenedFields,
|
|
45
|
-
payload,
|
|
46
|
-
where: fullWhere
|
|
47
|
-
});
|
|
48
|
-
// Exclude trashed documents when trash: false
|
|
49
|
-
fullWhere = appendNonTrashedFilter({
|
|
50
|
-
enableTrash: collectionConfig.trash,
|
|
51
|
-
trash,
|
|
52
|
-
where: fullWhere
|
|
53
|
-
});
|
|
54
|
-
await validateQueryPaths({
|
|
55
|
-
collectionConfig,
|
|
56
|
-
overrideAccess: overrideAccess,
|
|
57
|
-
req: req,
|
|
58
|
-
where: where
|
|
59
|
-
});
|
|
60
|
-
result = await payload.db.count({
|
|
61
|
-
collection: collectionConfig.slug,
|
|
62
|
-
locale: req?.locale || undefined,
|
|
63
|
-
req,
|
|
64
|
-
where: fullWhere
|
|
65
|
-
});
|
|
66
|
-
// /////////////////////////////////////
|
|
67
|
-
// afterOperation - Collection
|
|
68
|
-
// /////////////////////////////////////
|
|
69
|
-
result = await buildAfterOperation({
|
|
70
|
-
args,
|
|
71
|
-
collection: collectionConfig,
|
|
72
|
-
operation: 'count',
|
|
73
|
-
overrideAccess,
|
|
74
|
-
result
|
|
75
|
-
});
|
|
76
|
-
// /////////////////////////////////////
|
|
77
|
-
// Return results
|
|
78
|
-
// /////////////////////////////////////
|
|
79
|
-
return result;
|
|
80
|
-
} catch (error) {
|
|
81
|
-
await killTransaction(args.req);
|
|
82
|
-
throw error;
|
|
83
38
|
}
|
|
39
|
+
let result;
|
|
40
|
+
let fullWhere = combineQueries(where, accessResult);
|
|
41
|
+
sanitizeWhereQuery({
|
|
42
|
+
fields: collectionConfig.flattenedFields,
|
|
43
|
+
payload,
|
|
44
|
+
where: fullWhere
|
|
45
|
+
});
|
|
46
|
+
// Exclude trashed documents when trash: false
|
|
47
|
+
fullWhere = appendNonTrashedFilter({
|
|
48
|
+
enableTrash: collectionConfig.trash,
|
|
49
|
+
trash,
|
|
50
|
+
where: fullWhere
|
|
51
|
+
});
|
|
52
|
+
await validateQueryPaths({
|
|
53
|
+
collectionConfig,
|
|
54
|
+
overrideAccess: overrideAccess,
|
|
55
|
+
req: req,
|
|
56
|
+
where: where
|
|
57
|
+
});
|
|
58
|
+
result = await payload.db.count({
|
|
59
|
+
collection: collectionConfig.slug,
|
|
60
|
+
locale: req?.locale || undefined,
|
|
61
|
+
req,
|
|
62
|
+
where: fullWhere
|
|
63
|
+
});
|
|
64
|
+
// /////////////////////////////////////
|
|
65
|
+
// afterOperation - Collection
|
|
66
|
+
// /////////////////////////////////////
|
|
67
|
+
result = await buildAfterOperation({
|
|
68
|
+
args,
|
|
69
|
+
collection: collectionConfig,
|
|
70
|
+
operation: 'count',
|
|
71
|
+
overrideAccess,
|
|
72
|
+
result
|
|
73
|
+
});
|
|
74
|
+
// /////////////////////////////////////
|
|
75
|
+
// Return results
|
|
76
|
+
// /////////////////////////////////////
|
|
77
|
+
return result;
|
|
84
78
|
};
|
|
85
79
|
|
|
86
80
|
//# sourceMappingURL=count.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/collections/operations/count.ts"],"sourcesContent":["import type { AccessResult } from '../../config/types.js'\nimport type { CollectionSlug } from '../../index.js'\nimport type { PayloadRequest, Where } from '../../types/index.js'\nimport type { Collection } from '../config/types.js'\n\nimport { executeAccess } from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js'\nimport { sanitizeWhereQuery } from '../../database/sanitizeWhereQuery.js'\nimport { appendNonTrashedFilter } from '../../utilities/appendNonTrashedFilter.js'\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/collections/operations/count.ts"],"sourcesContent":["import type { AccessResult } from '../../config/types.js'\nimport type { CollectionSlug } from '../../index.js'\nimport type { PayloadRequest, Where } from '../../types/index.js'\nimport type { Collection } from '../config/types.js'\n\nimport { executeAccess } from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js'\nimport { sanitizeWhereQuery } from '../../database/sanitizeWhereQuery.js'\nimport { appendNonTrashedFilter } from '../../utilities/appendNonTrashedFilter.js'\nimport { buildAfterOperation } from './utilities/buildAfterOperation.js'\nimport { buildBeforeOperation } from './utilities/buildBeforeOperation.js'\n\nexport type Arguments = {\n collection: Collection\n disableErrors?: boolean\n overrideAccess?: boolean\n req?: PayloadRequest\n trash?: boolean\n where?: Where\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport const countOperation = async <TSlug extends CollectionSlug>(\n incomingArgs: Arguments,\n): Promise<{ totalDocs: number }> => {\n let args = incomingArgs\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n args = await buildBeforeOperation({\n args,\n collection: args.collection.config,\n operation: 'count',\n overrideAccess: args.overrideAccess!,\n })\n\n const {\n collection: { config: collectionConfig },\n disableErrors,\n overrideAccess,\n req,\n trash = false,\n where,\n } = args\n\n const { payload } = req!\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n let accessResult: AccessResult\n\n if (!overrideAccess) {\n accessResult = await executeAccess(\n { slug: collectionConfig.slug, disableErrors, req: req! },\n collectionConfig.access.read,\n )\n\n // If errors are disabled, and access returns false, return empty results\n if (accessResult === false) {\n return {\n totalDocs: 0,\n }\n }\n }\n\n let result: { totalDocs: number }\n\n let fullWhere = combineQueries(where!, accessResult!)\n sanitizeWhereQuery({ fields: collectionConfig.flattenedFields, payload, where: fullWhere })\n\n // Exclude trashed documents when trash: false\n fullWhere = appendNonTrashedFilter({\n enableTrash: collectionConfig.trash,\n trash,\n where: fullWhere,\n })\n\n await validateQueryPaths({\n collectionConfig,\n overrideAccess: overrideAccess!,\n req: req!,\n where: where!,\n })\n\n result = await payload.db.count({\n collection: collectionConfig.slug,\n locale: req?.locale || undefined,\n req,\n where: fullWhere,\n })\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: collectionConfig,\n operation: 'count',\n overrideAccess,\n result,\n })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n return result\n}\n"],"names":["executeAccess","combineQueries","validateQueryPaths","sanitizeWhereQuery","appendNonTrashedFilter","buildAfterOperation","buildBeforeOperation","countOperation","incomingArgs","args","collection","config","operation","overrideAccess","collectionConfig","disableErrors","req","trash","where","payload","accessResult","slug","access","read","totalDocs","result","fullWhere","fields","flattenedFields","enableTrash","db","count","locale","undefined"],"mappings":"AAKA,SAASA,aAAa,QAAQ,8BAA6B;AAC3D,SAASC,cAAc,QAAQ,mCAAkC;AACjE,SAASC,kBAAkB,QAAQ,uDAAsD;AACzF,SAASC,kBAAkB,QAAQ,uCAAsC;AACzE,SAASC,sBAAsB,QAAQ,4CAA2C;AAClF,SAASC,mBAAmB,QAAQ,qCAAoC;AACxE,SAASC,oBAAoB,QAAQ,sCAAqC;AAW1E,6DAA6D;AAC7D,OAAO,MAAMC,iBAAiB,OAC5BC;IAEA,IAAIC,OAAOD;IAEX,wCAAwC;IACxC,+BAA+B;IAC/B,wCAAwC;IAExCC,OAAO,MAAMH,qBAAqB;QAChCG;QACAC,YAAYD,KAAKC,UAAU,CAACC,MAAM;QAClCC,WAAW;QACXC,gBAAgBJ,KAAKI,cAAc;IACrC;IAEA,MAAM,EACJH,YAAY,EAAEC,QAAQG,gBAAgB,EAAE,EACxCC,aAAa,EACbF,cAAc,EACdG,GAAG,EACHC,QAAQ,KAAK,EACbC,KAAK,EACN,GAAGT;IAEJ,MAAM,EAAEU,OAAO,EAAE,GAAGH;IAEpB,wCAAwC;IACxC,SAAS;IACT,wCAAwC;IAExC,IAAII;IAEJ,IAAI,CAACP,gBAAgB;QACnBO,eAAe,MAAMpB,cACnB;YAAEqB,MAAMP,iBAAiBO,IAAI;YAAEN;YAAeC,KAAKA;QAAK,GACxDF,iBAAiBQ,MAAM,CAACC,IAAI;QAG9B,yEAAyE;QACzE,IAAIH,iBAAiB,OAAO;YAC1B,OAAO;gBACLI,WAAW;YACb;QACF;IACF;IAEA,IAAIC;IAEJ,IAAIC,YAAYzB,eAAeiB,OAAQE;IACvCjB,mBAAmB;QAAEwB,QAAQb,iBAAiBc,eAAe;QAAET;QAASD,OAAOQ;IAAU;IAEzF,8CAA8C;IAC9CA,YAAYtB,uBAAuB;QACjCyB,aAAaf,iBAAiBG,KAAK;QACnCA;QACAC,OAAOQ;IACT;IAEA,MAAMxB,mBAAmB;QACvBY;QACAD,gBAAgBA;QAChBG,KAAKA;QACLE,OAAOA;IACT;IAEAO,SAAS,MAAMN,QAAQW,EAAE,CAACC,KAAK,CAAC;QAC9BrB,YAAYI,iBAAiBO,IAAI;QACjCW,QAAQhB,KAAKgB,UAAUC;QACvBjB;QACAE,OAAOQ;IACT;IAEA,wCAAwC;IACxC,8BAA8B;IAC9B,wCAAwC;IAExCD,SAAS,MAAMpB,oBAAoB;QACjCI;QACAC,YAAYI;QACZF,WAAW;QACXC;QACAY;IACF;IAEA,wCAAwC;IACxC,iBAAiB;IACjB,wCAAwC;IAExC,OAAOA;AACT,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"countVersions.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/countVersions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAMpD,OAAO,EAAgC,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"countVersions.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/countVersions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAMpD,OAAO,EAAgC,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAIlF,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAGD,eAAO,MAAM,sBAAsB,GAAU,KAAK,SAAS,cAAc,gBACzD,SAAS,KACtB,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAoF/B,CAAA"}
|
|
@@ -3,80 +3,74 @@ import { combineQueries } from '../../database/combineQueries.js';
|
|
|
3
3
|
import { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js';
|
|
4
4
|
import { sanitizeWhereQuery } from '../../database/sanitizeWhereQuery.js';
|
|
5
5
|
import { buildVersionCollectionFields } from '../../index.js';
|
|
6
|
-
import { killTransaction } from '../../utilities/killTransaction.js';
|
|
7
6
|
import { buildAfterOperation } from './utilities/buildAfterOperation.js';
|
|
8
7
|
import { buildBeforeOperation } from './utilities/buildBeforeOperation.js';
|
|
9
8
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
10
9
|
export const countVersionsOperation = async (incomingArgs)=>{
|
|
11
10
|
let args = incomingArgs;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
args
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
};
|
|
39
|
-
}
|
|
11
|
+
// /////////////////////////////////////
|
|
12
|
+
// beforeOperation - Collection
|
|
13
|
+
// /////////////////////////////////////
|
|
14
|
+
args = await buildBeforeOperation({
|
|
15
|
+
args,
|
|
16
|
+
collection: args.collection.config,
|
|
17
|
+
operation: 'countVersions',
|
|
18
|
+
overrideAccess: args.overrideAccess
|
|
19
|
+
});
|
|
20
|
+
const { collection: { config: collectionConfig }, disableErrors, overrideAccess, req, where } = args;
|
|
21
|
+
const { locale, payload } = req;
|
|
22
|
+
// /////////////////////////////////////
|
|
23
|
+
// Access
|
|
24
|
+
// /////////////////////////////////////
|
|
25
|
+
let accessResult;
|
|
26
|
+
if (!overrideAccess) {
|
|
27
|
+
accessResult = await executeAccess({
|
|
28
|
+
slug: collectionConfig.slug,
|
|
29
|
+
disableErrors,
|
|
30
|
+
req: req
|
|
31
|
+
}, collectionConfig.access.readVersions);
|
|
32
|
+
// If errors are disabled, and access returns false, return empty results
|
|
33
|
+
if (accessResult === false) {
|
|
34
|
+
return {
|
|
35
|
+
totalDocs: 0
|
|
36
|
+
};
|
|
40
37
|
}
|
|
41
|
-
let result;
|
|
42
|
-
const fullWhere = combineQueries(where, accessResult);
|
|
43
|
-
const versionFields = buildVersionCollectionFields(payload.config, collectionConfig, true);
|
|
44
|
-
sanitizeWhereQuery({
|
|
45
|
-
fields: versionFields,
|
|
46
|
-
payload,
|
|
47
|
-
where: fullWhere
|
|
48
|
-
});
|
|
49
|
-
await validateQueryPaths({
|
|
50
|
-
collectionConfig,
|
|
51
|
-
overrideAccess: overrideAccess,
|
|
52
|
-
req: req,
|
|
53
|
-
versionFields,
|
|
54
|
-
where: where
|
|
55
|
-
});
|
|
56
|
-
result = await payload.db.countVersions({
|
|
57
|
-
collection: collectionConfig.slug,
|
|
58
|
-
locale: locale,
|
|
59
|
-
req,
|
|
60
|
-
where: fullWhere
|
|
61
|
-
});
|
|
62
|
-
// /////////////////////////////////////
|
|
63
|
-
// afterOperation - Collection
|
|
64
|
-
// /////////////////////////////////////
|
|
65
|
-
result = await buildAfterOperation({
|
|
66
|
-
args,
|
|
67
|
-
collection: collectionConfig,
|
|
68
|
-
operation: 'countVersions',
|
|
69
|
-
overrideAccess,
|
|
70
|
-
result
|
|
71
|
-
});
|
|
72
|
-
// /////////////////////////////////////
|
|
73
|
-
// Return results
|
|
74
|
-
// /////////////////////////////////////
|
|
75
|
-
return result;
|
|
76
|
-
} catch (error) {
|
|
77
|
-
await killTransaction(args.req);
|
|
78
|
-
throw error;
|
|
79
38
|
}
|
|
39
|
+
let result;
|
|
40
|
+
const fullWhere = combineQueries(where, accessResult);
|
|
41
|
+
const versionFields = buildVersionCollectionFields(payload.config, collectionConfig, true);
|
|
42
|
+
sanitizeWhereQuery({
|
|
43
|
+
fields: versionFields,
|
|
44
|
+
payload,
|
|
45
|
+
where: fullWhere
|
|
46
|
+
});
|
|
47
|
+
await validateQueryPaths({
|
|
48
|
+
collectionConfig,
|
|
49
|
+
overrideAccess: overrideAccess,
|
|
50
|
+
req: req,
|
|
51
|
+
versionFields,
|
|
52
|
+
where: where
|
|
53
|
+
});
|
|
54
|
+
result = await payload.db.countVersions({
|
|
55
|
+
collection: collectionConfig.slug,
|
|
56
|
+
locale: locale,
|
|
57
|
+
req,
|
|
58
|
+
where: fullWhere
|
|
59
|
+
});
|
|
60
|
+
// /////////////////////////////////////
|
|
61
|
+
// afterOperation - Collection
|
|
62
|
+
// /////////////////////////////////////
|
|
63
|
+
result = await buildAfterOperation({
|
|
64
|
+
args,
|
|
65
|
+
collection: collectionConfig,
|
|
66
|
+
operation: 'countVersions',
|
|
67
|
+
overrideAccess,
|
|
68
|
+
result
|
|
69
|
+
});
|
|
70
|
+
// /////////////////////////////////////
|
|
71
|
+
// Return results
|
|
72
|
+
// /////////////////////////////////////
|
|
73
|
+
return result;
|
|
80
74
|
};
|
|
81
75
|
|
|
82
76
|
//# sourceMappingURL=countVersions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/collections/operations/countVersions.ts"],"sourcesContent":["import type { AccessResult } from '../../config/types.js'\nimport type { PayloadRequest, Where } from '../../types/index.js'\nimport type { Collection } from '../config/types.js'\n\nimport { executeAccess } from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js'\nimport { sanitizeWhereQuery } from '../../database/sanitizeWhereQuery.js'\nimport { buildVersionCollectionFields, type CollectionSlug } from '../../index.js'\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/collections/operations/countVersions.ts"],"sourcesContent":["import type { AccessResult } from '../../config/types.js'\nimport type { PayloadRequest, Where } from '../../types/index.js'\nimport type { Collection } from '../config/types.js'\n\nimport { executeAccess } from '../../auth/executeAccess.js'\nimport { combineQueries } from '../../database/combineQueries.js'\nimport { validateQueryPaths } from '../../database/queryValidation/validateQueryPaths.js'\nimport { sanitizeWhereQuery } from '../../database/sanitizeWhereQuery.js'\nimport { buildVersionCollectionFields, type CollectionSlug } from '../../index.js'\nimport { buildAfterOperation } from './utilities/buildAfterOperation.js'\nimport { buildBeforeOperation } from './utilities/buildBeforeOperation.js'\n\nexport type Arguments = {\n collection: Collection\n disableErrors?: boolean\n overrideAccess?: boolean\n req?: PayloadRequest\n where?: Where\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport const countVersionsOperation = async <TSlug extends CollectionSlug>(\n incomingArgs: Arguments,\n): Promise<{ totalDocs: number }> => {\n let args = incomingArgs\n\n // /////////////////////////////////////\n // beforeOperation - Collection\n // /////////////////////////////////////\n\n args = await buildBeforeOperation({\n args,\n collection: args.collection.config,\n operation: 'countVersions',\n overrideAccess: args.overrideAccess!,\n })\n\n const {\n collection: { config: collectionConfig },\n disableErrors,\n overrideAccess,\n req,\n where,\n } = args\n\n const { locale, payload } = req!\n\n // /////////////////////////////////////\n // Access\n // /////////////////////////////////////\n\n let accessResult: AccessResult\n\n if (!overrideAccess) {\n accessResult = await executeAccess(\n { slug: collectionConfig.slug, disableErrors, req: req! },\n collectionConfig.access.readVersions,\n )\n\n // If errors are disabled, and access returns false, return empty results\n if (accessResult === false) {\n return {\n totalDocs: 0,\n }\n }\n }\n\n let result: { totalDocs: number }\n\n const fullWhere = combineQueries(where!, accessResult!)\n\n const versionFields = buildVersionCollectionFields(payload.config, collectionConfig, true)\n\n sanitizeWhereQuery({ fields: versionFields, payload, where: fullWhere })\n\n await validateQueryPaths({\n collectionConfig,\n overrideAccess: overrideAccess!,\n req: req!,\n versionFields,\n where: where!,\n })\n\n result = await payload.db.countVersions({\n collection: collectionConfig.slug,\n locale: locale!,\n req,\n where: fullWhere,\n })\n\n // /////////////////////////////////////\n // afterOperation - Collection\n // /////////////////////////////////////\n\n result = await buildAfterOperation({\n args,\n collection: collectionConfig,\n operation: 'countVersions',\n overrideAccess,\n result,\n })\n\n // /////////////////////////////////////\n // Return results\n // /////////////////////////////////////\n\n return result\n}\n"],"names":["executeAccess","combineQueries","validateQueryPaths","sanitizeWhereQuery","buildVersionCollectionFields","buildAfterOperation","buildBeforeOperation","countVersionsOperation","incomingArgs","args","collection","config","operation","overrideAccess","collectionConfig","disableErrors","req","where","locale","payload","accessResult","slug","access","readVersions","totalDocs","result","fullWhere","versionFields","fields","db","countVersions"],"mappings":"AAIA,SAASA,aAAa,QAAQ,8BAA6B;AAC3D,SAASC,cAAc,QAAQ,mCAAkC;AACjE,SAASC,kBAAkB,QAAQ,uDAAsD;AACzF,SAASC,kBAAkB,QAAQ,uCAAsC;AACzE,SAASC,4BAA4B,QAA6B,iBAAgB;AAClF,SAASC,mBAAmB,QAAQ,qCAAoC;AACxE,SAASC,oBAAoB,QAAQ,sCAAqC;AAU1E,6DAA6D;AAC7D,OAAO,MAAMC,yBAAyB,OACpCC;IAEA,IAAIC,OAAOD;IAEX,wCAAwC;IACxC,+BAA+B;IAC/B,wCAAwC;IAExCC,OAAO,MAAMH,qBAAqB;QAChCG;QACAC,YAAYD,KAAKC,UAAU,CAACC,MAAM;QAClCC,WAAW;QACXC,gBAAgBJ,KAAKI,cAAc;IACrC;IAEA,MAAM,EACJH,YAAY,EAAEC,QAAQG,gBAAgB,EAAE,EACxCC,aAAa,EACbF,cAAc,EACdG,GAAG,EACHC,KAAK,EACN,GAAGR;IAEJ,MAAM,EAAES,MAAM,EAAEC,OAAO,EAAE,GAAGH;IAE5B,wCAAwC;IACxC,SAAS;IACT,wCAAwC;IAExC,IAAII;IAEJ,IAAI,CAACP,gBAAgB;QACnBO,eAAe,MAAMpB,cACnB;YAAEqB,MAAMP,iBAAiBO,IAAI;YAAEN;YAAeC,KAAKA;QAAK,GACxDF,iBAAiBQ,MAAM,CAACC,YAAY;QAGtC,yEAAyE;QACzE,IAAIH,iBAAiB,OAAO;YAC1B,OAAO;gBACLI,WAAW;YACb;QACF;IACF;IAEA,IAAIC;IAEJ,MAAMC,YAAYzB,eAAegB,OAAQG;IAEzC,MAAMO,gBAAgBvB,6BAA6Be,QAAQR,MAAM,EAAEG,kBAAkB;IAErFX,mBAAmB;QAAEyB,QAAQD;QAAeR;QAASF,OAAOS;IAAU;IAEtE,MAAMxB,mBAAmB;QACvBY;QACAD,gBAAgBA;QAChBG,KAAKA;QACLW;QACAV,OAAOA;IACT;IAEAQ,SAAS,MAAMN,QAAQU,EAAE,CAACC,aAAa,CAAC;QACtCpB,YAAYI,iBAAiBO,IAAI;QACjCH,QAAQA;QACRF;QACAC,OAAOS;IACT;IAEA,wCAAwC;IACxC,8BAA8B;IAC9B,wCAAwC;IAExCD,SAAS,MAAMpB,oBAAoB;QACjCI;QACAC,YAAYI;QACZF,WAAW;QACXC;QACAY;IACF;IAEA,wCAAwC;IACxC,iBAAiB;IACjB,wCAAwC;IAExC,OAAOA;AACT,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docAccess.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/docAccess.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,KAAK,EAAiB,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"docAccess.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/docAccess.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,KAAK,EAAiB,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAOpD,KAAK,SAAS,GAAG;IACf,UAAU,EAAE,UAAU,CAAA;IACtB;;OAEG;IACH,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAyChG"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { getEntityPermissions } from '../../utilities/getEntityPermissions/getEntityPermissions.js';
|
|
2
|
-
import { killTransaction } from '../../utilities/killTransaction.js';
|
|
3
2
|
import { sanitizePermissions } from '../../utilities/sanitizePermissions.js';
|
|
4
3
|
const allOperations = [
|
|
5
4
|
'create',
|
|
@@ -18,30 +17,25 @@ export async function docAccessOperation(args) {
|
|
|
18
17
|
if (config.versions) {
|
|
19
18
|
collectionOperations.push('readVersions');
|
|
20
19
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
};
|
|
41
|
-
} catch (e) {
|
|
42
|
-
await killTransaction(req);
|
|
43
|
-
throw e;
|
|
44
|
-
}
|
|
20
|
+
const result = await getEntityPermissions({
|
|
21
|
+
id: id,
|
|
22
|
+
blockReferencesPermissions: {},
|
|
23
|
+
data,
|
|
24
|
+
entity: config,
|
|
25
|
+
entityType: 'collection',
|
|
26
|
+
fetchData: id ? true : false,
|
|
27
|
+
operations: collectionOperations,
|
|
28
|
+
req
|
|
29
|
+
});
|
|
30
|
+
const sanitizedPermissions = sanitizePermissions({
|
|
31
|
+
collections: {
|
|
32
|
+
[config.slug]: result
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
const collectionPermissions = sanitizedPermissions?.collections?.[config.slug];
|
|
36
|
+
return collectionPermissions ?? {
|
|
37
|
+
fields: {}
|
|
38
|
+
};
|
|
45
39
|
}
|
|
46
40
|
|
|
47
41
|
//# sourceMappingURL=docAccess.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/collections/operations/docAccess.ts"],"sourcesContent":["import type { SanitizedCollectionPermission } from '../../auth/index.js'\nimport type { AllOperations, JsonObject, PayloadRequest } from '../../types/index.js'\nimport type { Collection } from '../config/types.js'\n\nimport { getEntityPermissions } from '../../utilities/getEntityPermissions/getEntityPermissions.js'\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/collections/operations/docAccess.ts"],"sourcesContent":["import type { SanitizedCollectionPermission } from '../../auth/index.js'\nimport type { AllOperations, JsonObject, PayloadRequest } from '../../types/index.js'\nimport type { Collection } from '../config/types.js'\n\nimport { getEntityPermissions } from '../../utilities/getEntityPermissions/getEntityPermissions.js'\nimport { sanitizePermissions } from '../../utilities/sanitizePermissions.js'\n\nconst allOperations: AllOperations[] = ['create', 'read', 'update', 'delete']\n\ntype Arguments = {\n collection: Collection\n /**\n * If the document data is passed, it will be used to check access instead of fetching the document from the database.\n */\n data?: JsonObject\n /**\n * When called for creating a new document, id is not provided.\n */\n id?: number | string\n req: PayloadRequest\n}\n\nexport async function docAccessOperation(args: Arguments): Promise<SanitizedCollectionPermission> {\n const {\n id,\n collection: { config },\n data,\n req,\n } = args\n\n const collectionOperations = [...allOperations]\n\n if (\n config.auth &&\n typeof config.auth.maxLoginAttempts !== 'undefined' &&\n config.auth.maxLoginAttempts !== 0\n ) {\n collectionOperations.push('unlock')\n }\n\n if (config.versions) {\n collectionOperations.push('readVersions')\n }\n\n const result = await getEntityPermissions({\n id: id!,\n blockReferencesPermissions: {},\n data,\n entity: config,\n entityType: 'collection',\n fetchData: id ? true : (false as true),\n operations: collectionOperations,\n req,\n })\n\n const sanitizedPermissions = sanitizePermissions({\n collections: {\n [config.slug]: result,\n },\n })\n\n const collectionPermissions = sanitizedPermissions?.collections?.[config.slug]\n return collectionPermissions ?? { fields: {} }\n}\n"],"names":["getEntityPermissions","sanitizePermissions","allOperations","docAccessOperation","args","id","collection","config","data","req","collectionOperations","auth","maxLoginAttempts","push","versions","result","blockReferencesPermissions","entity","entityType","fetchData","operations","sanitizedPermissions","collections","slug","collectionPermissions","fields"],"mappings":"AAIA,SAASA,oBAAoB,QAAQ,+DAA8D;AACnG,SAASC,mBAAmB,QAAQ,yCAAwC;AAE5E,MAAMC,gBAAiC;IAAC;IAAU;IAAQ;IAAU;CAAS;AAe7E,OAAO,eAAeC,mBAAmBC,IAAe;IACtD,MAAM,EACJC,EAAE,EACFC,YAAY,EAAEC,MAAM,EAAE,EACtBC,IAAI,EACJC,GAAG,EACJ,GAAGL;IAEJ,MAAMM,uBAAuB;WAAIR;KAAc;IAE/C,IACEK,OAAOI,IAAI,IACX,OAAOJ,OAAOI,IAAI,CAACC,gBAAgB,KAAK,eACxCL,OAAOI,IAAI,CAACC,gBAAgB,KAAK,GACjC;QACAF,qBAAqBG,IAAI,CAAC;IAC5B;IAEA,IAAIN,OAAOO,QAAQ,EAAE;QACnBJ,qBAAqBG,IAAI,CAAC;IAC5B;IAEA,MAAME,SAAS,MAAMf,qBAAqB;QACxCK,IAAIA;QACJW,4BAA4B,CAAC;QAC7BR;QACAS,QAAQV;QACRW,YAAY;QACZC,WAAWd,KAAK,OAAQ;QACxBe,YAAYV;QACZD;IACF;IAEA,MAAMY,uBAAuBpB,oBAAoB;QAC/CqB,aAAa;YACX,CAACf,OAAOgB,IAAI,CAAC,EAAER;QACjB;IACF;IAEA,MAAMS,wBAAwBH,sBAAsBC,aAAa,CAACf,OAAOgB,IAAI,CAAC;IAC9E,OAAOC,yBAAyB;QAAEC,QAAQ,CAAC;IAAE;AAC/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/find.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC5E,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,UAAU,EACV,IAAI,EACJ,6BAA6B,EAC7B,KAAK,EACN,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EACV,UAAU,EAEV,wBAAwB,EACzB,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/find.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC5E,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,UAAU,EACV,IAAI,EACJ,6BAA6B,EAC7B,KAAK,EACN,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EACV,UAAU,EAEV,wBAAwB,EACzB,MAAM,oBAAoB,CAAA;AAsB3B,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAA;AAInD,eAAO,MAAM,aAAa,GACxB,KAAK,SAAS,cAAc,EAC5B,OAAO,SAAS,wBAAwB,CAAC,KAAK,CAAC,gBAEjC,SAAS,KACtB,OAAO,CAAC,aAAa,CAAC,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CA6UtE,CAAA"}
|