fix 🐛: type fix and role assertion
Some checks failed
Release / Release (push) Has been cancelled

This commit is contained in:
2025-06-01 15:58:00 +03:00
parent bcf9c2b191
commit 63a0d5948a

View File

@@ -1,4 +1,4 @@
import type { Accountability } from "@directus/types";
import type { Accountability, Policy, User } from "@directus/types";
import { getAuthProviders } from "./authProvider/get-auth-providers.js";
import { verify_token } from "./verify-token.js";
@@ -27,7 +27,7 @@ const getUser = async (
database: Knex,
externalIdentifier: string | undefined,
provider: string
) => {
): Promise<User & Policy> => {
return database
.select(
"directus_users.id",
@@ -49,7 +49,7 @@ const getUser = async (
.first();
};
const insertUser = async (database: Knex, user: Record<string, string | undefined>): Promise<unknown> => {
const insertUser = async (database: Knex, user: Record<string, string | undefined>) => {
await database("directus_users").insert(user);
return getUser(database, user.external_identifier, user.provider!);
};
@@ -128,12 +128,12 @@ export async function getAccountabilityForToken(
}
if (user) {
const userRoleId = user.role?.id || user.role as unknown as string;
accountability.user = user.id;
accountability.role = user.role;
accountability.roles = [user.role];
accountability.admin =
user.admin_access === true || user.admin_access == 1;
accountability.app = user.app_access === true || user.app_access == 1;
accountability.role = userRoleId;
accountability.roles = [userRoleId];
accountability.admin = user.admin_access;
accountability.app = user.app_access;
if (CacheEnabled() && result.sub) {
await CacheSet(result.sub, accountability);