diff --git a/keyserver/src/fetchers/role-fetchers.js b/keyserver/src/fetchers/role-fetchers.js index f83a23c26..537f2c90c 100644 --- a/keyserver/src/fetchers/role-fetchers.js +++ b/keyserver/src/fetchers/role-fetchers.js @@ -1,28 +1,29 @@ // @flow +import { specialRoles } from 'lib/permissions/special-roles.js'; import type { RoleInfo } from 'lib/types/thread-types.js'; import { dbQuery, SQL } from '../database/database.js'; async function fetchRoles(threadID: string): Promise { const query = SQL` - SELECT r.id, r.name, r.permissions, r.id = t.default_role AS is_default - FROM roles r - LEFT JOIN threads t ON t.id = r.thread - WHERE r.thread = ${threadID} + SELECT id, name, permissions, + special_role = ${specialRoles.DEFAULT_ROLE} AS is_default + FROM roles + WHERE thread = ${threadID} `; const [result] = await dbQuery(query); const roles = []; for (const row of result) { roles.push({ id: row.id.toString(), name: row.name, permissions: JSON.parse(row.permissions), isDefault: Boolean(row.is_default), }); } return roles; } export { fetchRoles };