Files
weeklyreport/backend/api/admin/role/list.get.ts

35 lines
757 B
TypeScript

import { query } from '../../../utils/db'
import { requireAdmin } from '../../../utils/session'
/**
* 권한 목록 조회
* GET /api/admin/role/list
*/
export default defineEventHandler(async (event) => {
// 관리자 권한 체크
await requireAdmin(event)
const roles = await query<any>(`
SELECT
r.role_id,
r.role_code,
r.role_name,
r.role_description,
r.is_internal_ip_only,
r.sort_order,
r.is_active,
r.created_at,
r.updated_at,
COUNT(DISTINCT er.employee_id) as user_count
FROM wr_role r
LEFT JOIN wr_employee_role er ON r.role_id = er.role_id
GROUP BY r.role_id
ORDER BY r.sort_order, r.role_id
`)
return {
roles,
total: roles.length
}
})