fix: role-permissions GET/PUT return camelCase (isSystem, roleKey, homePage)

Backend was returning raw Postgres snake_case column names; frontend
SavedRolePermission interface expected camelCase. This caused isSystem
to always be undefined → all roles treated as custom in UserModal.
Also adds home_page to the SELECT so homePage is available.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-20 20:04:01 +03:00
parent 9e1eff30a6
commit 153e1d72d6

View File

@@ -29,13 +29,22 @@ const rolePermissionsRoute: FastifyPluginAsync = async (fastify) => {
if (!hotelId) return reply.code(404).send({ error: 'Hotel not found' })
const { rows } = await db.query(
`SELECT id, hotel_id, role_key, name, color, is_system, permissions, created_at, updated_at
`SELECT id, hotel_id, role_key, name, color, is_system, permissions, home_page, created_at, updated_at
FROM role_permissions
WHERE hotel_id = $1
ORDER BY is_system DESC, name`,
[hotelId],
)
return rows
return rows.map(r => ({
id: r.id,
hotelId: r.hotel_id,
roleKey: r.role_key,
name: r.name,
color: r.color,
isSystem: r.is_system,
permissions: r.permissions,
homePage: r.home_page,
}))
},
)
@@ -70,7 +79,17 @@ const rolePermissionsRoute: FastifyPluginAsync = async (fastify) => {
RETURNING *`,
[hotelId, roleKey, name, color, isSystem, JSON.stringify(permissions), homePage],
)
return rows[0]
const r = rows[0]
return {
id: r.id,
hotelId: r.hotel_id,
roleKey: r.role_key,
name: r.name,
color: r.color,
isSystem: r.is_system,
permissions: r.permissions,
homePage: r.home_page,
}
},
)