"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.PaymentsService = void 0; const common_1 = require("@nestjs/common"); const typeorm_1 = require("@nestjs/typeorm"); const typeorm_2 = require("typeorm"); const payment_method_entity_1 = require("./entities/payment-method.entity"); const DEFAULT_PAYMENT_METHODS = [ { code: 'cash', name: 'Efectivo', icon: 'banknote', isDefault: true, sortOrder: 1 }, { code: 'card', name: 'Tarjeta', icon: 'credit-card', isDefault: false, sortOrder: 2 }, { code: 'transfer', name: 'Transferencia', icon: 'smartphone', isDefault: false, sortOrder: 3 }, ]; let PaymentsService = class PaymentsService { constructor(paymentMethodRepository) { this.paymentMethodRepository = paymentMethodRepository; } async findAll(tenantId) { return this.paymentMethodRepository.find({ where: { tenantId, isActive: true }, order: { sortOrder: 'ASC' }, }); } async findOne(tenantId, id) { const method = await this.paymentMethodRepository.findOne({ where: { id, tenantId }, }); if (!method) { throw new common_1.NotFoundException('Método de pago no encontrado'); } return method; } async getDefault(tenantId) { return this.paymentMethodRepository.findOne({ where: { tenantId, isDefault: true, isActive: true }, }); } async initializeForTenant(tenantId) { const existing = await this.paymentMethodRepository.count({ where: { tenantId }, }); if (existing > 0) { return this.findAll(tenantId); } const methods = []; for (const method of DEFAULT_PAYMENT_METHODS) { const paymentMethod = this.paymentMethodRepository.create({ ...method, tenantId, }); methods.push(await this.paymentMethodRepository.save(paymentMethod)); } return methods; } async toggleActive(tenantId, id) { const method = await this.findOne(tenantId, id); method.isActive = !method.isActive; return this.paymentMethodRepository.save(method); } async setDefault(tenantId, id) { await this.paymentMethodRepository.update({ tenantId }, { isDefault: false }); const method = await this.findOne(tenantId, id); method.isDefault = true; return this.paymentMethodRepository.save(method); } }; exports.PaymentsService = PaymentsService; exports.PaymentsService = PaymentsService = __decorate([ (0, common_1.Injectable)(), __param(0, (0, typeorm_1.InjectRepository)(payment_method_entity_1.PaymentMethod)), __metadata("design:paramtypes", [typeorm_2.Repository]) ], PaymentsService); //# sourceMappingURL=payments.service.js.map