@wepublish/api
Version:
API core for we.publish.
65 lines • 2.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getPayments = exports.createPaymentFilter = exports.createPaymentOrder = void 0;
const tslib_1 = require("tslib");
const payment_1 = require("../../db/payment");
const api_1 = require("../../../../utils-api/src");
const createPaymentOrder = (field, sortOrder) => {
switch (field) {
case payment_1.PaymentSort.CreatedAt:
return {
createdAt: (0, api_1.graphQLSortOrderToPrisma)(sortOrder)
};
case payment_1.PaymentSort.ModifiedAt:
return {
modifiedAt: (0, api_1.graphQLSortOrderToPrisma)(sortOrder)
};
}
};
exports.createPaymentOrder = createPaymentOrder;
const createItendFilter = (filter) => {
if (filter === null || filter === void 0 ? void 0 : filter.intentID) {
return {
intentID: filter.intentID
};
}
return {};
};
const createPaymentFilter = (filter) => ({
AND: [createItendFilter(filter)]
});
exports.createPaymentFilter = createPaymentFilter;
const getPayments = (filter, sortedField, order, cursorId, skip, take, payment) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
const orderBy = (0, exports.createPaymentOrder)(sortedField, order);
const where = (0, exports.createPaymentFilter)(filter);
const [totalCount, payments] = yield Promise.all([
payment.count({
where,
orderBy
}),
payment.findMany({
where,
skip,
take: (0, api_1.getMaxTake)(take) + 1,
orderBy,
cursor: cursorId ? { id: cursorId } : undefined
})
]);
const nodes = payments.slice(0, take);
const firstPayment = nodes[0];
const lastPayment = nodes[nodes.length - 1];
const hasPreviousPage = Boolean(skip);
const hasNextPage = payments.length > nodes.length;
return {
nodes,
totalCount,
pageInfo: {
hasPreviousPage,
hasNextPage,
startCursor: firstPayment === null || firstPayment === void 0 ? void 0 : firstPayment.id,
endCursor: lastPayment === null || lastPayment === void 0 ? void 0 : lastPayment.id
}
};
});
exports.getPayments = getPayments;
//# sourceMappingURL=payment.queries.js.map