import type { RolesCatalog, UpdateRolePermissionsResult } from "@/domain/entities/internal-role";
import type { InternalRoleRepository } from "@/domain/repositories/internal-role.repository";
import { api } from "@/infrastructure/api/api-client";

export class InternalRoleRepositoryImpl implements InternalRoleRepository {
  getCatalog() {
    return api.get<RolesCatalog>("/internal-roles");
  }

  updatePermissions(roleId: number, permissions: string[]) {
    return api.put<UpdateRolePermissionsResult>(`/internal-roles/${roleId}/permissions`, {
      permissions,
    });
  }
}
