Files
AnimeTV-Backend/src/modules/userRole/services/createUserRole.service.ts
2025-06-25 10:14:01 +07:00

30 lines
1.2 KiB
TypeScript

import { Prisma } from "@prisma/client";
import { createUserRoleRepo } from "../repositories/createUserRole.repository";
import { ErrorForwarder } from "../../../helpers/error/instances/forwarder";
export const createUserRoleService = async (
userRoleData: Prisma.UserRoleUncheckedCreateInput
) => {
try {
const dataPayload = {
...userRoleData,
isSuperadmin: Boolean(userRoleData.isSuperadmin),
canEditMedia: Boolean(userRoleData.canEditMedia),
canManageMedia: Boolean(userRoleData.canManageMedia),
canEditEpisodes: Boolean(userRoleData.canEditEpisodes),
canManageEpisodes: Boolean(userRoleData.canManageEpisodes),
canEditComment: Boolean(userRoleData.canEditComment),
canManageComment: Boolean(userRoleData.canManageComment),
canEditUser: Boolean(userRoleData.canEditUser),
canManageUser: Boolean(userRoleData.canManageUser),
canEditSystem: Boolean(userRoleData.canEditSystem),
canManageSystem: Boolean(userRoleData.canManageSystem),
deletedAt: null,
};
const newUserRole = await createUserRoleRepo(dataPayload);
return newUserRole;
} catch (error) {
ErrorForwarder(error);
}
};