@devx-commerce/plugin-loyalty
Version:
A starter for Medusa plugins.
49 lines • 4.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.GET = GET;
const api_response_1 = require("../../../../../lib/api-response");
const utils_1 = require("@medusajs/framework/utils");
async function GET(req, res) {
try {
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
// First, get the loyalty transactions
const { data: transactions, metadata } = await query.graph({
entity: "loyalty_transaction",
...req.queryConfig,
filters: req.filterableFields,
});
// For transactions that have order_id, fetch the order data to get display_id
const transactionsWithOrderData = await Promise.all(transactions.map(async (transaction) => {
if (transaction.order_id) {
try {
const { data: orders } = await query.graph({
entity: "order",
fields: ["id", "display_id"],
filters: { id: transaction.order_id },
});
if (orders && orders.length > 0) {
return {
...transaction,
display_id: orders[0].display_id || null,
};
}
}
catch (error) {
// If order fetch fails, continue without display_id
console.warn(`Failed to fetch order ${transaction.order_id}:`, error);
}
}
return transaction;
}));
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createSuccessResponse)({
data: transactionsWithOrderData,
count: metadata?.count || 0,
offset: metadata?.skip || 0,
limit: metadata?.take || 10,
}));
}
catch (error) {
return (0, api_response_1.sendApiResponse)(res, (0, api_response_1.createErrorResponse)(error.message, 500));
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2N1c3RvbWVycy9tZS90cmFuc2FjdGlvbnMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFhQSxrQkF1REM7QUEvREQsa0VBSXlDO0FBRXpDLHFEQUFzRTtBQUUvRCxLQUFLLFVBQVUsR0FBRyxDQUN2QixHQUEyRCxFQUMzRCxHQUFtQjtJQUVuQixJQUFJLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVqRSxzQ0FBc0M7UUFDdEMsTUFBTSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ3pELE1BQU0sRUFBRSxxQkFBcUI7WUFDN0IsR0FBRyxHQUFHLENBQUMsV0FBVztZQUNsQixPQUFPLEVBQUUsR0FBRyxDQUFDLGdCQUFnQjtTQUM5QixDQUFDLENBQUM7UUFFSCw4RUFBOEU7UUFDOUUsTUFBTSx5QkFBeUIsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2pELFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxFQUFFO1lBQ3JDLElBQUksV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN6QixJQUFJLENBQUM7b0JBQ0gsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7d0JBQ3pDLE1BQU0sRUFBRSxPQUFPO3dCQUNmLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUM7d0JBQzVCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxXQUFXLENBQUMsUUFBUSxFQUFFO3FCQUN0QyxDQUFDLENBQUM7b0JBRUgsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQzt3QkFDaEMsT0FBTzs0QkFDTCxHQUFHLFdBQVc7NEJBQ2QsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksSUFBSTt5QkFDekMsQ0FBQztvQkFDSixDQUFDO2dCQUNILENBQUM7Z0JBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztvQkFDZixvREFBb0Q7b0JBQ3BELE9BQU8sQ0FBQyxJQUFJLENBQ1YseUJBQXlCLFdBQVcsQ0FBQyxRQUFRLEdBQUcsRUFDaEQsS0FBSyxDQUNOLENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUM7WUFDRCxPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsT0FBTyxJQUFBLDhCQUFlLEVBQ3BCLEdBQUcsRUFDSCxJQUFBLG9DQUFxQixFQUFDO1lBQ3BCLElBQUksRUFBRSx5QkFBeUI7WUFDL0IsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLElBQUksQ0FBQztZQUMzQixNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDO1lBQzNCLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxJQUFJLEVBQUU7U0FDNUIsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sSUFBQSw4QkFBZSxFQUFDLEdBQUcsRUFBRSxJQUFBLGtDQUFtQixFQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0FBQ0gsQ0FBQyJ9