| Current Path : /home/deltalab/PMS/partner-manager-backend/graphql/schema/ |
| Current File : //home/deltalab/PMS/partner-manager-backend/graphql/schema/carrier.schema.js |
const auth = require('../../services/auth.js');
// Import dependencies
const { partnerTC } = require('../types/partner.type');
const { carrierTC } = require('../types/carrier.type');
// RELATIONS =========================================
carrierTC.addRelation(
'partner',
{
resolver: () => partnerTC.mongooseResolvers.findById(),
prepareArgs: {
_id: (source) => source.partnerId,
},
projection: { partnerId: true },
},
);
// QUERIES ===========================================
const carrierQuery = {
...auth.authenticationRequired({
carrierById: carrierTC.mongooseResolvers.findById(),
carrierMany: carrierTC.mongooseResolvers.findMany(),
carrierCount: carrierTC.mongooseResolvers.count(),
}),
};
// MUTATIONS =========================================
const carrierMutation = {
...auth.authenticationRequired({
carrierCreateOne: carrierTC.mongooseResolvers.createOne(),
carrierCreateMany: carrierTC.mongooseResolvers.createMany(),
carrierUpdateById: carrierTC.mongooseResolvers.updateById(),
carrierUpdateOne: carrierTC.mongooseResolvers.updateOne(),
carrierUpdateMany: carrierTC.mongooseResolvers.updateMany(),
carrierRemoveById: carrierTC.mongooseResolvers.removeById(),
carrierRemoveOne: carrierTC.mongooseResolvers.removeOne(),
carrierRemoveMany: carrierTC.mongooseResolvers.removeMany(),
}),
};
// EXPORTS ===========================================
module.exports = {
carrierQuery,
carrierMutation,
};