import { PrismaClient, Prisma } from '@prisma/client'; const prisma = new PrismaClient(); interface FindAllParams { skip?: number; take?: number; where?: Prisma.VendorExperienceWhereInput; orderBy?: Prisma.VendorExperienceOrderByWithRelationInput; } const VendorExperienceRepository = { findAll: async ({ skip, take, where, orderBy }: FindAllParams) => { return prisma.vendorExperience.findMany({ where, skip, take, orderBy, select: { id: true, vendor: { select: { id: true, name: true, name_pt: true, strengths: true, weaknesses: true, website: true, created_by: true, }, }, status: true, simrs_type: true, contract_value_min: true, contract_value_max: true, contract_start_date: true, contract_expired_date: true, positive_notes: true, negative_notes: true, createdAt: true, updatedAt: true, }, }); }, countAll: async (where?: Prisma.VendorExperienceWhereInput) => { return prisma.vendorExperience.count({ where }); }, findById: async (id: string) => { return prisma.vendorExperience.findFirst({ where: { id, deletedAt: null, }, select: { id: true, vendor_id: true, vendor: { select: { id: true, name: true, name_pt: true, strengths: true, weaknesses: true, website: true, created_by: true, }, }, status: true, simrs_type: true, contract_value_min: true, contract_value_max: true, contract_start_date: true, contract_expired_date: true, positive_notes: true, negative_notes: true, createdAt: true, updatedAt: true, }, }); }, create: async (data: Prisma.VendorExperienceCreateInput) => { return prisma.vendorExperience.create({ data }); }, update: async (id: string, data: Prisma.VendorExperienceUpdateInput) => { return prisma.vendorExperience.update({ where: { id }, data, }); }, }; export default VendorExperienceRepository; // const prisma = require('../../prisma/PrismaClient.js'); // const VendorExperienceRepository = { // findAll: async ({ skip, take, where, orderBy }) => { // return prisma.vendorExperience.findMany({ // where, // skip, // take, // orderBy, // select: { // id: true, // // hospital: { // // select: { // // id: true, // // name: true, // // hospital_code: true, // // type: true, // // ownership: true, // // province: { // // select: { // // id: true, // // name: true // // } // // }, // // city: { // // select: { // // id: true, // // name: true // // } // // }, // // address: true, // // simrs_type: true, // // contact: true, // // image: true, // // progress_status: true, // // note: true, // // created_by: true // // } // // }, // vendor: { // select: { // id: true, // name: true, // name_pt: true, // strengths: true, // weaknesses: true, // website: true, // created_by: true, // } // }, // status: true, // simrs_type: true, // contract_value_min: true, // contract_value_max: true, // contract_start_date: true, // contract_expired_date: true, // positive_notes: true, // negative_notes: true, // createdAt: true, // updatedAt: true, // }, // }); // }, // countAll: async (where) => { // return prisma.vendorExperience.count({ where }); // }, // findById: async (id) => { // return prisma.vendorExperience.findFirst({ // where: { // id, // deletedAt: null // }, // select: { // id: true, // // hospital: { // // select: { // // id: true, // // name: true, // // hospital_code: true, // // type: true, // // ownership: true, // // province: { // // select: { // // id: true, // // name: true // // } // // }, // // city: { // // select: { // // id: true, // // name: true // // } // // }, // // address: true, // // simrs_type: true, // // contact: true, // // image: true, // // progress_status: true, // // note: true, // // created_by: true // // } // // }, // vendor: { // select: { // id: true, // name: true, // name_pt: true, // strengths: true, // weaknesses: true, // website: true, // created_by: true, // } // }, // status: true, // simrs_type: true, // contract_value_min: true, // contract_value_max: true, // contract_start_date: true, // contract_expired_date: true, // positive_notes: true, // negative_notes: true, // createdAt: true, // updatedAt: true, // }, // }); // }, // create: async (data) => { // return prisma.vendorExperience.create({ data }); // }, // update: async (id, data) => { // return prisma.vendorExperience.update({ // where: { id }, // data // }); // }, // }; // module.exports = VendorExperienceRepository;