// ENVIRONMENT require('dotenv').config(); // DATABASE const { PrismaClient : CMSClient } = require("../../prisma/clients/cms"); const prisma = new CMSClient(); // CONSTANTS const { badRequestResponse, successResponse } = require("../res/responses.js"); const { localTime } = require("../services/time.services.js"); exports.setupUserToken = async (req, res) => { try { const { userID, token } = req.body; if (!userID || !token) { throw new Error("Invalid user ID or token!"); } await prisma.$transaction(async (tx) => { await tx.usersToken.deleteMany({ where: { OR: [ { UserID_UT: userID }, { Token_UT: token }, ], }, }); await tx.usersToken.create({ data: { UserID_UT: userID, Token_UT: token, CreatedAt_UT: localTime(new Date()), UpdatedAt_UT: localTime(new Date()), }, }); }); return successResponse(res, "User token setup successfully!", null); } catch (err) { return badRequestResponse(res, "Error connecting to API", err); } }; exports.getAllUsers = async (req, res) => { try { const users = await prisma.usersToken.findMany({ orderBy: { UserID_UT: 'asc' } }); return successResponse(res, "Users retrieved successfully!", users); } catch (err) { return badRequestResponse(res, "Error connecting to API", err); } }; exports.deleteUser = async (req, res) => { try { const { userID } = req.body; if (!userID) { throw new Error("Invalid user ID!"); } await prisma.usersToken.delete({ where: { UserID_UT: userID } }); return successResponse(res, "User deleted successfully!", null); } catch (err) { return badRequestResponse(res, "Error connecting to API", err); } };