import { roleWithPermissionsSchema } from "@/features/roles/schema"
import {
  createRole,
  deleteRole,
  getAllRoles,
  getRoleById,
  updateRole,
} from "@/features/roles/service"

export async function listRoles() {
  return getAllRoles()
}

export async function createRoleFromRequest(req: Request) {
  const body = await req.json()
  const validated = roleWithPermissionsSchema.parse(body)
  return createRole(validated)
}

export async function getRole(id: string) {
  return getRoleById(id)
}

export async function updateRoleFromRequest(req: Request, id: string) {
  const body = await req.json()
  const validated = roleWithPermissionsSchema.parse(body)
  return updateRole(id, validated)
}

export async function deleteRoleById(id: string) {
  return deleteRole(id)
}

