payload-auth 1.6.6 → 1.7.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 +29 -15
- package/dist/better-auth/adapter/transform/index.d.ts +7 -4
- package/dist/better-auth/adapter/transform/index.d.ts.map +1 -1
- package/dist/better-auth/adapter/transform/index.js +25 -8
- 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 +9 -2
- package/dist/better-auth/plugin/helpers/get-collection.d.ts +13 -1
- package/dist/better-auth/plugin/helpers/get-collection.d.ts.map +1 -1
- package/dist/better-auth/plugin/helpers/get-collection.js +23 -2
- package/dist/better-auth/plugin/index.js +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 +2 -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 +3 -1
- package/dist/better-auth/plugin/lib/build-collections/team-members.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/team-members.js +3 -1
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.js +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.js +33 -23
- 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 +5 -4
- package/dist/better-auth/plugin/lib/build-collections/utils/filter-properties.d.ts +4 -3
- package/dist/better-auth/plugin/lib/build-collections/utils/filter-properties.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/utils/filter-properties.js +22 -3
- package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.d.ts +1 -2
- package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.js +7 -4
- package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.js +22 -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 +2 -5
- package/dist/better-auth/plugin/lib/get-payload-auth.d.ts +3 -3
- package/dist/better-auth/plugin/lib/get-payload-auth.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/get-payload-auth.js +1 -1
- package/dist/better-auth/plugin/lib/init-better-auth.d.ts +4 -4
- package/dist/better-auth/plugin/lib/init-better-auth.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/init-better-auth.js +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts +2 -2
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.js +6 -3
- 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 +14 -8
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-after-role-middleware.d.ts +8 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-after-role-middleware.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-after-role-middleware.js +20 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-before-role-middleware.d.ts +8 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-before-role-middleware.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-before-role-middleware.js +20 -0
- package/dist/better-auth/plugin/types.d.ts +38 -40
- package/dist/better-auth/plugin/types.d.ts.map +1 -1
- package/dist/better-auth/plugin/types.js +1 -1
- package/package.json +5 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { filterProps } from "./filter-properties";
|
|
1
|
+
import { filterProps, getValidFieldPropertyKeysForType } from "./filter-properties";
|
|
2
2
|
function getRuleBasedFieldProperties({ field }, fieldRules = []) {
|
|
3
3
|
return fieldRules.reduce((acc, rule)=>{
|
|
4
4
|
const conditionMatch = !rule.condition || rule.condition(field);
|
|
@@ -8,7 +8,7 @@ function getRuleBasedFieldProperties({ field }, fieldRules = []) {
|
|
|
8
8
|
return acc;
|
|
9
9
|
}, {});
|
|
10
10
|
}
|
|
11
|
-
export const getAdditionalFieldProperties = ({ field, fieldKey, fieldRules = [], additionalProperties = {}
|
|
11
|
+
export const getAdditionalFieldProperties = ({ field, fieldKey, fieldRules = [], additionalProperties = {} })=>{
|
|
12
12
|
const ruleProps = getRuleBasedFieldProperties({
|
|
13
13
|
field
|
|
14
14
|
}, fieldRules);
|
|
@@ -17,7 +17,10 @@ export const getAdditionalFieldProperties = ({ field, fieldKey, fieldRules = [],
|
|
|
17
17
|
...ruleProps,
|
|
18
18
|
...specificProps
|
|
19
19
|
};
|
|
20
|
-
|
|
20
|
+
const type = mergedProps.type;
|
|
21
|
+
// get valid field property keys for the type of the field after merging the rules and the additional properties
|
|
22
|
+
const validFieldPropertyKeysForType = getValidFieldPropertyKeysForType(type);
|
|
23
|
+
return filterProps(mergedProps, validFieldPropertyKeysForType);
|
|
21
24
|
};
|
|
22
25
|
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3V0aWxzL21vZGVsLWZpZWxkLXRyYW5zZm9ybWF0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWVsZFJ1bGUgfSBmcm9tICdAL2JldHRlci1hdXRoL3BsdWdpbi90eXBlcydcbmltcG9ydCB0eXBlIHsgREJGaWVsZEF0dHJpYnV0ZSB9IGZyb20gJ2JldHRlci1hdXRoL2RiJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZCB9IGZyb20gJ3BheWxvYWQnXG5pbXBvcnQgeyBmaWx0ZXJQcm9wcywgZ2V0VmFsaWRGaWVsZFByb3BlcnR5S2V5c0ZvclR5cGUgfSBmcm9tICcuL2ZpbHRlci1wcm9wZXJ0aWVzJ1xuXG5mdW5jdGlvbiBnZXRSdWxlQmFzZWRGaWVsZFByb3BlcnRpZXMoeyBmaWVsZCB9OiB7IGZpZWxkOiBEQkZpZWxkQXR0cmlidXRlIH0sIGZpZWxkUnVsZXM6IEZpZWxkUnVsZVtdID0gW10pOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gIHJldHVybiBmaWVsZFJ1bGVzLnJlZHVjZTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oKGFjYywgcnVsZSkgPT4ge1xuICAgIGNvbnN0IGNvbmRpdGlvbk1hdGNoID0gIXJ1bGUuY29uZGl0aW9uIHx8IHJ1bGUuY29uZGl0aW9uKGZpZWxkKVxuXG4gICAgaWYgKGNvbmRpdGlvbk1hdGNoKSB7XG4gICAgICBPYmplY3QuYXNzaWduKGFjYywgcnVsZS50cmFuc2Zvcm0oZmllbGQpKVxuICAgIH1cblxuICAgIHJldHVybiBhY2NcbiAgfSwge30pXG59XG5cbmV4cG9ydCBjb25zdCBnZXRBZGRpdGlvbmFsRmllbGRQcm9wZXJ0aWVzID0gKHtcbiAgZmllbGQsXG4gIGZpZWxkS2V5LFxuICBmaWVsZFJ1bGVzID0gW10sXG4gIGFkZGl0aW9uYWxQcm9wZXJ0aWVzID0ge31cbn06IHtcbiAgZmllbGQ6IERCRmllbGRBdHRyaWJ1dGVcbiAgZmllbGRLZXk6IHN0cmluZ1xuICBmaWVsZFJ1bGVzPzogRmllbGRSdWxlW11cbiAgYWRkaXRpb25hbFByb3BlcnRpZXM/OiB7IFtrZXk6IHN0cmluZ106IChmaWVsZDogREJGaWVsZEF0dHJpYnV0ZSkgPT4gUGFydGlhbDxGaWVsZD4gfVxufSk6IFBhcnRpYWw8RmllbGQ+ID0+IHtcbiAgY29uc3QgcnVsZVByb3BzID0gZ2V0UnVsZUJhc2VkRmllbGRQcm9wZXJ0aWVzKHsgZmllbGQgfSwgZmllbGRSdWxlcylcbiAgY29uc3Qgc3BlY2lmaWNQcm9wcyA9IGFkZGl0aW9uYWxQcm9wZXJ0aWVzW2ZpZWxkS2V5XT8uKGZpZWxkKSA/PyB7fVxuICBjb25zdCBtZXJnZWRQcm9wcyA9IHsgLi4ucnVsZVByb3BzLCAuLi5zcGVjaWZpY1Byb3BzIH1cbiAgY29uc3QgdHlwZSA9IG1lcmdlZFByb3BzLnR5cGUgYXMgRmllbGRbJ3R5cGUnXVxuICAvLyBnZXQgdmFsaWQgZmllbGQgcHJvcGVydHkga2V5cyBmb3IgdGhlIHR5cGUgb2YgdGhlIGZpZWxkIGFmdGVyIG1lcmdpbmcgdGhlIHJ1bGVzIGFuZCB0aGUgYWRkaXRpb25hbCBwcm9wZXJ0aWVzXG4gIGNvbnN0IHZhbGlkRmllbGRQcm9wZXJ0eUtleXNGb3JUeXBlID0gZ2V0VmFsaWRGaWVsZFByb3BlcnR5S2V5c0ZvclR5cGUodHlwZSlcbiAgcmV0dXJuIGZpbHRlclByb3BzKG1lcmdlZFByb3BzIGFzIGFueSwgdmFsaWRGaWVsZFByb3BlcnR5S2V5c0ZvclR5cGUgYXMgYW55KVxufVxuIl0sIm5hbWVzIjpbImZpbHRlclByb3BzIiwiZ2V0VmFsaWRGaWVsZFByb3BlcnR5S2V5c0ZvclR5cGUiLCJnZXRSdWxlQmFzZWRGaWVsZFByb3BlcnRpZXMiLCJmaWVsZCIsImZpZWxkUnVsZXMiLCJyZWR1Y2UiLCJhY2MiLCJydWxlIiwiY29uZGl0aW9uTWF0Y2giLCJjb25kaXRpb24iLCJPYmplY3QiLCJhc3NpZ24iLCJ0cmFuc2Zvcm0iLCJnZXRBZGRpdGlvbmFsRmllbGRQcm9wZXJ0aWVzIiwiZmllbGRLZXkiLCJhZGRpdGlvbmFsUHJvcGVydGllcyIsInJ1bGVQcm9wcyIsInNwZWNpZmljUHJvcHMiLCJtZXJnZWRQcm9wcyIsInR5cGUiLCJ2YWxpZEZpZWxkUHJvcGVydHlLZXlzRm9yVHlwZSJdLCJtYXBwaW5ncyI6IkFBR0EsU0FBU0EsV0FBVyxFQUFFQyxnQ0FBZ0MsUUFBUSxzQkFBcUI7QUFFbkYsU0FBU0MsNEJBQTRCLEVBQUVDLEtBQUssRUFBK0IsRUFBRUMsYUFBMEIsRUFBRTtJQUN2RyxPQUFPQSxXQUFXQyxNQUFNLENBQTBCLENBQUNDLEtBQUtDO1FBQ3RELE1BQU1DLGlCQUFpQixDQUFDRCxLQUFLRSxTQUFTLElBQUlGLEtBQUtFLFNBQVMsQ0FBQ047UUFFekQsSUFBSUssZ0JBQWdCO1lBQ2xCRSxPQUFPQyxNQUFNLENBQUNMLEtBQUtDLEtBQUtLLFNBQVMsQ0FBQ1Q7UUFDcEM7UUFFQSxPQUFPRztJQUNULEdBQUcsQ0FBQztBQUNOO0FBRUEsT0FBTyxNQUFNTywrQkFBK0IsQ0FBQyxFQUMzQ1YsS0FBSyxFQUNMVyxRQUFRLEVBQ1JWLGFBQWEsRUFBRSxFQUNmVyx1QkFBdUIsQ0FBQyxDQUFDLEVBTTFCO0lBQ0MsTUFBTUMsWUFBWWQsNEJBQTRCO1FBQUVDO0lBQU0sR0FBR0M7SUFDekQsTUFBTWEsZ0JBQWdCRixvQkFBb0IsQ0FBQ0QsU0FBUyxHQUFHWCxVQUFVLENBQUM7SUFDbEUsTUFBTWUsY0FBYztRQUFFLEdBQUdGLFNBQVM7UUFBRSxHQUFHQyxhQUFhO0lBQUM7SUFDckQsTUFBTUUsT0FBT0QsWUFBWUMsSUFBSTtJQUM3QixnSEFBZ0g7SUFDaEgsTUFBTUMsZ0NBQWdDbkIsaUNBQWlDa0I7SUFDdkUsT0FBT25CLFlBQVlrQixhQUFvQkU7QUFDekMsRUFBQyJ9
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Access, FieldAccess } from 'payload';
|
|
2
|
+
import type { PayloadRequest } from 'payload';
|
|
2
3
|
export type AdminRolesConfig = {
|
|
3
4
|
adminRoles?: string[];
|
|
4
5
|
};
|
|
@@ -11,5 +12,8 @@ export type AdminOrCurrentUserUpdateConfig = AdminOrCurrentUserConfig & {
|
|
|
11
12
|
};
|
|
12
13
|
export declare const isAdminWithRoles: (config?: AdminRolesConfig) => FieldAccess;
|
|
13
14
|
export declare const isAdminOrCurrentUserWithRoles: (config?: AdminOrCurrentUserConfig) => Access;
|
|
15
|
+
export declare const hasAdminRoles: (adminRoles: string[]) => ({ req }: {
|
|
16
|
+
req: PayloadRequest;
|
|
17
|
+
}) => boolean;
|
|
14
18
|
export declare const isAdminOrCurrentUserUpdateWithAllowedFields: (config: AdminOrCurrentUserUpdateConfig) => Access;
|
|
15
19
|
//# sourceMappingURL=payload-access.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payload-access.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/lib/build-collections/utils/payload-access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"payload-access.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/lib/build-collections/utils/payload-access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG,gBAAgB,GAAG;IACxD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG,wBAAwB,GAAG;IACtE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,gBAAgB,GAC1B,SAAQ,gBAAqB,KAAG,WAKhC,CAAA;AAEH,eAAO,MAAM,6BAA6B,GACvC,SAAQ,wBAA6B,KAAG,MAUxC,CAAA;AAEH,eAAO,MAAM,aAAa,GAAI,YAAY,MAAM,EAAE,MACxC,SAAS;IAAE,GAAG,EAAE,cAAc,CAAA;CAAE,KAAG,OAiB5C,CAAA;AAED,eAAO,MAAM,2CAA2C,GAAI,QAAQ,8BAA8B,KAAG,MA2CpG,CAAA"}
|
|
@@ -2,7 +2,9 @@ export const isAdminWithRoles = (config = {})=>({ req })=>{
|
|
|
2
2
|
const { adminRoles = [
|
|
3
3
|
'admin'
|
|
4
4
|
] } = config;
|
|
5
|
-
if (!req?.user || !req.user.role || !adminRoles
|
|
5
|
+
if (!req?.user || !req.user.role || !hasAdminRoles(adminRoles)({
|
|
6
|
+
req
|
|
7
|
+
})) return false;
|
|
6
8
|
return true;
|
|
7
9
|
};
|
|
8
10
|
export const isAdminOrCurrentUserWithRoles = (config = {})=>({ req })=>{
|
|
@@ -21,6 +23,24 @@ export const isAdminOrCurrentUserWithRoles = (config = {})=>({ req })=>{
|
|
|
21
23
|
}
|
|
22
24
|
};
|
|
23
25
|
};
|
|
26
|
+
export const hasAdminRoles = (adminRoles)=>{
|
|
27
|
+
return ({ req })=>{
|
|
28
|
+
let userRoles = [];
|
|
29
|
+
if (Array.isArray(req.user?.role)) {
|
|
30
|
+
userRoles = req.user.role;
|
|
31
|
+
} else if (typeof req.user?.role === 'string') {
|
|
32
|
+
if (req.user.role.includes(',')) {
|
|
33
|
+
userRoles = req.user.role.split(',').map((r)=>r.trim()).filter(Boolean);
|
|
34
|
+
} else if (req.user.role) {
|
|
35
|
+
userRoles = [
|
|
36
|
+
req.user.role
|
|
37
|
+
];
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
if (!userRoles) return false;
|
|
41
|
+
return userRoles.some((role)=>adminRoles.includes(role));
|
|
42
|
+
};
|
|
43
|
+
};
|
|
24
44
|
export const isAdminOrCurrentUserUpdateWithAllowedFields = (config)=>{
|
|
25
45
|
return async ({ req, id, data })=>{
|
|
26
46
|
const { adminRoles = [
|
|
@@ -61,4 +81,4 @@ export const isAdminOrCurrentUserUpdateWithAllowedFields = (config)=>{
|
|
|
61
81
|
};
|
|
62
82
|
};
|
|
63
83
|
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3V0aWxzL3BheWxvYWQtYWNjZXNzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQWNjZXNzLCBGaWVsZEFjY2VzcyB9IGZyb20gJ3BheWxvYWQnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAncGF5bG9hZCdcblxuZXhwb3J0IHR5cGUgQWRtaW5Sb2xlc0NvbmZpZyA9IHtcbiAgYWRtaW5Sb2xlcz86IHN0cmluZ1tdXG59XG5cbmV4cG9ydCB0eXBlIEFkbWluT3JDdXJyZW50VXNlckNvbmZpZyA9IEFkbWluUm9sZXNDb25maWcgJiB7XG4gIGlkRmllbGQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgQWRtaW5PckN1cnJlbnRVc2VyVXBkYXRlQ29uZmlnID0gQWRtaW5PckN1cnJlbnRVc2VyQ29uZmlnICYge1xuICBhbGxvd2VkRmllbGRzPzogc3RyaW5nW11cbiAgdXNlclNsdWc6IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgaXNBZG1pbldpdGhSb2xlcyA9XG4gIChjb25maWc6IEFkbWluUm9sZXNDb25maWcgPSB7fSk6IEZpZWxkQWNjZXNzID0+XG4gICh7IHJlcSB9KSA9PiB7XG4gICAgY29uc3QgeyBhZG1pblJvbGVzID0gWydhZG1pbiddIH0gPSBjb25maWdcbiAgICBpZiAoIXJlcT8udXNlciB8fCAhcmVxLnVzZXIucm9sZSB8fCAhaGFzQWRtaW5Sb2xlcyhhZG1pblJvbGVzKSh7IHJlcSB9KSkgcmV0dXJuIGZhbHNlXG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG5leHBvcnQgY29uc3QgaXNBZG1pbk9yQ3VycmVudFVzZXJXaXRoUm9sZXMgPVxuICAoY29uZmlnOiBBZG1pbk9yQ3VycmVudFVzZXJDb25maWcgPSB7fSk6IEFjY2VzcyA9PlxuICAoeyByZXEgfSkgPT4ge1xuICAgIGNvbnN0IHsgYWRtaW5Sb2xlcyA9IFsnYWRtaW4nXSwgaWRGaWVsZCA9ICdpZCcgfSA9IGNvbmZpZ1xuICAgIGlmIChpc0FkbWluV2l0aFJvbGVzKHsgYWRtaW5Sb2xlcyB9KSh7IHJlcSB9KSkgcmV0dXJuIHRydWVcbiAgICBpZiAoIXJlcT8udXNlcikgcmV0dXJuIGZhbHNlXG4gICAgcmV0dXJuIHtcbiAgICAgIFtpZEZpZWxkXToge1xuICAgICAgICBlcXVhbHM6IHJlcT8udXNlcj8uaWRcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuZXhwb3J0IGNvbnN0IGhhc0FkbWluUm9sZXMgPSAoYWRtaW5Sb2xlczogc3RyaW5nW10pID0+IHtcbiAgcmV0dXJuICh7IHJlcSB9OiB7IHJlcTogUGF5bG9hZFJlcXVlc3QgfSk6IGJvb2xlYW4gPT4ge1xuICAgIGxldCB1c2VyUm9sZXM6IHN0cmluZ1tdID0gW11cbiAgICBpZiAoQXJyYXkuaXNBcnJheShyZXEudXNlcj8ucm9sZSkpIHtcbiAgICAgIHVzZXJSb2xlcyA9IHJlcS51c2VyLnJvbGVcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiByZXEudXNlcj8ucm9sZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmIChyZXEudXNlci5yb2xlLmluY2x1ZGVzKCcsJykpIHtcbiAgICAgICAgdXNlclJvbGVzID0gcmVxLnVzZXIucm9sZVxuICAgICAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAgICAgLm1hcCgocjogc3RyaW5nKSA9PiByLnRyaW0oKSlcbiAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICB9IGVsc2UgaWYgKHJlcS51c2VyLnJvbGUpIHtcbiAgICAgICAgdXNlclJvbGVzID0gW3JlcS51c2VyLnJvbGVdXG4gICAgICB9XG4gICAgfVxuICAgIGlmICghdXNlclJvbGVzKSByZXR1cm4gZmFsc2VcbiAgICByZXR1cm4gdXNlclJvbGVzLnNvbWUoKHJvbGUpID0+IGFkbWluUm9sZXMuaW5jbHVkZXMocm9sZSkpXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGlzQWRtaW5PckN1cnJlbnRVc2VyVXBkYXRlV2l0aEFsbG93ZWRGaWVsZHMgPSAoY29uZmlnOiBBZG1pbk9yQ3VycmVudFVzZXJVcGRhdGVDb25maWcpOiBBY2Nlc3MgPT4ge1xuICByZXR1cm4gYXN5bmMgKHsgcmVxLCBpZCwgZGF0YSB9KSA9PiB7XG4gICAgY29uc3QgeyBhZG1pblJvbGVzID0gWydhZG1pbiddLCBhbGxvd2VkRmllbGRzID0gW10sIHVzZXJTbHVnLCBpZEZpZWxkID0gJ2lkJyB9ID0gY29uZmlnXG4gICAgY29uc3QgdXNlciA9IHJlcS51c2VyXG5cbiAgICBpZiAoaXNBZG1pbldpdGhSb2xlcyh7IGFkbWluUm9sZXMgfSkoeyByZXEgfSkpIHJldHVybiB0cnVlXG5cbiAgICBpZiAoIXVzZXIpIHJldHVybiBmYWxzZVxuXG4gICAgaWYgKHVzZXJbaWRGaWVsZF0gPT09IGlkICYmIGRhdGEpIHtcbiAgICAgIGNvbnN0IGRhdGFLZXlzID0gT2JqZWN0LmtleXMoZGF0YSlcblxuICAgICAgY29uc3QgaGFzQ3VycmVudFBhc3N3b3JkID0gZGF0YUtleXMuaW5jbHVkZXMoJ2N1cnJlbnRQYXNzd29yZCcpXG4gICAgICBjb25zdCBoYXNQYXNzd29yZCA9IGRhdGFLZXlzLmluY2x1ZGVzKCdwYXNzd29yZCcpXG5cbiAgICAgIGlmIChoYXNQYXNzd29yZCB8fCBoYXNDdXJyZW50UGFzc3dvcmQpIHtcbiAgICAgICAgaWYgKCEoaGFzQ3VycmVudFBhc3N3b3JkICYmIGhhc1Bhc3N3b3JkKSkgcmV0dXJuIGZhbHNlXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaWYgKCF1c2VyLmVtYWlsKSByZXR1cm4gZmFsc2VcblxuICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJlcS5wYXlsb2FkLmxvZ2luKHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb246IHVzZXJTbHVnLFxuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICBlbWFpbDogdXNlci5lbWFpbCxcbiAgICAgICAgICAgICAgcGFzc3dvcmQ6IGRhdGEuY3VycmVudFBhc3N3b3JkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGlmICghcmVzdWx0KSByZXR1cm4gZmFsc2VcblxuICAgICAgICAgIGFsbG93ZWRGaWVsZHMucHVzaCgncGFzc3dvcmQnLCAnY3VycmVudFBhc3N3b3JkJylcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBoYXNEaXNhbGxvd2VkRmllbGQgPSBkYXRhS2V5cy5zb21lKChrZXkpID0+ICFhbGxvd2VkRmllbGRzLmluY2x1ZGVzKGtleSkpXG5cbiAgICAgIHJldHVybiAhaGFzRGlzYWxsb3dlZEZpZWxkXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJpc0FkbWluV2l0aFJvbGVzIiwiY29uZmlnIiwicmVxIiwiYWRtaW5Sb2xlcyIsInVzZXIiLCJyb2xlIiwiaGFzQWRtaW5Sb2xlcyIsImlzQWRtaW5PckN1cnJlbnRVc2VyV2l0aFJvbGVzIiwiaWRGaWVsZCIsImVxdWFscyIsImlkIiwidXNlclJvbGVzIiwiQXJyYXkiLCJpc0FycmF5IiwiaW5jbHVkZXMiLCJzcGxpdCIsIm1hcCIsInIiLCJ0cmltIiwiZmlsdGVyIiwiQm9vbGVhbiIsInNvbWUiLCJpc0FkbWluT3JDdXJyZW50VXNlclVwZGF0ZVdpdGhBbGxvd2VkRmllbGRzIiwiZGF0YSIsImFsbG93ZWRGaWVsZHMiLCJ1c2VyU2x1ZyIsImRhdGFLZXlzIiwiT2JqZWN0Iiwia2V5cyIsImhhc0N1cnJlbnRQYXNzd29yZCIsImhhc1Bhc3N3b3JkIiwiZW1haWwiLCJyZXN1bHQiLCJwYXlsb2FkIiwibG9naW4iLCJjb2xsZWN0aW9uIiwicGFzc3dvcmQiLCJjdXJyZW50UGFzc3dvcmQiLCJwdXNoIiwiZXJyb3IiLCJoYXNEaXNhbGxvd2VkRmllbGQiLCJrZXkiXSwibWFwcGluZ3MiOiJBQWdCQSxPQUFPLE1BQU1BLG1CQUNYLENBQUNDLFNBQTJCLENBQUMsQ0FBQyxHQUM5QixDQUFDLEVBQUVDLEdBQUcsRUFBRTtRQUNOLE1BQU0sRUFBRUMsYUFBYTtZQUFDO1NBQVEsRUFBRSxHQUFHRjtRQUNuQyxJQUFJLENBQUNDLEtBQUtFLFFBQVEsQ0FBQ0YsSUFBSUUsSUFBSSxDQUFDQyxJQUFJLElBQUksQ0FBQ0MsY0FBY0gsWUFBWTtZQUFFRDtRQUFJLElBQUksT0FBTztRQUNoRixPQUFPO0lBQ1QsRUFBQztBQUVILE9BQU8sTUFBTUssZ0NBQ1gsQ0FBQ04sU0FBbUMsQ0FBQyxDQUFDLEdBQ3RDLENBQUMsRUFBRUMsR0FBRyxFQUFFO1FBQ04sTUFBTSxFQUFFQyxhQUFhO1lBQUM7U0FBUSxFQUFFSyxVQUFVLElBQUksRUFBRSxHQUFHUDtRQUNuRCxJQUFJRCxpQkFBaUI7WUFBRUc7UUFBVyxHQUFHO1lBQUVEO1FBQUksSUFBSSxPQUFPO1FBQ3RELElBQUksQ0FBQ0EsS0FBS0UsTUFBTSxPQUFPO1FBQ3ZCLE9BQU87WUFDTCxDQUFDSSxRQUFRLEVBQUU7Z0JBQ1RDLFFBQVFQLEtBQUtFLE1BQU1NO1lBQ3JCO1FBQ0Y7SUFDRixFQUFDO0FBRUgsT0FBTyxNQUFNSixnQkFBZ0IsQ0FBQ0g7SUFDNUIsT0FBTyxDQUFDLEVBQUVELEdBQUcsRUFBMkI7UUFDdEMsSUFBSVMsWUFBc0IsRUFBRTtRQUM1QixJQUFJQyxNQUFNQyxPQUFPLENBQUNYLElBQUlFLElBQUksRUFBRUMsT0FBTztZQUNqQ00sWUFBWVQsSUFBSUUsSUFBSSxDQUFDQyxJQUFJO1FBQzNCLE9BQU8sSUFBSSxPQUFPSCxJQUFJRSxJQUFJLEVBQUVDLFNBQVMsVUFBVTtZQUM3QyxJQUFJSCxJQUFJRSxJQUFJLENBQUNDLElBQUksQ0FBQ1MsUUFBUSxDQUFDLE1BQU07Z0JBQy9CSCxZQUFZVCxJQUFJRSxJQUFJLENBQUNDLElBQUksQ0FDdEJVLEtBQUssQ0FBQyxLQUNOQyxHQUFHLENBQUMsQ0FBQ0MsSUFBY0EsRUFBRUMsSUFBSSxJQUN6QkMsTUFBTSxDQUFDQztZQUNaLE9BQU8sSUFBSWxCLElBQUlFLElBQUksQ0FBQ0MsSUFBSSxFQUFFO2dCQUN4Qk0sWUFBWTtvQkFBQ1QsSUFBSUUsSUFBSSxDQUFDQyxJQUFJO2lCQUFDO1lBQzdCO1FBQ0Y7UUFDQSxJQUFJLENBQUNNLFdBQVcsT0FBTztRQUN2QixPQUFPQSxVQUFVVSxJQUFJLENBQUMsQ0FBQ2hCLE9BQVNGLFdBQVdXLFFBQVEsQ0FBQ1Q7SUFDdEQ7QUFDRixFQUFDO0FBRUQsT0FBTyxNQUFNaUIsOENBQThDLENBQUNyQjtJQUMxRCxPQUFPLE9BQU8sRUFBRUMsR0FBRyxFQUFFUSxFQUFFLEVBQUVhLElBQUksRUFBRTtRQUM3QixNQUFNLEVBQUVwQixhQUFhO1lBQUM7U0FBUSxFQUFFcUIsZ0JBQWdCLEVBQUUsRUFBRUMsUUFBUSxFQUFFakIsVUFBVSxJQUFJLEVBQUUsR0FBR1A7UUFDakYsTUFBTUcsT0FBT0YsSUFBSUUsSUFBSTtRQUVyQixJQUFJSixpQkFBaUI7WUFBRUc7UUFBVyxHQUFHO1lBQUVEO1FBQUksSUFBSSxPQUFPO1FBRXRELElBQUksQ0FBQ0UsTUFBTSxPQUFPO1FBRWxCLElBQUlBLElBQUksQ0FBQ0ksUUFBUSxLQUFLRSxNQUFNYSxNQUFNO1lBQ2hDLE1BQU1HLFdBQVdDLE9BQU9DLElBQUksQ0FBQ0w7WUFFN0IsTUFBTU0scUJBQXFCSCxTQUFTWixRQUFRLENBQUM7WUFDN0MsTUFBTWdCLGNBQWNKLFNBQVNaLFFBQVEsQ0FBQztZQUV0QyxJQUFJZ0IsZUFBZUQsb0JBQW9CO2dCQUNyQyxJQUFJLENBQUVBLENBQUFBLHNCQUFzQkMsV0FBVSxHQUFJLE9BQU87Z0JBQ2pELElBQUk7b0JBQ0YsSUFBSSxDQUFDMUIsS0FBSzJCLEtBQUssRUFBRSxPQUFPO29CQUV4QixNQUFNQyxTQUFTLE1BQU05QixJQUFJK0IsT0FBTyxDQUFDQyxLQUFLLENBQUM7d0JBQ3JDQyxZQUFZVjt3QkFDWkYsTUFBTTs0QkFDSlEsT0FBTzNCLEtBQUsyQixLQUFLOzRCQUNqQkssVUFBVWIsS0FBS2MsZUFBZTt3QkFDaEM7b0JBQ0Y7b0JBRUEsSUFBSSxDQUFDTCxRQUFRLE9BQU87b0JBRXBCUixjQUFjYyxJQUFJLENBQUMsWUFBWTtnQkFDakMsRUFBRSxPQUFPQyxPQUFPO29CQUNkLE9BQU87Z0JBQ1Q7WUFDRjtZQUVBLE1BQU1DLHFCQUFxQmQsU0FBU0wsSUFBSSxDQUFDLENBQUNvQixNQUFRLENBQUNqQixjQUFjVixRQUFRLENBQUMyQjtZQUUxRSxPQUFPLENBQUNEO1FBQ1Y7UUFFQSxPQUFPO0lBQ1Q7QUFDRixFQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-schema-fields-to-payload.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAClF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,KAAK,EAAE,KAAK,EAAqB,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"transform-schema-fields-to-payload.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAClF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,KAAK,EAAE,KAAK,EAAqB,MAAM,SAAS,CAAA;AAGvD,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,UAAe,EACf,oBAAyB,EAC1B,EAAE;IACD,MAAM,EAAE,qBAAqB,CAAA;IAC7B,UAAU,CAAC,EAAE,SAAS,EAAE,CAAA;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;CACnF,GAAG,KAAK,EAAE,GAAG,IAAI,CAMjB;AAED,wBAAgB,2BAA2B,CAAC,EAC1C,KAAK,EACL,QAAQ,EACR,UAAe,EACf,oBAAyB,EAC1B,EAAE;IACD,KAAK,EAAE,gBAAgB,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAA;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;CACnF,GAAG,KAAK,CA8BR;AAED,wBAAgB,yBAAyB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,gBAAgB,CAAA;CAAE,GAAG;IACjF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CA2BA"}
|
package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { getAdditionalFieldProperties } from "./model-field-transformations";
|
|
2
|
-
import { getValidFieldPropertyKeysForType } from "./filter-properties";
|
|
3
2
|
export function getCollectionFields({ schema, fieldRules = [], additionalProperties = {} }) {
|
|
4
3
|
const payloadFields = Object.entries(schema.fields).map(([fieldKey, field])=>{
|
|
5
4
|
return convertSchemaFieldToPayload({
|
|
@@ -15,13 +14,11 @@ export function convertSchemaFieldToPayload({ field, fieldKey, fieldRules = [],
|
|
|
15
14
|
const { type, hasMany } = getPayloadFieldProperties({
|
|
16
15
|
field
|
|
17
16
|
});
|
|
18
|
-
const validFieldPropertyKeys = getValidFieldPropertyKeysForType(type);
|
|
19
17
|
const additionalFieldProperties = getAdditionalFieldProperties({
|
|
20
18
|
field,
|
|
21
19
|
fieldKey,
|
|
22
20
|
fieldRules,
|
|
23
|
-
additionalProperties
|
|
24
|
-
validFieldPropertyKeys
|
|
21
|
+
additionalProperties
|
|
25
22
|
});
|
|
26
23
|
const baseField = {
|
|
27
24
|
name: field.fieldName ?? fieldKey,
|
|
@@ -95,4 +92,4 @@ export function getPayloadFieldProperties({ field }) {
|
|
|
95
92
|
}
|
|
96
93
|
}
|
|
97
94
|
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3V0aWxzL3RyYW5zZm9ybS1zY2hlbWEtZmllbGRzLXRvLXBheWxvYWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCdWlsdEJldHRlckF1dGhTY2hlbWEsIEZpZWxkUnVsZSB9IGZyb20gJ0AvYmV0dGVyLWF1dGgvcGx1Z2luL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBEQkZpZWxkQXR0cmlidXRlIH0gZnJvbSAnYmV0dGVyLWF1dGgvZGInXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBSZWxhdGlvbnNoaXBGaWVsZCB9IGZyb20gJ3BheWxvYWQnXG5pbXBvcnQgeyBnZXRBZGRpdGlvbmFsRmllbGRQcm9wZXJ0aWVzIH0gZnJvbSAnLi9tb2RlbC1maWVsZC10cmFuc2Zvcm1hdGlvbnMnXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb2xsZWN0aW9uRmllbGRzKHtcbiAgc2NoZW1hLFxuICBmaWVsZFJ1bGVzID0gW10sXG4gIGFkZGl0aW9uYWxQcm9wZXJ0aWVzID0ge31cbn06IHtcbiAgc2NoZW1hOiBCdWlsdEJldHRlckF1dGhTY2hlbWFcbiAgZmllbGRSdWxlcz86IEZpZWxkUnVsZVtdXG4gIGFkZGl0aW9uYWxQcm9wZXJ0aWVzPzogUmVjb3JkPHN0cmluZywgKGZpZWxkOiBEQkZpZWxkQXR0cmlidXRlKSA9PiBQYXJ0aWFsPEZpZWxkPj5cbn0pOiBGaWVsZFtdIHwgbnVsbCB7XG4gIGNvbnN0IHBheWxvYWRGaWVsZHMgPSBPYmplY3QuZW50cmllcyhzY2hlbWEuZmllbGRzKS5tYXAoKFtmaWVsZEtleSwgZmllbGRdKSA9PiB7XG4gICAgcmV0dXJuIGNvbnZlcnRTY2hlbWFGaWVsZFRvUGF5bG9hZCh7IGZpZWxkLCBmaWVsZEtleSwgZmllbGRSdWxlcywgYWRkaXRpb25hbFByb3BlcnRpZXMgfSlcbiAgfSlcblxuICByZXR1cm4gcGF5bG9hZEZpZWxkc1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFNjaGVtYUZpZWxkVG9QYXlsb2FkKHtcbiAgZmllbGQsXG4gIGZpZWxkS2V5LFxuICBmaWVsZFJ1bGVzID0gW10sXG4gIGFkZGl0aW9uYWxQcm9wZXJ0aWVzID0ge31cbn06IHtcbiAgZmllbGQ6IERCRmllbGRBdHRyaWJ1dGVcbiAgZmllbGRLZXk6IHN0cmluZ1xuICBmaWVsZFJ1bGVzPzogRmllbGRSdWxlW11cbiAgYWRkaXRpb25hbFByb3BlcnRpZXM/OiBSZWNvcmQ8c3RyaW5nLCAoZmllbGQ6IERCRmllbGRBdHRyaWJ1dGUpID0+IFBhcnRpYWw8RmllbGQ+PlxufSk6IEZpZWxkIHtcbiAgY29uc3QgeyB0eXBlLCBoYXNNYW55IH0gPSBnZXRQYXlsb2FkRmllbGRQcm9wZXJ0aWVzKHsgZmllbGQgfSlcbiAgY29uc3QgYWRkaXRpb25hbEZpZWxkUHJvcGVydGllcyA9IGdldEFkZGl0aW9uYWxGaWVsZFByb3BlcnRpZXMoe1xuICAgIGZpZWxkLFxuICAgIGZpZWxkS2V5LFxuICAgIGZpZWxkUnVsZXMsXG4gICAgYWRkaXRpb25hbFByb3BlcnRpZXMsXG4gIH0pXG4gIGNvbnN0IGJhc2VGaWVsZCA9IHtcbiAgICBuYW1lOiBmaWVsZC5maWVsZE5hbWUgPz8gZmllbGRLZXksXG4gICAgdHlwZSxcbiAgICAuLi4oaGFzTWFueSAmJiB7IGhhc01hbnkgfSksXG4gICAgLi4uKGZpZWxkLnJlcXVpcmVkICYmIHsgcmVxdWlyZWQ6IHRydWUgfSksXG4gICAgLi4uKGZpZWxkLnVuaXF1ZSAmJiB7IHVuaXF1ZTogdHJ1ZSB9KSxcbiAgICAuLi5hZGRpdGlvbmFsRmllbGRQcm9wZXJ0aWVzLFxuICAgIGN1c3RvbToge1xuICAgICAgYmV0dGVyQXV0aEZpZWxkS2V5OiBmaWVsZEtleVxuICAgIH1cbiAgfSBhcyBGaWVsZFxuXG4gIGlmIChmaWVsZC5yZWZlcmVuY2VzKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmJhc2VGaWVsZCxcbiAgICAgIC4uLigncmVsYXRpb25UbycgaW4gYWRkaXRpb25hbEZpZWxkUHJvcGVydGllc1xuICAgICAgICA/IHsgcmVsYXRpb25UbzogYWRkaXRpb25hbEZpZWxkUHJvcGVydGllcy5yZWxhdGlvblRvIH1cbiAgICAgICAgOiB7IHJlbGF0aW9uVG86IGZpZWxkLnJlZmVyZW5jZXMubW9kZWwgfSlcbiAgICB9IGFzIFJlbGF0aW9uc2hpcEZpZWxkXG4gIH1cblxuICByZXR1cm4gYmFzZUZpZWxkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYXlsb2FkRmllbGRQcm9wZXJ0aWVzKHsgZmllbGQgfTogeyBmaWVsZDogREJGaWVsZEF0dHJpYnV0ZSB9KToge1xuICB0eXBlOiBGaWVsZFsndHlwZSddXG4gIGhhc01hbnk/OiBib29sZWFuXG59IHtcbiAgY29uc3QgdHlwZSA9IGZpZWxkLnR5cGVcblxuICBpZiAoJ3JlZmVyZW5jZXMnIGluIGZpZWxkKSB7XG4gICAgcmV0dXJuIHsgdHlwZTogJ3JlbGF0aW9uc2hpcCcgfVxuICB9XG5cbiAgaWYgKHR5cGUgPT09ICdudW1iZXJbXScpIHtcbiAgICByZXR1cm4geyB0eXBlOiAnbnVtYmVyJywgaGFzTWFueTogdHJ1ZSB9XG4gIH1cblxuICBpZiAodHlwZSA9PT0gJ3N0cmluZ1tdJykge1xuICAgIHJldHVybiB7IHR5cGU6ICd0ZXh0JywgaGFzTWFueTogdHJ1ZSB9XG4gIH1cblxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlICdib29sZWFuJzpcbiAgICAgIHJldHVybiB7IHR5cGU6ICdjaGVja2JveCcgfVxuICAgIGNhc2UgJ2RhdGUnOlxuICAgICAgcmV0dXJuIHsgdHlwZTogJ2RhdGUnIH1cbiAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgcmV0dXJuIHsgdHlwZTogJ3RleHQnIH1cbiAgICBjYXNlICdudW1iZXInOlxuICAgICAgcmV0dXJuIHsgdHlwZTogJ251bWJlcicgfVxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4geyB0eXBlOiAndGV4dCcgfVxuICB9XG59XG4iXSwibmFtZXMiOlsiZ2V0QWRkaXRpb25hbEZpZWxkUHJvcGVydGllcyIsImdldENvbGxlY3Rpb25GaWVsZHMiLCJzY2hlbWEiLCJmaWVsZFJ1bGVzIiwiYWRkaXRpb25hbFByb3BlcnRpZXMiLCJwYXlsb2FkRmllbGRzIiwiT2JqZWN0IiwiZW50cmllcyIsImZpZWxkcyIsIm1hcCIsImZpZWxkS2V5IiwiZmllbGQiLCJjb252ZXJ0U2NoZW1hRmllbGRUb1BheWxvYWQiLCJ0eXBlIiwiaGFzTWFueSIsImdldFBheWxvYWRGaWVsZFByb3BlcnRpZXMiLCJhZGRpdGlvbmFsRmllbGRQcm9wZXJ0aWVzIiwiYmFzZUZpZWxkIiwibmFtZSIsImZpZWxkTmFtZSIsInJlcXVpcmVkIiwidW5pcXVlIiwiY3VzdG9tIiwiYmV0dGVyQXV0aEZpZWxkS2V5IiwicmVmZXJlbmNlcyIsInJlbGF0aW9uVG8iLCJtb2RlbCJdLCJtYXBwaW5ncyI6IkFBR0EsU0FBU0EsNEJBQTRCLFFBQVEsZ0NBQStCO0FBRTVFLE9BQU8sU0FBU0Msb0JBQW9CLEVBQ2xDQyxNQUFNLEVBQ05DLGFBQWEsRUFBRSxFQUNmQyx1QkFBdUIsQ0FBQyxDQUFDLEVBSzFCO0lBQ0MsTUFBTUMsZ0JBQWdCQyxPQUFPQyxPQUFPLENBQUNMLE9BQU9NLE1BQU0sRUFBRUMsR0FBRyxDQUFDLENBQUMsQ0FBQ0MsVUFBVUMsTUFBTTtRQUN4RSxPQUFPQyw0QkFBNEI7WUFBRUQ7WUFBT0Q7WUFBVVA7WUFBWUM7UUFBcUI7SUFDekY7SUFFQSxPQUFPQztBQUNUO0FBRUEsT0FBTyxTQUFTTyw0QkFBNEIsRUFDMUNELEtBQUssRUFDTEQsUUFBUSxFQUNSUCxhQUFhLEVBQUUsRUFDZkMsdUJBQXVCLENBQUMsQ0FBQyxFQU0xQjtJQUNDLE1BQU0sRUFBRVMsSUFBSSxFQUFFQyxPQUFPLEVBQUUsR0FBR0MsMEJBQTBCO1FBQUVKO0lBQU07SUFDNUQsTUFBTUssNEJBQTRCaEIsNkJBQTZCO1FBQzdEVztRQUNBRDtRQUNBUDtRQUNBQztJQUNGO0lBQ0EsTUFBTWEsWUFBWTtRQUNoQkMsTUFBTVAsTUFBTVEsU0FBUyxJQUFJVDtRQUN6Qkc7UUFDQSxHQUFJQyxXQUFXO1lBQUVBO1FBQVEsQ0FBQztRQUMxQixHQUFJSCxNQUFNUyxRQUFRLElBQUk7WUFBRUEsVUFBVTtRQUFLLENBQUM7UUFDeEMsR0FBSVQsTUFBTVUsTUFBTSxJQUFJO1lBQUVBLFFBQVE7UUFBSyxDQUFDO1FBQ3BDLEdBQUdMLHlCQUF5QjtRQUM1Qk0sUUFBUTtZQUNOQyxvQkFBb0JiO1FBQ3RCO0lBQ0Y7SUFFQSxJQUFJQyxNQUFNYSxVQUFVLEVBQUU7UUFDcEIsT0FBTztZQUNMLEdBQUdQLFNBQVM7WUFDWixHQUFJLGdCQUFnQkQsNEJBQ2hCO2dCQUFFUyxZQUFZVCwwQkFBMEJTLFVBQVU7WUFBQyxJQUNuRDtnQkFBRUEsWUFBWWQsTUFBTWEsVUFBVSxDQUFDRSxLQUFLO1lBQUMsQ0FBQztRQUM1QztJQUNGO0lBRUEsT0FBT1Q7QUFDVDtBQUVBLE9BQU8sU0FBU0YsMEJBQTBCLEVBQUVKLEtBQUssRUFBK0I7SUFJOUUsTUFBTUUsT0FBT0YsTUFBTUUsSUFBSTtJQUV2QixJQUFJLGdCQUFnQkYsT0FBTztRQUN6QixPQUFPO1lBQUVFLE1BQU07UUFBZTtJQUNoQztJQUVBLElBQUlBLFNBQVMsWUFBWTtRQUN2QixPQUFPO1lBQUVBLE1BQU07WUFBVUMsU0FBUztRQUFLO0lBQ3pDO0lBRUEsSUFBSUQsU0FBUyxZQUFZO1FBQ3ZCLE9BQU87WUFBRUEsTUFBTTtZQUFRQyxTQUFTO1FBQUs7SUFDdkM7SUFFQSxPQUFRRDtRQUNOLEtBQUs7WUFDSCxPQUFPO2dCQUFFQSxNQUFNO1lBQVc7UUFDNUIsS0FBSztZQUNILE9BQU87Z0JBQUVBLE1BQU07WUFBTztRQUN4QixLQUFLO1lBQ0gsT0FBTztnQkFBRUEsTUFBTTtZQUFPO1FBQ3hCLEtBQUs7WUFDSCxPQUFPO2dCQUFFQSxNQUFNO1lBQVM7UUFDMUI7WUFDRSxPQUFPO2dCQUFFQSxNQUFNO1lBQU87SUFDMUI7QUFDRiJ9
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { BasePayload, SanitizedConfig } from 'payload';
|
|
2
|
-
import type {
|
|
3
|
-
export declare function getPayloadAuth<
|
|
4
|
-
betterAuth: BetterAuthReturn<
|
|
2
|
+
import type { BetterAuthPluginOptions, BetterAuthReturn } from '../types';
|
|
3
|
+
export declare function getPayloadAuth<O extends BetterAuthPluginOptions>(config: Promise<SanitizedConfig> | SanitizedConfig): Promise<BasePayload & {
|
|
4
|
+
betterAuth: BetterAuthReturn<O>;
|
|
5
5
|
}>;
|
|
6
6
|
//# sourceMappingURL=get-payload-auth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-payload-auth.d.ts","sourceRoot":"","sources":["../../../../src/better-auth/plugin/lib/get-payload-auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC3D,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"get-payload-auth.d.ts","sourceRoot":"","sources":["../../../../src/better-auth/plugin/lib/get-payload-auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEzE,wBAAsB,cAAc,CAAC,CAAC,SAAS,uBAAuB,EACpE,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,GACjD,OAAO,CAAC,WAAW,GAAG;IAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC,CAK5D"}
|
|
@@ -6,4 +6,4 @@ export async function getPayloadAuth(config) {
|
|
|
6
6
|
return payload;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2dldC1wYXlsb2FkLWF1dGgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0UGF5bG9hZCB9IGZyb20gJ3BheWxvYWQnXG5pbXBvcnQgdHlwZSB7IEJhc2VQYXlsb2FkLCBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICdwYXlsb2FkJ1xuaW1wb3J0IHR5cGUgeyBCZXR0ZXJBdXRoUGx1Z2luT3B0aW9ucywgQmV0dGVyQXV0aFJldHVybiB9IGZyb20gJy4uL3R5cGVzJ1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UGF5bG9hZEF1dGg8TyBleHRlbmRzIEJldHRlckF1dGhQbHVnaW5PcHRpb25zPihcbiAgY29uZmlnOiBQcm9taXNlPFNhbml0aXplZENvbmZpZz4gfCBTYW5pdGl6ZWRDb25maWdcbik6IFByb21pc2U8QmFzZVBheWxvYWQgJiB7IGJldHRlckF1dGg6IEJldHRlckF1dGhSZXR1cm48Tz4gfT4ge1xuICBjb25zdCBwYXlsb2FkID0gKGF3YWl0IGdldFBheWxvYWQoeyBjb25maWcgfSkpIGFzIEJhc2VQYXlsb2FkICYge1xuICAgIGJldHRlckF1dGg6IEJldHRlckF1dGhSZXR1cm48Tz5cbiAgfVxuICByZXR1cm4gcGF5bG9hZFxufVxuIl0sIm5hbWVzIjpbImdldFBheWxvYWQiLCJnZXRQYXlsb2FkQXV0aCIsImNvbmZpZyIsInBheWxvYWQiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFVBQVUsUUFBUSxVQUFTO0FBSXBDLE9BQU8sZUFBZUMsZUFDcEJDLE1BQWtEO0lBRWxELE1BQU1DLFVBQVcsTUFBTUgsV0FBVztRQUFFRTtJQUFPO0lBRzNDLE9BQU9DO0FBQ1QifQ==
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { BasePayload } from 'payload';
|
|
2
|
-
import type { BetterAuthFunctionOptions,
|
|
3
|
-
export declare function initBetterAuth<
|
|
2
|
+
import type { BetterAuthFunctionOptions, BetterAuthPluginOptions, BetterAuthReturn } from '../types';
|
|
3
|
+
export declare function initBetterAuth<O extends BetterAuthPluginOptions>({ payload, idType, options: { enableDebugLogs, ...restOptions } }: {
|
|
4
4
|
payload: BasePayload;
|
|
5
5
|
idType: 'number' | 'text';
|
|
6
|
-
options: BetterAuthFunctionOptions<
|
|
7
|
-
}): BetterAuthReturn<
|
|
6
|
+
options: BetterAuthFunctionOptions<O>;
|
|
7
|
+
}): BetterAuthReturn<O>;
|
|
8
8
|
//# sourceMappingURL=init-better-auth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-better-auth.d.ts","sourceRoot":"","sources":["../../../../src/better-auth/plugin/lib/init-better-auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,OAAO,KAAK,EAAE,yBAAyB,EAAE,
|
|
1
|
+
{"version":3,"file":"init-better-auth.d.ts","sourceRoot":"","sources":["../../../../src/better-auth/plugin/lib/init-better-auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,OAAO,KAAK,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEpG,wBAAgB,cAAc,CAAC,CAAC,SAAS,uBAAuB,EAAE,EAChE,OAAO,EACP,MAAM,EACN,OAAO,EAAE,EAAE,eAAuB,EAAE,GAAG,WAAW,EAAE,EACrD,EAAE;IACD,OAAO,EAAE,WAAW,CAAA;IACpB,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAA;IACzB,OAAO,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAA;CACtC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAWtB"}
|
|
@@ -13,4 +13,4 @@ export function initBetterAuth({ payload, idType, options: { enableDebugLogs = f
|
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2luaXQtYmV0dGVyLWF1dGgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmV0dGVyQXV0aCB9IGZyb20gJ2JldHRlci1hdXRoJ1xuaW1wb3J0IHR5cGUgeyBCYXNlUGF5bG9hZCB9IGZyb20gJ3BheWxvYWQnXG5pbXBvcnQgeyBwYXlsb2FkQWRhcHRlciB9IGZyb20gJ3BheWxvYWQtYXV0aC9iZXR0ZXItYXV0aC9hZGFwdGVyJ1xuaW1wb3J0IHR5cGUgeyBCZXR0ZXJBdXRoRnVuY3Rpb25PcHRpb25zLCBCZXR0ZXJBdXRoUGx1Z2luT3B0aW9ucywgQmV0dGVyQXV0aFJldHVybiB9IGZyb20gJy4uL3R5cGVzJ1xuXG5leHBvcnQgZnVuY3Rpb24gaW5pdEJldHRlckF1dGg8TyBleHRlbmRzIEJldHRlckF1dGhQbHVnaW5PcHRpb25zPih7XG4gIHBheWxvYWQsXG4gIGlkVHlwZSxcbiAgb3B0aW9uczogeyBlbmFibGVEZWJ1Z0xvZ3MgPSBmYWxzZSwgLi4ucmVzdE9wdGlvbnMgfVxufToge1xuICBwYXlsb2FkOiBCYXNlUGF5bG9hZFxuICBpZFR5cGU6ICdudW1iZXInIHwgJ3RleHQnXG4gIG9wdGlvbnM6IEJldHRlckF1dGhGdW5jdGlvbk9wdGlvbnM8Tz5cbn0pOiBCZXR0ZXJBdXRoUmV0dXJuPE8+IHtcbiAgcmV0dXJuIGJldHRlckF1dGgoe1xuICAgIC4uLnJlc3RPcHRpb25zLFxuICAgIGRhdGFiYXNlOiBwYXlsb2FkQWRhcHRlcih7XG4gICAgICBwYXlsb2FkQ2xpZW50OiBwYXlsb2FkLFxuICAgICAgYWRhcHRlckNvbmZpZzoge1xuICAgICAgICBlbmFibGVEZWJ1Z0xvZ3MsXG4gICAgICAgIGlkVHlwZVxuICAgICAgfVxuICAgIH0pXG4gIH0pIGFzIHVua25vd24gYXMgQmV0dGVyQXV0aFJldHVybjxPPlxufVxuIl0sIm5hbWVzIjpbImJldHRlckF1dGgiLCJwYXlsb2FkQWRhcHRlciIsImluaXRCZXR0ZXJBdXRoIiwicGF5bG9hZCIsImlkVHlwZSIsIm9wdGlvbnMiLCJlbmFibGVEZWJ1Z0xvZ3MiLCJyZXN0T3B0aW9ucyIsImRhdGFiYXNlIiwicGF5bG9hZENsaWVudCIsImFkYXB0ZXJDb25maWciXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFVBQVUsUUFBUSxjQUFhO0FBRXhDLFNBQVNDLGNBQWMsUUFBUSxtQ0FBa0M7QUFHakUsT0FBTyxTQUFTQyxlQUFrRCxFQUNoRUMsT0FBTyxFQUNQQyxNQUFNLEVBQ05DLFNBQVMsRUFBRUMsa0JBQWtCLEtBQUssRUFBRSxHQUFHQyxhQUFhLEVBS3JEO0lBQ0MsT0FBT1AsV0FBVztRQUNoQixHQUFHTyxXQUFXO1FBQ2RDLFVBQVVQLGVBQWU7WUFDdkJRLGVBQWVOO1lBQ2ZPLGVBQWU7Z0JBQ2JKO2dCQUNBRjtZQUNGO1FBQ0Y7SUFDRjtBQUNGIn0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { BetterAuthPluginOptions } from '
|
|
2
|
-
export declare function configureAdminPlugin(plugin: any, options: BetterAuthPluginOptions): void;
|
|
1
|
+
import type { BetterAuthPluginOptions, BetterAuthSchemas } from '@/better-auth/types';
|
|
2
|
+
export declare function configureAdminPlugin(plugin: any, options: BetterAuthPluginOptions, resolvedSchemas: BetterAuthSchemas): void;
|
|
3
3
|
//# sourceMappingURL=admin-plugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-plugin.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"admin-plugin.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAIrF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,iBAAiB,GAAG,IAAI,CAS5H"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import { defaults } from "../../constants";
|
|
2
|
-
|
|
1
|
+
import { baModelKey, defaults } from "../../constants";
|
|
2
|
+
import { set } from "../../utils/set";
|
|
3
|
+
import { getSchemaCollectionSlug } from "../build-collections/utils/collection-schema";
|
|
4
|
+
export function configureAdminPlugin(plugin, options, resolvedSchemas) {
|
|
3
5
|
plugin.defaultRole = options.users?.defaultRole ?? defaults.userRole;
|
|
4
6
|
plugin.adminRoles = options.users?.adminRoles ?? [
|
|
5
7
|
defaults.adminRole
|
|
6
8
|
];
|
|
9
|
+
set(plugin, `schema.${baModelKey.session}.fields.impersonatedBy.references.model`, getSchemaCollectionSlug(resolvedSchemas, baModelKey.user));
|
|
7
10
|
}
|
|
8
11
|
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL3Nhbml0aXplLWJldHRlci1hdXRoLW9wdGlvbnMvYWRtaW4tcGx1Z2luLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJhTW9kZWxLZXksIGRlZmF1bHRzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJ1xuaW1wb3J0IHR5cGUgeyBCZXR0ZXJBdXRoUGx1Z2luT3B0aW9ucywgQmV0dGVyQXV0aFNjaGVtYXMgfSBmcm9tICdAL2JldHRlci1hdXRoL3R5cGVzJ1xuaW1wb3J0IHsgc2V0IH0gZnJvbSAnLi4vLi4vdXRpbHMvc2V0J1xuaW1wb3J0IHsgZ2V0U2NoZW1hQ29sbGVjdGlvblNsdWcgfSBmcm9tICcuLi9idWlsZC1jb2xsZWN0aW9ucy91dGlscy9jb2xsZWN0aW9uLXNjaGVtYSdcblxuZXhwb3J0IGZ1bmN0aW9uIGNvbmZpZ3VyZUFkbWluUGx1Z2luKHBsdWdpbjogYW55LCBvcHRpb25zOiBCZXR0ZXJBdXRoUGx1Z2luT3B0aW9ucywgcmVzb2x2ZWRTY2hlbWFzOiBCZXR0ZXJBdXRoU2NoZW1hcyk6IHZvaWQge1xuICBwbHVnaW4uZGVmYXVsdFJvbGUgPSBvcHRpb25zLnVzZXJzPy5kZWZhdWx0Um9sZSA/PyBkZWZhdWx0cy51c2VyUm9sZVxuICBwbHVnaW4uYWRtaW5Sb2xlcyA9IG9wdGlvbnMudXNlcnM/LmFkbWluUm9sZXMgPz8gW2RlZmF1bHRzLmFkbWluUm9sZV1cblxuICBzZXQoXG4gICAgcGx1Z2luLFxuICAgIGBzY2hlbWEuJHtiYU1vZGVsS2V5LnNlc3Npb259LmZpZWxkcy5pbXBlcnNvbmF0ZWRCeS5yZWZlcmVuY2VzLm1vZGVsYCxcbiAgICBnZXRTY2hlbWFDb2xsZWN0aW9uU2x1ZyhyZXNvbHZlZFNjaGVtYXMsIGJhTW9kZWxLZXkudXNlcilcbiAgKVxufVxuIl0sIm5hbWVzIjpbImJhTW9kZWxLZXkiLCJkZWZhdWx0cyIsInNldCIsImdldFNjaGVtYUNvbGxlY3Rpb25TbHVnIiwiY29uZmlndXJlQWRtaW5QbHVnaW4iLCJwbHVnaW4iLCJvcHRpb25zIiwicmVzb2x2ZWRTY2hlbWFzIiwiZGVmYXVsdFJvbGUiLCJ1c2VycyIsInVzZXJSb2xlIiwiYWRtaW5Sb2xlcyIsImFkbWluUm9sZSIsInNlc3Npb24iLCJ1c2VyIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxVQUFVLEVBQUVDLFFBQVEsUUFBUSxrQkFBaUI7QUFFdEQsU0FBU0MsR0FBRyxRQUFRLGtCQUFpQjtBQUNyQyxTQUFTQyx1QkFBdUIsUUFBUSwrQ0FBOEM7QUFFdEYsT0FBTyxTQUFTQyxxQkFBcUJDLE1BQVcsRUFBRUMsT0FBZ0MsRUFBRUMsZUFBa0M7SUFDcEhGLE9BQU9HLFdBQVcsR0FBR0YsUUFBUUcsS0FBSyxFQUFFRCxlQUFlUCxTQUFTUyxRQUFRO0lBQ3BFTCxPQUFPTSxVQUFVLEdBQUdMLFFBQVFHLEtBQUssRUFBRUUsY0FBYztRQUFDVixTQUFTVyxTQUFTO0tBQUM7SUFFckVWLElBQ0VHLFFBQ0EsQ0FBQyxPQUFPLEVBQUVMLFdBQVdhLE9BQU8sQ0FBQyx1Q0FBdUMsQ0FBQyxFQUNyRVYsd0JBQXdCSSxpQkFBaUJQLFdBQVdjLElBQUk7QUFFNUQifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/lib/sanitize-better-auth-options/index.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAA;AACxH,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/lib/sanitize-better-auth-options/index.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAA;AACxH,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAS9C;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,MAAM,EACN,aAAa,EACb,eAAe,EAChB,EAAE;IACD,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAA;IACxE,aAAa,EAAE,uBAAuB,CAAA;IACtC,eAAe,EAAE,iBAAiB,CAAA;CACnC,GAAG,0BAA0B,CAmI7B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { baModelFieldKeys, baModelKey, baseSlugs,
|
|
1
|
+
import { baModelFieldKeys, baModelKey, baseSlugs, supportedBAPluginIds } from "../../constants";
|
|
2
2
|
import { set } from "../../utils/set";
|
|
3
3
|
import { getSchemaCollectionSlug, getSchemaFieldName } from "../build-collections/utils/collection-schema";
|
|
4
4
|
import { configureAdminPlugin } from "./admin-plugin";
|
|
@@ -14,6 +14,9 @@ import { configureTwoFactorPlugin } from "./two-factor-plugin";
|
|
|
14
14
|
import { requireAdminInviteForSignUpMiddleware } from "./utils/require-admin-invite-for-sign-up-middleware";
|
|
15
15
|
import { useAdminInviteAfterEmailSignUpMiddleware } from "./utils/use-admin-invite-after-email-sign-up-middleware";
|
|
16
16
|
import { configureDeviceAuthorizationPlugin } from "./device-authorization-plugin";
|
|
17
|
+
import { adminBeforeRoleMiddleware } from "./utils/admin-before-role-middleware";
|
|
18
|
+
import { adminAfterRoleMiddleware } from "./utils/admin-after-role-middleware";
|
|
19
|
+
import { checkPluginExists } from "../../helpers/check-plugin-exists";
|
|
17
20
|
/**
|
|
18
21
|
* Sanitizes the BetterAuth options
|
|
19
22
|
*/ export function sanitizeBetterAuthOptions({ config, pluginOptions, resolvedSchemas }) {
|
|
@@ -23,11 +26,6 @@ import { configureDeviceAuthorizationPlugin } from "./device-authorization-plugi
|
|
|
23
26
|
const userCollectionSlug = getSchemaCollectionSlug(resolvedSchemas, baModelKey.user);
|
|
24
27
|
const adminInvitationCollectionSlug = pluginOptions.adminInvitations?.slug ?? baseSlugs.adminInvitations;
|
|
25
28
|
set(betterAuthOptions, `${baModelKey.user}.modelName`, userCollectionSlug);
|
|
26
|
-
set(betterAuthOptions, `${baModelKey.user}.additionalFields.role`, {
|
|
27
|
-
type: 'string',
|
|
28
|
-
defaultValue: pluginOptions.users?.defaultRole || defaults.userRole,
|
|
29
|
-
input: false
|
|
30
|
-
});
|
|
31
29
|
const baseModels = [
|
|
32
30
|
baModelKey.account,
|
|
33
31
|
baModelKey.session,
|
|
@@ -102,7 +100,7 @@ import { configureDeviceAuthorizationPlugin } from "./device-authorization-plugi
|
|
|
102
100
|
}
|
|
103
101
|
// Configure plugins by type
|
|
104
102
|
const pluginConfigurators = {
|
|
105
|
-
[supportedBAPluginIds.admin]: (p)=>configureAdminPlugin(p, pluginOptions),
|
|
103
|
+
[supportedBAPluginIds.admin]: (p)=>configureAdminPlugin(p, pluginOptions, resolvedSchemas),
|
|
106
104
|
[supportedBAPluginIds.apiKey]: (p)=>configureApiKeyPlugin(p, resolvedSchemas),
|
|
107
105
|
[supportedBAPluginIds.passkey]: (p)=>configurePasskeyPlugin(p, resolvedSchemas),
|
|
108
106
|
[supportedBAPluginIds.organization]: (p)=>configureOrganizationPlugin(p, resolvedSchemas),
|
|
@@ -125,7 +123,15 @@ import { configureDeviceAuthorizationPlugin } from "./device-authorization-plugi
|
|
|
125
123
|
config,
|
|
126
124
|
resolvedSchemas
|
|
127
125
|
});
|
|
126
|
+
if (checkPluginExists(betterAuthOptions, supportedBAPluginIds.admin)) {
|
|
127
|
+
adminBeforeRoleMiddleware({
|
|
128
|
+
sanitizedOptions: betterAuthOptions
|
|
129
|
+
});
|
|
130
|
+
adminAfterRoleMiddleware({
|
|
131
|
+
sanitizedOptions: betterAuthOptions
|
|
132
|
+
});
|
|
133
|
+
}
|
|
128
134
|
return betterAuthOptions;
|
|
129
135
|
}
|
|
130
136
|
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL3Nhbml0aXplLWJldHRlci1hdXRoLW9wdGlvbnMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmFNb2RlbEZpZWxkS2V5cywgYmFNb2RlbEtleSwgYmFzZVNsdWdzLCBkZWZhdWx0cywgc3VwcG9ydGVkQkFQbHVnaW5JZHMgfSBmcm9tICdAL2JldHRlci1hdXRoL3BsdWdpbi9jb25zdGFudHMnXG5pbXBvcnQgeyBzZXQgfSBmcm9tICcuLi8uLi91dGlscy9zZXQnXG5pbXBvcnQgeyBnZXRTY2hlbWFDb2xsZWN0aW9uU2x1ZywgZ2V0U2NoZW1hRmllbGROYW1lIH0gZnJvbSAnLi4vYnVpbGQtY29sbGVjdGlvbnMvdXRpbHMvY29sbGVjdGlvbi1zY2hlbWEnXG5pbXBvcnQgeyBjb25maWd1cmVBZG1pblBsdWdpbiB9IGZyb20gJy4vYWRtaW4tcGx1Z2luJ1xuaW1wb3J0IHsgY29uZmlndXJlQXBpS2V5UGx1Z2luIH0gZnJvbSAnLi9hcGkta2V5LXBsdWdpbidcbmltcG9ydCB7IGNvbmZpZ3VyZU9pZGNQbHVnaW4gfSBmcm9tICcuL29pZGMtcGx1Z2luJ1xuaW1wb3J0IHsgY29uZmlndXJlT3JnYW5pemF0aW9uUGx1Z2luIH0gZnJvbSAnLi9vcmdhbml6YXRpb25zLXBsdWdpbidcbmltcG9ydCB7IGNvbmZpZ3VyZVBhc3NrZXlQbHVnaW4gfSBmcm9tICcuL3Bhc3NrZXktcGx1Z2luJ1xuaW1wb3J0IHsgY29uZmlndXJlU3NvUGx1Z2luIH0gZnJvbSAnLi9zc28tcGx1Z2luJ1xuaW1wb3J0IHsgZW5zdXJlUGFzc3dvcmRTZXRCZWZvcmVVc2VyQ3JlYXRlIH0gZnJvbSAnLi91dGlscy9lbnN1cmUtcGFzc3dvcmQtc2V0LWJlZm9yZS1jcmVhdGUnXG5pbXBvcnQgeyBoYXNoUGFzc3dvcmQsIHZlcmlmeVBhc3N3b3JkIH0gZnJvbSAnLi91dGlscy9wYXNzd29yZCdcbmltcG9ydCB7IHNhdmVUb0p3dE1pZGRsZXdhcmUgfSBmcm9tICcuL3V0aWxzL3NhdmUtdG8tand0LW1pZGRsZXdhcmUnXG5cbmltcG9ydCB0eXBlIHsgQmV0dGVyQXV0aFBsdWdpbk9wdGlvbnMsIEJldHRlckF1dGhTY2hlbWFzLCBTYW5pdGl6ZWRCZXR0ZXJBdXRoT3B0aW9ucyB9IGZyb20gJ0AvYmV0dGVyLWF1dGgvcGx1Z2luL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBDb25maWcsIFBheWxvYWQgfSBmcm9tICdwYXlsb2FkJ1xuaW1wb3J0IHsgY29uZmlndXJlVHdvRmFjdG9yUGx1Z2luIH0gZnJvbSAnLi90d28tZmFjdG9yLXBsdWdpbidcbmltcG9ydCB7IHJlcXVpcmVBZG1pbkludml0ZUZvclNpZ25VcE1pZGRsZXdhcmUgfSBmcm9tICcuL3V0aWxzL3JlcXVpcmUtYWRtaW4taW52aXRlLWZvci1zaWduLXVwLW1pZGRsZXdhcmUnXG5pbXBvcnQgeyB1c2VBZG1pbkludml0ZUFmdGVyRW1haWxTaWduVXBNaWRkbGV3YXJlIH0gZnJvbSAnLi91dGlscy91c2UtYWRtaW4taW52aXRlLWFmdGVyLWVtYWlsLXNpZ24tdXAtbWlkZGxld2FyZSdcbmltcG9ydCB7IGNvbmZpZ3VyZURldmljZUF1dGhvcml6YXRpb25QbHVnaW4gfSBmcm9tICcuL2RldmljZS1hdXRob3JpemF0aW9uLXBsdWdpbidcblxuLyoqXG4gKiBTYW5pdGl6ZXMgdGhlIEJldHRlckF1dGggb3B0aW9uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gc2FuaXRpemVCZXR0ZXJBdXRoT3B0aW9ucyh7XG4gIGNvbmZpZyxcbiAgcGx1Z2luT3B0aW9ucyxcbiAgcmVzb2x2ZWRTY2hlbWFzXG59OiB7XG4gIGNvbmZpZzogUGF5bG9hZFsnY29uZmlnJ10gfCBDb25maWcgfCBQcm9taXNlPFBheWxvYWRbJ2NvbmZpZyddIHwgQ29uZmlnPlxuICBwbHVnaW5PcHRpb25zOiBCZXR0ZXJBdXRoUGx1Z2luT3B0aW9uc1xuICByZXNvbHZlZFNjaGVtYXM6IEJldHRlckF1dGhTY2hlbWFzXG59KTogU2FuaXRpemVkQmV0dGVyQXV0aE9wdGlvbnMge1xuICBjb25zdCBiZXR0ZXJBdXRoT3B0aW9uczogU2FuaXRpemVkQmV0dGVyQXV0aE9wdGlvbnMgPSB7IC4uLihwbHVnaW5PcHRpb25zLmJldHRlckF1dGhPcHRpb25zID8/IHt9KSB9XG5cbiAgY29uc3QgdXNlckNvbGxlY3Rpb25TbHVnID0gZ2V0U2NoZW1hQ29sbGVjdGlvblNsdWcocmVzb2x2ZWRTY2hlbWFzLCBiYU1vZGVsS2V5LnVzZXIpXG4gIGNvbnN0IGFkbWluSW52aXRhdGlvbkNvbGxlY3Rpb25TbHVnID0gcGx1Z2luT3B0aW9ucy5hZG1pbkludml0YXRpb25zPy5zbHVnID8/IGJhc2VTbHVncy5hZG1pbkludml0YXRpb25zXG5cbiAgc2V0KGJldHRlckF1dGhPcHRpb25zLCBgJHtiYU1vZGVsS2V5LnVzZXJ9Lm1vZGVsTmFtZWAsIHVzZXJDb2xsZWN0aW9uU2x1ZylcbiAgc2V0KGJldHRlckF1dGhPcHRpb25zLCBgJHtiYU1vZGVsS2V5LnVzZXJ9LmFkZGl0aW9uYWxGaWVsZHMucm9sZWAsIHtcbiAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICBkZWZhdWx0VmFsdWU6IHBsdWdpbk9wdGlvbnMudXNlcnM/LmRlZmF1bHRSb2xlIHx8IGRlZmF1bHRzLnVzZXJSb2xlLFxuICAgIGlucHV0OiBmYWxzZVxuICB9KVxuXG4gIGNvbnN0IGJhc2VNb2RlbHMgPSBbYmFNb2RlbEtleS5hY2NvdW50LCBiYU1vZGVsS2V5LnNlc3Npb24sIGJhTW9kZWxLZXkudmVyaWZpY2F0aW9uXSBhcyBjb25zdFxuICBiYXNlTW9kZWxzLmZvckVhY2goKG1vZGVsKSA9PiBzZXQoYmV0dGVyQXV0aE9wdGlvbnMsIGAke21vZGVsfS5tb2RlbE5hbWVgLCBnZXRTY2hlbWFDb2xsZWN0aW9uU2x1ZyhyZXNvbHZlZFNjaGVtYXMsIG1vZGVsKSkpXG5cbiAgc2V0KFxuICAgIGJldHRlckF1dGhPcHRpb25zLFxuICAgIGAke2JhTW9kZWxLZXkuYWNjb3VudH0uZmllbGRzLnVzZXJJZGAsXG4gICAgZ2V0U2NoZW1hRmllbGROYW1lKHJlc29sdmVkU2NoZW1hcywgYmFNb2RlbEtleS5hY2NvdW50LCBiYU1vZGVsRmllbGRLZXlzLmFjY291bnQudXNlcklkKVxuICApXG4gIHNldChcbiAgICBiZXR0ZXJBdXRoT3B0aW9ucyxcbiAgICBgJHtiYU1vZGVsS2V5LnNlc3Npb259LmZpZWxkcy51c2VySWRgLFxuICAgIGdldFNjaGVtYUZpZWxkTmFtZShyZXNvbHZlZFNjaGVtYXMsIGJhTW9kZWxLZXkuc2Vzc2lvbiwgYmFNb2RlbEZpZWxkS2V5cy5zZXNzaW9uLnVzZXJJZClcbiAgKVxuXG4gIHNldChiZXR0ZXJBdXRoT3B0aW9ucywgYGVtYWlsQW5kUGFzc3dvcmQuZW5hYmxlZGAsIGJldHRlckF1dGhPcHRpb25zLmVtYWlsQW5kUGFzc3dvcmQ/LmVuYWJsZWQgPz8gdHJ1ZSlcblxuICAvLyBDb25maWd1cmUgcGFzc3dvcmQgaGFuZGxpbmdcbiAgaWYgKGJldHRlckF1dGhPcHRpb25zLmVtYWlsQW5kUGFzc3dvcmQ/LmVuYWJsZWQgJiYgIXBsdWdpbk9wdGlvbnMuZGlzYWJsZURlZmF1bHRQYXlsb2FkQXV0aCkge1xuICAgIGJldHRlckF1dGhPcHRpb25zLmVtYWlsQW5kUGFzc3dvcmQucGFzc3dvcmQgPSB7XG4gICAgICAuLi4oYmV0dGVyQXV0aE9wdGlvbnMuZW1haWxBbmRQYXNzd29yZC5wYXNzd29yZCB8fCB7fSksXG4gICAgICB2ZXJpZnk6ICh7IGhhc2gsIHBhc3N3b3JkIH0pID0+IHZlcmlmeVBhc3N3b3JkKHsgaGFzaCwgcGFzc3dvcmQgfSksXG4gICAgICBoYXNoOiAocGFzc3dvcmQpID0+IGhhc2hQYXNzd29yZChwYXNzd29yZClcbiAgICB9XG4gIH1cblxuICAvLyBIYW5kbGUgYWRtaW4gaW52aXRlIGZvciBzaWduIHVwXG4gIGlmIChwbHVnaW5PcHRpb25zLnJlcXVpcmVBZG1pbkludml0ZUZvclNpZ25VcCkge1xuICAgIGJldHRlckF1dGhPcHRpb25zLnNvY2lhbFByb3ZpZGVycyA9IGJldHRlckF1dGhPcHRpb25zLnNvY2lhbFByb3ZpZGVycyB8fCB7fVxuICAgIGJldHRlckF1dGhPcHRpb25zLnNvY2lhbFByb3ZpZGVycyA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIE9iamVjdC5lbnRyaWVzKGJldHRlckF1dGhPcHRpb25zLnNvY2lhbFByb3ZpZGVycykubWFwKChbcHJvdmlkZXIsIGNvbmZpZ10pID0+IFtwcm92aWRlciwgeyAuLi5jb25maWcsIGRpc2FibGVJbXBsaWNpdFNpZ25VcDogdHJ1ZSB9XSlcbiAgICApXG4gICAgcmVxdWlyZUFkbWluSW52aXRlRm9yU2lnblVwTWlkZGxld2FyZSh7XG4gICAgICBvcHRpb25zOiBiZXR0ZXJBdXRoT3B0aW9ucyxcbiAgICAgIHBsdWdpbk9wdGlvbnNcbiAgICB9KVxuICB9XG4gIHVzZUFkbWluSW52aXRlQWZ0ZXJFbWFpbFNpZ25VcE1pZGRsZXdhcmUoe1xuICAgIG9wdGlvbnM6IGJldHRlckF1dGhPcHRpb25zLFxuICAgIGFkbWluSW52aXRhdGlvbkNvbGxlY3Rpb25TbHVnLFxuICAgIHVzZXJDb2xsZWN0aW9uU2x1Z1xuICB9KVxuXG4gIC8vIEhhbmRsZSB2ZXJpZmljYXRpb24gZW1haWwgYmxvY2tpbmdcbiAgaWYgKHBsdWdpbk9wdGlvbnMudXNlcnM/LmJsb2NrRmlyc3RCZXR0ZXJBdXRoVmVyaWZpY2F0aW9uRW1haWwgJiYgIXBsdWdpbk9wdGlvbnMuZGlzYWJsZURlZmF1bHRQYXlsb2FkQXV0aCkge1xuICAgIGNvbnN0IG9yaWdpbmFsU2VuZEVtYWlsID0gYmV0dGVyQXV0aE9wdGlvbnM/LmVtYWlsVmVyaWZpY2F0aW9uPy5zZW5kVmVyaWZpY2F0aW9uRW1haWxcbiAgICBpZiAodHlwZW9mIG9yaWdpbmFsU2VuZEVtYWlsID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBiZXR0ZXJBdXRoT3B0aW9ucy5lbWFpbFZlcmlmaWNhdGlvbiA9IGJldHRlckF1dGhPcHRpb25zLmVtYWlsVmVyaWZpY2F0aW9uIHx8IHt9XG4gICAgICBiZXR0ZXJBdXRoT3B0aW9ucy5lbWFpbFZlcmlmaWNhdGlvbi5zZW5kVmVyaWZpY2F0aW9uRW1haWwgPSBhc3luYyAoZGF0YSwgcmVxdWVzdCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHRpbWVTaW5jZUNyZWF0aW9uID0gbmV3IERhdGUoKS5nZXRUaW1lKCkgLSBuZXcgRGF0ZShkYXRhLnVzZXIuY3JlYXRlZEF0KS5nZXRUaW1lKClcbiAgICAgICAgICAvLyBTa2lwIGlmIHVzZXIgd2FzIGNyZWF0ZWQgbGVzcyB0aGFuIGEgbWludXRlIGFnbyAocmVseSBvbiBQYXlsb2FkJ3MgZW1haWwpXG4gICAgICAgICAgaWYgKHRpbWVTaW5jZUNyZWF0aW9uID49IDYwMDAwKSB7XG4gICAgICAgICAgICBhd2FpdCBvcmlnaW5hbFNlbmRFbWFpbChkYXRhLCByZXF1ZXN0KVxuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBzZW5kaW5nIHZlcmlmaWNhdGlvbiBlbWFpbDonLCBlcnJvcilcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEVuc3VyZSBwYXNzd29yZCBpcyBzZXQgYmVmb3JlIHVzZXIgY3JlYXRpb25cbiAgaWYgKCFwbHVnaW5PcHRpb25zLmRpc2FibGVEZWZhdWx0UGF5bG9hZEF1dGgpIHtcbiAgICBlbnN1cmVQYXNzd29yZFNldEJlZm9yZVVzZXJDcmVhdGUoYmV0dGVyQXV0aE9wdGlvbnMpXG4gIH1cblxuICAvLyBQcm9jZXNzIHBsdWdpbnNcbiAgaWYgKGJldHRlckF1dGhPcHRpb25zLnBsdWdpbnM/Lmxlbmd0aCkge1xuICAgIHRyeSB7XG4gICAgICAvLyBGaWx0ZXIgdG8gb25seSBzdXBwb3J0ZWQgcGx1Z2luc1xuICAgICAgY29uc3Qgc3VwcG9ydGVkUGx1Z2lucyA9IGJldHRlckF1dGhPcHRpb25zLnBsdWdpbnMuZmlsdGVyKChwbHVnaW4pID0+IE9iamVjdC52YWx1ZXMoc3VwcG9ydGVkQkFQbHVnaW5JZHMpLmluY2x1ZGVzKHBsdWdpbi5pZCBhcyBhbnkpKVxuXG4gICAgICAvLyBMb2cgd2FybmluZyBmb3IgdW5zdXBwb3J0ZWQgcGx1Z2luc1xuICAgICAgaWYgKHN1cHBvcnRlZFBsdWdpbnMubGVuZ3RoICE9PSBiZXR0ZXJBdXRoT3B0aW9ucy5wbHVnaW5zLmxlbmd0aCkge1xuICAgICAgICBjb25zdCB1bnN1cHBvcnRlZElkcyA9IGJldHRlckF1dGhPcHRpb25zLnBsdWdpbnNcbiAgICAgICAgICAuZmlsdGVyKChwKSA9PiAhT2JqZWN0LnZhbHVlcyhzdXBwb3J0ZWRCQVBsdWdpbklkcykuaW5jbHVkZXMocC5pZCBhcyBhbnkpKVxuICAgICAgICAgIC5tYXAoKHApID0+IHAuaWQpXG4gICAgICAgICAgLmpvaW4oJywgJylcblxuICAgICAgICBjb25zb2xlLndhcm4oYFVuc3VwcG9ydGVkIEJldHRlckF1dGggcGx1Z2luczogJHt1bnN1cHBvcnRlZElkc30uIFN1cHBvcnRlZDogJHtPYmplY3QudmFsdWVzKHN1cHBvcnRlZEJBUGx1Z2luSWRzKS5qb2luKCcsICcpfWApXG4gICAgICB9XG5cbiAgICAgIC8vIENvbmZpZ3VyZSBwbHVnaW5zIGJ5IHR5cGVcbiAgICAgIGNvbnN0IHBsdWdpbkNvbmZpZ3VyYXRvcnMgPSB7XG4gICAgICAgIFtzdXBwb3J0ZWRCQVBsdWdpbklkcy5hZG1pbl06IChwOiBhbnkpID0+IGNvbmZpZ3VyZUFkbWluUGx1Z2luKHAsIHBsdWdpbk9wdGlvbnMpLFxuICAgICAgICBbc3VwcG9ydGVkQkFQbHVnaW5JZHMuYXBpS2V5XTogKHA6IGFueSkgPT4gY29uZmlndXJlQXBpS2V5UGx1Z2luKHAsIHJlc29sdmVkU2NoZW1hcyksXG4gICAgICAgIFtzdXBwb3J0ZWRCQVBsdWdpbklkcy5wYXNza2V5XTogKHA6IGFueSkgPT4gY29uZmlndXJlUGFzc2tleVBsdWdpbihwLCByZXNvbHZlZFNjaGVtYXMpLFxuICAgICAgICBbc3VwcG9ydGVkQkFQbHVnaW5JZHMub3JnYW5pemF0aW9uXTogKHA6IGFueSkgPT4gY29uZmlndXJlT3JnYW5pemF0aW9uUGx1Z2luKHAsIHJlc29sdmVkU2NoZW1hcyksXG4gICAgICAgIFtzdXBwb3J0ZWRCQVBsdWdpbklkcy5zc29dOiAocDogYW55KSA9PiBjb25maWd1cmVTc29QbHVnaW4ocCwgcmVzb2x2ZWRTY2hlbWFzKSxcbiAgICAgICAgW3N1cHBvcnRlZEJBUGx1Z2luSWRzLm9pZGNdOiAocDogYW55KSA9PiBjb25maWd1cmVPaWRjUGx1Z2luKHAsIHJlc29sdmVkU2NoZW1hcyksXG4gICAgICAgIFtzdXBwb3J0ZWRCQVBsdWdpbklkcy50d29GYWN0b3JdOiAocDogYW55KSA9PiBjb25maWd1cmVUd29GYWN0b3JQbHVnaW4ocCwgcmVzb2x2ZWRTY2hlbWFzKSxcbiAgICAgICAgW3N1cHBvcnRlZEJBUGx1Z2luSWRzLmRldmljZUF1dGhvcml6YXRpb25dOiAocDogYW55KSA9PiBjb25maWd1cmVEZXZpY2VBdXRob3JpemF0aW9uUGx1Z2luKHAsIHJlc29sdmVkU2NoZW1hcylcbiAgICAgIH1cblxuICAgICAgc3VwcG9ydGVkUGx1Z2lucy5mb3JFYWNoKChwbHVnaW4pID0+IHtcbiAgICAgICAgY29uc3QgY29uZmlndXJhdG9yID0gcGx1Z2luQ29uZmlndXJhdG9yc1twbHVnaW4uaWQgYXMga2V5b2YgdHlwZW9mIHBsdWdpbkNvbmZpZ3VyYXRvcnNdXG4gICAgICAgIGlmIChjb25maWd1cmF0b3IpIGNvbmZpZ3VyYXRvcihwbHVnaW4gYXMgYW55KVxuICAgICAgfSlcblxuICAgICAgYmV0dGVyQXV0aE9wdGlvbnMucGx1Z2lucyA9IHN1cHBvcnRlZFBsdWdpbnNcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFcnJvciBzYW5pdGl6aW5nIEJldHRlckF1dGggcGx1Z2luczogJHtlcnJvcn1gKVxuICAgIH1cbiAgfVxuXG4gIHNhdmVUb0p3dE1pZGRsZXdhcmUoe1xuICAgIHNhbml0aXplZE9wdGlvbnM6IGJldHRlckF1dGhPcHRpb25zLFxuICAgIGNvbmZpZyxcbiAgICByZXNvbHZlZFNjaGVtYXNcbiAgfSlcblxuICByZXR1cm4gYmV0dGVyQXV0aE9wdGlvbnNcbn1cbiJdLCJuYW1lcyI6WyJiYU1vZGVsRmllbGRLZXlzIiwiYmFNb2RlbEtleSIsImJhc2VTbHVncyIsImRlZmF1bHRzIiwic3VwcG9ydGVkQkFQbHVnaW5JZHMiLCJzZXQiLCJnZXRTY2hlbWFDb2xsZWN0aW9uU2x1ZyIsImdldFNjaGVtYUZpZWxkTmFtZSIsImNvbmZpZ3VyZUFkbWluUGx1Z2luIiwiY29uZmlndXJlQXBpS2V5UGx1Z2luIiwiY29uZmlndXJlT2lkY1BsdWdpbiIsImNvbmZpZ3VyZU9yZ2FuaXphdGlvblBsdWdpbiIsImNvbmZpZ3VyZVBhc3NrZXlQbHVnaW4iLCJjb25maWd1cmVTc29QbHVnaW4iLCJlbnN1cmVQYXNzd29yZFNldEJlZm9yZVVzZXJDcmVhdGUiLCJoYXNoUGFzc3dvcmQiLCJ2ZXJpZnlQYXNzd29yZCIsInNhdmVUb0p3dE1pZGRsZXdhcmUiLCJjb25maWd1cmVUd29GYWN0b3JQbHVnaW4iLCJyZXF1aXJlQWRtaW5JbnZpdGVGb3JTaWduVXBNaWRkbGV3YXJlIiwidXNlQWRtaW5JbnZpdGVBZnRlckVtYWlsU2lnblVwTWlkZGxld2FyZSIsImNvbmZpZ3VyZURldmljZUF1dGhvcml6YXRpb25QbHVnaW4iLCJzYW5pdGl6ZUJldHRlckF1dGhPcHRpb25zIiwiY29uZmlnIiwicGx1Z2luT3B0aW9ucyIsInJlc29sdmVkU2NoZW1hcyIsImJldHRlckF1dGhPcHRpb25zIiwidXNlckNvbGxlY3Rpb25TbHVnIiwidXNlciIsImFkbWluSW52aXRhdGlvbkNvbGxlY3Rpb25TbHVnIiwiYWRtaW5JbnZpdGF0aW9ucyIsInNsdWciLCJ0eXBlIiwiZGVmYXVsdFZhbHVlIiwidXNlcnMiLCJkZWZhdWx0Um9sZSIsInVzZXJSb2xlIiwiaW5wdXQiLCJiYXNlTW9kZWxzIiwiYWNjb3VudCIsInNlc3Npb24iLCJ2ZXJpZmljYXRpb24iLCJmb3JFYWNoIiwibW9kZWwiLCJ1c2VySWQiLCJlbWFpbEFuZFBhc3N3b3JkIiwiZW5hYmxlZCIsImRpc2FibGVEZWZhdWx0UGF5bG9hZEF1dGgiLCJwYXNzd29yZCIsInZlcmlmeSIsImhhc2giLCJyZXF1aXJlQWRtaW5JbnZpdGVGb3JTaWduVXAiLCJzb2NpYWxQcm92aWRlcnMiLCJPYmplY3QiLCJmcm9tRW50cmllcyIsImVudHJpZXMiLCJtYXAiLCJwcm92aWRlciIsImRpc2FibGVJbXBsaWNpdFNpZ25VcCIsIm9wdGlvbnMiLCJibG9ja0ZpcnN0QmV0dGVyQXV0aFZlcmlmaWNhdGlvbkVtYWlsIiwib3JpZ2luYWxTZW5kRW1haWwiLCJlbWFpbFZlcmlmaWNhdGlvbiIsInNlbmRWZXJpZmljYXRpb25FbWFpbCIsImRhdGEiLCJyZXF1ZXN0IiwidGltZVNpbmNlQ3JlYXRpb24iLCJEYXRlIiwiZ2V0VGltZSIsImNyZWF0ZWRBdCIsImVycm9yIiwiY29uc29sZSIsInBsdWdpbnMiLCJsZW5ndGgiLCJzdXBwb3J0ZWRQbHVnaW5zIiwiZmlsdGVyIiwicGx1Z2luIiwidmFsdWVzIiwiaW5jbHVkZXMiLCJpZCIsInVuc3VwcG9ydGVkSWRzIiwicCIsImpvaW4iLCJ3YXJuIiwicGx1Z2luQ29uZmlndXJhdG9ycyIsImFkbWluIiwiYXBpS2V5IiwicGFzc2tleSIsIm9yZ2FuaXphdGlvbiIsInNzbyIsIm9pZGMiLCJ0d29GYWN0b3IiLCJkZXZpY2VBdXRob3JpemF0aW9uIiwiY29uZmlndXJhdG9yIiwiRXJyb3IiLCJzYW5pdGl6ZWRPcHRpb25zIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxnQkFBZ0IsRUFBRUMsVUFBVSxFQUFFQyxTQUFTLEVBQUVDLFFBQVEsRUFBRUMsb0JBQW9CLFFBQVEsa0JBQWdDO0FBQ3hILFNBQVNDLEdBQUcsUUFBUSxrQkFBaUI7QUFDckMsU0FBU0MsdUJBQXVCLEVB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
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL3Nhbml0aXplLWJldHRlci1hdXRoLW9wdGlvbnMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmFNb2RlbEZpZWxkS2V5cywgYmFNb2RlbEtleSwgYmFzZVNsdWdzLCBkZWZhdWx0cywgc3VwcG9ydGVkQkFQbHVnaW5JZHMgfSBmcm9tICdAL2JldHRlci1hdXRoL3BsdWdpbi9jb25zdGFudHMnXG5pbXBvcnQgeyBzZXQgfSBmcm9tICcuLi8uLi91dGlscy9zZXQnXG5pbXBvcnQgeyBnZXRTY2hlbWFDb2xsZWN0aW9uU2x1ZywgZ2V0U2NoZW1hRmllbGROYW1lIH0gZnJvbSAnLi4vYnVpbGQtY29sbGVjdGlvbnMvdXRpbHMvY29sbGVjdGlvbi1zY2hlbWEnXG5pbXBvcnQgeyBjb25maWd1cmVBZG1pblBsdWdpbiB9IGZyb20gJy4vYWRtaW4tcGx1Z2luJ1xuaW1wb3J0IHsgY29uZmlndXJlQXBpS2V5UGx1Z2luIH0gZnJvbSAnLi9hcGkta2V5LXBsdWdpbidcbmltcG9ydCB7IGNvbmZpZ3VyZU9pZGNQbHVnaW4gfSBmcm9tICcuL29pZGMtcGx1Z2luJ1xuaW1wb3J0IHsgY29uZmlndXJlT3JnYW5pemF0aW9uUGx1Z2luIH0gZnJvbSAnLi9vcmdhbml6YXRpb25zLXBsdWdpbidcbmltcG9ydCB7IGNvbmZpZ3VyZVBhc3NrZXlQbHVnaW4gfSBmcm9tICcuL3Bhc3NrZXktcGx1Z2luJ1xuaW1wb3J0IHsgY29uZmlndXJlU3NvUGx1Z2luIH0gZnJvbSAnLi9zc28tcGx1Z2luJ1xuaW1wb3J0IHsgZW5zdXJlUGFzc3dvcmRTZXRCZWZvcmVVc2VyQ3JlYXRlIH0gZnJvbSAnLi91dGlscy9lbnN1cmUtcGFzc3dvcmQtc2V0LWJlZm9yZS1jcmVhdGUnXG5pbXBvcnQgeyBoYXNoUGFzc3dvcmQsIHZlcmlmeVBhc3N3b3JkIH0gZnJvbSAnLi91dGlscy9wYXNzd29yZCdcbmltcG9ydCB7IHNhdmVUb0p3dE1pZGRsZXdhcmUgfSBmcm9tICcuL3V0aWxzL3NhdmUtdG8tand0LW1pZGRsZXdhcmUnXG5cbmltcG9ydCB0eXBlIHsgQmV0dGVyQXV0aFBsdWdpbk9wdGlvbnMsIEJldHRlckF1dGhTY2hlbWFzLCBTYW5pdGl6ZWRCZXR0ZXJBdXRoT3B0aW9ucyB9IGZyb20gJ0AvYmV0dGVyLWF1dGgvcGx1Z2luL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBDb25maWcsIFBheWxvYWQgfSBmcm9tICdwYXlsb2FkJ1xuaW1wb3J0IHsgY29uZmlndXJlVHdvRmFjdG9yUGx1Z2luIH0gZnJvbSAnLi90d28tZmFjdG9yLXBsdWdpbidcbmltcG9ydCB7IHJlcXVpcmVBZG1pbkludml0ZUZvclNpZ25VcE1pZGRsZXdhcmUgfSBmcm9tICcuL3V0aWxzL3JlcXVpcmUtYWRtaW4taW52aXRlLWZvci1zaWduLXVwLW1pZGRsZXdhcmUnXG5pbXBvcnQgeyB1c2VBZG1pbkludml0ZUFmdGVyRW1haWxTaWduVXBNaWRkbGV3YXJlIH0gZnJvbSAnLi91dGlscy91c2UtYWRtaW4taW52aXRlLWFmdGVyLWVtYWlsLXNpZ24tdXAtbWlkZGxld2FyZSdcbmltcG9ydCB7IGNvbmZpZ3VyZURldmljZUF1dGhvcml6YXRpb25QbHVnaW4gfSBmcm9tICcuL2RldmljZS1hdXRob3JpemF0aW9uLXBsdWdpbidcbmltcG9ydCB7IGFkbWluQmVmb3JlUm9sZU1pZGRsZXdhcmUgfSBmcm9tICcuL3V0aWxzL2FkbWluLWJlZm9yZS1yb2xlLW1pZGRsZXdhcmUnXG5pbXBvcnQgeyBhZG1pbkFmdGVyUm9sZU1pZGRsZXdhcmUgfSBmcm9tICcuL3V0aWxzL2FkbWluLWFmdGVyLXJvbGUtbWlkZGxld2FyZSdcbmltcG9ydCB7IGNoZWNrUGx1Z2luRXhpc3RzIH0gZnJvbSAnLi4vLi4vaGVscGVycy9jaGVjay1wbHVnaW4tZXhpc3RzJ1xuXG4vKipcbiAqIFNhbml0aXplcyB0aGUgQmV0dGVyQXV0aCBvcHRpb25zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzYW5pdGl6ZUJldHRlckF1dGhPcHRpb25zKHtcbiAgY29uZmlnLFxuICBwbHVnaW5PcHRpb25zLFxuICByZXNvbHZlZFNjaGVtYXNcbn06IHtcbiAgY29uZmlnOiBQYXlsb2FkWydjb25maWcnXSB8IENvbmZpZyB8IFByb21pc2U8UGF5bG9hZFsnY29uZmlnJ10gfCBDb25maWc+XG4gIHBsdWdpbk9wdGlvbnM6IEJldHRlckF1dGhQbHVnaW5PcHRpb25zXG4gIHJlc29sdmVkU2NoZW1hczogQmV0dGVyQXV0aFNjaGVtYXNcbn0pOiBTYW5pdGl6ZWRCZXR0ZXJBdXRoT3B0aW9ucyB7XG4gIGNvbnN0IGJldHRlckF1dGhPcHRpb25zOiBTYW5pdGl6ZWRCZXR0ZXJBdXRoT3B0aW9ucyA9IHsgLi4uKHBsdWdpbk9wdGlvbnMuYmV0dGVyQXV0aE9wdGlvbnMgPz8ge30pIH1cblxuICBjb25zdCB1c2VyQ29sbGVjdGlvblNsdWcgPSBnZXRTY2hlbWFDb2xsZWN0aW9uU2x1ZyhyZXNvbHZlZFNjaGVtYXMsIGJhTW9kZWxLZXkudXNlcilcbiAgY29uc3QgYWRtaW5JbnZpdGF0aW9uQ29sbGVjdGlvblNsdWcgPSBwbHVnaW5PcHRpb25zLmFkbWluSW52aXRhdGlvbnM/LnNsdWcgPz8gYmFzZVNsdWdzLmFkbWluSW52aXRhdGlvbnNcblxuICBzZXQoYmV0dGVyQXV0aE9wdGlvbnMsIGAke2JhTW9kZWxLZXkudXNlcn0ubW9kZWxOYW1lYCwgdXNlckNvbGxlY3Rpb25TbHVnKVxuXG4gIGNvbnN0IGJhc2VNb2RlbHMgPSBbYmFNb2RlbEtleS5hY2NvdW50LCBiYU1vZGVsS2V5LnNlc3Npb24sIGJhTW9kZWxLZXkudmVyaWZpY2F0aW9uXSBhcyBjb25zdFxuICBiYXNlTW9kZWxzLmZvckVhY2goKG1vZGVsKSA9PiBzZXQoYmV0dGVyQXV0aE9wdGlvbnMsIGAke21vZGVsfS5tb2RlbE5hbWVgLCBnZXRTY2hlbWFDb2xsZWN0aW9uU2x1ZyhyZXNvbHZlZFNjaGVtYXMsIG1vZGVsKSkpXG5cbiAgc2V0KFxuICAgIGJldHRlckF1dGhPcHRpb25zLFxuICAgIGAke2JhTW9kZWxLZXkuYWNjb3VudH0uZmllbGRzLnVzZXJJZGAsXG4gICAgZ2V0U2NoZW1hRmllbGROYW1lKHJlc29sdmVkU2NoZW1hcywgYmFNb2RlbEtleS5hY2NvdW50LCBiYU1vZGVsRmllbGRLZXlzLmFjY291bnQudXNlcklkKVxuICApXG4gIHNldChcbiAgICBiZXR0ZXJBdXRoT3B0aW9ucyxcbiAgICBgJHtiYU1vZGVsS2V5LnNlc3Npb259LmZpZWxkcy51c2VySWRgLFxuICAgIGdldFNjaGVtYUZpZWxkTmFtZShyZXNvbHZlZFNjaGVtYXMsIGJhTW9kZWxLZXkuc2Vzc2lvbiwgYmFNb2RlbEZpZWxkS2V5cy5zZXNzaW9uLnVzZXJJZClcbiAgKVxuXG4gIHNldChiZXR0ZXJBdXRoT3B0aW9ucywgYGVtYWlsQW5kUGFzc3dvcmQuZW5hYmxlZGAsIGJldHRlckF1dGhPcHRpb25zLmVtYWlsQW5kUGFzc3dvcmQ/LmVuYWJsZWQgPz8gdHJ1ZSlcblxuICAvLyBDb25maWd1cmUgcGFzc3dvcmQgaGFuZGxpbmdcbiAgaWYgKGJldHRlckF1dGhPcHRpb25zLmVtYWlsQW5kUGFzc3dvcmQ/LmVuYWJsZWQgJiYgIXBsdWdpbk9wdGlvbnMuZGlzYWJsZURlZmF1bHRQYXlsb2FkQXV0aCkge1xuICAgIGJldHRlckF1dGhPcHRpb25zLmVtYWlsQW5kUGFzc3dvcmQucGFzc3dvcmQgPSB7XG4gICAgICAuLi4oYmV0dGVyQXV0aE9wdGlvbnMuZW1haWxBbmRQYXNzd29yZC5wYXNzd29yZCB8fCB7fSksXG4gICAgICB2ZXJpZnk6ICh7IGhhc2gsIHBhc3N3b3JkIH0pID0+IHZlcmlmeVBhc3N3b3JkKHsgaGFzaCwgcGFzc3dvcmQgfSksXG4gICAgICBoYXNoOiAocGFzc3dvcmQpID0+IGhhc2hQYXNzd29yZChwYXNzd29yZClcbiAgICB9XG4gIH1cblxuICAvLyBIYW5kbGUgYWRtaW4gaW52aXRlIGZvciBzaWduIHVwXG4gIGlmIChwbHVnaW5PcHRpb25zLnJlcXVpcmVBZG1pbkludml0ZUZvclNpZ25VcCkge1xuICAgIGJldHRlckF1dGhPcHRpb25zLnNvY2lhbFByb3ZpZGVycyA9IGJldHRlckF1dGhPcHRpb25zLnNvY2lhbFByb3ZpZGVycyB8fCB7fVxuICAgIGJldHRlckF1dGhPcHRpb25zLnNvY2lhbFByb3ZpZGVycyA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIE9iamVjdC5lbnRyaWVzKGJldHRlckF1dGhPcHRpb25zLnNvY2lhbFByb3ZpZGVycykubWFwKChbcHJvdmlkZXIsIGNvbmZpZ10pID0+IFtwcm92aWRlciwgeyAuLi5jb25maWcsIGRpc2FibGVJbXBsaWNpdFNpZ25VcDogdHJ1ZSB9XSlcbiAgICApXG4gICAgcmVxdWlyZUFkbWluSW52aXRlRm9yU2lnblVwTWlkZGxld2FyZSh7XG4gICAgICBvcHRpb25zOiBiZXR0ZXJBdXRoT3B0aW9ucyxcbiAgICAgIHBsdWdpbk9wdGlvbnNcbiAgICB9KVxuICB9XG5cbiAgdXNlQWRtaW5JbnZpdGVBZnRlckVtYWlsU2lnblVwTWlkZGxld2FyZSh7XG4gICAgb3B0aW9uczogYmV0dGVyQXV0aE9wdGlvbnMsXG4gICAgYWRtaW5JbnZpdGF0aW9uQ29sbGVjdGlvblNsdWcsXG4gICAgdXNlckNvbGxlY3Rpb25TbHVnXG4gIH0pXG5cbiAgLy8gSGFuZGxlIHZlcmlmaWNhdGlvbiBlbWFpbCBibG9ja2luZ1xuICBpZiAocGx1Z2luT3B0aW9ucy51c2Vycz8uYmxvY2tGaXJzdEJldHRlckF1dGhWZXJpZmljYXRpb25FbWFpbCAmJiAhcGx1Z2luT3B0aW9ucy5kaXNhYmxlRGVmYXVsdFBheWxvYWRBdXRoKSB7XG4gICAgY29uc3Qgb3JpZ2luYWxTZW5kRW1haWwgPSBiZXR0ZXJBdXRoT3B0aW9ucz8uZW1haWxWZXJpZmljYXRpb24/LnNlbmRWZXJpZmljYXRpb25FbWFpbFxuICAgIGlmICh0eXBlb2Ygb3JpZ2luYWxTZW5kRW1haWwgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGJldHRlckF1dGhPcHRpb25zLmVtYWlsVmVyaWZpY2F0aW9uID0gYmV0dGVyQXV0aE9wdGlvbnMuZW1haWxWZXJpZmljYXRpb24gfHwge31cbiAgICAgIGJldHRlckF1dGhPcHRpb25zLmVtYWlsVmVyaWZpY2F0aW9uLnNlbmRWZXJpZmljYXRpb25FbWFpbCA9IGFzeW5jIChkYXRhLCByZXF1ZXN0KSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgdGltZVNpbmNlQ3JlYXRpb24gPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIG5ldyBEYXRlKGRhdGEudXNlci5jcmVhdGVkQXQpLmdldFRpbWUoKVxuICAgICAgICAgIC8vIFNraXAgaWYgdXNlciB3YXMgY3JlYXRlZCBsZXNzIHRoYW4gYSBtaW51dGUgYWdvIChyZWx5IG9uIFBheWxvYWQncyBlbWFpbClcbiAgICAgICAgICBpZiAodGltZVNpbmNlQ3JlYXRpb24gPj0gNjAwMDApIHtcbiAgICAgICAgICAgIGF3YWl0IG9yaWdpbmFsU2VuZEVtYWlsKGRhdGEsIHJlcXVlc3QpXG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHNlbmRpbmcgdmVyaWZpY2F0aW9uIGVtYWlsOicsIGVycm9yKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRW5zdXJlIHBhc3N3b3JkIGlzIHNldCBiZWZvcmUgdXNlciBjcmVhdGlvblxuICBpZiAoIXBsdWdpbk9wdGlvbnMuZGlzYWJsZURlZmF1bHRQYXlsb2FkQXV0aCkge1xuICAgIGVuc3VyZVBhc3N3b3JkU2V0QmVmb3JlVXNlckNyZWF0ZShiZXR0ZXJBdXRoT3B0aW9ucylcbiAgfVxuXG4gIC8vIFByb2Nlc3MgcGx1Z2luc1xuICBpZiAoYmV0dGVyQXV0aE9wdGlvbnMucGx1Z2lucz8ubGVuZ3RoKSB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIEZpbHRlciB0byBvbmx5IHN1cHBvcnRlZCBwbHVnaW5zXG4gICAgICBjb25zdCBzdXBwb3J0ZWRQbHVnaW5zID0gYmV0dGVyQXV0aE9wdGlvbnMucGx1Z2lucy5maWx0ZXIoKHBsdWdpbikgPT4gT2JqZWN0LnZhbHVlcyhzdXBwb3J0ZWRCQVBsdWdpbklkcykuaW5jbHVkZXMocGx1Z2luLmlkIGFzIGFueSkpXG5cbiAgICAgIC8vIExvZyB3YXJuaW5nIGZvciB1bnN1cHBvcnRlZCBwbHVnaW5zXG4gICAgICBpZiAoc3VwcG9ydGVkUGx1Z2lucy5sZW5ndGggIT09IGJldHRlckF1dGhPcHRpb25zLnBsdWdpbnMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IHVuc3VwcG9ydGVkSWRzID0gYmV0dGVyQXV0aE9wdGlvbnMucGx1Z2luc1xuICAgICAgICAgIC5maWx0ZXIoKHApID0+ICFPYmplY3QudmFsdWVzKHN1cHBvcnRlZEJBUGx1Z2luSWRzKS5pbmNsdWRlcyhwLmlkIGFzIGFueSkpXG4gICAgICAgICAgLm1hcCgocCkgPT4gcC5pZClcbiAgICAgICAgICAuam9pbignLCAnKVxuXG4gICAgICAgIGNvbnNvbGUud2FybihgVW5zdXBwb3J0ZWQgQmV0dGVyQXV0aCBwbHVnaW5zOiAke3Vuc3VwcG9ydGVkSWRzfS4gU3VwcG9ydGVkOiAke09iamVjdC52YWx1ZXMoc3VwcG9ydGVkQkFQbHVnaW5JZHMpLmpvaW4oJywgJyl9YClcbiAgICAgIH1cblxuICAgICAgLy8gQ29uZmlndXJlIHBsdWdpbnMgYnkgdHlwZVxuICAgICAgY29uc3QgcGx1Z2luQ29uZmlndXJhdG9ycyA9IHtcbiAgICAgICAgW3N1cHBvcnRlZEJBUGx1Z2luSWRzLmFkbWluXTogKHA6IGFueSkgPT4gY29uZmlndXJlQWRtaW5QbHVnaW4ocCwgcGx1Z2luT3B0aW9ucywgcmVzb2x2ZWRTY2hlbWFzKSxcbiAgICAgICAgW3N1cHBvcnRlZEJBUGx1Z2luSWRzLmFwaUtleV06IChwOiBhbnkpID0+IGNvbmZpZ3VyZUFwaUtleVBsdWdpbihwLCByZXNvbHZlZFNjaGVtYXMpLFxuICAgICAgICBbc3VwcG9ydGVkQkFQbHVnaW5JZHMucGFzc2tleV06IChwOiBhbnkpID0+IGNvbmZpZ3VyZVBhc3NrZXlQbHVnaW4ocCwgcmVzb2x2ZWRTY2hlbWFzKSxcbiAgICAgICAgW3N1cHBvcnRlZEJBUGx1Z2luSWRzLm9yZ2FuaXphdGlvbl06IChwOiBhbnkpID0+IGNvbmZpZ3VyZU9yZ2FuaXphdGlvblBsdWdpbihwLCByZXNvbHZlZFNjaGVtYXMpLFxuICAgICAgICBbc3VwcG9ydGVkQkFQbHVnaW5JZHMuc3NvXTogKHA6IGFueSkgPT4gY29uZmlndXJlU3NvUGx1Z2luKHAsIHJlc29sdmVkU2NoZW1hcyksXG4gICAgICAgIFtzdXBwb3J0ZWRCQVBsdWdpbklkcy5vaWRjXTogKHA6IGFueSkgPT4gY29uZmlndXJlT2lkY1BsdWdpbihwLCByZXNvbHZlZFNjaGVtYXMpLFxuICAgICAgICBbc3VwcG9ydGVkQkFQbHVnaW5JZHMudHdvRmFjdG9yXTogKHA6IGFueSkgPT4gY29uZmlndXJlVHdvRmFjdG9yUGx1Z2luKHAsIHJlc29sdmVkU2NoZW1hcyksXG4gICAgICAgIFtzdXBwb3J0ZWRCQVBsdWdpbklkcy5kZXZpY2VBdXRob3JpemF0aW9uXTogKHA6IGFueSkgPT4gY29uZmlndXJlRGV2aWNlQXV0aG9yaXphdGlvblBsdWdpbihwLCByZXNvbHZlZFNjaGVtYXMpXG4gICAgICB9XG5cbiAgICAgIHN1cHBvcnRlZFBsdWdpbnMuZm9yRWFjaCgocGx1Z2luKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbmZpZ3VyYXRvciA9IHBsdWdpbkNvbmZpZ3VyYXRvcnNbcGx1Z2luLmlkIGFzIGtleW9mIHR5cGVvZiBwbHVnaW5Db25maWd1cmF0b3JzXVxuICAgICAgICBpZiAoY29uZmlndXJhdG9yKSBjb25maWd1cmF0b3IocGx1Z2luIGFzIGFueSlcbiAgICAgIH0pXG5cbiAgICAgIGJldHRlckF1dGhPcHRpb25zLnBsdWdpbnMgPSBzdXBwb3J0ZWRQbHVnaW5zXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRXJyb3Igc2FuaXRpemluZyBCZXR0ZXJBdXRoIHBsdWdpbnM6ICR7ZXJyb3J9YClcbiAgICB9XG4gIH1cblxuICBzYXZlVG9Kd3RNaWRkbGV3YXJlKHtcbiAgICBzYW5pdGl6ZWRPcHRpb25zOiBiZXR0ZXJBdXRoT3B0aW9ucyxcbiAgICBjb25maWcsXG4gICAgcmVzb2x2ZWRTY2hlbWFzXG4gIH0pXG5cbiAgaWYgKGNoZWNrUGx1Z2luRXhpc3RzKGJldHRlckF1dGhPcHRpb25zLCBzdXBwb3J0ZWRCQVBsdWdpbklkcy5hZG1pbikpIHtcbiAgICBhZG1pbkJlZm9yZVJvbGVNaWRkbGV3YXJlKHtcbiAgICAgIHNhbml0aXplZE9wdGlvbnM6IGJldHRlckF1dGhPcHRpb25zXG4gICAgfSlcblxuICAgIGFkbWluQWZ0ZXJSb2xlTWlkZGxld2FyZSh7XG4gICAgICBzYW5pdGl6ZWRPcHRpb25zOiBiZXR0ZXJBdXRoT3B0aW9uc1xuICAgIH0pXG4gIH1cblxuICByZXR1cm4gYmV0dGVyQXV0aE9wdGlvbnNcbn1cbiJdLCJuYW1lcyI6WyJiYU1vZGVsRmllbGRLZXlzIiwiYmFNb2RlbEtleSIsImJhc2VTbHVncyIsInN1cHBvcnRlZEJBUGx1Z2luSWRzIiwic2V0IiwiZ2V0U2NoZW1hQ29sbGVjdGlvblNsdWciLCJnZXRTY2hlbWFGaWVsZE5hbWUiLCJjb25maWd1cmVBZG1pblBsdWdpbiIsImNvbmZpZ3VyZUFwaUtleVBsdWdpbiIsImNvbmZpZ3VyZU9pZGNQbHVnaW4iLCJjb25maWd1cmVPcmdhbml6YXRpb25QbHVnaW4iLCJjb25maWd1cmVQYXNza2V5UGx1Z2luIiwiY29uZmlndXJlU3NvUGx1Z2luIiwiZW5zdXJlUGFzc3dvcmRTZXRCZWZvcmVVc2VyQ3JlYXRlIiwiaGFzaFBhc3N3b3JkIiwidmVyaWZ5UGFzc3dvcmQiLCJzYXZlVG9Kd3RNaWRkbGV3YXJlIiwiY29uZmlndXJlVHdvRmFjdG9yUGx1Z2luIiwicmVxdWlyZUFkbWluSW52aXRlRm9yU2lnblVwTWlkZGxld2FyZSIsInVzZUFkbWluSW52aXRlQWZ0ZXJFbWFpbFNpZ25VcE1pZGRsZXdhcmUiLCJjb25maWd1cmVEZXZpY2VBdXRob3JpemF0aW9uUGx1Z2luIiwiYWRtaW5CZWZvcmVSb2xlTWlkZGxld2FyZSIsImFkbWluQWZ0ZXJSb2xlTWlkZGxld2FyZSIsImNoZWNrUGx1Z2luRXhpc3RzIiwic2FuaXRpemVCZXR0ZXJBdXRoT3B0aW9ucyIsImNvbmZpZyIsInBsdWdpbk9wdGlvbnMiLCJyZXNvbHZlZFNjaGVtYXMiLCJiZXR0ZXJBdXRoT3B0aW9ucyIsInVzZXJDb2xsZWN0aW9uU2x1ZyIsInVzZXIiLCJhZG1pbkludml0YXRpb25Db2xsZWN0aW9uU2x1ZyIsImFkbWluSW52aXRhdGlvbnMiLCJzbHVnIiwiYmFzZU1vZGVscyIsImFjY291bnQiLCJzZXNzaW9uIiwidmVyaWZpY2F0aW9uIiwiZm9yRWFjaCIsIm1vZGVsIiwidXNlcklkIiwiZW1haWxBbmRQYXNzd29yZCIsImVuYWJsZWQiLCJkaXNhYmxlRGVmYXVsdFBheWxvYWRBdXRoIiwicGFzc3dvcmQiLCJ2ZXJpZnkiLCJoYXNoIiwicmVxdWlyZUFkbWluSW52aXRlRm9yU2lnblVwIiwic29jaWFsUHJvdmlkZXJzIiwiT2JqZWN0IiwiZnJvbUVudHJpZXMiLCJlbnRyaWVzIiwibWFwIiwicHJvdmlkZXIiLCJkaXNhYmxlSW1wbGljaXRTaWduVXAiLCJvcHRpb25zIiwidXNlcnMiLCJibG9ja0ZpcnN0QmV0dGVyQXV0aFZlcmlmaWNhdGlvbkVtYWlsIiwib3JpZ2luYWxTZW5kRW1haWwiLCJlbWFpbFZlcmlmaWNhdGlvbiIsInNlbmRWZXJpZmljYXRpb25FbWFpbCIsImRhdGEiLCJyZXF1ZXN0IiwidGltZVNpbmNlQ3JlYXRpb24iLCJEYXRlIiwiZ2V0VGltZSIsImNyZWF0ZWRBdCIsImVycm9yIiwiY29uc29sZSIsInBsdWdpbnMiLCJsZW5ndGgiLCJzdXBwb3J0ZWRQbHVnaW5zIiwiZmlsdGVyIiwicGx1Z2luIiwidmFsdWVzIiwiaW5jbHVkZXMiLCJpZCIsInVuc3VwcG9ydGVkSWRzIiwicCIsImpvaW4iLCJ3YXJuIiwicGx1Z2luQ29uZmlndXJhdG9ycyIsImFkbWluIiwiYXBpS2V5IiwicGFzc2tleSIsIm9yZ2FuaXphdGlvbiIsInNzbyIsIm9pZGMiLCJ0d29GYWN0b3IiLCJkZXZpY2VBdXRob3JpemF0aW9uIiwiY29uZmlndXJhdG9yIiwiRXJyb3IiLCJzYW5pdGl6ZWRPcHRpb25zIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxnQkFBZ0IsRUFBRUMsVUFBVSxFQUFFQyxTQUFTLEVBQVlDLG9CQUFvQixRQUFRLGtCQUFnQztBQUN4SCxTQUFTQyxHQUFHLFFBQVEsa0JBQWlCO0FBQ3JDLFNBQVNDLHVCQUF1QixFQUFFQyxrQkFBa0IsUUFBUSwrQ0FBOEM7QUFDMUcsU0FBU0Msb0JBQW9CLFFBQVEsaUJBQWdCO0FBQ3JELFNBQVNDLHFCQUFxQixRQUFRLG1CQUFrQjtBQUN4RCxTQUFTQyxtQkFBbUIsUUFBUSxnQkFBZTtBQUNuRCxTQUFTQywyQkFBMkIsUUFBUSx5QkFBd0I7QUFDcEUsU0FBU0Msc0JBQXNCLFFBQVEsbUJBQWtCO0FBQ3pELFNBQVNDLGtCQUFrQixRQUFRLGVBQWM7QUFDakQsU0FBU0MsaUNBQWlDLFFBQVEsNENBQTJDO0FBQzdGLFNBQVNDLFlBQVksRUFBRUMsY0FBYyxRQUFRLG1CQUFrQjtBQUMvRCxTQUFTQyxtQkFBbUIsUUFBUSxpQ0FBZ0M7QUFJcEUsU0FBU0Msd0JBQXdCLFFBQVEsc0JBQXFCO0FBQzlELFNBQVNDLHFDQUFxQyxRQUFRLHNEQUFxRDtBQUMzRyxTQUFTQyx3Q0FBd0MsUUFBUSwwREFBeUQ7QUFDbEgsU0FBU0Msa0NBQWtDLFFBQVEsZ0NBQStCO0FBQ2xGLFNBQVNDLHlCQUF5QixRQUFRLHVDQUFzQztBQUNoRixTQUFTQyx3QkFBd0IsUUFBUSxzQ0FBcUM7QUFDOUUsU0FBU0MsaUJBQWlCLFFBQVEsb0NBQW1DO0FBRXJFOztDQUVDLEdBQ0QsT0FBTyxTQUFTQywwQkFBMEIsRUFDeENDLE1BQU0sRUFDTkMsYUFBYSxFQUNiQyxl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
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { SanitizedBetterAuthOptions } from '@/better-auth/plugin/types';
|
|
2
|
+
/**
|
|
3
|
+
* Sets up a middleware that converts session.user.role from an a single string seperated by commas back to an array only for /admin routes
|
|
4
|
+
*/
|
|
5
|
+
export declare function adminAfterRoleMiddleware({ sanitizedOptions }: {
|
|
6
|
+
sanitizedOptions: SanitizedBetterAuthOptions;
|
|
7
|
+
}): void;
|
|
8
|
+
//# sourceMappingURL=admin-after-role-middleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-after-role-middleware.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-after-role-middleware.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAA;AAE5E;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,gBAAgB,EAAE,EAAE;IAAE,gBAAgB,EAAE,0BAA0B,CAAA;CAAE,QAiB9G"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { createAuthMiddleware, getSessionFromCtx } from "better-auth/api";
|
|
2
|
+
/**
|
|
3
|
+
* Sets up a middleware that converts session.user.role from an a single string seperated by commas back to an array only for /admin routes
|
|
4
|
+
*/ export function adminAfterRoleMiddleware({ sanitizedOptions }) {
|
|
5
|
+
if (typeof sanitizedOptions.hooks !== 'object') sanitizedOptions.hooks = {};
|
|
6
|
+
const originalAfter = sanitizedOptions.hooks.after;
|
|
7
|
+
sanitizedOptions.hooks.after = createAuthMiddleware(async (ctx)=>{
|
|
8
|
+
if (ctx.path.startsWith('/admin')) {
|
|
9
|
+
await getSessionFromCtx(ctx);
|
|
10
|
+
if (ctx.context.session && ctx.context.session.user && typeof ctx.context.session.user.role === 'string') {
|
|
11
|
+
ctx.context.session.user.role = ctx.context.session.user.role.split(',').map((r)=>r.trim()).filter(Boolean);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
if (typeof originalAfter === 'function') {
|
|
15
|
+
originalAfter(ctx);
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL3Nhbml0aXplLWJldHRlci1hdXRoLW9wdGlvbnMvdXRpbHMvYWRtaW4tYWZ0ZXItcm9sZS1taWRkbGV3YXJlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUF1dGhNaWRkbGV3YXJlLCBnZXRTZXNzaW9uRnJvbUN0eCB9IGZyb20gJ2JldHRlci1hdXRoL2FwaSdcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQmV0dGVyQXV0aE9wdGlvbnMgfSBmcm9tICdAL2JldHRlci1hdXRoL3BsdWdpbi90eXBlcydcblxuLyoqXG4gKiBTZXRzIHVwIGEgbWlkZGxld2FyZSB0aGF0IGNvbnZlcnRzIHNlc3Npb24udXNlci5yb2xlIGZyb20gYW4gYSBzaW5nbGUgc3RyaW5nIHNlcGVyYXRlZCBieSBjb21tYXMgYmFjayB0byBhbiBhcnJheSBvbmx5IGZvciAvYWRtaW4gcm91dGVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZG1pbkFmdGVyUm9sZU1pZGRsZXdhcmUoeyBzYW5pdGl6ZWRPcHRpb25zIH06IHsgc2FuaXRpemVkT3B0aW9uczogU2FuaXRpemVkQmV0dGVyQXV0aE9wdGlvbnMgfSkge1xuICBpZiAodHlwZW9mIHNhbml0aXplZE9wdGlvbnMuaG9va3MgIT09ICdvYmplY3QnKSBzYW5pdGl6ZWRPcHRpb25zLmhvb2tzID0ge31cbiAgY29uc3Qgb3JpZ2luYWxBZnRlciA9IHNhbml0aXplZE9wdGlvbnMuaG9va3MuYWZ0ZXJcbiAgc2FuaXRpemVkT3B0aW9ucy5ob29rcy5hZnRlciA9IGNyZWF0ZUF1dGhNaWRkbGV3YXJlKGFzeW5jIChjdHgpID0+IHtcbiAgICBpZiAoY3R4LnBhdGguc3RhcnRzV2l0aCgnL2FkbWluJykpIHtcbiAgICAgIGF3YWl0IGdldFNlc3Npb25Gcm9tQ3R4KGN0eClcbiAgICAgIGlmIChjdHguY29udGV4dC5zZXNzaW9uICYmIGN0eC5jb250ZXh0LnNlc3Npb24udXNlciAmJiB0eXBlb2YgY3R4LmNvbnRleHQuc2Vzc2lvbi51c2VyLnJvbGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGN0eC5jb250ZXh0LnNlc3Npb24hLnVzZXIucm9sZSA9IGN0eC5jb250ZXh0LnNlc3Npb24udXNlci5yb2xlXG4gICAgICAgICAgLnNwbGl0KCcsJylcbiAgICAgICAgICAubWFwKChyOiBzdHJpbmcpID0+IHIudHJpbSgpKVxuICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHR5cGVvZiBvcmlnaW5hbEFmdGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBvcmlnaW5hbEFmdGVyKGN0eClcbiAgICB9XG4gIH0pXG59XG4iXSwibmFtZXMiOlsiY3JlYXRlQXV0aE1pZGRsZXdhcmUiLCJnZXRTZXNzaW9uRnJvbUN0eCIsImFkbWluQWZ0ZXJSb2xlTWlkZGxld2FyZSIsInNhbml0aXplZE9wdGlvbnMiLCJob29rcyIsIm9yaWdpbmFsQWZ0ZXIiLCJhZnRlciIsImN0eCIsInBhdGgiLCJzdGFydHNXaXRoIiwiY29udGV4dCIsInNlc3Npb24iLCJ1c2VyIiwicm9sZSIsInNwbGl0IiwibWFwIiwiciIsInRyaW0iLCJmaWx0ZXIiLCJCb29sZWFuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxvQkFBb0IsRUFBRUMsaUJBQWlCLFFBQVEsa0JBQWlCO0FBR3pFOztDQUVDLEdBQ0QsT0FBTyxTQUFTQyx5QkFBeUIsRUFBRUMsZ0JBQWdCLEVBQW9EO0lBQzdHLElBQUksT0FBT0EsaUJBQWlCQyxLQUFLLEtBQUssVUFBVUQsaUJBQWlCQyxLQUFLLEdBQUcsQ0FBQztJQUMxRSxNQUFNQyxnQkFBZ0JGLGlCQUFpQkMsS0FBSyxDQUFDRSxLQUFLO0lBQ2xESCxpQkFBaUJDLEtBQUssQ0FBQ0UsS0FBSyxHQUFHTixxQkFBcUIsT0FBT087UUFDekQsSUFBSUEsSUFBSUMsSUFBSSxDQUFDQyxVQUFVLENBQUMsV0FBVztZQUNqQyxNQUFNUixrQkFBa0JNO1lBQ3hCLElBQUlBLElBQUlHLE9BQU8sQ0FBQ0MsT0FBTyxJQUFJSixJQUFJRyxPQUFPLENBQUNDLE9BQU8sQ0FBQ0MsSUFBSSxJQUFJLE9BQU9MLElBQUlHLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDQyxJQUFJLENBQUNDLElBQUksS0FBSyxVQUFVO2dCQUN4R04sSUFBSUcsT0FBTyxDQUFDQyxPQUFPLENBQUVDLElBQUksQ0FBQ0MsSUFBSSxHQUFHTixJQUFJRyxPQUFPLENBQUNDLE9BQU8sQ0FBQ0MsSUFBSSxDQUFDQyxJQUFJLENBQzNEQyxLQUFLLENBQUMsS0FDTkMsR0FBRyxDQUFDLENBQUNDLElBQWNBLEVBQUVDLElBQUksSUFDekJDLE1BQU0sQ0FBQ0M7WUFDWjtRQUNGO1FBQ0EsSUFBSSxPQUFPZCxrQkFBa0IsWUFBWTtZQUN2Q0EsY0FBY0U7UUFDaEI7SUFDRjtBQUNGIn0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { SanitizedBetterAuthOptions } from '@/better-auth/plugin/types';
|
|
2
|
+
/**
|
|
3
|
+
* Sets up a middleware that converts session.user.role from an array to a single string seperated by commas. only for /admin routes
|
|
4
|
+
*/
|
|
5
|
+
export declare function adminBeforeRoleMiddleware({ sanitizedOptions }: {
|
|
6
|
+
sanitizedOptions: SanitizedBetterAuthOptions;
|
|
7
|
+
}): void;
|
|
8
|
+
//# sourceMappingURL=admin-before-role-middleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-before-role-middleware.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-before-role-middleware.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAA;AAE5E;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,gBAAgB,EAAE,EAAE;IAAE,gBAAgB,EAAE,0BAA0B,CAAA;CAAE,QAc/G"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { createAuthMiddleware, getSessionFromCtx } from "better-auth/api";
|
|
2
|
+
/**
|
|
3
|
+
* Sets up a middleware that converts session.user.role from an array to a single string seperated by commas. only for /admin routes
|
|
4
|
+
*/ export function adminBeforeRoleMiddleware({ sanitizedOptions }) {
|
|
5
|
+
if (typeof sanitizedOptions.hooks !== 'object') sanitizedOptions.hooks = {};
|
|
6
|
+
const originalBefore = sanitizedOptions.hooks.before;
|
|
7
|
+
sanitizedOptions.hooks.before = createAuthMiddleware(async (ctx)=>{
|
|
8
|
+
if (ctx.path.startsWith('/admin')) {
|
|
9
|
+
await getSessionFromCtx(ctx);
|
|
10
|
+
if (ctx.context.session && ctx.context.session.user && Array.isArray(ctx.context.session.user.role)) {
|
|
11
|
+
ctx.context.session.user.role = ctx.context.session.user.role.join(',');
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
if (typeof originalBefore === 'function') {
|
|
15
|
+
originalBefore(ctx);
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL3Nhbml0aXplLWJldHRlci1hdXRoLW9wdGlvbnMvdXRpbHMvYWRtaW4tYmVmb3JlLXJvbGUtbWlkZGxld2FyZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVBdXRoTWlkZGxld2FyZSwgZ2V0U2Vzc2lvbkZyb21DdHggfSBmcm9tICdiZXR0ZXItYXV0aC9hcGknXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZEJldHRlckF1dGhPcHRpb25zIH0gZnJvbSAnQC9iZXR0ZXItYXV0aC9wbHVnaW4vdHlwZXMnXG5cbi8qKlxuICogU2V0cyB1cCBhIG1pZGRsZXdhcmUgdGhhdCBjb252ZXJ0cyBzZXNzaW9uLnVzZXIucm9sZSBmcm9tIGFuIGFycmF5IHRvIGEgc2luZ2xlIHN0cmluZyBzZXBlcmF0ZWQgYnkgY29tbWFzLiBvbmx5IGZvciAvYWRtaW4gcm91dGVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZG1pbkJlZm9yZVJvbGVNaWRkbGV3YXJlKHsgc2FuaXRpemVkT3B0aW9ucyB9OiB7IHNhbml0aXplZE9wdGlvbnM6IFNhbml0aXplZEJldHRlckF1dGhPcHRpb25zIH0pIHtcbiAgaWYgKHR5cGVvZiBzYW5pdGl6ZWRPcHRpb25zLmhvb2tzICE9PSAnb2JqZWN0Jykgc2FuaXRpemVkT3B0aW9ucy5ob29rcyA9IHt9XG4gIGNvbnN0IG9yaWdpbmFsQmVmb3JlID0gc2FuaXRpemVkT3B0aW9ucy5ob29rcy5iZWZvcmVcbiAgc2FuaXRpemVkT3B0aW9ucy5ob29rcy5iZWZvcmUgPSBjcmVhdGVBdXRoTWlkZGxld2FyZShhc3luYyAoY3R4KSA9PiB7XG4gICAgaWYgKGN0eC5wYXRoLnN0YXJ0c1dpdGgoJy9hZG1pbicpKSB7XG4gICAgICBhd2FpdCBnZXRTZXNzaW9uRnJvbUN0eChjdHgpXG4gICAgICBpZiAoY3R4LmNvbnRleHQuc2Vzc2lvbiAmJiBjdHguY29udGV4dC5zZXNzaW9uLnVzZXIgJiYgQXJyYXkuaXNBcnJheShjdHguY29udGV4dC5zZXNzaW9uLnVzZXIucm9sZSkpIHtcbiAgICAgICAgY3R4LmNvbnRleHQuc2Vzc2lvbiEudXNlci5yb2xlID0gY3R4LmNvbnRleHQuc2Vzc2lvbi51c2VyLnJvbGUuam9pbignLCcpXG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0eXBlb2Ygb3JpZ2luYWxCZWZvcmUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIG9yaWdpbmFsQmVmb3JlKGN0eClcbiAgICB9XG4gIH0pXG59XG4iXSwibmFtZXMiOlsiY3JlYXRlQXV0aE1pZGRsZXdhcmUiLCJnZXRTZXNzaW9uRnJvbUN0eCIsImFkbWluQmVmb3JlUm9sZU1pZGRsZXdhcmUiLCJzYW5pdGl6ZWRPcHRpb25zIiwiaG9va3MiLCJvcmlnaW5hbEJlZm9yZSIsImJlZm9yZSIsImN0eCIsInBhdGgiLCJzdGFydHNXaXRoIiwiY29udGV4dCIsInNlc3Npb24iLCJ1c2VyIiwiQXJyYXkiLCJpc0FycmF5Iiwicm9sZSIsImpvaW4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLG9CQUFvQixFQUFFQyxpQkFBaUIsUUFBUSxrQkFBaUI7QUFHekU7O0NBRUMsR0FDRCxPQUFPLFNBQVNDLDBCQUEwQixFQUFFQyxnQkFBZ0IsRUFBb0Q7SUFDOUcsSUFBSSxPQUFPQSxpQkFBaUJDLEtBQUssS0FBSyxVQUFVRCxpQkFBaUJDLEtBQUssR0FBRyxDQUFDO0lBQzFFLE1BQU1DLGlCQUFpQkYsaUJBQWlCQyxLQUFLLENBQUNFLE1BQU07SUFDcERILGlCQUFpQkMsS0FBSyxDQUFDRSxNQUFNLEdBQUdOLHFCQUFxQixPQUFPTztRQUMxRCxJQUFJQSxJQUFJQyxJQUFJLENBQUNDLFVBQVUsQ0FBQyxXQUFXO1lBQ2pDLE1BQU1SLGtCQUFrQk07WUFDeEIsSUFBSUEsSUFBSUcsT0FBTyxDQUFDQyxPQUFPLElBQUlKLElBQUlHLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDQyxJQUFJLElBQUlDLE1BQU1DLE9BQU8sQ0FBQ1AsSUFBSUcsT0FBTyxDQUFDQyxPQUFPLENBQUNDLElBQUksQ0FBQ0csSUFBSSxHQUFHO2dCQUNuR1IsSUFBSUcsT0FBTyxDQUFDQyxPQUFPLENBQUVDLElBQUksQ0FBQ0csSUFBSSxHQUFHUixJQUFJRyxPQUFPLENBQUNDLE9BQU8sQ0FBQ0MsSUFBSSxDQUFDRyxJQUFJLENBQUNDLElBQUksQ0FBQztZQUN0RTtRQUNGO1FBQ0EsSUFBSSxPQUFPWCxtQkFBbUIsWUFBWTtZQUN4Q0EsZUFBZUU7UUFDakI7SUFDRjtBQUNGIn0=
|