import { Iuser } from "../../interface/user";
import { SETTINGS } from "../../utils/permission";
import { prisma } from "../../utils/prisma";

export class AuthService {


    static async createAuthService(data: Iuser) {







        const response = await prisma.user.create({
            data: {
                clerkId: data.clerkId,
                email: data.email,
                firstName: data.firstName,
                lastName: data.lastName,
                Permission: {
                    create: {
                        permission: ""
                    }
                }
            },
            include: {
                Permission: true
            }
        })
        return response
    }


    static async findAuthByIdService(id: string) {
        const response = await prisma.user.findUnique({
            where: {
                clerkId: id
            }
        })
        return response
    }


    static async findAuthEmailService(email: string) {
        const response = await prisma.user.findUnique({
            where: {
                email
            }
        })
        return response
    }




    static async updateAuthService(data: Omit<Iuser, "clerkId" | "email">, id: string) {
        const response = await prisma.user.update({
            data: {
                firstName: data.firstName,
                lastName: data.lastName,
            },
            where: {
                clerkId: id
            }
        })
        return response
    }


    static async deleteAuthService(id: string) {
        const response = await prisma.user.delete({
            where: {
                clerkId: id
            },
            include: {
                Permission: true
            }
        })
        return response
    }

}