ProvinceRepository.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. const prisma = require('../../prisma/PrismaClient.js');
  2. const ProvinceRepository = {
  3. findAll: async ({ skip, take, where, orderBy }) => {
  4. return prisma.province.findMany({
  5. where,
  6. skip,
  7. take,
  8. orderBy,
  9. select: {
  10. id: true,
  11. name: true,
  12. createdAt: true,
  13. updatedAt: true,
  14. }
  15. });
  16. },
  17. countAll: async (where) => {
  18. return prisma.province.count({ where });
  19. },
  20. findById: async (id) => {
  21. return prisma.province.findFirst({
  22. where: {
  23. id,
  24. deletedAt: null
  25. },
  26. select: {
  27. id: true,
  28. name: true,
  29. createdAt: true,
  30. updatedAt: true,
  31. }
  32. });
  33. },
  34. findByName: async (name) => {
  35. return await prisma.province.findFirst({
  36. where: {
  37. name: {
  38. equals: name,
  39. mode: "insensitive"
  40. }
  41. }
  42. });
  43. },
  44. create: async (data) => {
  45. return prisma.province.create({ data });
  46. },
  47. update: async (id, data) => {
  48. return prisma.province.update({
  49. where: { id },
  50. data
  51. });
  52. },
  53. };
  54. module.exports = ProvinceRepository;