"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __param = (this && this.__param) || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } }; Object.defineProperty(exports, "__esModule", { value: true }); exports.GiftController = void 0; const common_1 = require("@nestjs/common"); const gift_service_1 = require("../services/gift.service"); const create_gift_dto_1 = require("./dto/create-gift.dto"); const create_contribution_dto_1 = require("./dto/create-contribution.dto"); let GiftController = class GiftController { constructor(giftService) { this.giftService = giftService; } async createGift(req, tenantId, dto) { const ownerId = req.user?.id; return this.giftService.createGift(tenantId, { ...dto, ownerId }); } async listGifts(tenantId) { return this.giftService.listGifts(tenantId); } async contribute(tenantId, dto) { return this.giftService.createContribution(tenantId, dto); } async getGift(req, tenantId, id) { const requesterId = req.user?.id; return this.giftService.getGiftById(tenantId, id, requesterId); } async listContributions(req, tenantId, id) { const requesterId = req.user?.id; return this.giftService.listContributions(tenantId, id, requesterId); } }; exports.GiftController = GiftController; __decorate([ (0, common_1.Post)(), __param(0, (0, common_1.Req)()), __param(1, (0, common_1.Headers)('x-tenant-id')), __param(2, (0, common_1.Body)()), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, String, create_gift_dto_1.CreateGiftDto]), __metadata("design:returntype", Promise) ], GiftController.prototype, "createGift", null); __decorate([ (0, common_1.Get)(), __param(0, (0, common_1.Headers)('x-tenant-id')), __metadata("design:type", Function), __metadata("design:paramtypes", [String]), __metadata("design:returntype", Promise) ], GiftController.prototype, "listGifts", null); __decorate([ (0, common_1.Post)('contribution'), __param(0, (0, common_1.Headers)('x-tenant-id')), __param(1, (0, common_1.Body)()), __metadata("design:type", Function), __metadata("design:paramtypes", [String, create_contribution_dto_1.CreateContributionDto]), __metadata("design:returntype", Promise) ], GiftController.prototype, "contribute", null); __decorate([ (0, common_1.Get)(':id'), __param(0, (0, common_1.Req)()), __param(1, (0, common_1.Headers)('x-tenant-id')), __param(2, (0, common_1.Param)('id')), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, String, String]), __metadata("design:returntype", Promise) ], GiftController.prototype, "getGift", null); __decorate([ (0, common_1.Get)(':id/contributions'), __param(0, (0, common_1.Req)()), __param(1, (0, common_1.Headers)('x-tenant-id')), __param(2, (0, common_1.Param)('id')), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, String, String]), __metadata("design:returntype", Promise) ], GiftController.prototype, "listContributions", null); exports.GiftController = GiftController = __decorate([ (0, common_1.Controller)('gift'), __metadata("design:paramtypes", [gift_service_1.GiftService]) ], GiftController);