"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getDonations = getDonations; const functions_1 = require("@azure/functions"); const DIContainer_1 = __importDefault(require("../DIContainer")); async function getDonations(request, context) { try { await DIContainer_1.default.getInstance().initializeServices(); const { donationsContainer } = DIContainer_1.default.getInstance().getServices(); const page = parseInt(request.query.get('page') || '1'); const limit = parseInt(request.query.get('limit') || '10'); const status = request.query.get('status'); const program = request.query.get('program'); let query = 'SELECT * FROM c WHERE 1=1'; const parameters = []; if (status) { query += ' AND c.status = @status'; parameters.push({ name: '@status', value: status }); } if (program) { query += ' AND c.program = @program'; parameters.push({ name: '@program', value: program }); } query += ' ORDER BY c.createdAt DESC'; const { resources: donations } = await donationsContainer.items .query({ query, parameters }) .fetchAll(); // Simple pagination const total = donations.length; const pages = Math.ceil(total / limit); const startIndex = (page - 1) * limit; const endIndex = startIndex + limit; const paginatedDonations = donations.slice(startIndex, endIndex); const response = { success: true, data: paginatedDonations, pagination: { page, limit, total, pages }, timestamp: new Date().toISOString() }; return { status: 200, jsonBody: response, headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } }; } catch (error) { context.error('Error fetching donations:', error); const response = { success: false, error: 'Failed to fetch donations', timestamp: new Date().toISOString() }; return { status: 500, jsonBody: response, headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } }; } } functions_1.app.http('getDonations', { methods: ['GET'], authLevel: 'anonymous', route: 'donations', handler: getDonations }); //# sourceMappingURL=getDonations.js.map