plebdevs/src/db/models/userModels.js

80 lines
2.0 KiB
JavaScript
Raw Normal View History

import prisma from "../prisma";
export const getAllUsers = async () => {
return await prisma.user.findMany({
include: {
role: true, // Include related role
purchased: {
include: {
course: true, // Include course details in purchases
resource: true, // Include resource details in purchases
},
},
},
});
};
export const getUserById = async (id) => {
return await prisma.user.findUnique({
where: { id },
include: {
role: true, // Include related role
purchased: {
include: {
course: true, // Include course details in purchases
resource: true, // Include resource details in purchases
},
},
},
});
};
2024-02-11 00:00:27 -06:00
export const getUserByPubkey = async (pubkey) => {
return await prisma.user.findUnique({
where: { pubkey },
include: {
role: true, // Include related role
purchased: {
include: {
course: true, // Include course details in purchases
resource: true, // Include resource details in purchases
},
},
},
});
}
export const addPurchaseToUser = async (userId, purchaseData) => {
return await prisma.user.update({
where: { id: userId },
data: {
purchased: {
create: purchaseData
}
},
include: {
purchased: true
}
});
};
export const createUser = async (data) => {
return await prisma.user.create({
data,
});
};
export const updateUser = async (id, data) => {
2024-08-09 14:28:57 -05:00
console.log("user modelllll", id, data)
return await prisma.user.update({
where: { id },
data,
});
};
export const deleteUser = async (id) => {
return await prisma.user.delete({
where: { id },
});
};