utilizing user role repository

This commit is contained in:
rafiarrafif
2025-05-07 21:54:25 +07:00
parent 836c7f7415
commit fb1654e048
3 changed files with 49 additions and 37 deletions

View File

@ -1,16 +1,28 @@
import { Prisma } from "@prisma/client";
import { userRoleModel } from "../userRole.model";
import { handlePrismaError } from "../../../utils/databases/prisma/error/handler";
import { createUserRoleRepo } from "../userRole.repository";
export const createUserRoleService = async (
userRoleData: Prisma.UserRoleUncheckedCreateInput
) => {
try {
const newUserRole = await userRoleModel.create({
data: userRoleData,
});
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) {
return handlePrismaError(error);
throw error;
}
};