import { Request, Response } from "express"
import usersService from "../users/users.service"
import { ApiError } from "../../middleware/ApiError"
import { PermissionService } from "../permission/permission.service"
import { ApiResponse } from "../../middleware/ApiResponse"

export const me = async (req: Request, res: Response): Promise<any> => {

    const getUser = await usersService.getUserById(req.user?.clerkId as string)

    if (!getUser) {
        throw new ApiError("User Have conflict !!")
    }

    const userPermission = await PermissionService.getAllPermissionByUser(req.user?.clerkId as string)

    return res.status(200).json(
        new ApiResponse("Me", 200, {
            user: getUser,
            permission: userPermission?.permission?.split(",") ?? []

        })
    )

}