@wepublish/api
Version:
API core for we.publish.
58 lines • 2.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.updateMemberPlan = exports.createMemberPlan = exports.deleteMemberPlanById = void 0;
const tslib_1 = require("tslib");
const permissions_1 = require("../permissions");
const api_1 = require("../../../../permissions-api/src");
const deleteMemberPlanById = (id, authenticate, memberPlan) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
const { roles } = authenticate();
(0, permissions_1.authorise)(api_1.CanDeleteMemberPlan, roles);
return memberPlan.delete({
where: {
id
},
include: {
availablePaymentMethods: true
}
});
});
exports.deleteMemberPlanById = deleteMemberPlanById;
const createMemberPlan = (_a, authenticate, memberPlan) => {
var { availablePaymentMethods } = _a, input = tslib_1.__rest(_a, ["availablePaymentMethods"]);
const { roles } = authenticate();
(0, permissions_1.authorise)(api_1.CanCreateMemberPlan, roles);
return memberPlan.create({
data: Object.assign(Object.assign({}, input), { availablePaymentMethods: {
createMany: {
data: availablePaymentMethods
}
} }),
include: {
availablePaymentMethods: true
}
});
};
exports.createMemberPlan = createMemberPlan;
const updateMemberPlan = (id, _a, authenticate, memberPlan) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
var { availablePaymentMethods } = _a, input = tslib_1.__rest(_a, ["availablePaymentMethods"]);
const { roles } = authenticate();
(0, permissions_1.authorise)(api_1.CanCreateMemberPlan, roles);
return memberPlan.update({
where: { id },
data: Object.assign(Object.assign({}, input), { availablePaymentMethods: {
deleteMany: {
memberPlanId: {
equals: id
}
},
createMany: {
data: availablePaymentMethods
}
} }),
include: {
availablePaymentMethods: true
}
});
});
exports.updateMemberPlan = updateMemberPlan;
//# sourceMappingURL=member-plan.private-mutation.js.map