"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 __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const typeorm_1 = require("typeorm"); const models_1 = require("@core/models"); const account_1 = __importDefault(require("./account")); const base_1 = __importDefault(require("./base")); const checkout_transaction_1 = __importDefault(require("./checkout-transaction")); const favored_contact_1 = __importDefault(require("./favored-contact")); const insurance_contract_payments_1 = require("./insurance-contract-payments"); const metadata_1 = __importDefault(require("./metadata")); const operation_log_1 = __importDefault(require("./operation-log")); const payment_account_1 = __importDefault(require("./payment-account")); const receivables_1 = __importDefault(require("./receivables")); const transaction_antifraud_1 = __importDefault(require("./transaction-antifraud")); const transaction_approvals_1 = __importDefault(require("./transaction-approvals")); const transaction_detail_1 = __importDefault(require("./transaction-detail")); const user_1 = __importDefault(require("./user")); const transaction_antifraud_analysis_1 = __importDefault(require("./transaction-antifraud-analysis")); let TransactionEntity = class TransactionEntity extends base_1.default { bankId; flow; type; status; transactionAt; transactionScheduleAt; transactionReversalAt; amount; endToEndId; refundId; pspId; description; transactionDescription; paymentAccountType; accountId; paymentAccountId; payeeAccountId; paymentTypeEmployee; payeePaymentAccountId; userId; groupId; accountServiceId; isSalaryPayment; transactionStatus; account; payee; user; payeePaymentAccount; transactionApprovals; operationLog; metadata; favoredTax; favoredName; favoredId; payerTax; payerName; payerBankAccount; payerBankAgency; payerBankCode; totalAmount; dueDate; txId; qrCodeType; points; paymentMethod; discount; bonus; paymentAccount; favored; // TODO: rename to key boletoKey; // TODO: rename to beneficiary boletoBeneficiary; checkouts; details; partner; partnerTransactionId; availableRefundAmount; solicitedBy; receivableId; receivables; partnerAccountId; partnerBankAccount; partnerBankAgency; favoredBankName; deviceId; roleGroupId; customTransactionIdentifier; insuranceContractPayments; debtorAccount; transactionAntifraud; transactionAntifraudAnalysis; }; __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", String) ], TransactionEntity.prototype, "bankId", void 0); __decorate([ (0, typeorm_1.Column)({ type: 'int4' }), __metadata("design:type", Number) ], TransactionEntity.prototype, "flow", void 0); __decorate([ (0, typeorm_1.Column)({ type: 'int4' }), __metadata("design:type", Number) ], TransactionEntity.prototype, "type", void 0); __decorate([ (0, typeorm_1.Column)({ type: 'int4' }), __metadata("design:type", Number) ], TransactionEntity.prototype, "status", void 0); __decorate([ (0, typeorm_1.Column)({ type: 'timestamptz' }), __metadata("design:type", Date) ], TransactionEntity.prototype, "transactionAt", void 0); __decorate([ (0, typeorm_1.Column)({ type: 'date' }), __metadata("design:type", Date) ], TransactionEntity.prototype, "transactionScheduleAt", void 0); __decorate([ (0, typeorm_1.Column)({ type: 'timestamptz' }), __metadata("design:type", Date) ], TransactionEntity.prototype, "transactionReversalAt", void 0); __decorate([ (0, typeorm_1.Column)({ type: 'float8' }), __metadata("design:type", Number) ], TransactionEntity.prototype, "amount", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", String) ], TransactionEntity.prototype, "endToEndId", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", String) ], TransactionEntity.prototype, "refundId", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", String) ], TransactionEntity.prototype, "pspId", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", String) ], TransactionEntity.prototype, "description", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", String) ], TransactionEntity.prototype, "transactionDescription", void 0); __decorate([ (0, typeorm_1.Column)({ type: 'int4' }), __metadata("design:type", Number) ], TransactionEntity.prototype, "paymentAccountType", void 0); __decorate([ (0, typeorm_1.Column)({ type: 'uuid' }), __metadata("design:type", String) ], TransactionEntity.prototype, "accountId", void 0); __decorate([ (0, typeorm_1.Column)({ type: 'uuid' }), __metadata("design:type", String) ], TransactionEntity.prototype, "paymentAccountId", void 0); __decorate([ (0, typeorm_1.Column)({ type: 'uuid' }), __metadata("design:type", String) ], TransactionEntity.prototype, "payeeAccountId", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", Number) ], TransactionEntity.prototype, "paymentTypeEmployee", void 0); __decorate([ (0, typeorm_1.Column)({ type: 'uuid' }), __metadata("design:type", String) ], TransactionEntity.prototype, "payeePaymentAccountId", void 0); __decorate([ (0, typeorm_1.Column)({ type: 'uuid' }), __metadata("design:type", String) ], TransactionEntity.prototype, "userId", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", String) ], TransactionEntity.prototype, "groupId", void 0); __decorate([ (0, typeorm_1.Column)({ type: 'uuid' }), __metadata("design:type", String) ], TransactionEntity.prototype, "accountServiceId", void 0); __decorate([ (0, typeorm_1.Column)({ type: 'boolean' }), __metadata("design:type", Boolean) ], TransactionEntity.prototype, "isSalaryPayment", void 0); __decorate([ (0, typeorm_1.Column)({ type: 'int' }), __metadata("design:type", Number) ], TransactionEntity.prototype, "transactionStatus", void 0); __decorate([ (0, typeorm_1.ManyToOne)(() => account_1.default, (account) => account.transactions), (0, typeorm_1.JoinColumn)({ name: 'accountId', referencedColumnName: 'id' }), __metadata("design:type", account_1.default) ], TransactionEntity.prototype, "account", void 0); __decorate([ (0, typeorm_1.ManyToOne)(() => account_1.default, (account) => account.transactions), (0, typeorm_1.JoinColumn)({ name: 'payeeAccountId', referencedColumnName: 'id' }), __metadata("design:type", account_1.default) ], TransactionEntity.prototype, "payee", void 0); __decorate([ (0, typeorm_1.ManyToOne)(() => user_1.default, (user) => user.transactions), (0, typeorm_1.JoinColumn)({ name: 'userId', referencedColumnName: 'id' }), __metadata("design:type", user_1.default) ], TransactionEntity.prototype, "user", void 0); __decorate([ (0, typeorm_1.ManyToOne)(() => payment_account_1.default, (account) => account.transactions), (0, typeorm_1.JoinColumn)({ name: 'payeePaymentAccountId', referencedColumnName: 'id' }), __metadata("design:type", payment_account_1.default) ], TransactionEntity.prototype, "payeePaymentAccount", void 0); __decorate([ (0, typeorm_1.OneToMany)(() => transaction_approvals_1.default, (transactionEntity) => transactionEntity.transaction), __metadata("design:type", Array) ], TransactionEntity.prototype, "transactionApprovals", void 0); __decorate([ (0, typeorm_1.ManyToOne)(() => operation_log_1.default), (0, typeorm_1.JoinColumn)({ name: 'id', referencedColumnName: 'transactionId' }), __metadata("design:type", operation_log_1.default) ], TransactionEntity.prototype, "operationLog", void 0); __decorate([ (0, typeorm_1.ManyToOne)(() => metadata_1.default), (0, typeorm_1.JoinColumn)({ name: 'bankId', referencedColumnName: 'operationId' }), __metadata("design:type", metadata_1.default) ], TransactionEntity.prototype, "metadata", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", String) ], TransactionEntity.prototype, "favoredTax", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", String) ], TransactionEntity.prototype, "favoredName", void 0); __decorate([ (0, typeorm_1.Column)({ type: 'uuid' }), __metadata("design:type", String) ], TransactionEntity.prototype, "favoredId", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", String) ], TransactionEntity.prototype, "payerTax", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", String) ], TransactionEntity.prototype, "payerName", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", String) ], TransactionEntity.prototype, "payerBankAccount", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", String) ], TransactionEntity.prototype, "payerBankAgency", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", String) ], TransactionEntity.prototype, "payerBankCode", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", Number) ], TransactionEntity.prototype, "totalAmount", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", String) ], TransactionEntity.prototype, "dueDate", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", String) ], TransactionEntity.prototype, "txId", void 0); __decorate([ (0, typeorm_1.Column)({ type: 'varchar' }), __metadata("design:type", String) ], TransactionEntity.prototype, "qrCodeType", void 0); __decorate([ (0, typeorm_1.Column)({ type: 'float' }), __metadata("design:type", Number) ], TransactionEntity.prototype, "points", void 0); __decorate([ (0, typeorm_1.Column)({ type: 'int4' }), __metadata("design:type", Number) ], TransactionEntity.prototype, "paymentMethod", void 0); __decorate([ (0, typeorm_1.Column)({ type: 'float' }), __metadata("design:type", Number) ], TransactionEntity.prototype, "discount", void 0); __decorate([ (0, typeorm_1.Column)({ type: 'float' }), __metadata("design:type", Number) ], TransactionEntity.prototype, "bonus", void 0); __decorate([ (0, typeorm_1.ManyToOne)(() => payment_account_1.default, (paymentAccount) => paymentAccount.transactions), (0, typeorm_1.JoinColumn)({ name: 'paymentAccountId', referencedColumnName: 'id' }), __metadata("design:type", payment_account_1.default) ], TransactionEntity.prototype, "paymentAccount", void 0); __decorate([ (0, typeorm_1.ManyToOne)(() => favored_contact_1.default, (favored) => favored.transactions), (0, typeorm_1.JoinColumn)({ name: 'favoredId', referencedColumnName: 'id' }), __metadata("design:type", favored_contact_1.default) ], TransactionEntity.prototype, "favored", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", String) ], TransactionEntity.prototype, "boletoKey", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", String) ], TransactionEntity.prototype, "boletoBeneficiary", void 0); __decorate([ (0, typeorm_1.OneToMany)(() => checkout_transaction_1.default, (checkoutTransaction) => checkoutTransaction.transaction), __metadata("design:type", Array) ], TransactionEntity.prototype, "checkouts", void 0); __decorate([ (0, typeorm_1.OneToMany)(() => transaction_detail_1.default, (transactionDetail) => transactionDetail.transaction), __metadata("design:type", Array) ], TransactionEntity.prototype, "details", void 0); __decorate([ (0, typeorm_1.Column)({ type: 'int4' }), __metadata("design:type", Number) ], TransactionEntity.prototype, "partner", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", String) ], TransactionEntity.prototype, "partnerTransactionId", void 0); __decorate([ (0, typeorm_1.Column)({ type: 'float8' }), __metadata("design:type", Number) ], TransactionEntity.prototype, "availableRefundAmount", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", String) ], TransactionEntity.prototype, "receivableId", void 0); __decorate([ (0, typeorm_1.ManyToOne)(() => receivables_1.default, (receivables) => receivables.transactions), (0, typeorm_1.JoinColumn)({ name: 'receivableId', referencedColumnName: 'id' }), __metadata("design:type", receivables_1.default) ], TransactionEntity.prototype, "receivables", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", String) ], TransactionEntity.prototype, "partnerAccountId", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", String) ], TransactionEntity.prototype, "partnerBankAccount", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", String) ], TransactionEntity.prototype, "partnerBankAgency", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", String) ], TransactionEntity.prototype, "favoredBankName", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", String) ], TransactionEntity.prototype, "deviceId", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", String) ], TransactionEntity.prototype, "roleGroupId", void 0); __decorate([ (0, typeorm_1.Column)(), __metadata("design:type", String) ], TransactionEntity.prototype, "customTransactionIdentifier", void 0); __decorate([ (0, typeorm_1.OneToOne)(() => insurance_contract_payments_1.InsuranceContractPaymentsEntity, (insuranceContractPayments) => insuranceContractPayments.transaction), __metadata("design:type", insurance_contract_payments_1.InsuranceContractPaymentsEntity) ], TransactionEntity.prototype, "insuranceContractPayments", void 0); __decorate([ (0, typeorm_1.OneToOne)(() => transaction_antifraud_1.default, (transactionAntifraud) => transactionAntifraud.transaction), (0, typeorm_1.JoinColumn)({ name: 'id', referencedColumnName: 'transactionId' }), __metadata("design:type", transaction_antifraud_1.default) ], TransactionEntity.prototype, "transactionAntifraud", void 0); __decorate([ (0, typeorm_1.OneToOne)(() => transaction_antifraud_analysis_1.default, (transactionAntifraudAnalysis) => transactionAntifraudAnalysis.transaction), (0, typeorm_1.JoinColumn)({ name: 'id', referencedColumnName: 'transactionId' }), __metadata("design:type", transaction_antifraud_1.default) ], TransactionEntity.prototype, "transactionAntifraudAnalysis", void 0); TransactionEntity = __decorate([ (0, typeorm_1.Entity)('transaction') ], TransactionEntity); exports.default = TransactionEntity;