chore: cleanup

This commit is contained in:
jslno
2025-12-07 20:20:57 +01:00
parent 85ded8e985
commit c334f0e2cf
3 changed files with 15 additions and 13 deletions

View File

@@ -12,5 +12,4 @@ merch
prefs
uncompromised
myapp
Neue
unconfigured
Neue

View File

@@ -1309,7 +1309,7 @@ describe("access control", async (it) => {
it("should throw error when assigning unconfigured admin roles", async () => {
expect(() =>
admin({
adminRoles: ["admin", "non-existent-role"],
adminRoles: ["non-existent-role"],
}),
).toThrowError(BetterAuthError);
});

View File

@@ -40,18 +40,21 @@ export const admin = <O extends AdminOptions>(options?: O | undefined) => {
...options,
};
if (
options?.adminRoles &&
(Array.isArray(options.adminRoles)
if (options?.adminRoles) {
const adminRoles = Array.isArray(options.adminRoles)
? options.adminRoles
: [...options.adminRoles.split(",")]
).some((role) =>
Object.keys(options?.roles || defaultRoles).includes(role.toLowerCase()),
)
) {
throw new BetterAuthError(
"You cannot assign unconfigured roles as admin roles. Please check your `adminRoles` and `roles` configuration.",
: [...options.adminRoles.split(",")];
const invalidRoles = adminRoles.filter(
(role) =>
!Object.keys(options?.roles || defaultRoles)
.map((r) => r.toLowerCase())
.includes(role.toLowerCase()),
);
if (invalidRoles.length > 0) {
throw new BetterAuthError(
`Invalid admin roles: ${invalidRoles.join(", ")}. Admin roles must be defined in the 'roles' configuration.`,
);
}
}
return {