Files
AnimeTV-Backend/prisma/seed/userRole.seed.ts
2026-01-29 02:10:01 +07:00

52 lines
1.3 KiB
TypeScript

import { generateUUIDv7 } from "../../src/helpers/databases/uuidv7";
import { prisma } from "../../src/utils/databases/prisma/connection";
export const userRoleSeed = async (systemId: string) => {
const roles = [
{
id: generateUUIDv7(),
name: "ADMIN",
description: "Administrator with full access",
isSuperadmin: true,
canEditMedia: true,
canManageMedia: true,
canEditEpisodes: true,
canManageEpisodes: true,
canEditComment: true,
canManageComment: true,
canEditUser: true,
canManageUser: true,
canEditSystem: true,
canManageSystem: true,
createdBy: systemId,
},
{
id: generateUUIDv7(),
name: "USER",
description: "Regular user with limited access",
isSuperadmin: false,
canEditMedia: false,
canManageMedia: false,
canEditEpisodes: false,
canManageEpisodes: false,
canEditComment: false,
canManageComment: false,
canEditUser: false,
canManageUser: false,
canEditSystem: false,
canManageSystem: false,
createdBy: systemId,
},
];
await prisma.$transaction(
roles.map((role) =>
prisma.userRole.upsert({
where: { name: role.name },
update: role,
create: role,
}),
),
);
};