payload-auth 1.6.0 → 1.6.1-canary.1
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/better-auth/adapter/index.d.ts.map +1 -1
- package/dist/better-auth/adapter/index.js +30 -30
- package/dist/better-auth/adapter/transform/index.d.ts +8 -7
- package/dist/better-auth/adapter/transform/index.d.ts.map +1 -1
- package/dist/better-auth/adapter/transform/index.js +2 -2
- package/dist/better-auth/adapter/types.d.ts +5 -4
- package/dist/better-auth/adapter/types.d.ts.map +1 -1
- package/dist/better-auth/adapter/types.js +1 -1
- package/dist/better-auth/generated-types.d.ts +21 -0
- package/dist/better-auth/generated-types.d.ts.map +1 -1
- package/dist/better-auth/generated-types.js +1 -1
- package/dist/better-auth/plugin/helpers/get-better-auth-schema.d.ts +14 -17
- package/dist/better-auth/plugin/helpers/get-better-auth-schema.d.ts.map +1 -1
- package/dist/better-auth/plugin/helpers/get-better-auth-schema.js +51 -33
- package/dist/better-auth/plugin/helpers/get-collection.d.ts +11 -36
- package/dist/better-auth/plugin/helpers/get-collection.d.ts.map +1 -1
- package/dist/better-auth/plugin/helpers/get-collection.js +20 -53
- package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts.map +1 -1
- package/dist/better-auth/plugin/helpers/prepare-session-data.js +1 -1
- package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.d.ts +21 -0
- package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.js +62 -0
- package/dist/better-auth/plugin/index.d.ts +8 -1
- package/dist/better-auth/plugin/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/index.js +67 -91
- package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.d.ts +13 -0
- package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.js +80 -0
- package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts +2 -2
- package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.js +6 -16
- package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts +2 -2
- package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/accounts/index.js +10 -12
- package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/api-keys.js +8 -11
- package/dist/better-auth/plugin/lib/build-collections/index.d.ts +3 -4
- package/dist/better-auth/plugin/lib/build-collections/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/index.js +15 -28
- package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/invitations.js +8 -11
- package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/jwks.js +8 -11
- package/dist/better-auth/plugin/lib/build-collections/members.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/members.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/members.js +8 -10
- package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.js +8 -11
- package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/oauth-applications.js +8 -11
- package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/oauth-consents.js +7 -9
- package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/organizations.js +8 -10
- package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/passkeys.js +9 -11
- package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/sessions.js +7 -8
- package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/sso-providers.js +8 -10
- package/dist/better-auth/plugin/lib/build-collections/subscriptions.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/subscriptions.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/subscriptions.js +8 -10
- package/dist/better-auth/plugin/lib/build-collections/teams.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/teams.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/teams.js +8 -11
- package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/two-factors.js +8 -11
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.js +4 -11
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.js +3 -8
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.js +5 -15
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.js +19 -22
- package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/index.js +9 -15
- package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.d.ts +6 -6
- package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.js +9 -17
- package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.d.ts +2 -2
- package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.js +1 -1
- package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/verifications.js +8 -11
- package/dist/better-auth/plugin/lib/init-better-auth.d.ts +1 -1
- package/dist/better-auth/plugin/lib/init-better-auth.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/init-better-auth.js +3 -2
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts +2 -2
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.js +4 -4
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts +3 -4
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.js +15 -15
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts +2 -2
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.js +8 -8
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts +2 -2
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.js +12 -12
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts +2 -2
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.js +4 -4
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts +2 -2
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.js +6 -6
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.d.ts +2 -2
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.js +4 -4
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.d.ts +3 -4
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.js +4 -4
- package/dist/better-auth/plugin/payload/components/passkeys/types.d.ts +2 -2
- package/dist/better-auth/plugin/payload/components/passkeys/types.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/components/passkeys/types.js +1 -1
- package/dist/better-auth/plugin/types.d.ts +6 -5
- package/dist/better-auth/plugin/types.d.ts.map +1 -1
- package/dist/better-auth/plugin/types.js +1 -1
- package/dist/better-auth/scripts/generate-types.js +15 -1
- package/package.json +1 -1
- package/dist/better-auth/plugin/helpers/get-collection-schema-map.d.ts +0 -16
- package/dist/better-auth/plugin/helpers/get-collection-schema-map.d.ts.map +0 -1
- package/dist/better-auth/plugin/helpers/get-collection-schema-map.js +0 -108
- package/dist/better-auth/plugin/helpers/get-requst-collection.d.ts +0 -3
- package/dist/better-auth/plugin/helpers/get-requst-collection.d.ts.map +0 -1
- package/dist/better-auth/plugin/helpers/get-requst-collection.js +0 -14
- package/dist/better-auth/plugin/helpers/serialize-cookie.d.ts +0 -105
- package/dist/better-auth/plugin/helpers/serialize-cookie.d.ts.map +0 -1
- package/dist/better-auth/plugin/helpers/serialize-cookie.js +0 -186
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-collection.d.ts","sourceRoot":"","sources":["../../../../src/better-auth/plugin/helpers/get-collection.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"get-collection.d.ts","sourceRoot":"","sources":["../../../../src/better-auth/plugin/helpers/get-collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AAC9E,OAAO,EAAoB,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAElF,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,gBAAgB,CAUrH;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gCAAgC,CAAC,CAAC,SAAS,QAAQ,EACjE,UAAU,EAAE,gBAAgB,EAC5B,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,OAAO,CAAC,MAAM,oBAAoB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GACvD,MAAM,CAIR"}
|
|
@@ -1,62 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
* that has been marked with a specific Better Auth model key in its custom properties.
|
|
6
|
-
* It's used to map between Better Auth's internal model keys and Payload CMS collections.
|
|
7
|
-
*
|
|
8
|
-
* @param collectionMap - Map of all available collections
|
|
9
|
-
* @param betterAuthModelKey - The Better Auth model key to search for
|
|
10
|
-
* @returns The matched collection configuration
|
|
11
|
-
* @throws {Error} If no collection with the specified Better Auth model key is found
|
|
12
|
-
*/ export function getMappedCollection({ collectionMap, betterAuthModelKey }) {
|
|
13
|
-
// Find the collection that has the matching betterAuthModelKey in its custom properties
|
|
14
|
-
const collection = Object.values(collectionMap).find((c)=>{
|
|
15
|
-
return c.custom?.betterAuthModelKey === betterAuthModelKey;
|
|
1
|
+
import { flattenAllFields } from "payload";
|
|
2
|
+
export function getCollectionByModelKey(collections, modelKey) {
|
|
3
|
+
const collection = Object.values(collections).find((c)=>{
|
|
4
|
+
return c.config?.custom?.betterAuthModelKey === modelKey;
|
|
16
5
|
});
|
|
17
|
-
// Throw an error if no matching collection is found
|
|
18
6
|
if (!collection) {
|
|
19
|
-
|
|
20
|
-
Error.captureStackTrace(error, getMappedCollection);
|
|
21
|
-
throw error;
|
|
7
|
+
throw new Error(`Collection with key ${modelKey} not found`);
|
|
22
8
|
}
|
|
23
|
-
return collection;
|
|
9
|
+
return collection.config;
|
|
24
10
|
}
|
|
25
11
|
/**
|
|
26
|
-
* Retrieves
|
|
12
|
+
* Retrieves the field name from a collection based on the field key
|
|
27
13
|
*
|
|
28
|
-
* This function searches through the fields of a
|
|
29
|
-
* that has
|
|
30
|
-
* It's used to map between Better Auth's internal field keys and Payload CMS field configurations.
|
|
14
|
+
* This function searches through the fields of a collection to find a field
|
|
15
|
+
* that has a matching custom property betterAuthFieldKey.
|
|
31
16
|
*
|
|
32
|
-
* @param collection - The collection configuration to search
|
|
33
|
-
* @param
|
|
34
|
-
* @
|
|
35
|
-
* @
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
throw new Error(`Field with key ${betterAuthFieldKey} not found`);
|
|
43
|
-
}
|
|
44
|
-
// Filter out UI-based fields that don't have a name or aren't data fields
|
|
45
|
-
// These field types are used for layout purposes only and cannot store data
|
|
46
|
-
switch(field.type){
|
|
47
|
-
case 'tabs':
|
|
48
|
-
case 'row':
|
|
49
|
-
case 'collapsible':
|
|
50
|
-
throw new Error(`Field with key ${betterAuthFieldKey} is a UI-only field and cannot be used for data`);
|
|
51
|
-
default:
|
|
52
|
-
return field;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
export function transformCollectionsToCollectionConfigs(collections) {
|
|
56
|
-
return Object.fromEntries(Object.entries(collections).map(([slug, collection])=>[
|
|
57
|
-
slug,
|
|
58
|
-
collection.config
|
|
59
|
-
]));
|
|
17
|
+
* @param collection - The collection configuration to search through
|
|
18
|
+
* @param model - The model key of the collection (This is really just for type hinting)
|
|
19
|
+
* @param fieldKey - The key of the field to search for
|
|
20
|
+
* @returns The name of the field if found, otherwise the field key itself
|
|
21
|
+
*/ export function getCollectionFieldNameByFieldKey(collection, model, fieldKey) {
|
|
22
|
+
const fields = flattenAllFields({
|
|
23
|
+
fields: collection.fields
|
|
24
|
+
});
|
|
25
|
+
console.log('fields', fields);
|
|
26
|
+
return fields.find((f)=>f.custom?.betterAuthFieldKey === fieldKey)?.name ?? fieldKey;
|
|
60
27
|
}
|
|
61
28
|
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vaGVscGVycy9nZXQtY29sbGVjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZXR0ZXJBdXRoRnVsbFNjaGVtYSwgTW9kZWxLZXkgfSBmcm9tICdAL2JldHRlci1hdXRoL2dlbmVyYXRlZC10eXBlcydcbmltcG9ydCB7IGZsYXR0ZW5BbGxGaWVsZHMsIHR5cGUgQ29sbGVjdGlvbiwgdHlwZSBDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAncGF5bG9hZCdcblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbGxlY3Rpb25CeU1vZGVsS2V5KGNvbGxlY3Rpb25zOiBSZWNvcmQ8c3RyaW5nLCBDb2xsZWN0aW9uPiwgbW9kZWxLZXk6IE1vZGVsS2V5KTogQ29sbGVjdGlvbkNvbmZpZyB7XG4gIGNvbnN0IGNvbGxlY3Rpb24gPSBPYmplY3QudmFsdWVzKGNvbGxlY3Rpb25zKS5maW5kKChjKSA9PiB7XG4gICAgcmV0dXJuIGMuY29uZmlnPy5jdXN0b20/LmJldHRlckF1dGhNb2RlbEtleSA9PT0gbW9kZWxLZXlcbiAgfSlcblxuICBpZiAoIWNvbGxlY3Rpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENvbGxlY3Rpb24gd2l0aCBrZXkgJHttb2RlbEtleX0gbm90IGZvdW5kYClcbiAgfVxuXG4gIHJldHVybiBjb2xsZWN0aW9uLmNvbmZpZ1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgZmllbGQgbmFtZSBmcm9tIGEgY29sbGVjdGlvbiBiYXNlZCBvbiB0aGUgZmllbGQga2V5XG4gKlxuICogVGhpcyBmdW5jdGlvbiBzZWFyY2hlcyB0aHJvdWdoIHRoZSBmaWVsZHMgb2YgYSBjb2xsZWN0aW9uIHRvIGZpbmQgYSBmaWVsZFxuICogdGhhdCBoYXMgYSBtYXRjaGluZyBjdXN0b20gcHJvcGVydHkgYmV0dGVyQXV0aEZpZWxkS2V5LlxuICpcbiAqIEBwYXJhbSBjb2xsZWN0aW9uIC0gVGhlIGNvbGxlY3Rpb24gY29uZmlndXJhdGlvbiB0byBzZWFyY2ggdGhyb3VnaFxuICogQHBhcmFtIG1vZGVsIC0gVGhlIG1vZGVsIGtleSBvZiB0aGUgY29sbGVjdGlvbiAoVGhpcyBpcyByZWFsbHkganVzdCBmb3IgdHlwZSBoaW50aW5nKVxuICogQHBhcmFtIGZpZWxkS2V5IC0gVGhlIGtleSBvZiB0aGUgZmllbGQgdG8gc2VhcmNoIGZvclxuICogQHJldHVybnMgVGhlIG5hbWUgb2YgdGhlIGZpZWxkIGlmIGZvdW5kLCBvdGhlcndpc2UgdGhlIGZpZWxkIGtleSBpdHNlbGZcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENvbGxlY3Rpb25GaWVsZE5hbWVCeUZpZWxkS2V5PE0gZXh0ZW5kcyBNb2RlbEtleT4oXG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWcsXG4gIG1vZGVsOiBNLFxuICBmaWVsZEtleTogRXh0cmFjdDxrZXlvZiBCZXR0ZXJBdXRoRnVsbFNjaGVtYVtNXSwgc3RyaW5nPlxuKTogc3RyaW5nIHtcbiAgY29uc3QgZmllbGRzID0gZmxhdHRlbkFsbEZpZWxkcyh7IGZpZWxkczogY29sbGVjdGlvbi5maWVsZHMgfSlcbiAgY29uc29sZS5sb2coJ2ZpZWxkcycsIGZpZWxkcylcbiAgcmV0dXJuIGZpZWxkcy5maW5kKChmKSA9PiBmLmN1c3RvbT8uYmV0dGVyQXV0aEZpZWxkS2V5ID09PSBmaWVsZEtleSk/Lm5hbWUgPz8gZmllbGRLZXlcbn1cbiJdLCJuYW1lcyI6WyJmbGF0dGVuQWxsRmllbGRzIiwiZ2V0Q29sbGVjdGlvbkJ5TW9kZWxLZXkiLCJjb2xsZWN0aW9ucyIsIm1vZGVsS2V5IiwiY29sbGVjdGlvbiIsIk9iamVjdCIsInZhbHVlcyIsImZpbmQiLCJjIiwiY29uZmlnIiwiY3VzdG9tIiwiYmV0dGVyQXV0aE1vZGVsS2V5IiwiRXJyb3IiLCJnZXRDb2xsZWN0aW9uRmllbGROYW1lQnlGaWVsZEtleSIsIm1vZGVsIiwiZmllbGRLZXkiLCJmaWVsZHMiLCJjb25zb2xlIiwibG9nIiwiZiIsImJldHRlckF1dGhGaWVsZEtleSIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLGdCQUFnQixRQUFnRCxVQUFTO0FBRWxGLE9BQU8sU0FBU0Msd0JBQXdCQyxXQUF1QyxFQUFFQyxRQUFrQjtJQUNqRyxNQUFNQyxhQUFhQyxPQUFPQyxNQUFNLENBQUNKLGFBQWFLLElBQUksQ0FBQyxDQUFDQztRQUNsRCxPQUFPQSxFQUFFQyxNQUFNLEVBQUVDLFFBQVFDLHVCQUF1QlI7SUFDbEQ7SUFFQSxJQUFJLENBQUNDLFlBQVk7UUFDZixNQUFNLElBQUlRLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRVQsU0FBUyxVQUFVLENBQUM7SUFDN0Q7SUFFQSxPQUFPQyxXQUFXSyxNQUFNO0FBQzFCO0FBRUE7Ozs7Ozs7Ozs7Q0FVQyxHQUNELE9BQU8sU0FBU0ksaUNBQ2RULFVBQTRCLEVBQzVCVSxLQUFRLEVBQ1JDLFFBQXdEO0lBRXhELE1BQU1DLFNBQVNoQixpQkFBaUI7UUFBRWdCLFFBQVFaLFdBQVdZLE1BQU07SUFBQztJQUM1REMsUUFBUUMsR0FBRyxDQUFDLFVBQVVGO0lBQ3RCLE9BQU9BLE9BQU9ULElBQUksQ0FBQyxDQUFDWSxJQUFNQSxFQUFFVCxNQUFNLEVBQUVVLHVCQUF1QkwsV0FBV00sUUFBUU47QUFDaEYifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-session-data.d.ts","sourceRoot":"","sources":["../../../../src/better-auth/plugin/helpers/prepare-session-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"prepare-session-data.d.ts","sourceRoot":"","sources":["../../../../src/better-auth/plugin/helpers/prepare-session-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAG/C,wBAAsB,WAAW,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE;IAAE,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,cAAc,EAAE,gBAAgB,CAAA;CAAE;;;;;;;;yBAWjI;AAED,wBAAsB,cAAc,CAAC,EACnC,OAAO,EACP,iBAAiB,EAClB,EAAE;IACD,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACtC,iBAAiB,EAAE,gBAAgB,CAAA;CACpC;;;;;;;;;yBAiBA;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,WAAW,EACX,eAAe,EACf,kBAAkB,EACnB,EAAE;IACD,WAAW,EAAE;QACX,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QACtC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KACjC,CAAA;IACD,eAAe,EAAE,gBAAgB,CAAA;IACjC,kBAAkB,EAAE,gBAAgB,CAAA;CACrC;;;;;;;;;;;;;;;;;;;;UAYA"}
|
|
@@ -46,4 +46,4 @@ export async function prepareSession({ session, sessionCollection }) {
|
|
|
46
46
|
return newSessionData;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vaGVscGVycy9wcmVwYXJlLXNlc3Npb24tZGF0YS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXNzaW9uLCBVc2VyIH0gZnJvbSAnYmV0dGVyLWF1dGgnXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25Db25maWcgfSBmcm9tICdwYXlsb2FkJ1xuaW1wb3J0IHsgZ2V0RmllbGRzVG9TaWduIH0gZnJvbSAncGF5bG9hZCdcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByZXBhcmVVc2VyKHsgdXNlciwgdXNlckNvbGxlY3Rpb24gfTogeyB1c2VyOiBVc2VyICYgUmVjb3JkPHN0cmluZywgYW55PjsgdXNlckNvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWcgfSkge1xuICBjb25zdCBuZXdVc2VyID0gZ2V0RmllbGRzVG9TaWduKHtcbiAgICBjb2xsZWN0aW9uQ29uZmlnOiB1c2VyQ29sbGVjdGlvbixcbiAgICBlbWFpbDogdXNlci5lbWFpbCxcbiAgICB1c2VyOiB7XG4gICAgICAuLi51c2VyLFxuICAgICAgY29sbGVjdGlvbjogdXNlckNvbGxlY3Rpb24uc2x1Z1xuICAgIH1cbiAgfSlcblxuICByZXR1cm4gbmV3VXNlciBhcyBVc2VyICYgUmVjb3JkPHN0cmluZywgYW55PlxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJlcGFyZVNlc3Npb24oe1xuICBzZXNzaW9uLFxuICBzZXNzaW9uQ29sbGVjdGlvblxufToge1xuICBzZXNzaW9uOiBTZXNzaW9uICYgUmVjb3JkPHN0cmluZywgYW55PlxuICBzZXNzaW9uQ29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZ1xufSkge1xuICBjb25zdCBmaWx0ZXJlZFNlc3Npb24gPSBnZXRGaWVsZHNUb1NpZ24oe1xuICAgIGNvbGxlY3Rpb25Db25maWc6IHNlc3Npb25Db2xsZWN0aW9uLFxuICAgIGVtYWlsOiAnJyxcbiAgICB1c2VyOiB7XG4gICAgICAuLi5zZXNzaW9uLFxuICAgICAgY29sbGVjdGlvbjogc2Vzc2lvbkNvbGxlY3Rpb24uc2x1Z1xuICAgIH1cbiAgfSlcblxuICBkZWxldGUgZmlsdGVyZWRTZXNzaW9uLmVtYWlsXG4gIGRlbGV0ZSBmaWx0ZXJlZFNlc3Npb24uY29sbGVjdGlvblxuICBPYmplY3QuYXNzaWduKGZpbHRlcmVkU2Vzc2lvbiwge1xuICAgIHVzZXJJZDogc2Vzc2lvbi51c2VySWRcbiAgfSlcblxuICByZXR1cm4gZmlsdGVyZWRTZXNzaW9uIGFzIFNlc3Npb24gJiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG59XG5cbi8qKlxuICogUHJlcGFyZXMgc2Vzc2lvbiBkYXRhIGZvciBjb29raWUgY2FjaGUgYnkgZmlsdGVyaW5nIHVzZXIgYW5kIHNlc3Npb24gb2JqZWN0c1xuICogYmFzZWQgb24gdGhlIHBheWxvYWQgY29uZmlndXJhdGlvbidzICdzYXZlVG9Kd3QnIHByb3BlcnR5XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcmVwYXJlU2Vzc2lvbkRhdGEoe1xuICBzZXNzaW9uRGF0YSxcbiAgdXNlcnNDb2xsZWN0aW9uLFxuICBzZXNzaW9uc0NvbGxlY3Rpb25cbn06IHtcbiAgc2Vzc2lvbkRhdGE6IHtcbiAgICBzZXNzaW9uOiBTZXNzaW9uICYgUmVjb3JkPHN0cmluZywgYW55PlxuICAgIHVzZXI6IFVzZXIgJiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gIH1cbiAgdXNlcnNDb2xsZWN0aW9uOiBDb2xsZWN0aW9uQ29uZmlnXG4gIHNlc3Npb25zQ29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZ1xufSkge1xuICBpZiAoIXNlc3Npb25EYXRhIHx8ICFzZXNzaW9uRGF0YS51c2VyKSByZXR1cm4gbnVsbFxuXG4gIGNvbnN0IG5ld1VzZXIgPSBhd2FpdCBwcmVwYXJlVXNlcih7IHVzZXI6IHNlc3Npb25EYXRhLnVzZXIsIHVzZXJDb2xsZWN0aW9uOiB1c2Vyc0NvbGxlY3Rpb24gfSlcbiAgY29uc3QgbmV3U2Vzc2lvbiA9IGF3YWl0IHByZXBhcmVTZXNzaW9uKHsgc2Vzc2lvbjogc2Vzc2lvbkRhdGEuc2Vzc2lvbiwgc2Vzc2lvbkNvbGxlY3Rpb246IHNlc3Npb25zQ29sbGVjdGlvbiB9KVxuXG4gIGNvbnN0IG5ld1Nlc3Npb25EYXRhID0ge1xuICAgIHNlc3Npb246IG5ld1Nlc3Npb24sXG4gICAgdXNlcjogbmV3VXNlclxuICB9XG5cbiAgcmV0dXJuIG5ld1Nlc3Npb25EYXRhXG59XG4iXSwibmFtZXMiOlsiZ2V0RmllbGRzVG9TaWduIiwicHJlcGFyZVVzZXIiLCJ1c2VyIiwidXNlckNvbGxlY3Rpb24iLCJuZXdVc2VyIiwiY29sbGVjdGlvbkNvbmZpZyIsImVtYWlsIiwiY29sbGVjdGlvbiIsInNsdWciLCJwcmVwYXJlU2Vzc2lvbiIsInNlc3Npb24iLCJzZXNzaW9uQ29sbGVjdGlvbiIsImZpbHRlcmVkU2Vzc2lvbiIsIk9iamVjdCIsImFzc2lnbiIsInVzZXJJZCIsInByZXBhcmVTZXNzaW9uRGF0YSIsInNlc3Npb25EYXRhIiwidXNlcnNDb2xsZWN0aW9uIiwic2Vzc2lvbnNDb2xsZWN0aW9uIiwibmV3U2Vzc2lvbiIsIm5ld1Nlc3Npb25EYXRhIl0sIm1hcHBpbmdzIjoiQUFFQSxTQUFTQSxlQUFlLFFBQVEsVUFBUztBQUV6QyxPQUFPLGVBQWVDLFlBQVksRUFBRUMsSUFBSSxFQUFFQyxjQUFjLEVBQTBFO0lBQ2hJLE1BQU1DLFVBQVVKLGdCQUFnQjtRQUM5Qkssa0JBQWtCRjtRQUNsQkcsT0FBT0osS0FBS0ksS0FBSztRQUNqQkosTUFBTTtZQUNKLEdBQUdBLElBQUk7WUFDUEssWUFBWUosZUFBZUssSUFBSTtRQUNqQztJQUNGO0lBRUEsT0FBT0o7QUFDVDtBQUVBLE9BQU8sZUFBZUssZUFBZSxFQUNuQ0MsT0FBTyxFQUNQQyxpQkFBaUIsRUFJbEI7SUFDQyxNQUFNQyxrQkFBa0JaLGdCQUFnQjtRQUN0Q0ssa0JBQWtCTTtRQUNsQkwsT0FBTztRQUNQSixNQUFNO1lBQ0osR0FBR1EsT0FBTztZQUNWSCxZQUFZSSxrQkFBa0JILElBQUk7UUFDcEM7SUFDRjtJQUVBLE9BQU9JLGdCQUFnQk4sS0FBSztJQUM1QixPQUFPTSxnQkFBZ0JMLFVBQVU7SUFDakNNLE9BQU9DLE1BQU0sQ0FBQ0YsaUJBQWlCO1FBQzdCRyxRQUFRTCxRQUFRSyxNQUFNO0lBQ3hCO0lBRUEsT0FBT0g7QUFDVDtBQUVBOzs7Q0FHQyxHQUNELE9BQU8sZUFBZUksbUJBQW1CLEVBQ3ZDQyxXQUFXLEVBQ1hDLGVBQWUsRUFDZkMsa0JBQWtCLEVBUW5CO0lBQ0MsSUFBSSxDQUFDRixlQUFlLENBQUNBLFlBQVlmLElBQUksRUFBRSxPQUFPO0lBRTlDLE1BQU1FLFVBQVUsTUFBTUgsWUFBWTtRQUFFQyxNQUFNZSxZQUFZZixJQUFJO1FBQUVDLGdCQUFnQmU7SUFBZ0I7SUFDNUYsTUFBTUUsYUFBYSxNQUFNWCxlQUFlO1FBQUVDLFNBQVNPLFlBQVlQLE9BQU87UUFBRUMsbUJBQW1CUTtJQUFtQjtJQUU5RyxNQUFNRSxpQkFBaUI7UUFDckJYLFNBQVNVO1FBQ1RsQixNQUFNRTtJQUNSO0lBRUEsT0FBT2lCO0FBQ1QifQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { CollectionConfig } from 'payload';
|
|
2
|
+
import type { BetterAuthSchemas } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Syncs a BetterAuth `ResolvedSchema` object with the *actual* collection
|
|
5
|
+
* definitions created by this plugin.
|
|
6
|
+
*
|
|
7
|
+
* This must run **after** the first call to `buildCollections`, because only
|
|
8
|
+
* then do we know the user-overridden slugs / field names. The algorithm is
|
|
9
|
+
* kept deliberately simple:
|
|
10
|
+
*
|
|
11
|
+
* 1. Build a `modelKey → newSlug` map from each collection's
|
|
12
|
+
* `custom.betterAuthModelKey` property.
|
|
13
|
+
* 2. Update `schema.modelName` for all affected tables.
|
|
14
|
+
* 3. Rewrite `references.model` in *every* table field according to the new
|
|
15
|
+
* slugs. We do this in a dedicated pass so referencing tables no longer
|
|
16
|
+
* depend on the original slugs.
|
|
17
|
+
* 4. Finally, iterate collections once more to apply any *field* renames via
|
|
18
|
+
* the `custom.betterAuthFieldKey` property.
|
|
19
|
+
*/
|
|
20
|
+
export declare function syncResolvedSchemaWithCollectionMap(resolvedSchemas: BetterAuthSchemas, collectionMap: Record<string, CollectionConfig>): BetterAuthSchemas;
|
|
21
|
+
//# sourceMappingURL=sync-resolved-schema-with-collection-map.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-resolved-schema-with-collection-map.d.ts","sourceRoot":"","sources":["../../../../src/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAG/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAEjD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mCAAmC,CACjD,eAAe,EAAE,iBAAiB,EAClC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAC9C,iBAAiB,CAwDnB"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Syncs a BetterAuth `ResolvedSchema` object with the *actual* collection
|
|
3
|
+
* definitions created by this plugin.
|
|
4
|
+
*
|
|
5
|
+
* This must run **after** the first call to `buildCollections`, because only
|
|
6
|
+
* then do we know the user-overridden slugs / field names. The algorithm is
|
|
7
|
+
* kept deliberately simple:
|
|
8
|
+
*
|
|
9
|
+
* 1. Build a `modelKey → newSlug` map from each collection's
|
|
10
|
+
* `custom.betterAuthModelKey` property.
|
|
11
|
+
* 2. Update `schema.modelName` for all affected tables.
|
|
12
|
+
* 3. Rewrite `references.model` in *every* table field according to the new
|
|
13
|
+
* slugs. We do this in a dedicated pass so referencing tables no longer
|
|
14
|
+
* depend on the original slugs.
|
|
15
|
+
* 4. Finally, iterate collections once more to apply any *field* renames via
|
|
16
|
+
* the `custom.betterAuthFieldKey` property.
|
|
17
|
+
*/ export function syncResolvedSchemaWithCollectionMap(resolvedSchemas, collectionMap) {
|
|
18
|
+
const collections = Object.values(collectionMap);
|
|
19
|
+
// Helper to update references across the whole schema
|
|
20
|
+
const updateReferences = (oldSlug, newSlug)=>{
|
|
21
|
+
for (const schema of Object.values(resolvedSchemas)){
|
|
22
|
+
for (const fieldAttr of Object.values(schema.fields)){
|
|
23
|
+
const ref = fieldAttr.references;
|
|
24
|
+
if (ref?.model === oldSlug) {
|
|
25
|
+
ref.model = newSlug;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
for (const [modelKey, schema] of Object.entries(resolvedSchemas)){
|
|
31
|
+
// Find the collection corresponding to this BetterAuth model
|
|
32
|
+
const collection = collections.find((c)=>c.custom?.betterAuthModelKey === modelKey);
|
|
33
|
+
if (!collection) {
|
|
34
|
+
console.error(`Collection not found for model key: ${modelKey}`);
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
// ───── Sync slug ─────────────────────────────────────────────────────────
|
|
38
|
+
const oldSlug = schema.modelName;
|
|
39
|
+
const newSlug = collection.slug;
|
|
40
|
+
if (oldSlug !== newSlug) {
|
|
41
|
+
// First, rewrite *all* references that still point to the old slug
|
|
42
|
+
updateReferences(oldSlug, newSlug);
|
|
43
|
+
// Now store the new slug on the schema itself
|
|
44
|
+
schema.modelName = newSlug;
|
|
45
|
+
}
|
|
46
|
+
const collectionFields = Array.isArray(collection.fields) ? collection.fields : [];
|
|
47
|
+
for (const [fieldKey, schemaField] of Object.entries(schema.fields)){
|
|
48
|
+
const matchingField = collectionFields.find((f)=>f.custom?.betterAuthFieldKey === fieldKey);
|
|
49
|
+
if (!matchingField) {
|
|
50
|
+
console.error(`Field not found for key "${fieldKey}" in collection "${collection.slug}"`);
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
const newName = matchingField.name;
|
|
54
|
+
if (newName && schemaField.fieldName !== newName) {
|
|
55
|
+
schemaField.fieldName = newName;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return resolvedSchemas;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vaGVscGVycy9zeW5jLXJlc29sdmVkLXNjaGVtYS13aXRoLWNvbGxlY3Rpb24tbWFwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJ3BheWxvYWQnXG5cbmltcG9ydCB0eXBlIHsgTW9kZWxLZXkgfSBmcm9tICcuLi8uLi9nZW5lcmF0ZWQtdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEJldHRlckF1dGhTY2hlbWFzIH0gZnJvbSAnLi4vdHlwZXMnXG5cbi8qKlxuICogU3luY3MgYSBCZXR0ZXJBdXRoIGBSZXNvbHZlZFNjaGVtYWAgb2JqZWN0IHdpdGggdGhlICphY3R1YWwqIGNvbGxlY3Rpb25cbiAqIGRlZmluaXRpb25zIGNyZWF0ZWQgYnkgdGhpcyBwbHVnaW4uXG4gKlxuICogVGhpcyBtdXN0IHJ1biAqKmFmdGVyKiogdGhlIGZpcnN0IGNhbGwgdG8gYGJ1aWxkQ29sbGVjdGlvbnNgLCBiZWNhdXNlIG9ubHlcbiAqIHRoZW4gZG8gd2Uga25vdyB0aGUgdXNlci1vdmVycmlkZGVuIHNsdWdzIC8gZmllbGQgbmFtZXMuICBUaGUgYWxnb3JpdGhtIGlzXG4gKiBrZXB0IGRlbGliZXJhdGVseSBzaW1wbGU6XG4gKlxuICogIDEuIEJ1aWxkIGEgYG1vZGVsS2V5IOKGkiBuZXdTbHVnYCBtYXAgZnJvbSBlYWNoIGNvbGxlY3Rpb24nc1xuICogICAgIGBjdXN0b20uYmV0dGVyQXV0aE1vZGVsS2V5YCBwcm9wZXJ0eS5cbiAqICAyLiBVcGRhdGUgYHNjaGVtYS5tb2RlbE5hbWVgIGZvciBhbGwgYWZmZWN0ZWQgdGFibGVzLlxuICogIDMuIFJld3JpdGUgYHJlZmVyZW5jZXMubW9kZWxgIGluICpldmVyeSogdGFibGUgZmllbGQgYWNjb3JkaW5nIHRvIHRoZSBuZXdcbiAqICAgICBzbHVncy4gIFdlIGRvIHRoaXMgaW4gYSBkZWRpY2F0ZWQgcGFzcyBzbyByZWZlcmVuY2luZyB0YWJsZXMgbm8gbG9uZ2VyXG4gKiAgICAgZGVwZW5kIG9uIHRoZSBvcmlnaW5hbCBzbHVncy5cbiAqICA0LiBGaW5hbGx5LCBpdGVyYXRlIGNvbGxlY3Rpb25zIG9uY2UgbW9yZSB0byBhcHBseSBhbnkgKmZpZWxkKiByZW5hbWVzIHZpYVxuICogICAgIHRoZSBgY3VzdG9tLmJldHRlckF1dGhGaWVsZEtleWAgcHJvcGVydHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzeW5jUmVzb2x2ZWRTY2hlbWFXaXRoQ29sbGVjdGlvbk1hcChcbiAgcmVzb2x2ZWRTY2hlbWFzOiBCZXR0ZXJBdXRoU2NoZW1hcyxcbiAgY29sbGVjdGlvbk1hcDogUmVjb3JkPHN0cmluZywgQ29sbGVjdGlvbkNvbmZpZz5cbik6IEJldHRlckF1dGhTY2hlbWFzIHtcbiAgY29uc3QgY29sbGVjdGlvbnMgPSBPYmplY3QudmFsdWVzKGNvbGxlY3Rpb25NYXApXG5cbiAgLy8gSGVscGVyIHRvIHVwZGF0ZSByZWZlcmVuY2VzIGFjcm9zcyB0aGUgd2hvbGUgc2NoZW1hXG4gIGNvbnN0IHVwZGF0ZVJlZmVyZW5jZXMgPSAob2xkU2x1Zzogc3RyaW5nLCBuZXdTbHVnOiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICBmb3IgKGNvbnN0IHNjaGVtYSBvZiBPYmplY3QudmFsdWVzKHJlc29sdmVkU2NoZW1hcykpIHtcbiAgICAgIGZvciAoY29uc3QgZmllbGRBdHRyIG9mIE9iamVjdC52YWx1ZXMoc2NoZW1hLmZpZWxkcykpIHtcbiAgICAgICAgY29uc3QgcmVmID0gKGZpZWxkQXR0ciBhcyBhbnkpLnJlZmVyZW5jZXNcbiAgICAgICAgaWYgKHJlZj8ubW9kZWwgPT09IG9sZFNsdWcpIHtcbiAgICAgICAgICByZWYubW9kZWwgPSBuZXdTbHVnXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmb3IgKGNvbnN0IFttb2RlbEtleSwgc2NoZW1hXSBvZiBPYmplY3QuZW50cmllcyhyZXNvbHZlZFNjaGVtYXMpIGFzIFtNb2RlbEtleSwgKHR5cGVvZiByZXNvbHZlZFNjaGVtYXMpW01vZGVsS2V5XV1bXSkge1xuICAgIC8vIEZpbmQgdGhlIGNvbGxlY3Rpb24gY29ycmVzcG9uZGluZyB0byB0aGlzIEJldHRlckF1dGggbW9kZWxcbiAgICBjb25zdCBjb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZmluZCgoYykgPT4gKGMuY3VzdG9tIGFzIGFueSk/LmJldHRlckF1dGhNb2RlbEtleSA9PT0gbW9kZWxLZXkpXG4gICAgaWYgKCFjb2xsZWN0aW9uKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBDb2xsZWN0aW9uIG5vdCBmb3VuZCBmb3IgbW9kZWwga2V5OiAke21vZGVsS2V5fWApXG4gICAgICBjb250aW51ZVxuICAgIH1cblxuICAgIC8vIOKUgOKUgOKUgOKUgOKUgCBTeW5jIHNsdWcg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICAgY29uc3Qgb2xkU2x1ZyA9IHNjaGVtYS5tb2RlbE5hbWVcbiAgICBjb25zdCBuZXdTbHVnID0gY29sbGVjdGlvbi5zbHVnXG5cbiAgICBpZiAob2xkU2x1ZyAhPT0gbmV3U2x1Zykge1xuICAgICAgLy8gRmlyc3QsIHJld3JpdGUgKmFsbCogcmVmZXJlbmNlcyB0aGF0IHN0aWxsIHBvaW50IHRvIHRoZSBvbGQgc2x1Z1xuICAgICAgdXBkYXRlUmVmZXJlbmNlcyhvbGRTbHVnLCBuZXdTbHVnKVxuXG4gICAgICAvLyBOb3cgc3RvcmUgdGhlIG5ldyBzbHVnIG9uIHRoZSBzY2hlbWEgaXRzZWxmXG4gICAgICBzY2hlbWEubW9kZWxOYW1lID0gbmV3U2x1Z1xuICAgIH1cblxuICAgIC8vIOKUgOKUgOKUgOKUgOKUgCBTeW5jIGZpZWxkIG5hbWVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAgIHR5cGUgRmllbGRXaXRoSWRzID0geyBuYW1lPzogc3RyaW5nOyBjdXN0b20/OiB7IGJldHRlckF1dGhGaWVsZEtleT86IHN0cmluZyB9IH1cblxuICAgIGNvbnN0IGNvbGxlY3Rpb25GaWVsZHM6IEZpZWxkV2l0aElkc1tdID0gQXJyYXkuaXNBcnJheShjb2xsZWN0aW9uLmZpZWxkcykgPyAoY29sbGVjdGlvbi5maWVsZHMgYXMgRmllbGRXaXRoSWRzW10pIDogW11cblxuICAgIGZvciAoY29uc3QgW2ZpZWxkS2V5LCBzY2hlbWFGaWVsZF0gb2YgT2JqZWN0LmVudHJpZXMoc2NoZW1hLmZpZWxkcykpIHtcbiAgICAgIGNvbnN0IG1hdGNoaW5nRmllbGQgPSBjb2xsZWN0aW9uRmllbGRzLmZpbmQoKGYpID0+IGYuY3VzdG9tPy5iZXR0ZXJBdXRoRmllbGRLZXkgPT09IGZpZWxkS2V5KVxuXG4gICAgICBpZiAoIW1hdGNoaW5nRmllbGQpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgRmllbGQgbm90IGZvdW5kIGZvciBrZXkgXCIke2ZpZWxkS2V5fVwiIGluIGNvbGxlY3Rpb24gXCIke2NvbGxlY3Rpb24uc2x1Z31cImApXG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5ld05hbWUgPSBtYXRjaGluZ0ZpZWxkLm5hbWVcbiAgICAgIGlmIChuZXdOYW1lICYmIHNjaGVtYUZpZWxkLmZpZWxkTmFtZSAhPT0gbmV3TmFtZSkge1xuICAgICAgICBzY2hlbWFGaWVsZC5maWVsZE5hbWUgPSBuZXdOYW1lXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc29sdmVkU2NoZW1hc1xufVxuIl0sIm5hbWVzIjpbInN5bmNSZXNvbHZlZFNjaGVtYVdpdGhDb2xsZWN0aW9uTWFwIiwicmVzb2x2ZWRTY2hlbWFzIiwiY29sbGVjdGlvbk1hcCIsImNvbGxlY3Rpb25zIiwiT2JqZWN0IiwidmFsdWVzIiwidXBkYXRlUmVmZXJlbmNlcyIsIm9sZFNsdWciLCJuZXdTbHVnIiwic2NoZW1hIiwiZmllbGRBdHRyIiwiZmllbGRzIiwicmVmIiwicmVmZXJlbmNlcyIsIm1vZGVsIiwibW9kZWxLZXkiLCJlbnRyaWVzIiwiY29sbGVjdGlvbiIsImZpbmQiLCJjIiwiY3VzdG9tIiwiYmV0dGVyQXV0aE1vZGVsS2V5IiwiY29uc29sZSIsImVycm9yIiwibW9kZWxOYW1lIiwic2x1ZyIsImNvbGxlY3Rpb25GaWVsZHMiLCJBcnJheSIsImlzQXJyYXkiLCJmaWVsZEtleSIsInNjaGVtYUZpZWxkIiwibWF0Y2hpbmdGaWVsZCIsImYiLCJiZXR0ZXJBdXRoRmllbGRLZXkiLCJuZXdOYW1lIiwibmFtZSIsImZpZWxkTmFtZSJdLCJtYXBwaW5ncyI6IkFBS0E7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FnQkMsR0FDRCxPQUFPLFNBQVNBLG9DQUNkQyxlQUFrQyxFQUNsQ0MsYUFBK0M7SUFFL0MsTUFBTUMsY0FBY0MsT0FBT0MsTUFBTSxDQUFDSDtJQUVsQyxzREFBc0Q7SUFDdEQsTUFBTUksbUJBQW1CLENBQUNDLFNBQWlCQztRQUN6QyxLQUFLLE1BQU1DLFVBQVVMLE9BQU9DLE1BQU0sQ0FBQ0osaUJBQWtCO1lBQ25ELEtBQUssTUFBTVMsYUFBYU4sT0FBT0MsTUFBTSxDQUFDSSxPQUFPRSxNQUFNLEVBQUc7Z0JBQ3BELE1BQU1DLE1BQU0sQUFBQ0YsVUFBa0JHLFVBQVU7Z0JBQ3pDLElBQUlELEtBQUtFLFVBQVVQLFNBQVM7b0JBQzFCSyxJQUFJRSxLQUFLLEdBQUdOO2dCQUNkO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsS0FBSyxNQUFNLENBQUNPLFVBQVVOLE9BQU8sSUFBSUwsT0FBT1ksT0FBTyxDQUFDZixpQkFBc0U7UUFDcEgsNkRBQTZEO1FBQzdELE1BQU1nQixhQUFhZCxZQUFZZSxJQUFJLENBQUMsQ0FBQ0MsSUFBTSxBQUFDQSxFQUFFQyxNQUFNLEVBQVVDLHVCQUF1Qk47UUFDckYsSUFBSSxDQUFDRSxZQUFZO1lBQ2ZLLFFBQVFDLEtBQUssQ0FBQyxDQUFDLG9DQUFvQyxFQUFFUixVQUFVO1lBQy9EO1FBQ0Y7UUFFQSw0RUFBNEU7UUFDNUUsTUFBTVIsVUFBVUUsT0FBT2UsU0FBUztRQUNoQyxNQUFNaEIsVUFBVVMsV0FBV1EsSUFBSTtRQUUvQixJQUFJbEIsWUFBWUMsU0FBUztZQUN2QixtRUFBbUU7WUFDbkVGLGlCQUFpQkMsU0FBU0M7WUFFMUIsOENBQThDO1lBQzlDQyxPQUFPZSxTQUFTLEdBQUdoQjtRQUNyQjtRQUtBLE1BQU1rQixtQkFBbUNDLE1BQU1DLE9BQU8sQ0FBQ1gsV0FBV04sTUFBTSxJQUFLTSxXQUFXTixNQUFNLEdBQXNCLEVBQUU7UUFFdEgsS0FBSyxNQUFNLENBQUNrQixVQUFVQyxZQUFZLElBQUkxQixPQUFPWSxPQUFPLENBQUNQLE9BQU9FLE1BQU0sRUFBRztZQUNuRSxNQUFNb0IsZ0JBQWdCTCxpQkFBaUJSLElBQUksQ0FBQyxDQUFDYyxJQUFNQSxFQUFFWixNQUFNLEVBQUVhLHVCQUF1Qko7WUFFcEYsSUFBSSxDQUFDRSxlQUFlO2dCQUNsQlQsUUFBUUMsS0FBSyxDQUFDLENBQUMseUJBQXlCLEVBQUVNLFNBQVMsaUJBQWlCLEVBQUVaLFdBQVdRLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ3hGO1lBQ0Y7WUFFQSxNQUFNUyxVQUFVSCxjQUFjSSxJQUFJO1lBQ2xDLElBQUlELFdBQVdKLFlBQVlNLFNBQVMsS0FBS0YsU0FBUztnQkFDaERKLFlBQVlNLFNBQVMsR0FBR0Y7WUFDMUI7UUFDRjtJQUNGO0lBRUEsT0FBT2pDO0FBQ1QifQ==
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { BetterAuthOptions } from 'better-auth/types';
|
|
2
|
+
import { SanitizedConfig, type Config } from 'payload';
|
|
3
|
+
import { PayloadAdapterParams } from '../types';
|
|
2
4
|
import type { BetterAuthPluginOptions } from './types';
|
|
3
5
|
export * from './helpers/index';
|
|
4
6
|
export { getPayloadAuth } from './lib/get-payload-auth';
|
|
5
7
|
export { sanitizeBetterAuthOptions } from './lib/sanitize-better-auth-options/index';
|
|
6
8
|
export * from './types';
|
|
7
9
|
export declare function betterAuthPlugin(pluginOptions: BetterAuthPluginOptions): (config: Config) => Config;
|
|
10
|
+
export declare function withPayloadAuth({ payloadConfig, betterAuthConfig: pluginOptions, adapterOptions }: {
|
|
11
|
+
payloadConfig: SanitizedConfig;
|
|
12
|
+
betterAuthConfig: BetterAuthPluginOptions;
|
|
13
|
+
adapterOptions: Pick<PayloadAdapterParams, 'idType'> & Partial<Pick<PayloadAdapterParams, 'payloadClient'>>;
|
|
14
|
+
}): BetterAuthOptions;
|
|
8
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/better-auth/plugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/better-auth/plugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAc,eAAe,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AAElE,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAQ/C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAEtD,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAA;AACpF,cAAc,SAAS,CAAA;AA8CvB,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,uBAAuB,IAC7D,QAAQ,MAAM,KAAG,MAAM,CA6DhC;AAED,wBAAgB,eAAe,CAAC,EAC9B,aAAa,EACb,gBAAgB,EAAE,aAAa,EAC/B,cAAc,EACf,EAAE;IACD,aAAa,EAAE,eAAe,CAAA;IAC9B,gBAAgB,EAAE,uBAAuB,CAAA;IACzC,cAAc,EAAE,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC,CAAA;CAC5G,GAAG,iBAAiB,CAoBpB"}
|
|
@@ -1,14 +1,48 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { getPayload } from "payload";
|
|
2
|
+
import { payloadAdapter } from "payload-auth/better-auth/adapter";
|
|
3
|
+
import { getDefaultBetterAuthSchema } from "./helpers/get-better-auth-schema";
|
|
4
|
+
import { syncResolvedSchemaWithCollectionMap } from "./helpers/sync-resolved-schema-with-collection-map";
|
|
5
|
+
import { applyDisabledDefaultAuthConfig } from "./lib/apply-disabled-default-auth-config";
|
|
6
|
+
import { buildCollections } from "./lib/build-collections/index";
|
|
4
7
|
import { initBetterAuth } from "./lib/init-better-auth";
|
|
5
8
|
import { sanitizeBetterAuthOptions } from "./lib/sanitize-better-auth-options/index";
|
|
6
9
|
import { setLoginMethods } from "./lib/set-login-methods";
|
|
7
|
-
import { buildCollectionSchemaMap } from "./helpers/get-collection-schema-map";
|
|
8
10
|
export * from "./helpers/index";
|
|
9
11
|
export { getPayloadAuth } from "./lib/get-payload-auth";
|
|
10
12
|
export { sanitizeBetterAuthOptions } from "./lib/sanitize-better-auth-options/index";
|
|
11
13
|
export * from "./types";
|
|
14
|
+
function buildBetterAuthData({ payloadConfig, pluginOptions }) {
|
|
15
|
+
pluginOptions = setLoginMethods({
|
|
16
|
+
pluginOptions
|
|
17
|
+
});
|
|
18
|
+
const defaultBetterAuthSchemas = getDefaultBetterAuthSchema(pluginOptions);
|
|
19
|
+
let collectionMap = buildCollections({
|
|
20
|
+
resolvedSchemas: defaultBetterAuthSchemas,
|
|
21
|
+
incomingCollections: payloadConfig.collections ?? [],
|
|
22
|
+
pluginOptions
|
|
23
|
+
});
|
|
24
|
+
const resolvedBetterAuthSchemas = syncResolvedSchemaWithCollectionMap(defaultBetterAuthSchemas, collectionMap);
|
|
25
|
+
// We need to build the collections a second time with the resolved schemas
|
|
26
|
+
// due to hooks, endpoints, useAsTitle, etc should relay on resolvedBetterAuthSchemas to get slugs
|
|
27
|
+
// if they are referencing to other collections then it self.
|
|
28
|
+
collectionMap = buildCollections({
|
|
29
|
+
resolvedSchemas: resolvedBetterAuthSchemas,
|
|
30
|
+
incomingCollections: payloadConfig.collections ?? [],
|
|
31
|
+
pluginOptions
|
|
32
|
+
});
|
|
33
|
+
const sanitizedBetterAuthOptions = sanitizeBetterAuthOptions({
|
|
34
|
+
config: payloadConfig,
|
|
35
|
+
pluginOptions,
|
|
36
|
+
resolvedSchemas: resolvedBetterAuthSchemas
|
|
37
|
+
});
|
|
38
|
+
pluginOptions.betterAuthOptions = sanitizedBetterAuthOptions;
|
|
39
|
+
return {
|
|
40
|
+
pluginOptions,
|
|
41
|
+
collectionMap,
|
|
42
|
+
resolvedBetterAuthSchemas,
|
|
43
|
+
sanitizedBetterAuthOptions
|
|
44
|
+
};
|
|
45
|
+
}
|
|
12
46
|
export function betterAuthPlugin(pluginOptions) {
|
|
13
47
|
return (config)=>{
|
|
14
48
|
if (pluginOptions.disabled) {
|
|
@@ -18,95 +52,18 @@ export function betterAuthPlugin(pluginOptions) {
|
|
|
18
52
|
...config.custom,
|
|
19
53
|
hasBetterAuthPlugin: true
|
|
20
54
|
};
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
});
|
|
24
|
-
const collectionSchemaMap = buildCollectionSchemaMap(pluginOptions);
|
|
25
|
-
const sanitizedBetterAuthOptions = sanitizeBetterAuthOptions({
|
|
26
|
-
config,
|
|
27
|
-
pluginOptions,
|
|
28
|
-
collectionSchemaMap
|
|
29
|
-
});
|
|
30
|
-
pluginOptions.betterAuthOptions = sanitizedBetterAuthOptions;
|
|
31
|
-
// Build the collection map
|
|
32
|
-
const collectionMap = buildCollectionMap({
|
|
33
|
-
collectionSchemaMap,
|
|
34
|
-
incomingCollections: config.collections ?? [],
|
|
55
|
+
const { collectionMap, resolvedBetterAuthSchemas, sanitizedBetterAuthOptions } = buildBetterAuthData({
|
|
56
|
+
payloadConfig: config,
|
|
35
57
|
pluginOptions
|
|
36
58
|
});
|
|
37
|
-
//
|
|
59
|
+
// ---------------------- Finalize config -----------------
|
|
38
60
|
if (pluginOptions.disableDefaultPayloadAuth) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
path: 'payload-auth/better-auth/plugin/rsc#RSCRedirect',
|
|
46
|
-
serverProps: {
|
|
47
|
-
redirectTo: `${config.routes?.admin === undefined ? '/admin' : config.routes.admin}${adminRoutes.adminLogin}`
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
...config.admin?.components?.afterLogin || []
|
|
51
|
-
],
|
|
52
|
-
logout: {
|
|
53
|
-
Button: {
|
|
54
|
-
path: 'payload-auth/better-auth/plugin/client#LogoutButton'
|
|
55
|
-
}
|
|
56
|
-
},
|
|
57
|
-
views: {
|
|
58
|
-
...config.admin?.components?.views,
|
|
59
|
-
adminLogin: {
|
|
60
|
-
path: adminRoutes.adminLogin,
|
|
61
|
-
Component: {
|
|
62
|
-
path: 'payload-auth/better-auth/plugin/rsc#AdminLogin',
|
|
63
|
-
serverProps: {
|
|
64
|
-
pluginOptions: pluginOptions,
|
|
65
|
-
adminInvitationsSlug: collectionMap[baseSlugs.adminInvitations].slug
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
adminSignup: {
|
|
70
|
-
path: adminRoutes.adminSignup,
|
|
71
|
-
Component: {
|
|
72
|
-
path: 'payload-auth/better-auth/plugin/rsc#AdminSignup',
|
|
73
|
-
serverProps: {
|
|
74
|
-
pluginOptions: pluginOptions,
|
|
75
|
-
adminInvitationsSlug: collectionMap[baseSlugs.adminInvitations].slug
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
forgotPassword: {
|
|
80
|
-
path: adminRoutes.forgotPassword,
|
|
81
|
-
Component: {
|
|
82
|
-
path: 'payload-auth/better-auth/plugin/rsc#ForgotPassword'
|
|
83
|
-
}
|
|
84
|
-
},
|
|
85
|
-
resetPassword: {
|
|
86
|
-
path: adminRoutes.resetPassword,
|
|
87
|
-
Component: {
|
|
88
|
-
path: 'payload-auth/better-auth/plugin/rsc#ResetPassword'
|
|
89
|
-
}
|
|
90
|
-
},
|
|
91
|
-
...checkPluginExists(pluginOptions.betterAuthOptions ?? {}, supportedBAPluginIds.twoFactor) && {
|
|
92
|
-
twoFactorVerify: {
|
|
93
|
-
path: adminRoutes.twoFactorVerify,
|
|
94
|
-
Component: {
|
|
95
|
-
path: 'payload-auth/better-auth/plugin/rsc#TwoFactorVerify',
|
|
96
|
-
serverProps: {
|
|
97
|
-
pluginOptions: pluginOptions,
|
|
98
|
-
verificationsSlug: collectionSchemaMap[baModelKey.verification].collectionSlug
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
},
|
|
105
|
-
routes: {
|
|
106
|
-
...config.admin?.routes,
|
|
107
|
-
login: adminRoutes.loginRedirect
|
|
108
|
-
}
|
|
109
|
-
};
|
|
61
|
+
applyDisabledDefaultAuthConfig({
|
|
62
|
+
config,
|
|
63
|
+
pluginOptions,
|
|
64
|
+
collectionMap,
|
|
65
|
+
resolvedBetterAuthSchemas
|
|
66
|
+
});
|
|
110
67
|
}
|
|
111
68
|
config.collections = config.collections ?? [];
|
|
112
69
|
config.collections = Object.values(collectionMap);
|
|
@@ -143,5 +100,24 @@ export function betterAuthPlugin(pluginOptions) {
|
|
|
143
100
|
return config;
|
|
144
101
|
};
|
|
145
102
|
}
|
|
103
|
+
export function withPayloadAuth({ payloadConfig, betterAuthConfig: pluginOptions, adapterOptions }) {
|
|
104
|
+
if (pluginOptions.disabled) {
|
|
105
|
+
return pluginOptions.betterAuthOptions;
|
|
106
|
+
}
|
|
107
|
+
const { sanitizedBetterAuthOptions } = buildBetterAuthData({
|
|
108
|
+
payloadConfig,
|
|
109
|
+
pluginOptions: structuredClone(pluginOptions)
|
|
110
|
+
});
|
|
111
|
+
const optionsWithAdapter = {
|
|
112
|
+
...sanitizedBetterAuthOptions,
|
|
113
|
+
database: payloadAdapter({
|
|
114
|
+
payloadClient: adapterOptions?.payloadClient ?? (async ()=>await getPayload({
|
|
115
|
+
config: payloadConfig
|
|
116
|
+
})),
|
|
117
|
+
idType: adapterOptions.idType
|
|
118
|
+
})
|
|
119
|
+
};
|
|
120
|
+
return optionsWithAdapter;
|
|
121
|
+
}
|
|
146
122
|
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmxhdHRlbkFsbEZpZWxkcywgRmxhdHRlbmVkRmllbGQsIHR5cGUgQ29sbGVjdGlvbkNvbmZpZywgdHlwZSBDb25maWcsIHR5cGUgRmllbGQgfSBmcm9tICdwYXlsb2FkJ1xuaW1wb3J0IHsgYWRtaW5Sb3V0ZXMsIGJhTW9kZWxGaWVsZEtleXMsIGJhTW9kZWxLZXksIGJhTW9kZWxLZXlUb1NsdWcsIGJhc2VTbHVncywgc3VwcG9ydGVkQkFQbHVnaW5JZHMgfSBmcm9tICcuL2NvbnN0YW50cydcbmltcG9ydCB7IGNoZWNrUGx1Z2luRXhpc3RzIH0gZnJvbSAnLi9oZWxwZXJzL2NoZWNrLXBsdWdpbi1leGlzdHMnXG5pbXBvcnQgeyBnZXRNYXBwZWRDb2xsZWN0aW9uIH0gZnJvbSAnLi9oZWxwZXJzL2dldC1jb2xsZWN0aW9uJ1xuaW1wb3J0IHsgYnVpbGRDb2xsZWN0aW9uTWFwIH0gZnJvbSAnLi9saWIvYnVpbGQtY29sbGVjdGlvbnMvaW5kZXgnXG5pbXBvcnQgeyBpbml0QmV0dGVyQXV0aCB9IGZyb20gJy4vbGliL2luaXQtYmV0dGVyLWF1dGgnXG5pbXBvcnQgeyBzYW5pdGl6ZUJldHRlckF1dGhPcHRpb25zIH0gZnJvbSAnLi9saWIvc2FuaXRpemUtYmV0dGVyLWF1dGgtb3B0aW9ucy9pbmRleCdcbmltcG9ydCB7IHNldExvZ2luTWV0aG9kcyB9IGZyb20gJy4vbGliL3NldC1sb2dpbi1tZXRob2RzJ1xuaW1wb3J0IHR5cGUgeyBCZXR0ZXJBdXRoUGx1Z2luT3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnXG5pbXBvcnQgeyBnZXREZWFmdWx0Q29sbGVjdGlvblNsdWcgfSBmcm9tICcuL2hlbHBlcnMvZ2V0LWNvbGxlY3Rpb24tc2x1ZydcbmltcG9ydCB7IGJ1aWxkQ29sbGVjdGlvblNjaGVtYU1hcCwgZ2V0RGVmYXVsdENvbGxlY3Rpb25TY2hlbWFNYXAgfSBmcm9tICcuL2hlbHBlcnMvZ2V0LWNvbGxlY3Rpb24tc2NoZW1hLW1hcCdcblxuZXhwb3J0ICogZnJvbSAnLi9oZWxwZXJzL2luZGV4J1xuZXhwb3J0IHsgZ2V0UGF5bG9hZEF1dGggfSBmcm9tICcuL2xpYi9nZXQtcGF5bG9hZC1hdXRoJ1xuZXhwb3J0IHsgc2FuaXRpemVCZXR0ZXJBdXRoT3B0aW9ucyB9IGZyb20gJy4vbGliL3Nhbml0aXplLWJldHRlci1hdXRoLW9wdGlvbnMvaW5kZXgnXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgZnVuY3Rpb24gYmV0dGVyQXV0aFBsdWdpbihwbHVnaW5PcHRpb25zOiBCZXR0ZXJBdXRoUGx1Z2luT3B0aW9ucykge1xuICByZXR1cm4gKGNvbmZpZzogQ29uZmlnKTogQ29uZmlnID0+IHtcbiAgICBpZiAocGx1Z2luT3B0aW9ucy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIGNvbmZpZ1xuICAgIH1cblxuICAgIGNvbmZpZy5jdXN0b20gPSB7XG4gICAgICAuLi5jb25maWcuY3VzdG9tLFxuICAgICAgaGFzQmV0dGVyQXV0aFBsdWdpbjogdHJ1ZVxuICAgIH1cblxuICAgIHBsdWdpbk9wdGlvbnMgPSBzZXRMb2dpbk1ldGhvZHMoeyBwbHVnaW5PcHRpb25zIH0pXG5cbiAgICBjb25zdCBjb2xsZWN0aW9uU2NoZW1hTWFwID0gYnVpbGRDb2xsZWN0aW9uU2NoZW1hTWFwKHBsdWdpbk9wdGlvbnMpXG4gICAgY29uc3Qgc2FuaXRpemVkQmV0dGVyQXV0aE9wdGlvbnMgPSBzYW5pdGl6ZUJldHRlckF1dGhPcHRpb25zKHtcbiAgICAgIGNvbmZpZyxcbiAgICAgIHBsdWdpbk9wdGlvbnMsXG4gICAgICBjb2xsZWN0aW9uU2NoZW1hTWFwXG4gICAgfSlcblxuICAgIHBsdWdpbk9wdGlvbnMuYmV0dGVyQXV0aE9wdGlvbnMgPSBzYW5pdGl6ZWRCZXR0ZXJBdXRoT3B0aW9uc1xuXG4gICAgLy8gQnVpbGQgdGhlIGNvbGxlY3Rpb24gbWFwXG4gICAgY29uc3QgY29sbGVjdGlvbk1hcCA9IGJ1aWxkQ29sbGVjdGlvbk1hcCh7XG4gICAgICBjb2xsZWN0aW9uU2NoZW1hTWFwLFxuICAgICAgaW5jb21pbmdDb2xsZWN0aW9uczogY29uZmlnLmNvbGxlY3Rpb25zID8/IFtdLFxuICAgICAgcGx1Z2luT3B0aW9uc1xuICAgIH0pXG5cbiAgICAvLyBTZXQgY3VzdG9tIGFkbWluIGNvbXBvbmVudHMgaWYgZGlzYWJsZURlZmF1bHRQYXlsb2FkQXV0aCBpcyB0cnVlXG4gICAgaWYgKHBsdWdpbk9wdGlvbnMuZGlzYWJsZURlZmF1bHRQYXlsb2FkQXV0aCkge1xuICAgICAgY29uZmlnLmFkbWluID0ge1xuICAgICAgICAuLi5jb25maWcuYWRtaW4sXG4gICAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgICAuLi5jb25maWcuYWRtaW4/LmNvbXBvbmVudHMsXG4gICAgICAgICAgYWZ0ZXJMb2dpbjogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBwYXRoOiAncGF5bG9hZC1hdXRoL2JldHRlci1hdXRoL3BsdWdpbi9yc2MjUlNDUmVkaXJlY3QnLFxuICAgICAgICAgICAgICBzZXJ2ZXJQcm9wczoge1xuICAgICAgICAgICAgICAgIHJlZGlyZWN0VG86IGAke2NvbmZpZy5yb3V0ZXM/LmFkbWluID09PSB1bmRlZmluZWQgPyAnL2FkbWluJyA6IGNvbmZpZy5yb3V0ZXMuYWRtaW59JHthZG1pblJvdXRlcy5hZG1pbkxvZ2lufWBcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC4uLihjb25maWcuYWRtaW4/LmNvbXBvbmVudHM/LmFmdGVyTG9naW4gfHwgW10pXG4gICAgICAgICAgXSxcbiAgICAgICAgICBsb2dvdXQ6IHtcbiAgICAgICAgICAgIEJ1dHRvbjoge1xuICAgICAgICAgICAgICBwYXRoOiAncGF5bG9hZC1hdXRoL2JldHRlci1hdXRoL3BsdWdpbi9jbGllbnQjTG9nb3V0QnV0dG9uJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgdmlld3M6IHtcbiAgICAgICAgICAgIC4uLmNvbmZpZy5hZG1pbj8uY29tcG9uZW50cz8udmlld3MsXG4gICAgICAgICAgICBhZG1pbkxvZ2luOiB7XG4gICAgICAgICAgICAgIHBhdGg6IGFkbWluUm91dGVzLmFkbWluTG9naW4sXG4gICAgICAgICAgICAgIENvbXBvbmVudDoge1xuICAgICAgICAgICAgICAgIHBhdGg6ICdwYXlsb2FkLWF1dGgvYmV0dGVyLWF1dGgvcGx1Z2luL3JzYyNBZG1pbkxvZ2luJyxcbiAgICAgICAgICAgICAgICBzZXJ2ZXJQcm9wczoge1xuICAgICAgICAgICAgICAgICAgcGx1Z2luT3B0aW9uczogcGx1Z2luT3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgIGFkbWluSW52aXRhdGlvbnNTbHVnOiBjb2xsZWN0aW9uTWFwW2Jhc2VTbHVncy5hZG1pbkludml0YXRpb25zXS5zbHVnXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYWRtaW5TaWdudXA6IHtcbiAgICAgICAgICAgICAgcGF0aDogYWRtaW5Sb3V0ZXMuYWRtaW5TaWdudXAsXG4gICAgICAgICAgICAgIENvbXBvbmVudDoge1xuICAgICAgICAgICAgICAgIHBhdGg6ICdwYXlsb2FkLWF1dGgvYmV0dGVyLWF1dGgvcGx1Z2luL3JzYyNBZG1pblNpZ251cCcsXG4gICAgICAgICAgICAgICAgc2VydmVyUHJvcHM6IHtcbiAgICAgICAgICAgICAgICAgIHBsdWdpbk9wdGlvbnM6IHBsdWdpbk9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICBhZG1pbkludml0YXRpb25zU2x1ZzogY29sbGVjdGlvbk1hcFtiYXNlU2x1Z3MuYWRtaW5JbnZpdGF0aW9uc10uc2x1Z1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGZvcmdvdFBhc3N3b3JkOiB7XG4gICAgICAgICAgICAgIHBhdGg6IGFkbWluUm91dGVzLmZvcmdvdFBhc3N3b3JkLFxuICAgICAgICAgICAgICBDb21wb25lbnQ6IHtcbiAgICAgICAgICAgICAgICBwYXRoOiAncGF5bG9hZC1hdXRoL2JldHRlci1hdXRoL3BsdWdpbi9yc2MjRm9yZ290UGFzc3dvcmQnXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZXNldFBhc3N3b3JkOiB7XG4gICAgICAgICAgICAgIHBhdGg6IGFkbWluUm91dGVzLnJlc2V0UGFzc3dvcmQsXG4gICAgICAgICAgICAgIENvbXBvbmVudDoge1xuICAgICAgICAgICAgICAgIHBhdGg6ICdwYXlsb2FkLWF1dGgvYmV0dGVyLWF1dGgvcGx1Z2luL3JzYyNSZXNldFBhc3N3b3JkJ1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLi4uKGNoZWNrUGx1Z2luRXhpc3RzKHBsdWdpbk9wdGlvbnMuYmV0dGVyQXV0aE9wdGlvbnMgPz8ge30sIHN1cHBvcnRlZEJBUGx1Z2luSWRzLnR3b0ZhY3RvcikgJiYge1xuICAgICAgICAgICAgICB0d29GYWN0b3JWZXJpZnk6IHtcbiAgICAgICAgICAgICAgICBwYXRoOiBhZG1pblJvdXRlcy50d29GYWN0b3JWZXJpZnksXG4gICAgICAgICAgICAgICAgQ29tcG9uZW50OiB7XG4gICAgICAgICAgICAgICAgICBwYXRoOiAncGF5bG9hZC1hdXRoL2JldHRlci1hdXRoL3BsdWdpbi9yc2MjVHdvRmFjdG9yVmVyaWZ5JyxcbiAgICAgICAgICAgICAgICAgIHNlcnZlclByb3BzOiB7XG4gICAgICAgICAgICAgICAgICAgIHBsdWdpbk9wdGlvbnM6IHBsdWdpbk9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgIHZlcmlmaWNhdGlvbnNTbHVnOiBjb2xsZWN0aW9uU2NoZW1hTWFwW2JhTW9kZWxLZXkudmVyaWZpY2F0aW9uXS5jb2xsZWN0aW9uU2x1Z1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHJvdXRlczoge1xuICAgICAgICAgIC4uLmNvbmZpZy5hZG1pbj8ucm91dGVzLFxuICAgICAgICAgIGxvZ2luOiBhZG1pblJvdXRlcy5sb2dpblJlZGlyZWN0XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25maWcuY29sbGVjdGlvbnMgPSBjb25maWcuY29sbGVjdGlvbnMgPz8gW11cbiAgICBjb25maWcuY29sbGVjdGlvbnMgPSBPYmplY3QudmFsdWVzKGNvbGxlY3Rpb25NYXApXG5cbiAgICBjb25zdCBpbmNvbWluZ09uSW5pdCA9IGNvbmZpZy5vbkluaXRcblxuICAgIGNvbmZpZy5vbkluaXQgPSBhc3luYyAocGF5bG9hZCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gRXhlY3V0ZSBhbnkgZXhpc3Rpbmcgb25Jbml0IGZ1bmN0aW9ucyBmaXJzdFxuICAgICAgICBpZiAoaW5jb21pbmdPbkluaXQpIHtcbiAgICAgICAgICBhd2FpdCBpbmNvbWluZ09uSW5pdChwYXlsb2FkKVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW5pdGlhbGl6ZSBhbmQgc2V0IHRoZSBiZXR0ZXJBdXRoIGluc3RhbmNlXG4gICAgICAgIGNvbnN0IGF1dGggPSBpbml0QmV0dGVyQXV0aDxOb25OdWxsYWJsZTx0eXBlb2Ygc2FuaXRpemVkQmV0dGVyQXV0aE9wdGlvbnMucGx1Z2lucz4+KHtcbiAgICAgICAgICBwYXlsb2FkLFxuICAgICAgICAgIGlkVHlwZTogcGF5bG9hZC5kYi5kZWZhdWx0SURUeXBlLFxuICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIC4uLnNhbml0aXplZEJldHRlckF1dGhPcHRpb25zLFxuICAgICAgICAgICAgZW5hYmxlRGVidWdMb2dzOiBwbHVnaW5PcHRpb25zLmRlYnVnPy5lbmFibGVEZWJ1Z0xvZ3MgPz8gZmFsc2UsXG4gICAgICAgICAgICBwbHVnaW5zOiBbLi4uKHNhbml0aXplZEJldHRlckF1dGhPcHRpb25zLnBsdWdpbnMgPz8gW10pXVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgICAvLyBUeXBlLXNhZmUgZXh0ZW5zaW9uIG9mIHBheWxvYWQgd2l0aCBiZXR0ZXJBdXRoXG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwYXlsb2FkLCAnYmV0dGVyQXV0aCcsIHtcbiAgICAgICAgICB2YWx1ZTogYXV0aCxcbiAgICAgICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZVxuICAgICAgICB9KVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGluaXRpYWxpemUgQmV0dGVyQXV0aDonLCBlcnJvcilcbiAgICAgICAgdGhyb3cgZXJyb3JcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNvbmZpZ1xuICB9XG59XG4iXSwibmFtZXMiOlsiYWRtaW5Sb3V0ZXMiLCJiYU1vZGVsS2V5IiwiYmFzZVNsdWdzIiwic3VwcG9ydGVkQkFQbHVnaW5JZHMiLCJjaGVja1BsdWdpbkV4aXN0cyIsImJ1aWxkQ29sbGVjdGlvbk1hcCIsImluaXRCZXR0ZXJBdXRoIiwic2FuaXRpemVCZXR0ZXJBdXRoT3B0aW9ucyIsInNldExvZ2luTWV0aG9kcyIsImJ1aWxkQ29sbGVjdGlvblNjaGVtYU1hcCIsImdldFBheWxvYWRBdXRoIiwiYmV0dGVyQXV0aFBsdWdpbiIsInBsdWdpbk9wdGlvbnMiLCJjb25maWciLCJkaXNhYmxlZCIsImN1c3RvbSIsImhhc0JldHRlckF1dGhQbHVnaW4iLCJjb2xsZWN0aW9uU2NoZW1hTWFwIiwic2FuaXRpemVkQmV0dGVyQXV0aE9wdGlvbnMiLCJiZXR0ZXJBdXRoT3B0aW9ucyIsImNvbGxlY3Rpb25NYXAiLCJpbmNvbWluZ0NvbGxlY3Rpb25zIiwiY29sbGVjdGlvbnMiLCJkaXNhYmxlRGVmYXVsdFBheWxvYWRBdXRoIiwiYWRtaW4iLCJjb21wb25lbnRzIiwiYWZ0ZXJMb2dpbiIsInBhdGgiLCJzZXJ2ZXJQcm9wcyIsInJlZGlyZWN0VG8iLCJyb3V0ZXMiLCJ1bmRlZmluZWQiLCJhZG1pbkxvZ2luIiwibG9nb3V0IiwiQnV0dG9uIiwidmlld3MiLCJDb21wb25lbnQiLCJhZG1pbkludml0YXRpb25zU2x1ZyIsImFkbWluSW52aXRhdGlvbnMiLCJzbHVnIiwiYWRtaW5TaWdudXAiLCJmb3Jnb3RQYXNzd29yZCIsInJlc2V0UGFzc3dvcmQiLCJ0d29GYWN0b3IiLCJ0d29GYWN0b3JWZXJpZnkiLCJ2ZXJpZmljYXRpb25zU2x1ZyIsInZlcmlmaWNhdGlvbiIsImNvbGxlY3Rpb25TbHVnIiwibG9naW4iLCJsb2dpblJlZGlyZWN0IiwiT2JqZWN0IiwidmFsdWVzIiwiaW5jb21pbmdPbkluaXQiLCJvbkluaXQiLCJwYXlsb2FkIiwiYXV0aCIsImlkVHlwZSIsImRiIiwiZGVmYXVsdElEVHlwZSIsIm9wdGlvbnMiLCJlbmFibGVEZWJ1Z0xvZ3MiLCJkZWJ1ZyIsInBsdWdpbnMiLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwid3JpdGFibGUiLCJjb25maWd1cmFibGUiLCJlcnJvciIsImNvbnNvbGUiXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLFdBQVcsRUFBb0JDLFVBQVUsRUFBb0JDLFNBQVMsRUFBRUMsb0JBQW9CLFFBQVEsY0FBYTtBQUMxSCxTQUFTQyxpQkFBaUIsUUFBUSxnQ0FBK0I7QUFFakUsU0FBU0Msa0JBQWtCLFFBQVEsZ0NBQStCO0FBQ2xFLFNBQVNDLGNBQWMsUUFBUSx5QkFBd0I7QUFDdkQsU0FBU0MseUJBQXlCLFFBQVEsMkNBQTBDO0FBQ3BGLFNBQVNDLGVBQWUsUUFBUSwwQkFBeUI7QUFHekQsU0FBU0Msd0JBQXdCLFFBQXVDLHNDQUFxQztBQUU3RyxjQUFjLGtCQUFpQjtBQUMv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
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCZXR0ZXJBdXRoT3B0aW9ucyB9IGZyb20gJ2JldHRlci1hdXRoL3R5cGVzJ1xuaW1wb3J0IHsgZ2V0UGF5bG9hZCwgU2FuaXRpemVkQ29uZmlnLCB0eXBlIENvbmZpZyB9IGZyb20gJ3BheWxvYWQnXG5pbXBvcnQgeyBwYXlsb2FkQWRhcHRlciB9IGZyb20gJ3BheWxvYWQtYXV0aC9iZXR0ZXItYXV0aC9hZGFwdGVyJ1xuaW1wb3J0IHsgUGF5bG9hZEFkYXB0ZXJQYXJhbXMgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IGdldERlZmF1bHRCZXR0ZXJBdXRoU2NoZW1hIH0gZnJvbSAnLi9oZWxwZXJzL2dldC1iZXR0ZXItYXV0aC1zY2hlbWEnXG5pbXBvcnQgeyBzeW5jUmVzb2x2ZWRTY2hlbWFXaXRoQ29sbGVjdGlvbk1hcCB9IGZyb20gJy4vaGVscGVycy9zeW5jLXJlc29sdmVkLXNjaGVtYS13aXRoLWNvbGxlY3Rpb24tbWFwJ1xuaW1wb3J0IHsgYXBwbHlEaXNhYmxlZERlZmF1bHRBdXRoQ29uZmlnIH0gZnJvbSAnLi9saWIvYXBwbHktZGlzYWJsZWQtZGVmYXVsdC1hdXRoLWNvbmZpZydcbmltcG9ydCB7IGJ1aWxkQ29sbGVjdGlvbnMgfSBmcm9tICcuL2xpYi9idWlsZC1jb2xsZWN0aW9ucy9pbmRleCdcbmltcG9ydCB7IGluaXRCZXR0ZXJBdXRoIH0gZnJvbSAnLi9saWIvaW5pdC1iZXR0ZXItYXV0aCdcbmltcG9ydCB7IHNhbml0aXplQmV0dGVyQXV0aE9wdGlvbnMgfSBmcm9tICcuL2xpYi9zYW5pdGl6ZS1iZXR0ZXItYXV0aC1vcHRpb25zL2luZGV4J1xuaW1wb3J0IHsgc2V0TG9naW5NZXRob2RzIH0gZnJvbSAnLi9saWIvc2V0LWxvZ2luLW1ldGhvZHMnXG5pbXBvcnQgdHlwZSB7IEJldHRlckF1dGhQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi90eXBlcydcblxuZXhwb3J0ICogZnJvbSAnLi9oZWxwZXJzL2luZGV4J1xuZXhwb3J0IHsgZ2V0UGF5bG9hZEF1dGggfSBmcm9tICcuL2xpYi9nZXQtcGF5bG9hZC1hdXRoJ1xuZXhwb3J0IHsgc2FuaXRpemVCZXR0ZXJBdXRoT3B0aW9ucyB9IGZyb20gJy4vbGliL3Nhbml0aXplLWJldHRlci1hdXRoLW9wdGlvbnMvaW5kZXgnXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJ1xuXG5mdW5jdGlvbiBidWlsZEJldHRlckF1dGhEYXRhKHtcbiAgcGF5bG9hZENvbmZpZyxcbiAgcGx1Z2luT3B0aW9uc1xufToge1xuICBwYXlsb2FkQ29uZmlnOiBTYW5pdGl6ZWRDb25maWdcbiAgcGx1Z2luT3B0aW9uczogQmV0dGVyQXV0aFBsdWdpbk9wdGlvbnNcbn0pIHtcbiAgcGx1Z2luT3B0aW9ucyA9IHNldExvZ2luTWV0aG9kcyh7IHBsdWdpbk9wdGlvbnMgfSlcblxuICBjb25zdCBkZWZhdWx0QmV0dGVyQXV0aFNjaGVtYXMgPSBnZXREZWZhdWx0QmV0dGVyQXV0aFNjaGVtYShwbHVnaW5PcHRpb25zKVxuXG4gIGxldCBjb2xsZWN0aW9uTWFwID0gYnVpbGRDb2xsZWN0aW9ucyh7XG4gICAgcmVzb2x2ZWRTY2hlbWFzOiBkZWZhdWx0QmV0dGVyQXV0aFNjaGVtYXMsXG4gICAgaW5jb21pbmdDb2xsZWN0aW9uczogcGF5bG9hZENvbmZpZy5jb2xsZWN0aW9ucyA/PyBbXSxcbiAgICBwbHVnaW5PcHRpb25zXG4gIH0pXG5cbiAgY29uc3QgcmVzb2x2ZWRCZXR0ZXJBdXRoU2NoZW1hcyA9IHN5bmNSZXNvbHZlZFNjaGVtYVdpdGhDb2xsZWN0aW9uTWFwKGRlZmF1bHRCZXR0ZXJBdXRoU2NoZW1hcywgY29sbGVjdGlvbk1hcClcblxuICAvLyBXZSBuZWVkIHRvIGJ1aWxkIHRoZSBjb2xsZWN0aW9ucyBhIHNlY29uZCB0aW1lIHdpdGggdGhlIHJlc29sdmVkIHNjaGVtYXNcbiAgLy8gZHVlIHRvIGhvb2tzLCBlbmRwb2ludHMsIHVzZUFzVGl0bGUsIGV0YyBzaG91bGQgcmVsYXkgb24gcmVzb2x2ZWRCZXR0ZXJBdXRoU2NoZW1hcyB0byBnZXQgc2x1Z3NcbiAgLy8gaWYgdGhleSBhcmUgcmVmZXJlbmNpbmcgdG8gb3RoZXIgY29sbGVjdGlvbnMgdGhlbiBpdCBzZWxmLlxuICBjb2xsZWN0aW9uTWFwID0gYnVpbGRDb2xsZWN0aW9ucyh7XG4gICAgcmVzb2x2ZWRTY2hlbWFzOiByZXNvbHZlZEJldHRlckF1dGhTY2hlbWFzLFxuICAgIGluY29taW5nQ29sbGVjdGlvbnM6IHBheWxvYWRDb25maWcuY29sbGVjdGlvbnMgPz8gW10sXG4gICAgcGx1Z2luT3B0aW9uc1xuICB9KVxuXG4gIGNvbnN0IHNhbml0aXplZEJldHRlckF1dGhPcHRpb25zID0gc2FuaXRpemVCZXR0ZXJBdXRoT3B0aW9ucyh7XG4gICAgY29uZmlnOiBwYXlsb2FkQ29uZmlnLFxuICAgIHBsdWdpbk9wdGlvbnMsXG4gICAgcmVzb2x2ZWRTY2hlbWFzOiByZXNvbHZlZEJldHRlckF1dGhTY2hlbWFzXG4gIH0pXG5cbiAgcGx1Z2luT3B0aW9ucy5iZXR0ZXJBdXRoT3B0aW9ucyA9IHNhbml0aXplZEJldHRlckF1dGhPcHRpb25zXG5cbiAgcmV0dXJuIHtcbiAgICBwbHVnaW5PcHRpb25zLFxuICAgIGNvbGxlY3Rpb25NYXAsXG4gICAgcmVzb2x2ZWRCZXR0ZXJBdXRoU2NoZW1hcyxcbiAgICBzYW5pdGl6ZWRCZXR0ZXJBdXRoT3B0aW9uc1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiZXR0ZXJBdXRoUGx1Z2luKHBsdWdpbk9wdGlvbnM6IEJldHRlckF1dGhQbHVnaW5PcHRpb25zKSB7XG4gIHJldHVybiAoY29uZmlnOiBDb25maWcpOiBDb25maWcgPT4ge1xuICAgIGlmIChwbHVnaW5PcHRpb25zLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm4gY29uZmlnXG4gICAgfVxuXG4gICAgY29uZmlnLmN1c3RvbSA9IHtcbiAgICAgIC4uLmNvbmZpZy5jdXN0b20sXG4gICAgICBoYXNCZXR0ZXJBdXRoUGx1Z2luOiB0cnVlXG4gICAgfVxuXG4gICAgY29uc3QgeyBjb2xsZWN0aW9uTWFwLCByZXNvbHZlZEJldHRlckF1dGhTY2hlbWFzLCBzYW5pdGl6ZWRCZXR0ZXJBdXRoT3B0aW9ucyB9ID0gYnVpbGRCZXR0ZXJBdXRoRGF0YSh7XG4gICAgICBwYXlsb2FkQ29uZmlnOiBjb25maWcgYXMgU2FuaXRpemVkQ29uZmlnLFxuICAgICAgcGx1Z2luT3B0aW9uc1xuICAgIH0pXG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEZpbmFsaXplIGNvbmZpZyAtLS0tLS0tLS0tLS0tLS0tLVxuICAgIGlmIChwbHVnaW5PcHRpb25zLmRpc2FibGVEZWZhdWx0UGF5bG9hZEF1dGgpIHtcbiAgICAgIGFwcGx5RGlzYWJsZWREZWZhdWx0QXV0aENvbmZpZyh7XG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgcGx1Z2luT3B0aW9ucyxcbiAgICAgICAgY29sbGVjdGlvbk1hcCxcbiAgICAgICAgcmVzb2x2ZWRCZXR0ZXJBdXRoU2NoZW1hc1xuICAgICAgfSlcbiAgICB9XG5cbiAgICBjb25maWcuY29sbGVjdGlvbnMgPSBjb25maWcuY29sbGVjdGlvbnMgPz8gW11cbiAgICBjb25maWcuY29sbGVjdGlvbnMgPSBPYmplY3QudmFsdWVzKGNvbGxlY3Rpb25NYXApXG5cbiAgICBjb25zdCBpbmNvbWluZ09uSW5pdCA9IGNvbmZpZy5vbkluaXRcblxuICAgIGNvbmZpZy5vbkluaXQgPSBhc3luYyAocGF5bG9hZCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gRXhlY3V0ZSBhbnkgZXhpc3Rpbmcgb25Jbml0IGZ1bmN0aW9ucyBmaXJzdFxuICAgICAgICBpZiAoaW5jb21pbmdPbkluaXQpIHtcbiAgICAgICAgICBhd2FpdCBpbmNvbWluZ09uSW5pdChwYXlsb2FkKVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW5pdGlhbGl6ZSBhbmQgc2V0IHRoZSBiZXR0ZXJBdXRoIGluc3RhbmNlXG4gICAgICAgIGNvbnN0IGF1dGggPSBpbml0QmV0dGVyQXV0aDxOb25OdWxsYWJsZTx0eXBlb2Ygc2FuaXRpemVkQmV0dGVyQXV0aE9wdGlvbnMucGx1Z2lucz4+KHtcbiAgICAgICAgICBwYXlsb2FkLFxuICAgICAgICAgIGlkVHlwZTogcGF5bG9hZC5kYi5kZWZhdWx0SURUeXBlLFxuICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIC4uLnNhbml0aXplZEJldHRlckF1dGhPcHRpb25zLFxuICAgICAgICAgICAgZW5hYmxlRGVidWdMb2dzOiBwbHVnaW5PcHRpb25zLmRlYnVnPy5lbmFibGVEZWJ1Z0xvZ3MgPz8gZmFsc2UsXG4gICAgICAgICAgICBwbHVnaW5zOiBbLi4uKHNhbml0aXplZEJldHRlckF1dGhPcHRpb25zLnBsdWdpbnMgPz8gW10pXVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgICAvLyBUeXBlLXNhZmUgZXh0ZW5zaW9uIG9mIHBheWxvYWQgd2l0aCBiZXR0ZXJBdXRoXG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwYXlsb2FkLCAnYmV0dGVyQXV0aCcsIHtcbiAgICAgICAgICB2YWx1ZTogYXV0aCxcbiAgICAgICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZVxuICAgICAgICB9KVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGluaXRpYWxpemUgQmV0dGVyQXV0aDonLCBlcnJvcilcbiAgICAgICAgdGhyb3cgZXJyb3JcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNvbmZpZ1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3aXRoUGF5bG9hZEF1dGgoe1xuICBwYXlsb2FkQ29uZmlnLFxuICBiZXR0ZXJBdXRoQ29uZmlnOiBwbHVnaW5PcHRpb25zLFxuICBhZGFwdGVyT3B0aW9uc1xufToge1xuICBwYXlsb2FkQ29uZmlnOiBTYW5pdGl6ZWRDb25maWdcbiAgYmV0dGVyQXV0aENvbmZpZzogQmV0dGVyQXV0aFBsdWdpbk9wdGlvbnNcbiAgYWRhcHRlck9wdGlvbnM6IFBpY2s8UGF5bG9hZEFkYXB0ZXJQYXJhbXMsICdpZFR5cGUnPiAmIFBhcnRpYWw8UGljazxQYXlsb2FkQWRhcHRlclBhcmFtcywgJ3BheWxvYWRDbGllbnQnPj5cbn0pOiBCZXR0ZXJBdXRoT3B0aW9ucyB7XG5cbiAgaWYgKHBsdWdpbk9wdGlvbnMuZGlzYWJsZWQpIHtcbiAgICByZXR1cm4gcGx1Z2luT3B0aW9ucy5iZXR0ZXJBdXRoT3B0aW9ucyBhcyBCZXR0ZXJBdXRoT3B0aW9uc1xuICB9XG5cbiAgY29uc3QgeyBzYW5pdGl6ZWRCZXR0ZXJBdXRoT3B0aW9ucyB9ID0gYnVpbGRCZXR0ZXJBdXRoRGF0YSh7XG4gICAgcGF5bG9hZENvbmZpZyxcbiAgICBwbHVnaW5PcHRpb25zOiBzdHJ1Y3R1cmVkQ2xvbmUocGx1Z2luT3B0aW9ucylcbiAgfSlcblxuICBjb25zdCBvcHRpb25zV2l0aEFkYXB0ZXI6IEJldHRlckF1dGhPcHRpb25zID0ge1xuICAgIC4uLnNhbml0aXplZEJldHRlckF1dGhPcHRpb25zLFxuICAgIGRhdGFiYXNlOiBwYXlsb2FkQWRhcHRlcih7XG4gICAgICBwYXlsb2FkQ2xpZW50OiBhZGFwdGVyT3B0aW9ucz8ucGF5bG9hZENsaWVudCA/PyAoYXN5bmMgKCkgPT4gYXdhaXQgZ2V0UGF5bG9hZCh7IGNvbmZpZzogcGF5bG9hZENvbmZpZyB9KSksXG4gICAgICBpZFR5cGU6IGFkYXB0ZXJPcHRpb25zLmlkVHlwZVxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gb3B0aW9uc1dpdGhBZGFwdGVyXG59XG4iXSwibmFtZXMiOlsiZ2V0UGF5bG9hZCIsInBheWxvYWRBZGFwdGVyIiwiZ2V0RGVmYXVsdEJldHRlckF1dGhTY2hlbWEiLCJzeW5jUmVzb2x2ZWRTY2hlbWFXaXRoQ29sbGVjdGlvbk1hcCIsImFwcGx5RGlzYWJsZWREZWZhdWx0QXV0aENvbmZpZyIsImJ1aWxkQ29sbGVjdGlvbnMiLCJpbml0QmV0dGVyQXV0aCIsInNhbml0aXplQmV0dGVyQXV0aE9wdGlvbnMiLCJzZXRMb2dpbk1ldGhvZHMiLCJnZXRQYXlsb2FkQXV0aCIsImJ1aWxkQmV0dGVyQXV0aERhdGEiLCJwYXlsb2FkQ29uZmlnIiwicGx1Z2luT3B0aW9ucyIsImRlZmF1bHRCZXR0ZXJBdXRoU2NoZW1hcyIsImNvbGxlY3Rpb25NYXAiLCJyZXNvbHZlZFNjaGVtYXMiLCJpbmNvbWluZ0NvbGxlY3Rpb25zIiwiY29sbGVjdGlvbnMiLCJyZXNvbHZlZEJldHRlckF1dGhTY2hlbWFzIiwic2FuaXRpemVkQmV0dGVyQXV0aE9wdGlvbnMiLCJjb25maWciLCJiZXR0ZXJBdXRoT3B0aW9ucyIsImJldHRlckF1dGhQbHVnaW4iLCJkaXNhYmxlZCIsImN1c3RvbSIsImhhc0JldHRlckF1dGhQbHVnaW4iLCJkaXNhYmxlRGVmYXVsdFBheWxvYWRBdXRoIiwiT2JqZWN0IiwidmFsdWVzIiwiaW5jb21pbmdPbkluaXQiLCJvbkluaXQiLCJwYXlsb2FkIiwiYXV0aCIsImlkVHlwZSIsImRiIiwiZGVmYXVsdElEVHlwZSIsIm9wdGlvbnMiLCJlbmFibGVEZWJ1Z0xvZ3MiLCJkZWJ1ZyIsInBsdWdpbnMiLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwid3JpdGFibGUiLCJjb25maWd1cmFibGUiLCJlcnJvciIsImNvbnNvbGUiLCJ3aXRoUGF5bG9hZEF1dGgiLCJiZXR0ZXJBdXRoQ29uZmlnIiwiYWRhcHRlck9wdGlvbnMiLCJzdHJ1Y3R1cmVkQ2xvbmUiLCJvcHRpb25zV2l0aEFkYXB0ZXIiLCJkYXRhYmFzZSIsInBheWxvYWRDbGllbnQiXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLFVBQVUsUUFBc0MsVUFBUztBQUNsRSxTQUFTQyxjQUFjLFFBQVEsbUNBQWtDO0FBRWpFLFNBQVNDLDBCQUEwQixRQUFRLG1DQUFrQztBQUM3RSxT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
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { BetterAuthPluginOptions, BetterAuthSchemas } from '../types';
|
|
2
|
+
import type { Config, CollectionConfig } from 'payload';
|
|
3
|
+
/**
|
|
4
|
+
* Applies all admin-related overrides when `disableDefaultPayloadAuth` is `true`.
|
|
5
|
+
* Mutates the provided Payload config in-place.
|
|
6
|
+
*/
|
|
7
|
+
export declare function applyDisabledDefaultAuthConfig({ config, pluginOptions, collectionMap, resolvedBetterAuthSchemas }: {
|
|
8
|
+
config: Config;
|
|
9
|
+
pluginOptions: BetterAuthPluginOptions;
|
|
10
|
+
collectionMap: Record<string, CollectionConfig>;
|
|
11
|
+
resolvedBetterAuthSchemas: BetterAuthSchemas;
|
|
12
|
+
}): void;
|
|
13
|
+
//# sourceMappingURL=apply-disabled-default-auth-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply-disabled-default-auth-config.d.ts","sourceRoot":"","sources":["../../../../src/better-auth/plugin/lib/apply-disabled-default-auth-config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAEvD;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,EAC7C,MAAM,EACN,aAAa,EACb,aAAa,EACb,yBAAyB,EAC1B,EAAE;IACD,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,uBAAuB,CAAA;IACtC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC/C,yBAAyB,EAAE,iBAAiB,CAAA;CAC7C,GAAG,IAAI,CAwEP"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { adminRoutes, baModelKey, baseSlugs, supportedBAPluginIds } from "../constants";
|
|
2
|
+
import { checkPluginExists } from "../helpers/check-plugin-exists";
|
|
3
|
+
/**
|
|
4
|
+
* Applies all admin-related overrides when `disableDefaultPayloadAuth` is `true`.
|
|
5
|
+
* Mutates the provided Payload config in-place.
|
|
6
|
+
*/ export function applyDisabledDefaultAuthConfig({ config, pluginOptions, collectionMap, resolvedBetterAuthSchemas }) {
|
|
7
|
+
config.admin = {
|
|
8
|
+
...config.admin,
|
|
9
|
+
components: {
|
|
10
|
+
...config.admin?.components,
|
|
11
|
+
afterLogin: [
|
|
12
|
+
{
|
|
13
|
+
path: 'payload-auth/better-auth/plugin/rsc#RSCRedirect',
|
|
14
|
+
serverProps: {
|
|
15
|
+
redirectTo: `${config.routes?.admin === undefined ? '/admin' : config.routes.admin}${adminRoutes.adminLogin}`
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
...config.admin?.components?.afterLogin || []
|
|
19
|
+
],
|
|
20
|
+
logout: {
|
|
21
|
+
Button: {
|
|
22
|
+
path: 'payload-auth/better-auth/plugin/client#LogoutButton'
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
views: {
|
|
26
|
+
...config.admin?.components?.views,
|
|
27
|
+
adminLogin: {
|
|
28
|
+
path: adminRoutes.adminLogin,
|
|
29
|
+
Component: {
|
|
30
|
+
path: 'payload-auth/better-auth/plugin/rsc#AdminLogin',
|
|
31
|
+
serverProps: {
|
|
32
|
+
pluginOptions: pluginOptions,
|
|
33
|
+
adminInvitationsSlug: collectionMap[baseSlugs.adminInvitations].slug
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
adminSignup: {
|
|
38
|
+
path: adminRoutes.adminSignup,
|
|
39
|
+
Component: {
|
|
40
|
+
path: 'payload-auth/better-auth/plugin/rsc#AdminSignup',
|
|
41
|
+
serverProps: {
|
|
42
|
+
pluginOptions: pluginOptions,
|
|
43
|
+
adminInvitationsSlug: collectionMap[baseSlugs.adminInvitations].slug
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
forgotPassword: {
|
|
48
|
+
path: adminRoutes.forgotPassword,
|
|
49
|
+
Component: {
|
|
50
|
+
path: 'payload-auth/better-auth/plugin/rsc#ForgotPassword'
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
resetPassword: {
|
|
54
|
+
path: adminRoutes.resetPassword,
|
|
55
|
+
Component: {
|
|
56
|
+
path: 'payload-auth/better-auth/plugin/rsc#ResetPassword'
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
...checkPluginExists(pluginOptions.betterAuthOptions ?? {}, supportedBAPluginIds.twoFactor) && {
|
|
60
|
+
twoFactorVerify: {
|
|
61
|
+
path: adminRoutes.twoFactorVerify,
|
|
62
|
+
Component: {
|
|
63
|
+
path: 'payload-auth/better-auth/plugin/rsc#TwoFactorVerify',
|
|
64
|
+
serverProps: {
|
|
65
|
+
pluginOptions: pluginOptions,
|
|
66
|
+
verificationsSlug: resolvedBetterAuthSchemas[baModelKey.verification].modelName
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
routes: {
|
|
74
|
+
...config.admin?.routes,
|
|
75
|
+
login: adminRoutes.loginRedirect
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2FwcGx5LWRpc2FibGVkLWRlZmF1bHQtYXV0aC1jb25maWcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRtaW5Sb3V0ZXMsIGJhTW9kZWxLZXksIGJhc2VTbHVncywgc3VwcG9ydGVkQkFQbHVnaW5JZHMgfSBmcm9tICcuLi9jb25zdGFudHMnXG5pbXBvcnQgeyBjaGVja1BsdWdpbkV4aXN0cyB9IGZyb20gJy4uL2hlbHBlcnMvY2hlY2stcGx1Z2luLWV4aXN0cydcbmltcG9ydCB0eXBlIHsgQmV0dGVyQXV0aFBsdWdpbk9wdGlvbnMsIEJldHRlckF1dGhTY2hlbWFzIH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IENvbmZpZywgQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJ3BheWxvYWQnXG5cbi8qKlxuICogQXBwbGllcyBhbGwgYWRtaW4tcmVsYXRlZCBvdmVycmlkZXMgd2hlbiBgZGlzYWJsZURlZmF1bHRQYXlsb2FkQXV0aGAgaXMgYHRydWVgLlxuICogTXV0YXRlcyB0aGUgcHJvdmlkZWQgUGF5bG9hZCBjb25maWcgaW4tcGxhY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBseURpc2FibGVkRGVmYXVsdEF1dGhDb25maWcoe1xuICBjb25maWcsXG4gIHBsdWdpbk9wdGlvbnMsXG4gIGNvbGxlY3Rpb25NYXAsXG4gIHJlc29sdmVkQmV0dGVyQXV0aFNjaGVtYXNcbn06IHtcbiAgY29uZmlnOiBDb25maWdcbiAgcGx1Z2luT3B0aW9uczogQmV0dGVyQXV0aFBsdWdpbk9wdGlvbnNcbiAgY29sbGVjdGlvbk1hcDogUmVjb3JkPHN0cmluZywgQ29sbGVjdGlvbkNvbmZpZz5cbiAgcmVzb2x2ZWRCZXR0ZXJBdXRoU2NoZW1hczogQmV0dGVyQXV0aFNjaGVtYXNcbn0pOiB2b2lkIHtcbiAgY29uZmlnLmFkbWluID0ge1xuICAgIC4uLmNvbmZpZy5hZG1pbixcbiAgICBjb21wb25lbnRzOiB7XG4gICAgICAuLi5jb25maWcuYWRtaW4/LmNvbXBvbmVudHMsXG4gICAgICBhZnRlckxvZ2luOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwYXRoOiAncGF5bG9hZC1hdXRoL2JldHRlci1hdXRoL3BsdWdpbi9yc2MjUlNDUmVkaXJlY3QnLFxuICAgICAgICAgIHNlcnZlclByb3BzOiB7XG4gICAgICAgICAgICByZWRpcmVjdFRvOiBgJHtjb25maWcucm91dGVzPy5hZG1pbiA9PT0gdW5kZWZpbmVkID8gJy9hZG1pbicgOiBjb25maWcucm91dGVzLmFkbWlufSR7YWRtaW5Sb3V0ZXMuYWRtaW5Mb2dpbn1gXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAuLi4oY29uZmlnLmFkbWluPy5jb21wb25lbnRzPy5hZnRlckxvZ2luIHx8IFtdKVxuICAgICAgXSxcbiAgICAgIGxvZ291dDoge1xuICAgICAgICBCdXR0b246IHtcbiAgICAgICAgICBwYXRoOiAncGF5bG9hZC1hdXRoL2JldHRlci1hdXRoL3BsdWdpbi9jbGllbnQjTG9nb3V0QnV0dG9uJ1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdmlld3M6IHtcbiAgICAgICAgLi4uY29uZmlnLmFkbWluPy5jb21wb25lbnRzPy52aWV3cyxcbiAgICAgICAgYWRtaW5Mb2dpbjoge1xuICAgICAgICAgIHBhdGg6IGFkbWluUm91dGVzLmFkbWluTG9naW4sXG4gICAgICAgICAgQ29tcG9uZW50OiB7XG4gICAgICAgICAgICBwYXRoOiAncGF5bG9hZC1hdXRoL2JldHRlci1hdXRoL3BsdWdpbi9yc2MjQWRtaW5Mb2dpbicsXG4gICAgICAgICAgICBzZXJ2ZXJQcm9wczoge1xuICAgICAgICAgICAgICBwbHVnaW5PcHRpb25zOiBwbHVnaW5PcHRpb25zLFxuICAgICAgICAgICAgICBhZG1pbkludml0YXRpb25zU2x1ZzogY29sbGVjdGlvbk1hcFtiYXNlU2x1Z3MuYWRtaW5JbnZpdGF0aW9uc10uc2x1Z1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgYWRtaW5TaWdudXA6IHtcbiAgICAgICAgICBwYXRoOiBhZG1pblJvdXRlcy5hZG1pblNpZ251cCxcbiAgICAgICAgICBDb21wb25lbnQ6IHtcbiAgICAgICAgICAgIHBhdGg6ICdwYXlsb2FkLWF1dGgvYmV0dGVyLWF1dGgvcGx1Z2luL3JzYyNBZG1pblNpZ251cCcsXG4gICAgICAgICAgICBzZXJ2ZXJQcm9wczoge1xuICAgICAgICAgICAgICBwbHVnaW5PcHRpb25zOiBwbHVnaW5PcHRpb25zLFxuICAgICAgICAgICAgICBhZG1pbkludml0YXRpb25zU2x1ZzogY29sbGVjdGlvbk1hcFtiYXNlU2x1Z3MuYWRtaW5JbnZpdGF0aW9uc10uc2x1Z1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZm9yZ290UGFzc3dvcmQ6IHtcbiAgICAgICAgICBwYXRoOiBhZG1pblJvdXRlcy5mb3Jnb3RQYXNzd29yZCxcbiAgICAgICAgICBDb21wb25lbnQ6IHtcbiAgICAgICAgICAgIHBhdGg6ICdwYXlsb2FkLWF1dGgvYmV0dGVyLWF1dGgvcGx1Z2luL3JzYyNGb3Jnb3RQYXNzd29yZCdcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHJlc2V0UGFzc3dvcmQ6IHtcbiAgICAgICAgICBwYXRoOiBhZG1pblJvdXRlcy5yZXNldFBhc3N3b3JkLFxuICAgICAgICAgIENvbXBvbmVudDoge1xuICAgICAgICAgICAgcGF0aDogJ3BheWxvYWQtYXV0aC9iZXR0ZXItYXV0aC9wbHVnaW4vcnNjI1Jlc2V0UGFzc3dvcmQnXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAuLi4oY2hlY2tQbHVnaW5FeGlzdHMocGx1Z2luT3B0aW9ucy5iZXR0ZXJBdXRoT3B0aW9ucyA/PyB7fSwgc3VwcG9ydGVkQkFQbHVnaW5JZHMudHdvRmFjdG9yKSAmJiB7XG4gICAgICAgICAgdHdvRmFjdG9yVmVyaWZ5OiB7XG4gICAgICAgICAgICBwYXRoOiBhZG1pblJvdXRlcy50d29GYWN0b3JWZXJpZnksXG4gICAgICAgICAgICBDb21wb25lbnQ6IHtcbiAgICAgICAgICAgICAgcGF0aDogJ3BheWxvYWQtYXV0aC9iZXR0ZXItYXV0aC9wbHVnaW4vcnNjI1R3b0ZhY3RvclZlcmlmeScsXG4gICAgICAgICAgICAgIHNlcnZlclByb3BzOiB7XG4gICAgICAgICAgICAgICAgcGx1Z2luT3B0aW9uczogcGx1Z2luT3B0aW9ucyxcbiAgICAgICAgICAgICAgICB2ZXJpZmljYXRpb25zU2x1ZzogcmVzb2x2ZWRCZXR0ZXJBdXRoU2NoZW1hc1tiYU1vZGVsS2V5LnZlcmlmaWNhdGlvbl0ubW9kZWxOYW1lXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSxcbiAgICByb3V0ZXM6IHtcbiAgICAgIC4uLmNvbmZpZy5hZG1pbj8ucm91dGVzLFxuICAgICAgbG9naW46IGFkbWluUm91dGVzLmxvZ2luUmVkaXJlY3RcbiAgICB9XG4gIH1cbn0gIl0sIm5hbWVzIjpbImFkbWluUm91dGVzIiwiYmFNb2RlbEtleSIsImJhc2VTbHVncyIsInN1cHBvcnRlZEJBUGx1Z2luSWRzIiwiY2hlY2tQbHVnaW5FeGlzdHMiLCJhcHBseURpc2FibGVkRGVmYXVsdEF1dGhDb25maWciLCJjb25maWciLCJwbHVnaW5PcHRpb25zIiwiY29sbGVjdGlvbk1hcCIsInJlc29sdmVkQmV0dGVyQXV0aFNjaGVtYXMiLCJhZG1pbiIsImNvbXBvbmVudHMiLCJhZnRlckxvZ2luIiwicGF0aCIsInNlcnZlclByb3BzIiwicmVkaXJlY3RUbyIsInJvdXRlcyIsInVuZGVmaW5lZCIsImFkbWluTG9naW4iLCJsb2dvdXQiLCJCdXR0b24iLCJ2aWV3cyIsIkNvbXBvbmVudCIsImFkbWluSW52aXRhdGlvbnNTbHVnIiwiYWRtaW5JbnZpdGF0aW9ucyIsInNsdWciLCJhZG1pblNpZ251cCIsImZvcmdvdFBhc3N3b3JkIiwicmVzZXRQYXNzd29yZCIsImJldHRlckF1dGhPcHRpb25zIiwidHdvRmFjdG9yIiwidHdvRmFjdG9yVmVyaWZ5IiwidmVyaWZpY2F0aW9uc1NsdWciLCJ2ZXJpZmljYXRpb24iLCJtb2RlbE5hbWUiLCJsb2dpbiIsImxvZ2luUmVkaXJlY3QiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFdBQVcsRUFBRUMsVUFBVSxFQUFFQyxTQUFTLEVBQUVDLG9CQUFvQixRQUFRLGVBQWM7QUFDdkYsU0FBU0MsaUJBQWlCLFFBQVEsaUNBQWdDO0FBSWxFOzs7Q0FHQyxHQUNELE9BQU8sU0FBU0MsK0JBQStCLEVBQzdDQyxNQUFNLEVBQ05DLGFBQWEsRUFDYkMsYUFBYSxFQUNiQyx5QkFBeUIsRUFNMUI7SUFDQ0gsT0FBT0ksS0FBSyxHQUFHO1FBQ2IsR0FBR0osT0FBT0ksS0FBSztRQUNmQyxZQUFZO1lBQ1YsR0FBR0wsT0FBT0ksS0FBSyxFQUFFQyxVQUFVO1lBQzNCQyxZQUFZO2dCQUNWO29CQUNFQyxNQUFNO29CQUNOQyxhQUFhO3dCQUNYQyxZQUFZLEdBQUdULE9BQU9VLE1BQU0sRUFBRU4sVUFBVU8sWUFBWSxXQUFXWCxPQUFPVSxNQUFNLENBQUNOLEtBQUssR0FBR1YsWUFBWWtCLFVBQVUsRUFBRTtvQkFDL0c7Z0JBQ0Y7bUJBQ0laLE9BQU9JLEtBQUssRUFBRUMsWUFBWUMsY0FBYyxFQUFFO2FBQy9DO1lBQ0RPLFFBQVE7Z0JBQ05DLFFBQVE7b0JBQ05QLE1BQU07Z0JBQ1I7WUFDRjtZQUNBUSxPQUFPO2dCQUNMLEdBQUdmLE9BQU9JLEtBQUssRUFBRUMsWUFBWVUsS0FBSztnQkFDbENILFlBQVk7b0JBQ1ZMLE1BQU1iLFlBQVlrQixVQUFVO29CQUM1QkksV0FBVzt3QkFDVFQsTUFBTTt3QkFDTkMsYUFBYTs0QkFDWFAsZUFBZUE7NEJBQ2ZnQixzQkFBc0JmLGFBQWEsQ0FBQ04sVUFBVXNCLGdCQUFnQixDQUFDLENBQUNDLElBQUk7d0JBQ3RFO29CQUNGO2dCQUNGO2dCQUNBQyxhQUFhO29CQUNYYixNQUFNYixZQUFZMEIsV0FBVztvQkFDN0JKLFdBQVc7d0JBQ1RULE1BQU07d0JBQ05DLGFBQWE7NEJBQ1hQLGVBQWVBOzRCQUNmZ0Isc0JBQXNCZixhQUFhLENBQUNOLFVBQVVzQixnQkFBZ0IsQ0FBQyxDQUFDQyxJQUFJO3dCQUN0RTtvQkFDRjtnQkFDRjtnQkFDQUUsZ0JBQWdCO29CQUNkZCxNQUFNYixZQUFZMkIsY0FBYztvQkFDaENMLFdBQVc7d0JBQ1RULE1BQU07b0JBQ1I7Z0JBQ0Y7Z0JBQ0FlLGVBQWU7b0JBQ2JmLE1BQU1iLFlBQVk0QixhQUFhO29CQUMvQk4sV0FBVzt3QkFDVFQsTUFBTTtvQkFDUjtnQkFDRjtnQkFDQSxHQUFJVCxrQkFBa0JHLGNBQWNzQixpQkFBaUIsSUFBSSxDQUFDLEdBQUcxQixxQkFBcUIyQixTQUFTLEtBQUs7b0JBQzlGQyxpQkFBaUI7d0JBQ2ZsQixNQUFNYixZQUFZK0IsZUFBZTt3QkFDakNULFdBQVc7NEJBQ1RULE1BQU07NEJBQ05DLGFBQWE7Z0NBQ1hQLGVBQWVBO2dDQUNmeUIsbUJBQW1CdkIseUJBQXlCLENBQUNSLFdBQVdnQyxZQUFZLENBQUMsQ0FBQ0MsU0FBUzs0QkFDakY7d0JBQ0Y7b0JBQ0Y7Z0JBQ0YsQ0FBQztZQUNIO1FBQ0Y7UUFDQWxCLFFBQVE7WUFDTixHQUFHVixPQUFPSSxLQUFLLEVBQUVNLE1BQU07WUFDdkJtQixPQUFPbkMsWUFBWW9DLGFBQWE7UUFDbEM7SUFDRjtBQUNGIn0=
|