"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GiftContributionSchema = exports.GiftContribution = exports.GiftSchema = exports.Gift = void 0; const core_1 = require("@mikro-orm/core"); const uuid_1 = require("uuid"); const base_entity_1 = require("../../core/entities/base.entity"); class Gift extends base_entity_1.BaseEntity { constructor() { super(...arguments); this.status = 'pending'; } } exports.Gift = Gift; exports.GiftSchema = new core_1.EntitySchema({ class: Gift, tableName: 'gifts', properties: { id: { type: 'uuid', primary: true, default: (0, uuid_1.v4)(), }, tenantId: { type: 'string', }, metadata: { type: 'json', nullable: true, }, createdAt: { type: 'date', default: new Date(), }, updatedAt: { type: 'date', default: new Date(), }, name: { type: 'string', }, description: { type: 'string', nullable: true, }, imageUrl: { type: 'string', nullable: true, }, price: { type: 'float', nullable: true, }, experience: { type: 'boolean', nullable: true, }, status: { type: 'string', default: 'pending', }, ownerId: { type: 'string', nullable: true, }, }, }); class GiftContribution extends base_entity_1.BaseEntity { constructor() { super(...arguments); this.type = 'individual'; this.status = 'pending'; } } exports.GiftContribution = GiftContribution; exports.GiftContributionSchema = new core_1.EntitySchema({ class: GiftContribution, tableName: 'gift_contributions', properties: { id: { type: 'uuid', primary: true, default: (0, uuid_1.v4)(), }, tenantId: { type: 'string', }, metadata: { type: 'json', nullable: true, }, createdAt: { type: 'date', default: new Date(), }, updatedAt: { type: 'date', default: new Date(), }, giftId: { type: 'uuid', }, contributorName: { type: 'string', }, contributorEmail: { type: 'string', nullable: true, }, amount: { type: 'float', }, type: { type: 'string', default: 'individual', }, status: { type: 'string', default: 'pending', }, }, });