@fesmex/models 0.1.55 → 0.1.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +90 -51
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +41 -24
- package/dist/index.d.ts +41 -24
- package/dist/index.js +92 -54
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/clients/models/Clients.ts","../src/clients/models/ClientsContact.ts","../src/clients/models/ClientsAddress.ts","../src/clients/models/ClientsPaymentMethod.ts","../src/clients/models/ClientsPaymentTerm.ts","../src/clients/models/ClientsPriceList.ts","../src/clients/models/ClientsSalesEmployee.ts","../src/inventory/models/Article.ts","../src/inventory/models/ArticleGroups.ts","../src/inventory/models/ArticleClasses.ts","../src/inventory/models/ArticlePrices.ts","../src/inventory/models/Currencies.ts","../src/inventory/models/Warehouses.ts","../src/inventory/models/InventoryStocks.ts","../src/inventory/models/PriceLists.ts","../src/inventory/models/Category.ts","../src/inventory/models/Tag.ts","../src/inventory/models/ArticleViews.ts","../src/quotes/models/Quote.ts","../src/quotes/models/QuoteArticle.ts","../src/quotes/models/QuoteArticleExtra.ts","../src/quotes/models/QuoteContact.ts","../src/quotes/models/QuoteTerm.ts","../src/customers/models/Customers.ts","../src/customers/models/FiscalProfileType.ts","../src/orders/models/Orders.ts","../src/orders/models/OrderStatusLogs.ts","../src/sap/models/SyncLog.ts","../src/announcements/models/Announcements.ts","../src/users/models/Users.ts","../src/carts/models/Carts.ts","../src/auth/models/RefreshTokens.ts","../src/auth/models/PasswordResetTokens.ts","../src/auth/models/EmailVerificationTokens.ts","../src/payments/models/PaymentMethods.ts","../src/payments/models/Payments.ts"],"sourcesContent":["export * from \"./clients\"\nexport * from \"./inventory\"\nexport * from \"./quotes\"\nexport * from \"./customers\"\nexport * from \"./orders\"\nexport * from \"./sap\"\nexport * from \"./announcements\"\nexport * from \"./users\"\nexport * from \"./carts\"\nexport * from \"./auth\"\nexport * from \"./payments\"\n","import mongoose, { Schema, model } from \"mongoose\"\n\nexport interface ClientType {\n\tsn_code?: string | null\n\tsn_name?: string | null\n\ttax_id?: string | null\n\tcurrency?: string | null\n\tphone_1?: string | null\n\temail?: string | null\n\tcomments?: string | null\n\tpipedrive_id?: string | null\n\tsap_id?: string | null\n\tdeleted_at?: Date | null\n\tdeleted_by?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientSchema = new Schema<ClientType>(\n\t{\n\t\tsn_code: { type: String, index: true },\n\t\tsn_name: { type: String, required: true },\n\t\ttax_id: { type: String },\n\t\tcurrency: { type: String },\n\t\tphone_1: { type: String },\n\t\temail: { type: String },\n\t\tcomments: { type: String },\n\t\tpipedrive_id: { type: String },\n\t\tsap_id: { type: String },\n\t\tdeleted_at: { type: Date, default: null },\n\t\tdeleted_by: { type: String, default: null },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.Client || model<ClientType>(\"Client\", clientSchema, \"clients\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientContactType {\n\tclient_id: Types.ObjectId\n\tcontact_person_name?: string | null\n\tfirst_name?: string | null\n\tlast_name?: string | null\n\tcontact_phone?: string | null\n\tcontact_email?: string | null\n\tpipedrive_id?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientContactSchema = new Schema<ClientContactType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\tcontact_person_name: { type: String },\n\t\tfirst_name: { type: String },\n\t\tlast_name: { type: String },\n\t\tcontact_phone: { type: String },\n\t\tcontact_email: { type: String },\n\t\tpipedrive_id: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientContact || model<ClientContactType>(\"ClientContact\", clientContactSchema, \"client_contacts\")","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientAddressType {\n\tclient_id: Types.ObjectId\n\taddress_name?: string | null\n\tstreet?: string | null\n\tneighborhood?: string | null\n\tpostal_code?: string | null\n\tcity?: string | null\n\tstate?: string | null\n\tcountry?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientAddressSchema = new Schema<ClientAddressType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\taddress_name: { type: String },\n\t\tstreet: { type: String },\n\t\tneighborhood: { type: String },\n\t\tpostal_code: { type: String },\n\t\tcity: { type: String },\n\t\tstate: { type: String },\n\t\tcountry: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientAddress || model<ClientAddressType>(\n\t\"ClientAddress\",\n\tclientAddressSchema,\n\t\"client_addresses\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientPaymentMethodType {\n\tclient_id: Types.ObjectId\n\tcode?: string | null\n\tdescription?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientPaymentMethodSchema = new Schema<ClientPaymentMethodType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tunique: true,\n\t\t},\n\t\tcode: { type: String },\n\t\tdescription: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientPaymentMethod || model<ClientPaymentMethodType>(\n\t\"ClientPaymentMethod\",\n\tclientPaymentMethodSchema,\n\t\"client_payment_methods\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientPaymentTermType {\n\tclient_id: Types.ObjectId\n\tcode?: string | null\n\tname?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientPaymentTermSchema = new Schema<ClientPaymentTermType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tunique: true,\n\t\t},\n\t\tcode: { type: String },\n\t\tname: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientPaymentTerm || model<ClientPaymentTermType>(\n\t\"ClientPaymentTerm\",\n\tclientPaymentTermSchema,\n\t\"client_payment_terms\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientPriceListType {\n\tclient_id: Types.ObjectId\n\tnumber?: string | null\n\tname?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientPriceListSchema = new Schema<ClientPriceListType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tunique: true,\n\t\t},\n\t\tnumber: { type: String },\n\t\tname: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientPriceList || model<ClientPriceListType>(\n\t\"ClientPriceList\",\n\tclientPriceListSchema,\n\t\"client_price_lists\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientSalesEmployeeType {\n\tclient_id: Types.ObjectId\n\temployee_code?: string | null\n\temployee_name?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientSalesEmployeeSchema = new Schema<ClientSalesEmployeeType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tunique: true,\n\t\t},\n\t\temployee_code: { type: String },\n\t\temployee_name: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientSalesEmployee || model<ClientSalesEmployeeType>(\n\t\"ClientSalesEmployee\",\n\tclientSalesEmployeeSchema,\n\t\"client_sales_employees\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nconst articleFileSchema = new Schema(\n\t{\n\t\tkey: { type: String, required: true },\n\t\turl: { type: String, required: true },\n\t\tfilename: { type: String, required: true },\n\t\tmime_type: { type: String, required: true },\n\t\tsize: { type: Number, required: true },\n\t\tuploaded_at: { type: Date, default: Date.now },\n\t\tuploaded_by: { type: String, required: true },\n\t},\n\t{ _id: false }\n)\n\nconst articleSchema = new Schema({\n\tarticle_number: { type: String, required: true, unique: true }, // SAP ItemCode\n\tdescription: { type: String, required: true },\n\tunit: { type: String, required: true },\n\tbrand: { type: String },\n\tmodel: { type: String },\n\tgroup_id: { type: Types.ObjectId, ref: \"ArticleGroup\", required: true },\n\tcategory_id: { type: Types.ObjectId, ref: \"Category\", required: false, index: true },\n\ttags: { type: [Types.ObjectId], ref: \"Tag\", default: [], index: true },\n\tis_featured: { type: Boolean, default: false, index: true },\n\tfeatured_order: { type: Number, default: 0 },\n\tfiles: {\n\t\timages: { type: [articleFileSchema], required: false },\n\t\tdatasheets: { type: [articleFileSchema], required: false },\n\t},\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n\tdeleted_at: { type: Date },\n})\n\narticleSchema.index(\n\t{ description: \"text\", brand: \"text\", model: \"text\" },\n\t{ name: \"articles_text_search\" }\n)\narticleSchema.index({ group_id: 1, updated_at: -1 }, { name: \"articles_group_updated\" })\narticleSchema.index({ category_id: 1, updated_at: -1 }, { name: \"articles_category_updated\" })\narticleSchema.index({ updated_at: -1 }, { name: \"articles_updated\" })\narticleSchema.index(\n\t{ deleted_at: 1, updated_at: -1 },\n\t{ name: \"articles_not_deleted_sort\" }\n)\narticleSchema.index({ is_featured: 1, featured_order: 1 }, { name: \"articles_featured_order\" })\n\nexport default mongoose.models.Article || model(\"Article\", articleSchema, \"articles\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst articleGroupSchema = new Schema({\n\tname: { type: String, required: true },\n\tdescription: { type: String },\n})\n\nexport default mongoose.models.ArticleGroup || model(\"ArticleGroup\", articleGroupSchema, \"article_groups\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst articleClassSchema = new Schema({\n\tname: { type: String, required: true },\n\tdescription: { type: String },\n})\n\nexport default mongoose.models.ArticleClass || model(\"ArticleClass\", articleClassSchema, \"article_classes\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nconst articlePriceSchema = new Schema({\n\tarticle_id: { type: Types.ObjectId, ref: \"Article\", required: true },\n\tprice_list_id: { type: Types.ObjectId, ref: \"PriceList\", required: true },\n\tcurrency_id: { type: Types.ObjectId, ref: \"Currency\", required: true },\n\tprice: { type: Number, required: true },\n\tvalid_from: { type: Date },\n\tvalid_to: { type: Date },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n})\n\narticlePriceSchema.index({ article_id: 1, price_list_id: 1 }, { name: \"article_prices_article_pricelist\" })\n\nexport default mongoose.models.ArticlePrice || model(\"ArticlePrice\", articlePriceSchema, \"article_prices\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst currencySchema = new Schema({\n\tcode: { type: String, required: true, unique: true },\n\tsymbol: { type: String, required: true },\n\tname: { type: String, required: true },\n})\n\nexport default mongoose.models.Currency || model(\"Currency\", currencySchema, \"currencies\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst warehouseSchema = new Schema({\n\tcode: { type: String, required: true, unique: true },\n\tname: { type: String, required: true },\n\tlocation: { type: String },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n})\n\nexport default mongoose.models.Warehouse || model(\"Warehouse\", warehouseSchema, \"warehouses\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nconst inventoryStockSchema = new Schema({\n\tarticle_id: { type: Types.ObjectId, ref: \"Article\", required: true },\n\twarehouse_id: { type: Types.ObjectId, ref: \"Warehouse\", required: true },\n\tcount: { type: Number, required: true },\n\tmin_stock: { type: Number },\n\tmax_stock: { type: Number },\n\tupdated_at: { type: Date, default: Date.now },\n\tupdated_by: { type: Types.ObjectId, ref: \"User\" },\n})\n\ninventoryStockSchema.index({ article_id: 1, warehouse_id: 1 }, { name: \"inventory_stocks_article_warehouse_unique\", unique: true })\n\nexport default mongoose.models.InventoryStock || model(\"InventoryStock\", inventoryStockSchema, \"inventory_stocks\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst priceListSchema = new Schema({\n\tnumber: { type: String, required: true, unique: true },\n\tname: { type: String, required: true },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n})\n\nexport default mongoose.models.PriceList || model(\"PriceList\", priceListSchema, \"price_lists\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nconst categorySchema = new Schema({\n\tname: { type: String, required: true, trim: true },\n\tslug: { type: String, required: true, trim: true, lowercase: true },\n\tparent_id: { type: Types.ObjectId, ref: \"Category\", default: null, index: true },\n\torder: { type: Number, default: 0 },\n\tis_active: { type: Boolean, default: true, index: true },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date, default: Date.now },\n})\n\ncategorySchema.index({ slug: 1 }, { unique: true, name: \"categories_slug_unique\" })\ncategorySchema.index({ parent_id: 1 }, { name: \"categories_parent\" })\ncategorySchema.index({ is_active: 1 }, { name: \"categories_active\" })\n\nexport default mongoose.models.Category || model(\"Category\", categorySchema, \"categories\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst tagSchema = new Schema({\n\tname: { type: String, required: true, trim: true },\n\tslug: { type: String, required: true, trim: true, lowercase: true },\n\ttype: { type: String, enum: [\"filter\", \"sidebar\"], default: \"filter\", index: true },\n\tis_active: { type: Boolean, default: true, index: true },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date, default: Date.now },\n})\n\ntagSchema.index({ slug: 1 }, { unique: true, name: \"tags_slug_unique\" })\ntagSchema.index({ is_active: 1 }, { name: \"tags_active\" })\ntagSchema.index({ type: 1 }, { name: \"tags_type\" })\n\nexport default mongoose.models.Tag || model(\"Tag\", tagSchema, \"tags\")\n","import mongoose, { Schema, model, type Model, type HydratedDocument, type Types } from \"mongoose\"\n\nexport interface ArticleViewType {\n\tarticle_id: Types.ObjectId\n\tvisited_at: Date\n}\n\nexport type ArticleViewDoc = HydratedDocument<ArticleViewType>\nexport type ArticleViewModel = Model<ArticleViewType>\n\nconst articleViewSchema = new Schema<ArticleViewType>(\n\t{\n\t\tarticle_id: { type: Schema.Types.ObjectId, ref: \"Article\", required: true },\n\t\tvisited_at: { type: Date, default: Date.now },\n\t},\n\t{ collection: \"article_views\" }\n)\n\nconst ArticleView: ArticleViewModel =\n\t(mongoose.models.ArticleView as ArticleViewModel) ||\n\tmodel<ArticleViewType>(\"ArticleView\", articleViewSchema)\n\nexport default ArticleView\n","import mongoose, { Schema, model } from \"mongoose\"\n\nexport enum QuoteStatus {\n\tOPPORTUNITY = \"OPPORTUNITY\",\n\tQUOTE = \"QUOTE\",\n\tFOLLOWING = \"FOLLOWING\",\n\tNEGOTIATION = \"NEGOTIATION\",\n}\n\nexport enum Status {\n\tOPEN = \"OPEN\",\n\tWIN = \"WIN\",\n\tLOST = \"LOST\",\n\tDELETE = \"DELETE\",\n}\n\nexport enum CreatedMethod {\n\tMANUAL = \"MANUAL\",\n\tCSV = \"CSV\",\n}\n\nconst quoteSchema = new Schema(\n\t{\n\t\tquote_number: { type: Number, required: true },\n\t\tquote_revision: { type: Number, default: 0 },\n\t\tquote_ref: { type: String },\n\t\tcompany: { type: String },\n\t\tcompany_id: { type: Schema.Types.ObjectId, ref: \"Client\", required: true },\n\t\tcompany_pipedrive_id: { type: String },\n\t\tcontact_id: { type: Schema.Types.ObjectId, ref: \"ClientContact\" },\n\t\tproject_name: { type: String },\n\t\tproject_lab: { type: String },\n\t\tpayment_condition: { type: String },\n\t\tpayment_exp: { type: String },\n\t\tterms_ids: [{ type: Schema.Types.ObjectId, ref: \"QuoteTerm\" }],\n\t\tcurrency_id: { type: Schema.Types.ObjectId, ref: \"Currency\" },\n\t\tiva: { type: String },\n\t\tdate: { type: Date },\n\t\tstatus: { type: String, enum: Object.values(Status), default: Status.OPEN },\n\t\tquote_status: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(QuoteStatus),\n\t\t\tdefault: QuoteStatus.OPPORTUNITY,\n\t\t},\n\t\tsap_id: { type: String },\n\t\tsap_quotation_entry: { type: Number },\n\t\tsap_order_entry: { type: Number },\n\t\tpipedrive_id: { type: String },\n\t\tshould_sync: { type: Boolean, default: false },\n\t\tpdf_download_link: { type: String },\n\t\tnotes: { type: String },\n\t\tcreated_method: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(CreatedMethod),\n\t\t\tdefault: CreatedMethod.MANUAL,\n\t\t},\n\t\tcreated_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t\tupdated_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t\tdeleted_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t\tdeleted_at: { type: Date },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.Quote || model(\"Quote\", quoteSchema, \"quotes\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst quoteArticleSchema = new Schema(\n\t{\n\t\tquote_id: { type: Schema.Types.ObjectId, ref: \"Quote\", required: true },\n\t\tarticle_id: { type: Schema.Types.ObjectId, ref: \"Article\" },\n\t\tarticle_number: { type: String },\n\t\tdescription: { type: String },\n\t\tdelivery: { type: String },\n\t\tquantity: { type: Number },\n\t\tprice: { type: Number },\n\t\tunit_price: { type: Number },\n\t\toriginal_price: { type: Number },\n\t\ttotal: { type: Number },\n\t\tutility: { type: Number },\n\t\ttype: { type: String },\n\t\textra_id: { type: Schema.Types.ObjectId, ref: \"QuoteArticleExtra\" },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.QuoteArticle || model(\"QuoteArticle\", quoteArticleSchema, \"quote_articles\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst quoteArticleExtraSchema = new Schema(\n\t{\n\t\tquote_article_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"QuoteArticle\",\n\t\t\trequired: true,\n\t\t},\n\t\tmultiplier: Number,\n\t\tusa_freight: Number,\n\t\tusa_expenses: Number,\n\t\tduty: Number,\n\t\tmex_freight: Number,\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.QuoteArticleExtra || model(\"QuoteArticleExtra\", quoteArticleExtraSchema, \"quote_article_extras\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst quoteContactSchema = new Schema({\n\tquote_id: { type: Schema.Types.ObjectId, ref: \"Quote\", required: true },\n\tname: String,\n\temail: String,\n\tmobile: String,\n\tpipedrive_id: String,\n\tcreated_at: { type: Date, default: Date.now },\n})\n\nexport default mongoose.models.QuoteContact || model(\"QuoteContact\", quoteContactSchema, \"quote_contacts\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst quoteTermSchema = new Schema(\n\t{\n\t\ttitle: String,\n\t\tcontent: { type: String, required: true },\n\t\tcategory: String,\n\t\tis_active: { type: Boolean, default: true },\n\t\tcreated_by: String,\n\t\tupdated_by: String,\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.QuoteTerm || model(\"QuoteTerm\", quoteTermSchema, \"quote_terms\")\n","import mongoose, {\n\tSchema,\n\tmodel,\n\ttype Model,\n\ttype HydratedDocument,\n\ttype Types,\n} from \"mongoose\";\nimport bcrypt from \"bcryptjs\";\n\nexport enum CustomerStatus {\n\tACTIVE = \"active\",\n\tINACTIVE = \"inactive\",\n\tBANNED = \"banned\",\n}\n\nexport interface CustomerType {\n\tfirst_name: string;\n\tlast_name: string;\n\temail: string;\n\tmobile?: string;\n\tpassword: string;\n\tstatus: CustomerStatus;\n\tfiscal_profile_id?: Types.ObjectId;\n\tcreated_at: Date;\n\tupdated_at?: Date;\n\tdeleted_at?: Date;\n}\n\nexport type CustomerDoc = HydratedDocument<CustomerType>;\nexport type CustomerModel = Model<CustomerType>;\n\nconst customerSchema = new Schema<CustomerType>({\n\tfirst_name: { type: String, required: true },\n\tlast_name: { type: String, required: true },\n\temail: { type: String, required: true, unique: true },\n\tmobile: { type: String },\n\tpassword: { type: String, required: true, select: false },\n\tstatus: {\n\t\ttype: String,\n\t\tenum: Object.values(CustomerStatus),\n\t\tdefault: CustomerStatus.INACTIVE,\n\t},\n\tfiscal_profile_id: { type: Schema.Types.ObjectId, ref: \"FiscalProfile\" },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n\tdeleted_at: { type: Date },\n});\n\ncustomerSchema.pre(\"save\", async function() {\n\tif (this.isModified(\"password\")) {\n\t\tthis.password = await bcrypt.hash(this.password, 12);\n\t}\n});\n\nconst Customer: CustomerModel =\n\t(mongoose.models.Customer as CustomerModel) ||\n\tmodel<CustomerType>(\"Customer\", customerSchema, \"customers\");\n\nexport default Customer;\n","import mongoose, { Schema, model, type Model, type HydratedDocument, type Types } from \"mongoose\";\n\nexport interface FiscalProfileType {\n\tcustomer_id: Types.ObjectId;\n\trfc: string;\n\trazon_social: string;\n\tuso_cfdi: string;\n\tregimen_fiscal: string;\n\tcp: string;\n\tcreated_at: Date;\n\tupdated_at?: Date;\n}\n\nexport type FiscalProfileDoc = HydratedDocument<FiscalProfileType>;\nexport type FiscalProfileModel = Model<FiscalProfileType>;\n\nconst fiscalProfileSchema = new Schema<FiscalProfileType>({\n\tcustomer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n\trfc: { type: String, required: true },\n\trazon_social: { type: String, required: true },\n\tuso_cfdi: { type: String, required: true },\n\tregimen_fiscal: { type: String, required: true },\n\tcp: { type: String, required: true },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n});\n\nconst FiscalProfile: FiscalProfileModel =\n\t(mongoose.models.FiscalProfile as FiscalProfileModel) ||\n\tmodel<FiscalProfileType>(\"FiscalProfile\", fiscalProfileSchema, \"fiscal_profiles\");\n\nexport default FiscalProfile;\n","import mongoose, { Schema, model } from \"mongoose\"\n\nexport enum OrderStatus {\n\tPENDING = \"pending\",\n\tCONFIRMED = \"confirmed\",\n\tSHIPPED = \"shipped\",\n\tCANCELLED = \"cancelled\",\n\tCOMPLETED = \"completed\",\n}\n\nexport enum PaymentMethod {\n\tCARD = \"CARD\",\n\tTRANSFER = \"TRANSFER\",\n}\n\nexport enum PaymentStatus {\n\tUNPAID = \"UNPAID\",\n\tPENDING_TRANSFER = \"PENDING_TRANSFER\",\n\tPAID = \"PAID\",\n\tREFUNDED = \"REFUNDED\",\n}\n\nconst shippingAddressSchema = new Schema(\n\t{\n\t\tfull_name: { type: String, required: true, trim: true },\n\t\tphone: { type: String, required: true, trim: true },\n\t\tline1: { type: String, required: true, trim: true },\n\t\tline2: { type: String, trim: true },\n\t\tcity: { type: String, required: true, trim: true },\n\t\tstate: { type: String, required: true, trim: true },\n\t\tpostal_code: { type: String, required: true, trim: true },\n\t\tcountry: { type: String, required: true, trim: true, default: \"MX\" },\n\t},\n\t{ _id: false }\n)\n\nconst orderItemSchema = new Schema(\n\t{\n\t\tarticle_id: { type: Schema.Types.ObjectId, ref: \"Article\", required: true },\n\t\tquantity: { type: Number, required: true, min: 1 },\n\t\tunit_price: { type: Number, required: true, min: 0 },\n\t\ttotal: { type: Number, required: true, min: 0 },\n\t},\n\t{ _id: false }\n)\n\nconst orderSchema = new Schema(\n\t{\n\t\tcustomer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n\t\titems: { type: [orderItemSchema], required: true, default: [] },\n\n\t\tstatus: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(OrderStatus),\n\t\t\tdefault: OrderStatus.PENDING,\n\t\t\trequired: true,\n\t\t},\n\n\t\ttracking_number: { type: String },\n\n\t\tpayment_method: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(PaymentMethod),\n\t\t\trequired: true,\n\t\t},\n\n\t\tpayment_status: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(PaymentStatus),\n\t\t\tdefault: PaymentStatus.UNPAID,\n\t\t\trequired: true,\n\t\t},\n\n\t\texpires_at: { type: Date },\n\n\t\tshipping_address: { type: shippingAddressSchema, required: false },\n\t\tdelivery_type: { type: String, enum: ['shipping', 'pickup'], required: true },\n\t\tsubtotal: { type: Number, required: true, min: 0 },\n\t\tshipping_fee: { type: Number, min: 0, default: null },\n\t\ttotal: { type: Number, required: true, min: 0 },\n\t\tnotes: { type: String, trim: true },\n\t},\n\t{\n\t\ttimestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" },\n\t}\n)\n\norderSchema.index(\n\t{ customer_id: 1, created_at: -1 },\n\t{ name: \"orders_customer_created\" }\n)\n\norderSchema.index(\n\t{ expires_at: 1 },\n\t{ name: \"orders_expires_at\" }\n)\n\norderSchema.index(\n\t{ \"shipping_address.postal_code\": 1, created_at: -1 },\n\t{ name: \"orders_postal_created\" }\n)\n\nexport default mongoose.models.Order || model(\"Order\", orderSchema, \"orders\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\nimport { OrderStatus } from \"./Orders\"\n\nexport interface OrderStatusLogType {\n\torder_id: Types.ObjectId\n\tstatus: OrderStatus\n\tchanged_by: Types.ObjectId\n\tchanged_at?: Date\n\tnote?: string\n}\n\nconst orderStatusLogSchema = new Schema<OrderStatusLogType>(\n\t{\n\t\torder_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Order\",\n\t\t\trequired: true,\n\t\t},\n\t\tstatus: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(OrderStatus),\n\t\t\trequired: true,\n\t\t},\n\t\tchanged_by: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"User\",\n\t\t\trequired: true,\n\t\t},\n\t\tchanged_at: {\n\t\t\ttype: Date,\n\t\t\tdefault: Date.now,\n\t\t},\n\t\tnote: {\n\t\t\ttype: String,\n\t\t\ttrim: true,\n\t\t},\n\t},\n\t{ collection: \"order_status_logs\" }\n)\n\norderStatusLogSchema.index(\n\t{ order_id: 1, changed_at: -1 },\n\t{ name: \"order_status_logs_order_changed_at\" }\n)\norderStatusLogSchema.index(\n\t{ changed_by: 1, changed_at: -1 },\n\t{ name: \"order_status_logs_changed_by_changed_at\" }\n)\n\nexport default\nmongoose.models.OrderStatusLog ||\nmodel<OrderStatusLogType>(\"OrderStatusLog\", orderStatusLogSchema)\n","import mongoose, { Schema, model, Document, Types } from \"mongoose\"\n\n/**\n * Sync Log Types\n */\nexport enum SyncLogType {\n\tSAP_QUOTATION = \"SAP_QUOTATION\",\n\tSAP_SALES_ORDER = \"SAP_SALES_ORDER\",\n\tPIPEDRIVE = \"PIPEDRIVE\",\n}\n\nexport enum SyncLogStatus {\n\tPENDING = \"PENDING\",\n\tSUCCESS = \"SUCCESS\",\n\tFAILED = \"FAILED\",\n\tRETRYING = \"RETRYING\",\n}\n\nexport enum SyncLogAction {\n\tCREATE = \"CREATE\",\n\tUPDATE = \"UPDATE\",\n\tDELETE = \"DELETE\",\n}\n\nexport interface ISyncLog extends Document {\n\t_id: Types.ObjectId\n\tentity_type: string\n\tentity_id: Types.ObjectId\n\tsync_type: SyncLogType\n\taction: SyncLogAction\n\tstatus: SyncLogStatus\n\terror_message?: string\n\terror_code?: string\n\terror_details?: Record<string, any>\n\trequest_payload?: Record<string, any>\n\tresponse_payload?: Record<string, any>\n\tretry_count: number\n\tmax_retries: number\n\tnext_retry_at?: Date\n\tcreated_at: Date\n\tupdated_at: Date\n\tresolved_at?: Date\n\tresolved_by?: Types.ObjectId\n}\n\nconst syncLogSchema = new Schema(\n\t{\n\t\tentity_type: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\tentity_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\tsync_type: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(SyncLogType),\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\taction: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(SyncLogAction),\n\t\t\trequired: true,\n\t\t},\n\t\tstatus: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(SyncLogStatus),\n\t\t\tdefault: SyncLogStatus.PENDING,\n\t\t\tindex: true,\n\t\t},\n\t\terror_message: { type: String },\n\t\terror_code: { type: String },\n\t\terror_details: { type: Schema.Types.Mixed },\n\t\trequest_payload: { type: Schema.Types.Mixed },\n\t\tresponse_payload: { type: Schema.Types.Mixed },\n\t\tretry_count: { type: Number, default: 0 },\n\t\tmax_retries: { type: Number, default: 3 },\n\t\tnext_retry_at: { type: Date },\n\t\tresolved_at: { type: Date },\n\t\tresolved_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t},\n\t{\n\t\ttimestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" },\n\t}\n)\n\nsyncLogSchema.index({ entity_type: 1, entity_id: 1, status: 1 })\nsyncLogSchema.index({ status: 1, next_retry_at: 1 })\n\nexport const SyncLog = mongoose.models.SyncLog || model<ISyncLog>(\"SyncLog\", syncLogSchema, \"sync_logs\")\n","import mongoose, { Schema, model } from \"mongoose\"\nimport { UserRole } from \"../../users/models/Users\"\n\nexport interface AnnouncementType {\n\tcreated_by: mongoose.Types.ObjectId\n\tupdated_by?: mongoose.Types.ObjectId\n\tdeleted_by?: mongoose.Types.ObjectId\n\n\tcreated_at: Date\n\tupdated_at?: Date\n\tdeleted_at?: Date\n\n\ttitle: string\n\ttext: string\n\troles: UserRole[]\n}\n\nconst announcementSchema = new Schema<AnnouncementType>({\n\tcreated_by: {\n\t\ttype: Schema.Types.ObjectId,\n\t\tref: \"User\",\n\t\trequired: true,\n\t},\n\tupdated_by: {\n\t\ttype: Schema.Types.ObjectId,\n\t\tref: \"User\",\n\t},\n\tdeleted_by: {\n\t\ttype: Schema.Types.ObjectId,\n\t\tref: \"User\",\n\t},\n\n\tcreated_at: {\n\t\ttype: Date,\n\t\tdefault: Date.now,\n\t},\n\tupdated_at: Date,\n\tdeleted_at: Date,\n\n\ttitle: {\n\t\ttype: String,\n\t\trequired: true,\n\t\ttrim: true,\n\t},\n\ttext: {\n\t\ttype: String,\n\t\trequired: true,\n\t\ttrim: true,\n\t},\n\troles: {\n\t\ttype: [String],\n\t\tenum: Object.values(UserRole),\n\t\trequired: true,\n\t\tvalidate: {\n\t\t\tvalidator: (roles: UserRole[]) => roles.length > 0,\n\t\t\tmessage: \"At least one user role must be assigned.\",\n\t\t},\n\t},\n})\n\nexport default mongoose.models.Announcement || model<AnnouncementType>(\"Announcement\", announcementSchema, \"announcements\")\n","import mongoose, { Schema, model } from \"mongoose\"\nimport bcrypt from \"bcryptjs\"\n\nexport enum UserRole {\n ADMIN = \"admin\",\n SALES = \"sales\",\n TECHNICIAN = \"technician\",\n WAREHOUSEMAN = \"warehouseman\",\n}\n\nexport enum UserStatus {\n ACTIVE = \"active\",\n INACTIVE = \"inactive\",\n SUSPENDED = \"suspended\",\n}\n\nexport interface UserType {\n first_name: string\n middle_name?: string\n last_name: string\n username: string\n password: string\n role: UserRole\n status: UserStatus\n email?: string\n mobile?: string\n pipedrive_id?: string\n sap_employee_id?: string\n sap_id?: string\n created_at: Date\n created_by?: mongoose.Types.ObjectId | string\n updated_at?: Date\n updated_by?: mongoose.Types.ObjectId\n deleted_at?: Date\n deleted_by?: mongoose.Types.ObjectId\n}\n\nconst usersSchema = new Schema<UserType>({\n first_name: { type: String, required: true },\n middle_name: { type: String },\n last_name: { type: String, required: true },\n username: { type: String, required: true, unique: true },\n password: { type: String, required: true, select: false },\n role: {\n type: String,\n enum: Object.values(UserRole),\n default: UserRole.SALES,\n },\n status: {\n type: String,\n enum: Object.values(UserStatus),\n default: UserStatus.ACTIVE,\n },\n email: { type: String },\n mobile: { type: String },\n pipedrive_id: { type: String },\n sap_id: { type: String },\n sap_employee_id: { type: String },\n created_at: { type: Date, default: Date.now },\n created_by: { type: Schema.Types.Mixed, ref: \"User\" },\n updated_at: { type: Date },\n updated_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n deleted_at: { type: Date },\n deleted_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n})\n\nusersSchema.pre(\"save\", async function () {\n if (this.isModified(\"password\")) {\n this.password = await bcrypt.hash(this.password, 12)\n }\n})\n\nexport default mongoose.models.User || model<UserType>(\"User\", usersSchema, \"users\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface CartItem {\n\tarticle_id: Schema.Types.ObjectId\n\tquantity: number\n\tunit_price?: number\n\tline_subtotal?: number\n\tadded_at?: Date\n}\n\nexport interface CartType {\n\tcustomer_id: Schema.Types.ObjectId\n\tstatus: \"ACTIVE\" | \"CHECKED_OUT\" | \"ABANDONED\"\n\tcurrency: string\n\tprice_list_id?: Schema.Types.ObjectId\n\texpires_at?: Date\n\tsubtotal: number\n\titems: CartItem[]\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\n// Items se identifican por article_id, por eso no generamos _id\nconst cartItemSchema = new Schema<CartItem>(\n\t{\n\t\tarticle_id: { type: Types.ObjectId, ref: \"Article\", required: true },\n\t\tquantity: { type: Number, required: true, min: 1 },\n\t\tunit_price: { type: Number },\n\t\tline_subtotal: { type: Number },\n\t\tadded_at: { type: Date, default: Date.now },\n\t},\n\t{ _id: false }\n)\n\nconst cartSchema = new Schema<CartType>(\n\t{\n\t\tcustomer_id: {\n\t\t\ttype: Types.ObjectId,\n\t\t\tref: \"Customer\",\n\t\t\trequired: true,\n\t\t},\n\t\tstatus: {\n\t\t\ttype: String,\n\t\t\tenum: [\"ACTIVE\", \"CHECKED_OUT\", \"ABANDONED\"],\n\t\t\tdefault: \"ACTIVE\",\n\t\t},\n\t\tcurrency: { type: String, default: \"MXN\" },\n\t\tprice_list_id: { type: Types.ObjectId, ref: \"PriceList\" },\n\t\texpires_at: { type: Date },\n\t\tsubtotal: { type: Number, default: 0 },\n\t\titems: { type: [cartItemSchema], default: [] },\n\t},\n\t{\n\t\ttimestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" },\n\t}\n)\n\n// 1 carrito por customer\ncartSchema.index({ customer_id: 1 }, { unique: true, name: \"carts_customer_unique\" })\n// Orden/limpieza por actualización\ncartSchema.index({ updated_at: -1 }, { name: \"carts_updated_at\" })\n\nexport default mongoose.models.Cart || model<CartType>(\"Cart\", cartSchema, \"carts\")\n","import mongoose, {\n\tSchema,\n\tmodel,\n\ttype Model,\n\ttype HydratedDocument,\n\ttype Types,\n} from \"mongoose\";\n\nexport interface RefreshTokenType {\n\tcustomer_id: Types.ObjectId;\n\ttoken_hash: string;\n\texpires_at: Date;\n\trevoked_at?: Date;\n\treplaced_by_token_hash?: string;\n\tcreated_at: Date;\n\tupdated_at?: Date;\n}\n\nexport type RefreshTokenDoc = HydratedDocument<RefreshTokenType>;\nexport type RefreshTokenModel = Model<RefreshTokenType>;\n\nconst refreshTokenSchema = new Schema<RefreshTokenType>({\n\tcustomer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n\t// Store only SHA-256 hash of the opaque refresh token (base64url). Never store the raw token.\n\ttoken_hash: { type: String, required: true },\n\texpires_at: { type: Date, required: true },\n\trevoked_at: { type: Date },\n\treplaced_by_token_hash: { type: String },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n});\n\nrefreshTokenSchema.index({ token_hash: 1 }, { unique: true });\nrefreshTokenSchema.index({ expires_at: 1 }, { expireAfterSeconds: 0 });\nrefreshTokenSchema.index({ customer_id: 1, expires_at: 1 });\n\nrefreshTokenSchema.pre(\"save\", function () {\n\tthis.updated_at = new Date();\n});\n\nconst RefreshToken: RefreshTokenModel =\n\t(mongoose.models.RefreshToken as RefreshTokenModel) ||\n\tmodel<RefreshTokenType>(\"RefreshToken\", refreshTokenSchema, \"refresh_tokens\");\n\nexport default RefreshToken;\n","import mongoose, {\n\tSchema,\n\tmodel,\n\ttype Model,\n\ttype HydratedDocument,\n\ttype Types,\n} from \"mongoose\";\n\nexport interface PasswordResetTokenType {\n\tcustomer_id: Types.ObjectId;\n\ttoken_hash: string;\n\texpires_at: Date;\n\tused_at?: Date;\n\tcreated_at: Date;\n\tupdated_at?: Date;\n}\n\nexport type PasswordResetTokenDoc = HydratedDocument<PasswordResetTokenType>;\nexport type PasswordResetTokenModel = Model<PasswordResetTokenType>;\n\nconst passwordResetTokenSchema = new Schema<PasswordResetTokenType>({\n\tcustomer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n\t// Store only SHA-256 hash of the opaque reset token (base64url). Never store the raw token.\n\ttoken_hash: { type: String, required: true },\n\texpires_at: { type: Date, required: true },\n\tused_at: { type: Date },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n});\n\npasswordResetTokenSchema.index({ token_hash: 1 }, { unique: true });\npasswordResetTokenSchema.index({ expires_at: 1 }, { expireAfterSeconds: 0 });\npasswordResetTokenSchema.index({ customer_id: 1, expires_at: 1 });\n\npasswordResetTokenSchema.pre(\"save\", function (next) {\n\tthis.updated_at = new Date();\n});\n\nconst PasswordResetToken: PasswordResetTokenModel =\n\t(mongoose.models.PasswordResetToken as PasswordResetTokenModel) ||\n\tmodel<PasswordResetTokenType>(\"PasswordResetToken\", passwordResetTokenSchema, \"password_reset_tokens\");\n\nexport default PasswordResetToken;\n","import mongoose, {\n Schema,\n model,\n type Model,\n type HydratedDocument,\n type Types,\n} from \"mongoose\"\n\nexport interface EmailVerificationTokenType {\n customer_id: Types.ObjectId\n token_hash: string\n expires_at: Date\n used_at?: Date\n created_at: Date\n updated_at?: Date\n}\n\nexport type EmailVerificationTokenDoc =\n HydratedDocument<EmailVerificationTokenType>\nexport type EmailVerificationTokenModel = Model<EmailVerificationTokenType>\n\nconst emailVerificationTokenSchema = new Schema<EmailVerificationTokenType>({\n customer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n // Store only SHA-256 hash of the opaque email verification token. Never store the raw token.\n token_hash: { type: String, required: true },\n expires_at: { type: Date, required: true },\n used_at: { type: Date },\n created_at: { type: Date, default: Date.now },\n updated_at: { type: Date },\n})\n\nemailVerificationTokenSchema.index({ token_hash: 1 }, { unique: true })\nemailVerificationTokenSchema.index({ expires_at: 1 }, { expireAfterSeconds: 0 })\nemailVerificationTokenSchema.index({ customer_id: 1, expires_at: 1 })\n\nconst EmailVerificationToken: EmailVerificationTokenModel =\n (mongoose.models.EmailVerificationToken as EmailVerificationTokenModel) ||\n model<EmailVerificationTokenType>(\n \"EmailVerificationToken\",\n emailVerificationTokenSchema,\n \"email_verification_tokens\"\n )\n\nexport default EmailVerificationToken\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport enum PaymentProvider {\n\tSTRIPE = \"stripe\",\n}\n\nexport enum PaymentMethodType {\n\tCARD = \"card\",\n\tAPPLE_PAY = \"apple_pay\",\n\tGOOGLE_PAY = \"google_pay\",\n\tBANK_TRANSFER = \"bank_transfer\",\n}\n\nexport type PaymentMethodWallet = \"apple_pay\" | \"google_pay\"\n\nexport interface CustomerPaymentMethodDocument {\n\tcustomer_id: Types.ObjectId\n\tprovider: PaymentProvider\n\tprovider_customer_id: string\n\tprovider_payment_method_id: string\n\ttype: PaymentMethodType\n\tbrand: string\n\tlast4: string\n\texp_month: number\n\texp_year: number\n\twallet?: PaymentMethodWallet | null\n\tis_default: boolean\n\tcreated_at: Date\n\tupdated_at?: Date\n\tdeleted_at?: Date\n\tdeleted_by?: Types.ObjectId\n}\n\nconst paymentMethodSchema = new Schema<CustomerPaymentMethodDocument>(\n\t{\n\t\tcustomer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n\t\tprovider: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(PaymentProvider),\n\t\t\tdefault: PaymentProvider.STRIPE,\n\t\t\trequired: true,\n\t\t},\n\t\tprovider_customer_id: { type: String, required: true, trim: true },\n\t\tprovider_payment_method_id: { type: String, required: true, trim: true },\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(PaymentMethodType),\n\t\t\tdefault: PaymentMethodType.CARD,\n\t\t\trequired: true,\n\t\t},\n\t\tbrand: { type: String, required: true },\n\t\tlast4: { type: String, required: true },\n\t\texp_month: { type: Number, required: true, min: 1, max: 12 },\n\t\texp_year: { type: Number, required: true },\n\t\twallet: {\n\t\t\ttype: String,\n\t\t\tenum: [\"apple_pay\", \"google_pay\"],\n\t\t\tdefault: null,\n\t\t},\n\t\tis_default: { type: Boolean, default: false },\n\t\tdeleted_at: { type: Date },\n\t\tdeleted_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\npaymentMethodSchema.index(\n\t{ customer_id: 1 },\n\t{ name: \"payment_methods_customer\" }\n)\n\npaymentMethodSchema.index(\n\t{ customer_id: 1, provider_payment_method_id: 1 },\n\t{ name: \"payment_methods_customer_provider_unique\", unique: true }\n)\n\npaymentMethodSchema.index(\n\t{ customer_id: 1, is_default: 1 },\n\t{ name: \"payment_methods_default_lookup\" }\n)\n\nexport default mongoose.models.CustomerPaymentMethod ||\n\tmodel<CustomerPaymentMethodDocument>(\"CustomerPaymentMethod\", paymentMethodSchema, \"customer_payment_methods\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport enum PaymentProvider {\n\tSTRIPE = \"stripe\",\n}\n\nexport enum TransactionStatus {\n\tPENDING = \"pending\",\n\tPROCESSING = \"processing\",\n\tSUCCEEDED = \"succeeded\",\n\tFAILED = \"failed\",\n\tREFUNDED = \"refunded\",\n}\n\nexport enum TransactionMethod {\n\tCARD = \"card\",\n\tAPPLE_PAY = \"apple_pay\",\n\tGOOGLE_PAY = \"google_pay\",\n\tBANK_TRANSFER = \"bank_transfer\",\n}\n\nexport interface OrderPaymentDocument {\n\torder_id: Types.ObjectId\n\tcustomer_id: Types.ObjectId\n\tpayment_method_id?: Types.ObjectId\n\tprovider: PaymentProvider\n\tprovider_payment_id?: string\n\tprovider_payment_intent_id: string\n\tmethod: TransactionMethod\n\tstatus: TransactionStatus\n\tamount: number\n\tcurrency: string\n\tcreated_at: Date\n\tupdated_at?: Date\n\tdeleted_at?: Date\n\tdeleted_by?: Types.ObjectId\n}\n\nconst orderPaymentSchema = new Schema<OrderPaymentDocument>(\n\t{\n\t\torder_id: { type: Schema.Types.ObjectId, ref: \"Order\", required: true },\n\t\tcustomer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n\t\tpayment_method_id: { type: Schema.Types.ObjectId, ref: \"ClientPaymentMethod\" },\n\t\tprovider: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(PaymentProvider),\n\t\t\tdefault: PaymentProvider.STRIPE,\n\t\t\trequired: true,\n\t\t},\n\t\tprovider_payment_id: { type: String },\n\t\tprovider_payment_intent_id: { type: String, required: true },\n\t\tmethod: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(TransactionMethod),\n\t\t\trequired: true,\n\t\t},\n\t\tstatus: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(TransactionStatus),\n\t\t\tdefault: TransactionStatus.PENDING,\n\t\t\trequired: true,\n\t\t},\n\t\tamount: { type: Number, required: true, min: 0 },\n\t\tcurrency: { type: String, required: true, default: \"MXN\" },\n\t\tdeleted_at: { type: Date },\n\t\tdeleted_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\norderPaymentSchema.index(\n\t{ order_id: 1 },\n\t{ name: \"order_payments_order\" }\n)\n\norderPaymentSchema.index(\n\t{ customer_id: 1, created_at: -1 },\n\t{ name: \"order_payments_customer_created\" }\n)\n\norderPaymentSchema.index(\n\t{ provider_payment_intent_id: 1 },\n\t{\n\t\tname: \"order_payments_provider_intent_unique\",\n\t\tunique: true,\n\t\tsparse: true\n\t}\n)\n\norderPaymentSchema.index(\n\t{ provider_payment_id: 1 },\n\t{ name: \"order_payments_provider_payment_id\" }\n)\n\nexport default mongoose.models.OrderPayment ||\n\tmodel<OrderPaymentDocument>(\"OrderPayment\", orderPaymentSchema, \"order_payments\")\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,sBAAwC;AAkBxC,IAAM,eAAe,IAAI;AAAA,EACxB;AAAA,IACC,SAAS,EAAE,MAAM,QAAQ,OAAO,KAAK;AAAA,IACrC,SAAS,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACxC,QAAQ,EAAE,MAAM,OAAO;AAAA,IACvB,UAAU,EAAE,MAAM,OAAO;AAAA,IACzB,SAAS,EAAE,MAAM,OAAO;AAAA,IACxB,OAAO,EAAE,MAAM,OAAO;AAAA,IACtB,UAAU,EAAE,MAAM,OAAO;AAAA,IACzB,cAAc,EAAE,MAAM,OAAO;AAAA,IAC7B,QAAQ,EAAE,MAAM,OAAO;AAAA,IACvB,YAAY,EAAE,MAAM,MAAM,SAAS,KAAK;AAAA,IACxC,YAAY,EAAE,MAAM,QAAQ,SAAS,KAAK;AAAA,EAC3C;AAAA,EACA,EAAE,YAAY,EAAE,WAAW,cAAc,WAAW,aAAa,EAAE;AACpE;AAEA,IAAO,kBAAQ,gBAAAA,QAAS,OAAO,cAAU,uBAAkB,UAAU,cAAc,SAAS;;;ACnC5F,IAAAC,mBAA+C;AAc/C,IAAM,sBAAsB,IAAI;AAAA,EAC/B;AAAA,IACC,WAAW;AAAA,MACV,MAAM,wBAAO,MAAM;AAAA,MACnB,KAAK;AAAA,MACL,UAAU;AAAA,MACV,OAAO;AAAA,IACR;AAAA,IACA,qBAAqB,EAAE,MAAM,OAAO;AAAA,IACpC,YAAY,EAAE,MAAM,OAAO;AAAA,IAC3B,WAAW,EAAE,MAAM,OAAO;AAAA,IAC1B,eAAe,EAAE,MAAM,OAAO;AAAA,IAC9B,eAAe,EAAE,MAAM,OAAO;AAAA,IAC9B,cAAc,EAAE,MAAM,OAAO;AAAA,EAC9B;AAAA,EACA,EAAE,YAAY,EAAE,WAAW,cAAc,WAAW,aAAa,EAAE;AACpE;AAEA,IAAO,yBAAQ,iBAAAC,QAAS,OAAO,qBAAiB,wBAAyB,iBAAiB,qBAAqB,iBAAiB;;;AChChI,IAAAC,mBAA+C;AAe/C,IAAM,sBAAsB,IAAI;AAAA,EAC/B;AAAA,IACC,WAAW;AAAA,MACV,MAAM,wBAAO,MAAM;AAAA,MACnB,KAAK;AAAA,MACL,UAAU;AAAA,MACV,OAAO;AAAA,IACR;AAAA,IACA,cAAc,EAAE,MAAM,OAAO;AAAA,IAC7B,QAAQ,EAAE,MAAM,OAAO;AAAA,IACvB,cAAc,EAAE,MAAM,OAAO;AAAA,IAC7B,aAAa,EAAE,MAAM,OAAO;AAAA,IAC5B,MAAM,EAAE,MAAM,OAAO;AAAA,IACrB,OAAO,EAAE,MAAM,OAAO;AAAA,IACtB,SAAS,EAAE,MAAM,OAAO;AAAA,EACzB;AAAA,EACA,EAAE,YAAY,EAAE,WAAW,cAAc,WAAW,aAAa,EAAE;AACpE;AAEA,IAAO,yBAAQ,iBAAAC,QAAS,OAAO,qBAAiB;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AACD;;;ACtCA,IAAAC,mBAA+C;AAU/C,IAAM,4BAA4B,IAAI;AAAA,EACrC;AAAA,IACC,WAAW;AAAA,MACV,MAAM,wBAAO,MAAM;AAAA,MACnB,KAAK;AAAA,MACL,UAAU;AAAA,MACV,QAAQ;AAAA,IACT;AAAA,IACA,MAAM,EAAE,MAAM,OAAO;AAAA,IACrB,aAAa,EAAE,MAAM,OAAO;AAAA,EAC7B;AAAA,EACA,EAAE,YAAY,EAAE,WAAW,cAAc,WAAW,aAAa,EAAE;AACpE;AAEA,IAAO,+BAAQ,iBAAAC,QAAS,OAAO,2BAAuB;AAAA,EACrD;AAAA,EACA;AAAA,EACA;AACD;;;AC5BA,IAAAC,mBAA+C;AAU/C,IAAM,0BAA0B,IAAI;AAAA,EACnC;AAAA,IACC,WAAW;AAAA,MACV,MAAM,wBAAO,MAAM;AAAA,MACnB,KAAK;AAAA,MACL,UAAU;AAAA,MACV,QAAQ;AAAA,IACT;AAAA,IACA,MAAM,EAAE,MAAM,OAAO;AAAA,IACrB,MAAM,EAAE,MAAM,OAAO;AAAA,EACtB;AAAA,EACA,EAAE,YAAY,EAAE,WAAW,cAAc,WAAW,aAAa,EAAE;AACpE;AAEA,IAAO,6BAAQ,iBAAAC,QAAS,OAAO,yBAAqB;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AACD;;;AC5BA,IAAAC,mBAA+C;AAU/C,IAAM,wBAAwB,IAAI;AAAA,EACjC;AAAA,IACC,WAAW;AAAA,MACV,MAAM,wBAAO,MAAM;AAAA,MACnB,KAAK;AAAA,MACL,UAAU;AAAA,MACV,QAAQ;AAAA,IACT;AAAA,IACA,QAAQ,EAAE,MAAM,OAAO;AAAA,IACvB,MAAM,EAAE,MAAM,OAAO;AAAA,EACtB;AAAA,EACA,EAAE,YAAY,EAAE,WAAW,cAAc,WAAW,aAAa,EAAE;AACpE;AAEA,IAAO,2BAAQ,iBAAAC,QAAS,OAAO,uBAAmB;AAAA,EACjD;AAAA,EACA;AAAA,EACA;AACD;;;AC5BA,IAAAC,mBAA+C;AAU/C,IAAM,4BAA4B,IAAI;AAAA,EACrC;AAAA,IACC,WAAW;AAAA,MACV,MAAM,wBAAO,MAAM;AAAA,MACnB,KAAK;AAAA,MACL,UAAU;AAAA,MACV,QAAQ;AAAA,IACT;AAAA,IACA,eAAe,EAAE,MAAM,OAAO;AAAA,IAC9B,eAAe,EAAE,MAAM,OAAO;AAAA,EAC/B;AAAA,EACA,EAAE,YAAY,EAAE,WAAW,cAAc,WAAW,aAAa,EAAE;AACpE;AAEA,IAAO,+BAAQ,iBAAAC,QAAS,OAAO,2BAAuB;AAAA,EACrD;AAAA,EACA;AAAA,EACA;AACD;;;AC5BA,IAAAC,mBAA+C;AAE/C,IAAM,oBAAoB,IAAI;AAAA,EAC7B;AAAA,IACC,KAAK,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACpC,KAAK,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACpC,UAAU,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACzC,WAAW,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IAC1C,MAAM,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACrC,aAAa,EAAE,MAAM,MAAM,SAAS,KAAK,IAAI;AAAA,IAC7C,aAAa,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,EAC7C;AAAA,EACA,EAAE,KAAK,MAAM;AACd;AAEA,IAAM,gBAAgB,IAAI,wBAAO;AAAA,EAChC,gBAAgB,EAAE,MAAM,QAAQ,UAAU,MAAM,QAAQ,KAAK;AAAA;AAAA,EAC7D,aAAa,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,EAC5C,MAAM,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,EACrC,OAAO,EAAE,MAAM,OAAO;AAAA,EACtB,OAAO,EAAE,MAAM,OAAO;AAAA,EACtB,UAAU,EAAE,MAAM,uBAAM,UAAU,KAAK,gBAAgB,UAAU,KAAK;AAAA,EACtE,aAAa,EAAE,MAAM,uBAAM,UAAU,KAAK,YAAY,UAAU,OAAO,OAAO,KAAK;AAAA,EACnF,MAAM,EAAE,MAAM,CAAC,uBAAM,QAAQ,GAAG,KAAK,OAAO,SAAS,CAAC,GAAG,OAAO,KAAK;AAAA,EACrE,aAAa,EAAE,MAAM,SAAS,SAAS,OAAO,OAAO,KAAK;AAAA,EAC1D,gBAAgB,EAAE,MAAM,QAAQ,SAAS,EAAE;AAAA,EAC3C,OAAO;AAAA,IACN,QAAQ,EAAE,MAAM,CAAC,iBAAiB,GAAG,UAAU,MAAM;AAAA,IACrD,YAAY,EAAE,MAAM,CAAC,iBAAiB,GAAG,UAAU,MAAM;AAAA,EAC1D;AAAA,EACA,YAAY,EAAE,MAAM,MAAM,SAAS,KAAK,IAAI;AAAA,EAC5C,YAAY,EAAE,MAAM,KAAK;AAAA,EACzB,YAAY,EAAE,MAAM,KAAK;AAC1B,CAAC;AAED,cAAc;AAAA,EACb,EAAE,aAAa,QAAQ,OAAO,QAAQ,OAAO,OAAO;AAAA,EACpD,EAAE,MAAM,uBAAuB;AAChC;AACA,cAAc,MAAM,EAAE,UAAU,GAAG,YAAY,GAAG,GAAG,EAAE,MAAM,yBAAyB,CAAC;AACvF,cAAc,MAAM,EAAE,aAAa,GAAG,YAAY,GAAG,GAAG,EAAE,MAAM,4BAA4B,CAAC;AAC7F,cAAc,MAAM,EAAE,YAAY,GAAG,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACpE,cAAc;AAAA,EACb,EAAE,YAAY,GAAG,YAAY,GAAG;AAAA,EAChC,EAAE,MAAM,4BAA4B;AACrC;AACA,cAAc,MAAM,EAAE,aAAa,GAAG,gBAAgB,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAE9F,IAAO,kBAAQ,iBAAAC,QAAS,OAAO,eAAW,wBAAM,WAAW,eAAe,UAAU;;;AChDpF,IAAAC,mBAAwC;AAExC,IAAM,qBAAqB,IAAI,wBAAO;AAAA,EACrC,MAAM,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,EACrC,aAAa,EAAE,MAAM,OAAO;AAC7B,CAAC;AAED,IAAO,wBAAQ,iBAAAC,QAAS,OAAO,oBAAgB,wBAAM,gBAAgB,oBAAoB,gBAAgB;;;ACPzG,IAAAC,oBAAwC;AAExC,IAAM,qBAAqB,IAAI,yBAAO;AAAA,EACrC,MAAM,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,EACrC,aAAa,EAAE,MAAM,OAAO;AAC7B,CAAC;AAED,IAAO,yBAAQ,kBAAAC,QAAS,OAAO,oBAAgB,yBAAM,gBAAgB,oBAAoB,iBAAiB;;;ACP1G,IAAAC,oBAA+C;AAE/C,IAAM,qBAAqB,IAAI,yBAAO;AAAA,EACrC,YAAY,EAAE,MAAM,wBAAM,UAAU,KAAK,WAAW,UAAU,KAAK;AAAA,EACnE,eAAe,EAAE,MAAM,wBAAM,UAAU,KAAK,aAAa,UAAU,KAAK;AAAA,EACxE,aAAa,EAAE,MAAM,wBAAM,UAAU,KAAK,YAAY,UAAU,KAAK;AAAA,EACrE,OAAO,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,EACtC,YAAY,EAAE,MAAM,KAAK;AAAA,EACzB,UAAU,EAAE,MAAM,KAAK;AAAA,EACvB,YAAY,EAAE,MAAM,MAAM,SAAS,KAAK,IAAI;AAAA,EAC5C,YAAY,EAAE,MAAM,KAAK;AAC1B,CAAC;AAED,mBAAmB,MAAM,EAAE,YAAY,GAAG,eAAe,EAAE,GAAG,EAAE,MAAM,mCAAmC,CAAC;AAE1G,IAAO,wBAAQ,kBAAAC,QAAS,OAAO,oBAAgB,yBAAM,gBAAgB,oBAAoB,gBAAgB;;;ACfzG,IAAAC,oBAAwC;AAExC,IAAM,iBAAiB,IAAI,yBAAO;AAAA,EACjC,MAAM,EAAE,MAAM,QAAQ,UAAU,MAAM,QAAQ,KAAK;AAAA,EACnD,QAAQ,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,EACvC,MAAM,EAAE,MAAM,QAAQ,UAAU,KAAK;AACtC,CAAC;AAED,IAAO,qBAAQ,kBAAAC,QAAS,OAAO,gBAAY,yBAAM,YAAY,gBAAgB,YAAY;;;ACRzF,IAAAC,oBAAwC;AAExC,IAAM,kBAAkB,IAAI,yBAAO;AAAA,EAClC,MAAM,EAAE,MAAM,QAAQ,UAAU,MAAM,QAAQ,KAAK;AAAA,EACnD,MAAM,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,EACrC,UAAU,EAAE,MAAM,OAAO;AAAA,EACzB,YAAY,EAAE,MAAM,MAAM,SAAS,KAAK,IAAI;AAAA,EAC5C,YAAY,EAAE,MAAM,KAAK;AAC1B,CAAC;AAED,IAAO,qBAAQ,kBAAAC,QAAS,OAAO,iBAAa,yBAAM,aAAa,iBAAiB,YAAY;;;ACV5F,IAAAC,oBAA+C;AAE/C,IAAM,uBAAuB,IAAI,yBAAO;AAAA,EACvC,YAAY,EAAE,MAAM,wBAAM,UAAU,KAAK,WAAW,UAAU,KAAK;AAAA,EACnE,cAAc,EAAE,MAAM,wBAAM,UAAU,KAAK,aAAa,UAAU,KAAK;AAAA,EACvE,OAAO,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,EACtC,WAAW,EAAE,MAAM,OAAO;AAAA,EAC1B,WAAW,EAAE,MAAM,OAAO;AAAA,EAC1B,YAAY,EAAE,MAAM,MAAM,SAAS,KAAK,IAAI;AAAA,EAC5C,YAAY,EAAE,MAAM,wBAAM,UAAU,KAAK,OAAO;AACjD,CAAC;AAED,qBAAqB,MAAM,EAAE,YAAY,GAAG,cAAc,EAAE,GAAG,EAAE,MAAM,6CAA6C,QAAQ,KAAK,CAAC;AAElI,IAAO,0BAAQ,kBAAAC,QAAS,OAAO,sBAAkB,yBAAM,kBAAkB,sBAAsB,kBAAkB;;;ACdjH,IAAAC,oBAAwC;AAExC,IAAM,kBAAkB,IAAI,yBAAO;AAAA,EAClC,QAAQ,EAAE,MAAM,QAAQ,UAAU,MAAM,QAAQ,KAAK;AAAA,EACrD,MAAM,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,EACrC,YAAY,EAAE,MAAM,MAAM,SAAS,KAAK,IAAI;AAAA,EAC5C,YAAY,EAAE,MAAM,KAAK;AAC1B,CAAC;AAED,IAAO,qBAAQ,kBAAAC,QAAS,OAAO,iBAAa,yBAAM,aAAa,iBAAiB,aAAa;;;ACT7F,IAAAC,oBAA+C;AAE/C,IAAM,iBAAiB,IAAI,yBAAO;AAAA,EACjC,MAAM,EAAE,MAAM,QAAQ,UAAU,MAAM,MAAM,KAAK;AAAA,EACjD,MAAM,EAAE,MAAM,QAAQ,UAAU,MAAM,MAAM,MAAM,WAAW,KAAK;AAAA,EAClE,WAAW,EAAE,MAAM,wBAAM,UAAU,KAAK,YAAY,SAAS,MAAM,OAAO,KAAK;AAAA,EAC/E,OAAO,EAAE,MAAM,QAAQ,SAAS,EAAE;AAAA,EAClC,WAAW,EAAE,MAAM,SAAS,SAAS,MAAM,OAAO,KAAK;AAAA,EACvD,YAAY,EAAE,MAAM,MAAM,SAAS,KAAK,IAAI;AAAA,EAC5C,YAAY,EAAE,MAAM,MAAM,SAAS,KAAK,IAAI;AAC7C,CAAC;AAED,eAAe,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,MAAM,MAAM,yBAAyB,CAAC;AAClF,eAAe,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACpE,eAAe,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEpE,IAAO,mBAAQ,kBAAAC,QAAS,OAAO,gBAAY,yBAAM,YAAY,gBAAgB,YAAY;;;AChBzF,IAAAC,oBAAwC;AAExC,IAAM,YAAY,IAAI,yBAAO;AAAA,EAC5B,MAAM,EAAE,MAAM,QAAQ,UAAU,MAAM,MAAM,KAAK;AAAA,EACjD,MAAM,EAAE,MAAM,QAAQ,UAAU,MAAM,MAAM,MAAM,WAAW,KAAK;AAAA,EAClE,MAAM,EAAE,MAAM,QAAQ,MAAM,CAAC,UAAU,SAAS,GAAG,SAAS,UAAU,OAAO,KAAK;AAAA,EAClF,WAAW,EAAE,MAAM,SAAS,SAAS,MAAM,OAAO,KAAK;AAAA,EACvD,YAAY,EAAE,MAAM,MAAM,SAAS,KAAK,IAAI;AAAA,EAC5C,YAAY,EAAE,MAAM,MAAM,SAAS,KAAK,IAAI;AAC7C,CAAC;AAED,UAAU,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,MAAM,MAAM,mBAAmB,CAAC;AACvE,UAAU,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACzD,UAAU,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAElD,IAAO,cAAQ,kBAAAC,QAAS,OAAO,WAAO,yBAAM,OAAO,WAAW,MAAM;;;ACfpE,IAAAC,oBAAuF;AAUvF,IAAM,oBAAoB,IAAI;AAAA,EAC7B;AAAA,IACC,YAAY,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,WAAW,UAAU,KAAK;AAAA,IAC1E,YAAY,EAAE,MAAM,MAAM,SAAS,KAAK,IAAI;AAAA,EAC7C;AAAA,EACA,EAAE,YAAY,gBAAgB;AAC/B;AAEA,IAAM,cACJ,kBAAAC,QAAS,OAAO,mBACjB,yBAAuB,eAAe,iBAAiB;AAExD,IAAO,uBAAQ;;;ACtBf,IAAAC,oBAAwC;AAEjC,IAAK,cAAL,kBAAKC,iBAAL;AACN,EAAAA,aAAA,iBAAc;AACd,EAAAA,aAAA,WAAQ;AACR,EAAAA,aAAA,eAAY;AACZ,EAAAA,aAAA,iBAAc;AAJH,SAAAA;AAAA,GAAA;AAOL,IAAK,SAAL,kBAAKC,YAAL;AACN,EAAAA,QAAA,UAAO;AACP,EAAAA,QAAA,SAAM;AACN,EAAAA,QAAA,UAAO;AACP,EAAAA,QAAA,YAAS;AAJE,SAAAA;AAAA,GAAA;AAOL,IAAK,gBAAL,kBAAKC,mBAAL;AACN,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,SAAM;AAFK,SAAAA;AAAA,GAAA;AAKZ,IAAM,cAAc,IAAI;AAAA,EACvB;AAAA,IACC,cAAc,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IAC7C,gBAAgB,EAAE,MAAM,QAAQ,SAAS,EAAE;AAAA,IAC3C,WAAW,EAAE,MAAM,OAAO;AAAA,IAC1B,SAAS,EAAE,MAAM,OAAO;AAAA,IACxB,YAAY,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,UAAU,UAAU,KAAK;AAAA,IACzE,sBAAsB,EAAE,MAAM,OAAO;AAAA,IACrC,YAAY,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,gBAAgB;AAAA,IAChE,cAAc,EAAE,MAAM,OAAO;AAAA,IAC7B,aAAa,EAAE,MAAM,OAAO;AAAA,IAC5B,mBAAmB,EAAE,MAAM,OAAO;AAAA,IAClC,aAAa,EAAE,MAAM,OAAO;AAAA,IAC5B,WAAW,CAAC,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,YAAY,CAAC;AAAA,IAC7D,aAAa,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,WAAW;AAAA,IAC5D,KAAK,EAAE,MAAM,OAAO;AAAA,IACpB,MAAM,EAAE,MAAM,KAAK;AAAA,IACnB,QAAQ,EAAE,MAAM,QAAQ,MAAM,OAAO,OAAO,MAAM,GAAG,SAAS,kBAAY;AAAA,IAC1E,cAAc;AAAA,MACb,MAAM;AAAA,MACN,MAAM,OAAO,OAAO,WAAW;AAAA,MAC/B,SAAS;AAAA,IACV;AAAA,IACA,QAAQ,EAAE,MAAM,OAAO;AAAA,IACvB,qBAAqB,EAAE,MAAM,OAAO;AAAA,IACpC,iBAAiB,EAAE,MAAM,OAAO;AAAA,IAChC,cAAc,EAAE,MAAM,OAAO;AAAA,IAC7B,aAAa,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IAC7C,mBAAmB,EAAE,MAAM,OAAO;AAAA,IAClC,OAAO,EAAE,MAAM,OAAO;AAAA,IACtB,gBAAgB;AAAA,MACf,MAAM;AAAA,MACN,MAAM,OAAO,OAAO,aAAa;AAAA,MACjC,SAAS;AAAA,IACV;AAAA,IACA,YAAY,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,OAAO;AAAA,IACvD,YAAY,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,OAAO;AAAA,IACvD,YAAY,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,OAAO;AAAA,IACvD,YAAY,EAAE,MAAM,KAAK;AAAA,EAC1B;AAAA,EACA,EAAE,YAAY,EAAE,WAAW,cAAc,WAAW,aAAa,EAAE;AACpE;AAEA,IAAO,gBAAQ,kBAAAC,QAAS,OAAO,aAAS,yBAAM,SAAS,aAAa,QAAQ;;;AChE5E,IAAAC,oBAAwC;AAExC,IAAM,qBAAqB,IAAI;AAAA,EAC9B;AAAA,IACC,UAAU,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,SAAS,UAAU,KAAK;AAAA,IACtE,YAAY,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,UAAU;AAAA,IAC1D,gBAAgB,EAAE,MAAM,OAAO;AAAA,IAC/B,aAAa,EAAE,MAAM,OAAO;AAAA,IAC5B,UAAU,EAAE,MAAM,OAAO;AAAA,IACzB,UAAU,EAAE,MAAM,OAAO;AAAA,IACzB,OAAO,EAAE,MAAM,OAAO;AAAA,IACtB,YAAY,EAAE,MAAM,OAAO;AAAA,IAC3B,gBAAgB,EAAE,MAAM,OAAO;AAAA,IAC/B,OAAO,EAAE,MAAM,OAAO;AAAA,IACtB,SAAS,EAAE,MAAM,OAAO;AAAA,IACxB,MAAM,EAAE,MAAM,OAAO;AAAA,IACrB,UAAU,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,oBAAoB;AAAA,EACnE;AAAA,EACA,EAAE,YAAY,EAAE,WAAW,cAAc,WAAW,aAAa,EAAE;AACpE;AAEA,IAAO,uBAAQ,kBAAAC,QAAS,OAAO,oBAAgB,yBAAM,gBAAgB,oBAAoB,gBAAgB;;;ACrBzG,IAAAC,oBAAwC;AAExC,IAAM,0BAA0B,IAAI;AAAA,EACnC;AAAA,IACC,kBAAkB;AAAA,MACjB,MAAM,yBAAO,MAAM;AAAA,MACnB,KAAK;AAAA,MACL,UAAU;AAAA,IACX;AAAA,IACA,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,cAAc;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,EACd;AAAA,EACA,EAAE,YAAY,EAAE,WAAW,cAAc,WAAW,aAAa,EAAE;AACpE;AAEA,IAAO,4BAAQ,kBAAAC,QAAS,OAAO,yBAAqB,yBAAM,qBAAqB,yBAAyB,sBAAsB;;;AClB9H,IAAAC,oBAAwC;AAExC,IAAM,qBAAqB,IAAI,yBAAO;AAAA,EACrC,UAAU,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,SAAS,UAAU,KAAK;AAAA,EACtE,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,YAAY,EAAE,MAAM,MAAM,SAAS,KAAK,IAAI;AAC7C,CAAC;AAED,IAAO,uBAAQ,kBAAAC,QAAS,OAAO,oBAAgB,yBAAM,gBAAgB,oBAAoB,gBAAgB;;;ACXzG,IAAAC,oBAAwC;AAExC,IAAM,kBAAkB,IAAI;AAAA,EAC3B;AAAA,IACC,OAAO;AAAA,IACP,SAAS,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACxC,UAAU;AAAA,IACV,WAAW,EAAE,MAAM,SAAS,SAAS,KAAK;AAAA,IAC1C,YAAY;AAAA,IACZ,YAAY;AAAA,EACb;AAAA,EACA,EAAE,YAAY,EAAE,WAAW,cAAc,WAAW,aAAa,EAAE;AACpE;AAEA,IAAO,oBAAQ,kBAAAC,QAAS,OAAO,iBAAa,yBAAM,aAAa,iBAAiB,aAAa;;;ACd7F,IAAAC,oBAMO;AACP,sBAAmB;AAEZ,IAAK,iBAAL,kBAAKC,oBAAL;AACN,EAAAA,gBAAA,YAAS;AACT,EAAAA,gBAAA,cAAW;AACX,EAAAA,gBAAA,YAAS;AAHE,SAAAA;AAAA,GAAA;AAsBZ,IAAM,iBAAiB,IAAI,yBAAqB;AAAA,EAC/C,YAAY,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,EAC3C,WAAW,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,EAC1C,OAAO,EAAE,MAAM,QAAQ,UAAU,MAAM,QAAQ,KAAK;AAAA,EACpD,QAAQ,EAAE,MAAM,OAAO;AAAA,EACvB,UAAU,EAAE,MAAM,QAAQ,UAAU,MAAM,QAAQ,MAAM;AAAA,EACxD,QAAQ;AAAA,IACP,MAAM;AAAA,IACN,MAAM,OAAO,OAAO,cAAc;AAAA,IAClC,SAAS;AAAA,EACV;AAAA,EACA,mBAAmB,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,gBAAgB;AAAA,EACvE,YAAY,EAAE,MAAM,MAAM,SAAS,KAAK,IAAI;AAAA,EAC5C,YAAY,EAAE,MAAM,KAAK;AAAA,EACzB,YAAY,EAAE,MAAM,KAAK;AAC1B,CAAC;AAED,eAAe,IAAI,QAAQ,iBAAiB;AAC3C,MAAI,KAAK,WAAW,UAAU,GAAG;AAChC,SAAK,WAAW,MAAM,gBAAAC,QAAO,KAAK,KAAK,UAAU,EAAE;AAAA,EACpD;AACD,CAAC;AAED,IAAM,WACJ,kBAAAC,QAAS,OAAO,gBACjB,yBAAoB,YAAY,gBAAgB,WAAW;AAE5D,IAAO,oBAAQ;;;AC1Df,IAAAC,oBAAuF;AAgBvF,IAAM,sBAAsB,IAAI,yBAA0B;AAAA,EACzD,aAAa,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,YAAY,UAAU,KAAK;AAAA,EAC5E,KAAK,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,EACpC,cAAc,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,EAC7C,UAAU,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,EACzC,gBAAgB,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,EAC/C,IAAI,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,EACnC,YAAY,EAAE,MAAM,MAAM,SAAS,KAAK,IAAI;AAAA,EAC5C,YAAY,EAAE,MAAM,KAAK;AAC1B,CAAC;AAED,IAAM,gBACJ,kBAAAC,QAAS,OAAO,qBACjB,yBAAyB,iBAAiB,qBAAqB,iBAAiB;AAEjF,IAAO,4BAAQ;;;AC/Bf,IAAAC,oBAAwC;AAEjC,IAAK,cAAL,kBAAKC,iBAAL;AACN,EAAAA,aAAA,aAAU;AACV,EAAAA,aAAA,eAAY;AACZ,EAAAA,aAAA,aAAU;AACV,EAAAA,aAAA,eAAY;AACZ,EAAAA,aAAA,eAAY;AALD,SAAAA;AAAA,GAAA;AAQL,IAAK,gBAAL,kBAAKC,mBAAL;AACN,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,cAAW;AAFA,SAAAA;AAAA,GAAA;AAKL,IAAK,gBAAL,kBAAKC,mBAAL;AACN,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,sBAAmB;AACnB,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,cAAW;AAJA,SAAAA;AAAA,GAAA;AAOZ,IAAM,wBAAwB,IAAI;AAAA,EACjC;AAAA,IACC,WAAW,EAAE,MAAM,QAAQ,UAAU,MAAM,MAAM,KAAK;AAAA,IACtD,OAAO,EAAE,MAAM,QAAQ,UAAU,MAAM,MAAM,KAAK;AAAA,IAClD,OAAO,EAAE,MAAM,QAAQ,UAAU,MAAM,MAAM,KAAK;AAAA,IAClD,OAAO,EAAE,MAAM,QAAQ,MAAM,KAAK;AAAA,IAClC,MAAM,EAAE,MAAM,QAAQ,UAAU,MAAM,MAAM,KAAK;AAAA,IACjD,OAAO,EAAE,MAAM,QAAQ,UAAU,MAAM,MAAM,KAAK;AAAA,IAClD,aAAa,EAAE,MAAM,QAAQ,UAAU,MAAM,MAAM,KAAK;AAAA,IACxD,SAAS,EAAE,MAAM,QAAQ,UAAU,MAAM,MAAM,MAAM,SAAS,KAAK;AAAA,EACpE;AAAA,EACA,EAAE,KAAK,MAAM;AACd;AAEA,IAAM,kBAAkB,IAAI;AAAA,EAC3B;AAAA,IACC,YAAY,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,WAAW,UAAU,KAAK;AAAA,IAC1E,UAAU,EAAE,MAAM,QAAQ,UAAU,MAAM,KAAK,EAAE;AAAA,IACjD,YAAY,EAAE,MAAM,QAAQ,UAAU,MAAM,KAAK,EAAE;AAAA,IACnD,OAAO,EAAE,MAAM,QAAQ,UAAU,MAAM,KAAK,EAAE;AAAA,EAC/C;AAAA,EACA,EAAE,KAAK,MAAM;AACd;AAEA,IAAM,cAAc,IAAI;AAAA,EACvB;AAAA,IACC,aAAa,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,YAAY,UAAU,KAAK;AAAA,IAC5E,OAAO,EAAE,MAAM,CAAC,eAAe,GAAG,UAAU,MAAM,SAAS,CAAC,EAAE;AAAA,IAE9D,QAAQ;AAAA,MACP,MAAM;AAAA,MACN,MAAM,OAAO,OAAO,WAAW;AAAA,MAC/B,SAAS;AAAA,MACT,UAAU;AAAA,IACX;AAAA,IAEA,iBAAiB,EAAE,MAAM,OAAO;AAAA,IAEhC,gBAAgB;AAAA,MACf,MAAM;AAAA,MACN,MAAM,OAAO,OAAO,aAAa;AAAA,MACjC,UAAU;AAAA,IACX;AAAA,IAEA,gBAAgB;AAAA,MACf,MAAM;AAAA,MACN,MAAM,OAAO,OAAO,aAAa;AAAA,MACjC,SAAS;AAAA,MACT,UAAU;AAAA,IACX;AAAA,IAEA,YAAY,EAAE,MAAM,KAAK;AAAA,IAEzB,kBAAkB,EAAE,MAAM,uBAAuB,UAAU,MAAM;AAAA,IACjE,eAAe,EAAE,MAAM,QAAQ,MAAM,CAAC,YAAY,QAAQ,GAAG,UAAU,KAAK;AAAA,IAC5E,UAAU,EAAE,MAAM,QAAQ,UAAU,MAAM,KAAK,EAAE;AAAA,IACjD,cAAc,EAAE,MAAM,QAAQ,KAAK,GAAG,SAAS,KAAK;AAAA,IACpD,OAAO,EAAE,MAAM,QAAQ,UAAU,MAAM,KAAK,EAAE;AAAA,IAC9C,OAAO,EAAE,MAAM,QAAQ,MAAM,KAAK;AAAA,EACnC;AAAA,EACA;AAAA,IACC,YAAY,EAAE,WAAW,cAAc,WAAW,aAAa;AAAA,EAChE;AACD;AAEA,YAAY;AAAA,EACX,EAAE,aAAa,GAAG,YAAY,GAAG;AAAA,EACjC,EAAE,MAAM,0BAA0B;AACnC;AAEA,YAAY;AAAA,EACX,EAAE,YAAY,EAAE;AAAA,EAChB,EAAE,MAAM,oBAAoB;AAC7B;AAEA,YAAY;AAAA,EACX,EAAE,gCAAgC,GAAG,YAAY,GAAG;AAAA,EACpD,EAAE,MAAM,wBAAwB;AACjC;AAEA,IAAO,iBAAQ,kBAAAC,QAAS,OAAO,aAAS,yBAAM,SAAS,aAAa,QAAQ;;;ACtG5E,IAAAC,oBAA+C;AAW/C,IAAM,uBAAuB,IAAI;AAAA,EAChC;AAAA,IACC,UAAU;AAAA,MACT,MAAM,yBAAO,MAAM;AAAA,MACnB,KAAK;AAAA,MACL,UAAU;AAAA,IACX;AAAA,IACA,QAAQ;AAAA,MACP,MAAM;AAAA,MACN,MAAM,OAAO,OAAO,WAAW;AAAA,MAC/B,UAAU;AAAA,IACX;AAAA,IACA,YAAY;AAAA,MACX,MAAM,yBAAO,MAAM;AAAA,MACnB,KAAK;AAAA,MACL,UAAU;AAAA,IACX;AAAA,IACA,YAAY;AAAA,MACX,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,IACf;AAAA,IACA,MAAM;AAAA,MACL,MAAM;AAAA,MACN,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EACA,EAAE,YAAY,oBAAoB;AACnC;AAEA,qBAAqB;AAAA,EACpB,EAAE,UAAU,GAAG,YAAY,GAAG;AAAA,EAC9B,EAAE,MAAM,qCAAqC;AAC9C;AACA,qBAAqB;AAAA,EACpB,EAAE,YAAY,GAAG,YAAY,GAAG;AAAA,EAChC,EAAE,MAAM,0CAA0C;AACnD;AAEA,IAAO,0BACP,kBAAAC,QAAS,OAAO,sBAChB,yBAA0B,kBAAkB,oBAAoB;;;ACnDhE,IAAAC,oBAAyD;AAKlD,IAAK,cAAL,kBAAKC,iBAAL;AACN,EAAAA,aAAA,mBAAgB;AAChB,EAAAA,aAAA,qBAAkB;AAClB,EAAAA,aAAA,eAAY;AAHD,SAAAA;AAAA,GAAA;AAML,IAAK,gBAAL,kBAAKC,mBAAL;AACN,EAAAA,eAAA,aAAU;AACV,EAAAA,eAAA,aAAU;AACV,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,cAAW;AAJA,SAAAA;AAAA,GAAA;AAOL,IAAK,gBAAL,kBAAKC,mBAAL;AACN,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,YAAS;AAHE,SAAAA;AAAA,GAAA;AA2BZ,IAAM,gBAAgB,IAAI;AAAA,EACzB;AAAA,IACC,aAAa;AAAA,MACZ,MAAM;AAAA,MACN,UAAU;AAAA,MACV,OAAO;AAAA,IACR;AAAA,IACA,WAAW;AAAA,MACV,MAAM,yBAAO,MAAM;AAAA,MACnB,UAAU;AAAA,MACV,OAAO;AAAA,IACR;AAAA,IACA,WAAW;AAAA,MACV,MAAM;AAAA,MACN,MAAM,OAAO,OAAO,WAAW;AAAA,MAC/B,UAAU;AAAA,MACV,OAAO;AAAA,IACR;AAAA,IACA,QAAQ;AAAA,MACP,MAAM;AAAA,MACN,MAAM,OAAO,OAAO,aAAa;AAAA,MACjC,UAAU;AAAA,IACX;AAAA,IACA,QAAQ;AAAA,MACP,MAAM;AAAA,MACN,MAAM,OAAO,OAAO,aAAa;AAAA,MACjC,SAAS;AAAA,MACT,OAAO;AAAA,IACR;AAAA,IACA,eAAe,EAAE,MAAM,OAAO;AAAA,IAC9B,YAAY,EAAE,MAAM,OAAO;AAAA,IAC3B,eAAe,EAAE,MAAM,yBAAO,MAAM,MAAM;AAAA,IAC1C,iBAAiB,EAAE,MAAM,yBAAO,MAAM,MAAM;AAAA,IAC5C,kBAAkB,EAAE,MAAM,yBAAO,MAAM,MAAM;AAAA,IAC7C,aAAa,EAAE,MAAM,QAAQ,SAAS,EAAE;AAAA,IACxC,aAAa,EAAE,MAAM,QAAQ,SAAS,EAAE;AAAA,IACxC,eAAe,EAAE,MAAM,KAAK;AAAA,IAC5B,aAAa,EAAE,MAAM,KAAK;AAAA,IAC1B,aAAa,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,OAAO;AAAA,EACzD;AAAA,EACA;AAAA,IACC,YAAY,EAAE,WAAW,cAAc,WAAW,aAAa;AAAA,EAChE;AACD;AAEA,cAAc,MAAM,EAAE,aAAa,GAAG,WAAW,GAAG,QAAQ,EAAE,CAAC;AAC/D,cAAc,MAAM,EAAE,QAAQ,GAAG,eAAe,EAAE,CAAC;AAE5C,IAAM,UAAU,kBAAAC,QAAS,OAAO,eAAW,yBAAgB,WAAW,eAAe,WAAW;;;AC7FvG,IAAAC,oBAAwC;;;ACAxC,IAAAC,oBAAwC;AACxC,IAAAC,mBAAmB;AAEZ,IAAK,WAAL,kBAAKC,cAAL;AACH,EAAAA,UAAA,WAAQ;AACR,EAAAA,UAAA,WAAQ;AACR,EAAAA,UAAA,gBAAa;AACb,EAAAA,UAAA,kBAAe;AAJP,SAAAA;AAAA,GAAA;AAOL,IAAK,aAAL,kBAAKC,gBAAL;AACH,EAAAA,YAAA,YAAS;AACT,EAAAA,YAAA,cAAW;AACX,EAAAA,YAAA,eAAY;AAHJ,SAAAA;AAAA,GAAA;AA2BZ,IAAM,cAAc,IAAI,yBAAiB;AAAA,EACrC,YAAY,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,EAC3C,aAAa,EAAE,MAAM,OAAO;AAAA,EAC5B,WAAW,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,EAC1C,UAAU,EAAE,MAAM,QAAQ,UAAU,MAAM,QAAQ,KAAK;AAAA,EACvD,UAAU,EAAE,MAAM,QAAQ,UAAU,MAAM,QAAQ,MAAM;AAAA,EACxD,MAAM;AAAA,IACF,MAAM;AAAA,IACN,MAAM,OAAO,OAAO,QAAQ;AAAA,IAC5B,SAAS;AAAA,EACb;AAAA,EACA,QAAQ;AAAA,IACJ,MAAM;AAAA,IACN,MAAM,OAAO,OAAO,UAAU;AAAA,IAC9B,SAAS;AAAA,EACb;AAAA,EACA,OAAO,EAAE,MAAM,OAAO;AAAA,EACtB,QAAQ,EAAE,MAAM,OAAO;AAAA,EACvB,cAAc,EAAE,MAAM,OAAO;AAAA,EAC7B,QAAQ,EAAE,MAAM,OAAO;AAAA,EACvB,iBAAiB,EAAE,MAAM,OAAO;AAAA,EAChC,YAAY,EAAE,MAAM,MAAM,SAAS,KAAK,IAAI;AAAA,EAC5C,YAAY,EAAE,MAAM,yBAAO,MAAM,OAAO,KAAK,OAAO;AAAA,EACpD,YAAY,EAAE,MAAM,KAAK;AAAA,EACzB,YAAY,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,OAAO;AAAA,EACvD,YAAY,EAAE,MAAM,KAAK;AAAA,EACzB,YAAY,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,OAAO;AAC3D,CAAC;AAED,YAAY,IAAI,QAAQ,iBAAkB;AACtC,MAAI,KAAK,WAAW,UAAU,GAAG;AAC7B,SAAK,WAAW,MAAM,iBAAAC,QAAO,KAAK,KAAK,UAAU,EAAE;AAAA,EACvD;AACJ,CAAC;AAED,IAAO,gBAAQ,kBAAAC,QAAS,OAAO,YAAQ,yBAAgB,QAAQ,aAAa,OAAO;;;ADvDnF,IAAM,qBAAqB,IAAI,yBAAyB;AAAA,EACvD,YAAY;AAAA,IACX,MAAM,yBAAO,MAAM;AAAA,IACnB,KAAK;AAAA,IACL,UAAU;AAAA,EACX;AAAA,EACA,YAAY;AAAA,IACX,MAAM,yBAAO,MAAM;AAAA,IACnB,KAAK;AAAA,EACN;AAAA,EACA,YAAY;AAAA,IACX,MAAM,yBAAO,MAAM;AAAA,IACnB,KAAK;AAAA,EACN;AAAA,EAEA,YAAY;AAAA,IACX,MAAM;AAAA,IACN,SAAS,KAAK;AAAA,EACf;AAAA,EACA,YAAY;AAAA,EACZ,YAAY;AAAA,EAEZ,OAAO;AAAA,IACN,MAAM;AAAA,IACN,UAAU;AAAA,IACV,MAAM;AAAA,EACP;AAAA,EACA,MAAM;AAAA,IACL,MAAM;AAAA,IACN,UAAU;AAAA,IACV,MAAM;AAAA,EACP;AAAA,EACA,OAAO;AAAA,IACN,MAAM,CAAC,MAAM;AAAA,IACb,MAAM,OAAO,OAAO,QAAQ;AAAA,IAC5B,UAAU;AAAA,IACV,UAAU;AAAA,MACT,WAAW,CAAC,UAAsB,MAAM,SAAS;AAAA,MACjD,SAAS;AAAA,IACV;AAAA,EACD;AACD,CAAC;AAED,IAAO,wBAAQ,kBAAAC,QAAS,OAAO,oBAAgB,yBAAwB,gBAAgB,oBAAoB,eAAe;;;AE5D1H,IAAAC,oBAA+C;AAuB/C,IAAM,iBAAiB,IAAI;AAAA,EAC1B;AAAA,IACC,YAAY,EAAE,MAAM,wBAAM,UAAU,KAAK,WAAW,UAAU,KAAK;AAAA,IACnE,UAAU,EAAE,MAAM,QAAQ,UAAU,MAAM,KAAK,EAAE;AAAA,IACjD,YAAY,EAAE,MAAM,OAAO;AAAA,IAC3B,eAAe,EAAE,MAAM,OAAO;AAAA,IAC9B,UAAU,EAAE,MAAM,MAAM,SAAS,KAAK,IAAI;AAAA,EAC3C;AAAA,EACA,EAAE,KAAK,MAAM;AACd;AAEA,IAAM,aAAa,IAAI;AAAA,EACtB;AAAA,IACC,aAAa;AAAA,MACZ,MAAM,wBAAM;AAAA,MACZ,KAAK;AAAA,MACL,UAAU;AAAA,IACX;AAAA,IACA,QAAQ;AAAA,MACP,MAAM;AAAA,MACN,MAAM,CAAC,UAAU,eAAe,WAAW;AAAA,MAC3C,SAAS;AAAA,IACV;AAAA,IACA,UAAU,EAAE,MAAM,QAAQ,SAAS,MAAM;AAAA,IACzC,eAAe,EAAE,MAAM,wBAAM,UAAU,KAAK,YAAY;AAAA,IACxD,YAAY,EAAE,MAAM,KAAK;AAAA,IACzB,UAAU,EAAE,MAAM,QAAQ,SAAS,EAAE;AAAA,IACrC,OAAO,EAAE,MAAM,CAAC,cAAc,GAAG,SAAS,CAAC,EAAE;AAAA,EAC9C;AAAA,EACA;AAAA,IACC,YAAY,EAAE,WAAW,cAAc,WAAW,aAAa;AAAA,EAChE;AACD;AAGA,WAAW,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,MAAM,MAAM,wBAAwB,CAAC;AAEpF,WAAW,MAAM,EAAE,YAAY,GAAG,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEjE,IAAO,gBAAQ,kBAAAC,QAAS,OAAO,YAAQ,yBAAgB,QAAQ,YAAY,OAAO;;;AC9DlF,IAAAC,oBAMO;AAeP,IAAM,qBAAqB,IAAI,yBAAyB;AAAA,EACvD,aAAa,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,YAAY,UAAU,KAAK;AAAA;AAAA,EAE5E,YAAY,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,EAC3C,YAAY,EAAE,MAAM,MAAM,UAAU,KAAK;AAAA,EACzC,YAAY,EAAE,MAAM,KAAK;AAAA,EACzB,wBAAwB,EAAE,MAAM,OAAO;AAAA,EACvC,YAAY,EAAE,MAAM,MAAM,SAAS,KAAK,IAAI;AAAA,EAC5C,YAAY,EAAE,MAAM,KAAK;AAC1B,CAAC;AAED,mBAAmB,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,KAAK,CAAC;AAC5D,mBAAmB,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,oBAAoB,EAAE,CAAC;AACrE,mBAAmB,MAAM,EAAE,aAAa,GAAG,YAAY,EAAE,CAAC;AAE1D,mBAAmB,IAAI,QAAQ,WAAY;AAC1C,OAAK,aAAa,oBAAI,KAAK;AAC5B,CAAC;AAED,IAAM,eACJ,kBAAAC,QAAS,OAAO,oBACjB,yBAAwB,gBAAgB,oBAAoB,gBAAgB;AAE7E,IAAO,wBAAQ;;;AC5Cf,IAAAC,oBAMO;AAcP,IAAM,2BAA2B,IAAI,yBAA+B;AAAA,EACnE,aAAa,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,YAAY,UAAU,KAAK;AAAA;AAAA,EAE5E,YAAY,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,EAC3C,YAAY,EAAE,MAAM,MAAM,UAAU,KAAK;AAAA,EACzC,SAAS,EAAE,MAAM,KAAK;AAAA,EACtB,YAAY,EAAE,MAAM,MAAM,SAAS,KAAK,IAAI;AAAA,EAC5C,YAAY,EAAE,MAAM,KAAK;AAC1B,CAAC;AAED,yBAAyB,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,KAAK,CAAC;AAClE,yBAAyB,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,oBAAoB,EAAE,CAAC;AAC3E,yBAAyB,MAAM,EAAE,aAAa,GAAG,YAAY,EAAE,CAAC;AAEhE,yBAAyB,IAAI,QAAQ,SAAU,MAAM;AACpD,OAAK,aAAa,oBAAI,KAAK;AAC5B,CAAC;AAED,IAAM,qBACJ,kBAAAC,QAAS,OAAO,0BACjB,yBAA8B,sBAAsB,0BAA0B,uBAAuB;AAEtG,IAAO,8BAAQ;;;AC1Cf,IAAAC,oBAMO;AAeP,IAAM,+BAA+B,IAAI,yBAAmC;AAAA,EAC1E,aAAa,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,YAAY,UAAU,KAAK;AAAA;AAAA,EAE5E,YAAY,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,EAC3C,YAAY,EAAE,MAAM,MAAM,UAAU,KAAK;AAAA,EACzC,SAAS,EAAE,MAAM,KAAK;AAAA,EACtB,YAAY,EAAE,MAAM,MAAM,SAAS,KAAK,IAAI;AAAA,EAC5C,YAAY,EAAE,MAAM,KAAK;AAC3B,CAAC;AAED,6BAA6B,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,KAAK,CAAC;AACtE,6BAA6B,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,oBAAoB,EAAE,CAAC;AAC/E,6BAA6B,MAAM,EAAE,aAAa,GAAG,YAAY,EAAE,CAAC;AAEpE,IAAM,yBACH,kBAAAC,QAAS,OAAO,8BACjB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AACF;AAEF,IAAO,kCAAQ;;;AC3Cf,IAAAC,oBAA+C;AAExC,IAAK,kBAAL,kBAAKC,qBAAL;AACN,EAAAA,iBAAA,YAAS;AADE,SAAAA;AAAA,GAAA;AAIL,IAAK,oBAAL,kBAAKC,uBAAL;AACN,EAAAA,mBAAA,UAAO;AACP,EAAAA,mBAAA,eAAY;AACZ,EAAAA,mBAAA,gBAAa;AACb,EAAAA,mBAAA,mBAAgB;AAJL,SAAAA;AAAA,GAAA;AA2BZ,IAAM,sBAAsB,IAAI;AAAA,EAC/B;AAAA,IACC,aAAa,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,YAAY,UAAU,KAAK;AAAA,IAC5E,UAAU;AAAA,MACT,MAAM;AAAA,MACN,MAAM,OAAO,OAAO,eAAe;AAAA,MACnC,SAAS;AAAA,MACT,UAAU;AAAA,IACX;AAAA,IACA,sBAAsB,EAAE,MAAM,QAAQ,UAAU,MAAM,MAAM,KAAK;AAAA,IACjE,4BAA4B,EAAE,MAAM,QAAQ,UAAU,MAAM,MAAM,KAAK;AAAA,IACvE,MAAM;AAAA,MACL,MAAM;AAAA,MACN,MAAM,OAAO,OAAO,iBAAiB;AAAA,MACrC,SAAS;AAAA,MACT,UAAU;AAAA,IACX;AAAA,IACA,OAAO,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACtC,OAAO,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACtC,WAAW,EAAE,MAAM,QAAQ,UAAU,MAAM,KAAK,GAAG,KAAK,GAAG;AAAA,IAC3D,UAAU,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IACzC,QAAQ;AAAA,MACP,MAAM;AAAA,MACN,MAAM,CAAC,aAAa,YAAY;AAAA,MAChC,SAAS;AAAA,IACV;AAAA,IACA,YAAY,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,IAC5C,YAAY,EAAE,MAAM,KAAK;AAAA,IACzB,YAAY,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,OAAO;AAAA,EACxD;AAAA,EACA,EAAE,YAAY,EAAE,WAAW,cAAc,WAAW,aAAa,EAAE;AACpE;AAEA,oBAAoB;AAAA,EACnB,EAAE,aAAa,EAAE;AAAA,EACjB,EAAE,MAAM,2BAA2B;AACpC;AAEA,oBAAoB;AAAA,EACnB,EAAE,aAAa,GAAG,4BAA4B,EAAE;AAAA,EAChD,EAAE,MAAM,4CAA4C,QAAQ,KAAK;AAClE;AAEA,oBAAoB;AAAA,EACnB,EAAE,aAAa,GAAG,YAAY,EAAE;AAAA,EAChC,EAAE,MAAM,iCAAiC;AAC1C;AAEA,IAAO,yBAAQ,kBAAAC,QAAS,OAAO,6BAC9B,yBAAqC,yBAAyB,qBAAqB,0BAA0B;;;AClF9G,IAAAC,oBAA+C;AAExC,IAAKC,mBAAL,kBAAKA,qBAAL;AACN,EAAAA,iBAAA,YAAS;AADE,SAAAA;AAAA,uBAAA;AAIL,IAAK,oBAAL,kBAAKC,uBAAL;AACN,EAAAA,mBAAA,aAAU;AACV,EAAAA,mBAAA,gBAAa;AACb,EAAAA,mBAAA,eAAY;AACZ,EAAAA,mBAAA,YAAS;AACT,EAAAA,mBAAA,cAAW;AALA,SAAAA;AAAA,GAAA;AAQL,IAAK,oBAAL,kBAAKC,uBAAL;AACN,EAAAA,mBAAA,UAAO;AACP,EAAAA,mBAAA,eAAY;AACZ,EAAAA,mBAAA,gBAAa;AACb,EAAAA,mBAAA,mBAAgB;AAJL,SAAAA;AAAA,GAAA;AAwBZ,IAAM,qBAAqB,IAAI;AAAA,EAC9B;AAAA,IACC,UAAU,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,SAAS,UAAU,KAAK;AAAA,IACtE,aAAa,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,YAAY,UAAU,KAAK;AAAA,IAC5E,mBAAmB,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,sBAAsB;AAAA,IAC7E,UAAU;AAAA,MACT,MAAM;AAAA,MACN,MAAM,OAAO,OAAOF,gBAAe;AAAA,MACnC,SAAS;AAAA,MACT,UAAU;AAAA,IACX;AAAA,IACA,qBAAqB,EAAE,MAAM,OAAO;AAAA,IACpC,4BAA4B,EAAE,MAAM,QAAQ,UAAU,KAAK;AAAA,IAC3D,QAAQ;AAAA,MACP,MAAM;AAAA,MACN,MAAM,OAAO,OAAO,iBAAiB;AAAA,MACrC,UAAU;AAAA,IACX;AAAA,IACA,QAAQ;AAAA,MACP,MAAM;AAAA,MACN,MAAM,OAAO,OAAO,iBAAiB;AAAA,MACrC,SAAS;AAAA,MACT,UAAU;AAAA,IACX;AAAA,IACA,QAAQ,EAAE,MAAM,QAAQ,UAAU,MAAM,KAAK,EAAE;AAAA,IAC/C,UAAU,EAAE,MAAM,QAAQ,UAAU,MAAM,SAAS,MAAM;AAAA,IACzD,YAAY,EAAE,MAAM,KAAK;AAAA,IACzB,YAAY,EAAE,MAAM,yBAAO,MAAM,UAAU,KAAK,OAAO;AAAA,EACxD;AAAA,EACA,EAAE,YAAY,EAAE,WAAW,cAAc,WAAW,aAAa,EAAE;AACpE;AAEA,mBAAmB;AAAA,EAClB,EAAE,UAAU,EAAE;AAAA,EACd,EAAE,MAAM,uBAAuB;AAChC;AAEA,mBAAmB;AAAA,EAClB,EAAE,aAAa,GAAG,YAAY,GAAG;AAAA,EACjC,EAAE,MAAM,kCAAkC;AAC3C;AAEA,mBAAmB;AAAA,EAClB,EAAE,4BAA4B,EAAE;AAAA,EAChC;AAAA,IACC,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,QAAQ;AAAA,EACT;AACD;AAEA,mBAAmB;AAAA,EAClB,EAAE,qBAAqB,EAAE;AAAA,EACzB,EAAE,MAAM,qCAAqC;AAC9C;AAEA,IAAO,mBAAQ,kBAAAG,QAAS,OAAO,oBAC9B,yBAA4B,gBAAgB,oBAAoB,gBAAgB;","names":["mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","QuoteStatus","Status","CreatedMethod","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","CustomerStatus","bcrypt","mongoose","import_mongoose","mongoose","import_mongoose","OrderStatus","PaymentMethod","PaymentStatus","mongoose","import_mongoose","mongoose","import_mongoose","SyncLogType","SyncLogStatus","SyncLogAction","mongoose","import_mongoose","import_mongoose","import_bcryptjs","UserRole","UserStatus","bcrypt","mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","PaymentProvider","PaymentMethodType","mongoose","import_mongoose","PaymentProvider","TransactionStatus","TransactionMethod","mongoose"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/clients/models/Clients.ts","../src/clients/models/ClientsContact.ts","../src/clients/models/ClientsAddress.ts","../src/clients/models/ClientsPaymentMethod.ts","../src/clients/models/ClientsPaymentTerm.ts","../src/clients/models/ClientsPriceList.ts","../src/clients/models/ClientsSalesEmployee.ts","../src/inventory/models/Article.ts","../src/inventory/models/ArticleGroups.ts","../src/inventory/models/ArticleClasses.ts","../src/inventory/models/ArticlePrices.ts","../src/inventory/models/Currencies.ts","../src/inventory/models/Warehouses.ts","../src/inventory/models/InventoryStocks.ts","../src/inventory/models/PriceLists.ts","../src/inventory/models/Category.ts","../src/inventory/models/Tag.ts","../src/inventory/models/ArticleViews.ts","../src/quotes/models/Quote.ts","../src/quotes/models/QuoteArticle.ts","../src/quotes/models/QuoteArticleExtra.ts","../src/quotes/models/QuoteContact.ts","../src/quotes/models/QuoteTerm.ts","../src/customers/models/Customers.ts","../src/customers/models/FiscalProfileType.ts","../src/orders/models/Orders.ts","../src/orders/models/OrderStatusLogs.ts","../src/orders/models/State.ts","../src/sap/models/SyncLog.ts","../src/announcements/models/Announcements.ts","../src/users/models/Users.ts","../src/carts/models/Carts.ts","../src/auth/models/RefreshTokens.ts","../src/auth/models/PasswordResetTokens.ts","../src/auth/models/EmailVerificationTokens.ts","../src/payments/models/PaymentMethods.ts","../src/payments/models/Payments.ts"],"sourcesContent":["export * from \"./clients\"\nexport * from \"./inventory\"\nexport * from \"./quotes\"\nexport * from \"./customers\"\nexport * from \"./orders\"\nexport * from \"./sap\"\nexport * from \"./announcements\"\nexport * from \"./users\"\nexport * from \"./carts\"\nexport * from \"./auth\"\nexport * from \"./payments\"\n\nexport { default as State, type StateType } from \"./orders/models/State\"\n","import mongoose, { Schema, model } from \"mongoose\"\n\nexport interface ClientType {\n\tsn_code?: string | null\n\tsn_name?: string | null\n\ttax_id?: string | null\n\tcurrency?: string | null\n\tphone_1?: string | null\n\temail?: string | null\n\tcomments?: string | null\n\tpipedrive_id?: string | null\n\tsap_id?: string | null\n\tdeleted_at?: Date | null\n\tdeleted_by?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientSchema = new Schema<ClientType>(\n\t{\n\t\tsn_code: { type: String, index: true },\n\t\tsn_name: { type: String, required: true },\n\t\ttax_id: { type: String },\n\t\tcurrency: { type: String },\n\t\tphone_1: { type: String },\n\t\temail: { type: String },\n\t\tcomments: { type: String },\n\t\tpipedrive_id: { type: String },\n\t\tsap_id: { type: String },\n\t\tdeleted_at: { type: Date, default: null },\n\t\tdeleted_by: { type: String, default: null },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.Client || model<ClientType>(\"Client\", clientSchema, \"clients\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientContactType {\n\tclient_id: Types.ObjectId\n\tcontact_person_name?: string | null\n\tfirst_name?: string | null\n\tlast_name?: string | null\n\tcontact_phone?: string | null\n\tcontact_email?: string | null\n\tpipedrive_id?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientContactSchema = new Schema<ClientContactType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\tcontact_person_name: { type: String },\n\t\tfirst_name: { type: String },\n\t\tlast_name: { type: String },\n\t\tcontact_phone: { type: String },\n\t\tcontact_email: { type: String },\n\t\tpipedrive_id: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientContact || model<ClientContactType>(\"ClientContact\", clientContactSchema, \"client_contacts\")","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientAddressType {\n\tclient_id: Types.ObjectId\n\taddress_name?: string | null\n\tstreet?: string | null\n\tneighborhood?: string | null\n\tpostal_code?: string | null\n\tcity?: string | null\n\tstate?: string | null\n\tcountry?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientAddressSchema = new Schema<ClientAddressType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\taddress_name: { type: String },\n\t\tstreet: { type: String },\n\t\tneighborhood: { type: String },\n\t\tpostal_code: { type: String },\n\t\tcity: { type: String },\n\t\tstate: { type: String },\n\t\tcountry: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientAddress || model<ClientAddressType>(\n\t\"ClientAddress\",\n\tclientAddressSchema,\n\t\"client_addresses\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientPaymentMethodType {\n\tclient_id: Types.ObjectId\n\tcode?: string | null\n\tdescription?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientPaymentMethodSchema = new Schema<ClientPaymentMethodType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tunique: true,\n\t\t},\n\t\tcode: { type: String },\n\t\tdescription: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientPaymentMethod || model<ClientPaymentMethodType>(\n\t\"ClientPaymentMethod\",\n\tclientPaymentMethodSchema,\n\t\"client_payment_methods\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientPaymentTermType {\n\tclient_id: Types.ObjectId\n\tcode?: string | null\n\tname?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientPaymentTermSchema = new Schema<ClientPaymentTermType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tunique: true,\n\t\t},\n\t\tcode: { type: String },\n\t\tname: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientPaymentTerm || model<ClientPaymentTermType>(\n\t\"ClientPaymentTerm\",\n\tclientPaymentTermSchema,\n\t\"client_payment_terms\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientPriceListType {\n\tclient_id: Types.ObjectId\n\tnumber?: string | null\n\tname?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientPriceListSchema = new Schema<ClientPriceListType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tunique: true,\n\t\t},\n\t\tnumber: { type: String },\n\t\tname: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientPriceList || model<ClientPriceListType>(\n\t\"ClientPriceList\",\n\tclientPriceListSchema,\n\t\"client_price_lists\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientSalesEmployeeType {\n\tclient_id: Types.ObjectId\n\temployee_code?: string | null\n\temployee_name?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientSalesEmployeeSchema = new Schema<ClientSalesEmployeeType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tunique: true,\n\t\t},\n\t\temployee_code: { type: String },\n\t\temployee_name: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientSalesEmployee || model<ClientSalesEmployeeType>(\n\t\"ClientSalesEmployee\",\n\tclientSalesEmployeeSchema,\n\t\"client_sales_employees\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nconst articleFileSchema = new Schema(\n\t{\n\t\tkey: { type: String, required: true },\n\t\turl: { type: String, required: true },\n\t\tfilename: { type: String, required: true },\n\t\tmime_type: { type: String, required: true },\n\t\tsize: { type: Number, required: true },\n\t\tuploaded_at: { type: Date, default: Date.now },\n\t\tuploaded_by: { type: String, required: true },\n\t},\n\t{ _id: false }\n)\n\nconst articleSchema = new Schema({\n\tarticle_number: { type: String, required: true, unique: true }, // SAP ItemCode\n\tdescription: { type: String, required: true },\n\tunit: { type: String, required: true },\n\tbrand: { type: String },\n\tmodel: { type: String },\n\tgroup_id: { type: Types.ObjectId, ref: \"ArticleGroup\", required: true },\n\tcategory_id: { type: Types.ObjectId, ref: \"Category\", required: false, index: true },\n\ttags: { type: [Types.ObjectId], ref: \"Tag\", default: [], index: true },\n\tis_featured: { type: Boolean, default: false, index: true },\n\tfeatured_order: { type: Number, default: 0 },\n\tfiles: {\n\t\timages: { type: [articleFileSchema], required: false },\n\t\tdatasheets: { type: [articleFileSchema], required: false },\n\t},\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n\tdeleted_at: { type: Date },\n})\n\narticleSchema.index(\n\t{ description: \"text\", brand: \"text\", model: \"text\" },\n\t{ name: \"articles_text_search\" }\n)\narticleSchema.index({ group_id: 1, updated_at: -1 }, { name: \"articles_group_updated\" })\narticleSchema.index({ category_id: 1, updated_at: -1 }, { name: \"articles_category_updated\" })\narticleSchema.index({ updated_at: -1 }, { name: \"articles_updated\" })\narticleSchema.index(\n\t{ deleted_at: 1, updated_at: -1 },\n\t{ name: \"articles_not_deleted_sort\" }\n)\narticleSchema.index({ is_featured: 1, featured_order: 1 }, { name: \"articles_featured_order\" })\n\nexport default mongoose.models.Article || model(\"Article\", articleSchema, \"articles\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst articleGroupSchema = new Schema({\n\tname: { type: String, required: true },\n\tdescription: { type: String },\n})\n\nexport default mongoose.models.ArticleGroup || model(\"ArticleGroup\", articleGroupSchema, \"article_groups\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst articleClassSchema = new Schema({\n\tname: { type: String, required: true },\n\tdescription: { type: String },\n})\n\nexport default mongoose.models.ArticleClass || model(\"ArticleClass\", articleClassSchema, \"article_classes\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nconst articlePriceSchema = new Schema({\n\tarticle_id: { type: Types.ObjectId, ref: \"Article\", required: true },\n\tprice_list_id: { type: Types.ObjectId, ref: \"PriceList\", required: true },\n\tcurrency_id: { type: Types.ObjectId, ref: \"Currency\", required: true },\n\tprice: { type: Number, required: true },\n\tvalid_from: { type: Date },\n\tvalid_to: { type: Date },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n})\n\narticlePriceSchema.index({ article_id: 1, price_list_id: 1 }, { name: \"article_prices_article_pricelist\" })\n\nexport default mongoose.models.ArticlePrice || model(\"ArticlePrice\", articlePriceSchema, \"article_prices\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst currencySchema = new Schema({\n\tcode: { type: String, required: true, unique: true },\n\tsymbol: { type: String, required: true },\n\tname: { type: String, required: true },\n})\n\nexport default mongoose.models.Currency || model(\"Currency\", currencySchema, \"currencies\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst warehouseSchema = new Schema({\n\tcode: { type: String, required: true, unique: true },\n\tname: { type: String, required: true },\n\tlocation: { type: String },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n})\n\nexport default mongoose.models.Warehouse || model(\"Warehouse\", warehouseSchema, \"warehouses\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nconst inventoryStockSchema = new Schema({\n\tarticle_id: { type: Types.ObjectId, ref: \"Article\", required: true },\n\twarehouse_id: { type: Types.ObjectId, ref: \"Warehouse\", required: true },\n\tcount: { type: Number, required: true },\n\tmin_stock: { type: Number },\n\tmax_stock: { type: Number },\n\tupdated_at: { type: Date, default: Date.now },\n\tupdated_by: { type: Types.ObjectId, ref: \"User\" },\n})\n\ninventoryStockSchema.index({ article_id: 1, warehouse_id: 1 }, { name: \"inventory_stocks_article_warehouse_unique\", unique: true })\n\nexport default mongoose.models.InventoryStock || model(\"InventoryStock\", inventoryStockSchema, \"inventory_stocks\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst priceListSchema = new Schema({\n\tnumber: { type: String, required: true, unique: true },\n\tname: { type: String, required: true },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n})\n\nexport default mongoose.models.PriceList || model(\"PriceList\", priceListSchema, \"price_lists\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nconst categorySchema = new Schema({\n\tname: { type: String, required: true, trim: true },\n\tslug: { type: String, required: true, trim: true, lowercase: true },\n\tparent_id: { type: Types.ObjectId, ref: \"Category\", default: null, index: true },\n\torder: { type: Number, default: 0 },\n\tis_active: { type: Boolean, default: true, index: true },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date, default: Date.now },\n})\n\ncategorySchema.index({ slug: 1 }, { unique: true, name: \"categories_slug_unique\" })\ncategorySchema.index({ parent_id: 1 }, { name: \"categories_parent\" })\ncategorySchema.index({ is_active: 1 }, { name: \"categories_active\" })\n\nexport default mongoose.models.Category || model(\"Category\", categorySchema, \"categories\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst tagSchema = new Schema({\n\tname: { type: String, required: true, trim: true },\n\tslug: { type: String, required: true, trim: true, lowercase: true },\n\ttype: { type: String, enum: [\"filter\", \"sidebar\"], default: \"filter\", index: true },\n\tis_active: { type: Boolean, default: true, index: true },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date, default: Date.now },\n})\n\ntagSchema.index({ slug: 1 }, { unique: true, name: \"tags_slug_unique\" })\ntagSchema.index({ is_active: 1 }, { name: \"tags_active\" })\ntagSchema.index({ type: 1 }, { name: \"tags_type\" })\n\nexport default mongoose.models.Tag || model(\"Tag\", tagSchema, \"tags\")\n","import mongoose, { Schema, model, type Model, type HydratedDocument, type Types } from \"mongoose\"\n\nexport interface ArticleViewType {\n\tarticle_id: Types.ObjectId\n\tvisited_at: Date\n}\n\nexport type ArticleViewDoc = HydratedDocument<ArticleViewType>\nexport type ArticleViewModel = Model<ArticleViewType>\n\nconst articleViewSchema = new Schema<ArticleViewType>(\n\t{\n\t\tarticle_id: { type: Schema.Types.ObjectId, ref: \"Article\", required: true },\n\t\tvisited_at: { type: Date, default: Date.now },\n\t},\n\t{ collection: \"article_views\" }\n)\n\nconst ArticleView: ArticleViewModel =\n\t(mongoose.models.ArticleView as ArticleViewModel) ||\n\tmodel<ArticleViewType>(\"ArticleView\", articleViewSchema)\n\nexport default ArticleView\n","import mongoose, { Schema, model } from \"mongoose\"\n\nexport enum QuoteStatus {\n\tOPPORTUNITY = \"OPPORTUNITY\",\n\tQUOTE = \"QUOTE\",\n\tFOLLOWING = \"FOLLOWING\",\n\tNEGOTIATION = \"NEGOTIATION\",\n}\n\nexport enum Status {\n\tOPEN = \"OPEN\",\n\tWIN = \"WIN\",\n\tLOST = \"LOST\",\n\tDELETE = \"DELETE\",\n}\n\nexport enum CreatedMethod {\n\tMANUAL = \"MANUAL\",\n\tCSV = \"CSV\",\n}\n\nconst quoteSchema = new Schema(\n\t{\n\t\tquote_number: { type: Number, required: true },\n\t\tquote_revision: { type: Number, default: 0 },\n\t\tquote_ref: { type: String },\n\t\tcompany: { type: String },\n\t\tcompany_id: { type: Schema.Types.ObjectId, ref: \"Client\", required: true },\n\t\tcompany_pipedrive_id: { type: String },\n\t\tcontact_id: { type: Schema.Types.ObjectId, ref: \"ClientContact\" },\n\t\tproject_name: { type: String },\n\t\tproject_lab: { type: String },\n\t\tpayment_condition: { type: String },\n\t\tpayment_exp: { type: String },\n\t\tterms_ids: [{ type: Schema.Types.ObjectId, ref: \"QuoteTerm\" }],\n\t\tcurrency_id: { type: Schema.Types.ObjectId, ref: \"Currency\" },\n\t\tiva: { type: String },\n\t\tdate: { type: Date },\n\t\tstatus: { type: String, enum: Object.values(Status), default: Status.OPEN },\n\t\tquote_status: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(QuoteStatus),\n\t\t\tdefault: QuoteStatus.OPPORTUNITY,\n\t\t},\n\t\tsap_id: { type: String },\n\t\tsap_quotation_entry: { type: Number },\n\t\tsap_order_entry: { type: Number },\n\t\tpipedrive_id: { type: String },\n\t\tshould_sync: { type: Boolean, default: false },\n\t\tpdf_download_link: { type: String },\n\t\tnotes: { type: String },\n\t\tcreated_method: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(CreatedMethod),\n\t\t\tdefault: CreatedMethod.MANUAL,\n\t\t},\n\t\tcreated_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t\tupdated_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t\tdeleted_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t\tdeleted_at: { type: Date },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.Quote || model(\"Quote\", quoteSchema, \"quotes\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst quoteArticleSchema = new Schema(\n\t{\n\t\tquote_id: { type: Schema.Types.ObjectId, ref: \"Quote\", required: true },\n\t\tarticle_id: { type: Schema.Types.ObjectId, ref: \"Article\" },\n\t\tarticle_number: { type: String },\n\t\tdescription: { type: String },\n\t\tdelivery: { type: String },\n\t\tquantity: { type: Number },\n\t\tprice: { type: Number },\n\t\tunit_price: { type: Number },\n\t\toriginal_price: { type: Number },\n\t\ttotal: { type: Number },\n\t\tutility: { type: Number },\n\t\ttype: { type: String },\n\t\textra_id: { type: Schema.Types.ObjectId, ref: \"QuoteArticleExtra\" },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.QuoteArticle || model(\"QuoteArticle\", quoteArticleSchema, \"quote_articles\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst quoteArticleExtraSchema = new Schema(\n\t{\n\t\tquote_article_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"QuoteArticle\",\n\t\t\trequired: true,\n\t\t},\n\t\tmultiplier: Number,\n\t\tusa_freight: Number,\n\t\tusa_expenses: Number,\n\t\tduty: Number,\n\t\tmex_freight: Number,\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.QuoteArticleExtra || model(\"QuoteArticleExtra\", quoteArticleExtraSchema, \"quote_article_extras\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst quoteContactSchema = new Schema({\n\tquote_id: { type: Schema.Types.ObjectId, ref: \"Quote\", required: true },\n\tname: String,\n\temail: String,\n\tmobile: String,\n\tpipedrive_id: String,\n\tcreated_at: { type: Date, default: Date.now },\n})\n\nexport default mongoose.models.QuoteContact || model(\"QuoteContact\", quoteContactSchema, \"quote_contacts\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst quoteTermSchema = new Schema(\n\t{\n\t\ttitle: String,\n\t\tcontent: { type: String, required: true },\n\t\tcategory: String,\n\t\tis_active: { type: Boolean, default: true },\n\t\tcreated_by: String,\n\t\tupdated_by: String,\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.QuoteTerm || model(\"QuoteTerm\", quoteTermSchema, \"quote_terms\")\n","import mongoose, {\n\tSchema,\n\tmodel,\n\ttype Model,\n\ttype HydratedDocument,\n\ttype Types,\n} from \"mongoose\";\nimport bcrypt from \"bcryptjs\";\n\nexport enum CustomerStatus {\n\tACTIVE = \"active\",\n\tINACTIVE = \"inactive\",\n\tBANNED = \"banned\",\n}\n\nexport interface CustomerType {\n\tfirst_name: string;\n\tlast_name: string;\n\temail: string;\n\tmobile?: string;\n\tpassword: string;\n\tstatus: CustomerStatus;\n\tfiscal_profile_id?: Types.ObjectId;\n\tcreated_at: Date;\n\tupdated_at?: Date;\n\tdeleted_at?: Date;\n}\n\nexport type CustomerDoc = HydratedDocument<CustomerType>;\nexport type CustomerModel = Model<CustomerType>;\n\nconst customerSchema = new Schema<CustomerType>({\n\tfirst_name: { type: String, required: true },\n\tlast_name: { type: String, required: true },\n\temail: { type: String, required: true, unique: true },\n\tmobile: { type: String },\n\tpassword: { type: String, required: true, select: false },\n\tstatus: {\n\t\ttype: String,\n\t\tenum: Object.values(CustomerStatus),\n\t\tdefault: CustomerStatus.INACTIVE,\n\t},\n\tfiscal_profile_id: { type: Schema.Types.ObjectId, ref: \"FiscalProfile\" },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n\tdeleted_at: { type: Date },\n});\n\ncustomerSchema.pre(\"save\", async function() {\n\tif (this.isModified(\"password\")) {\n\t\tthis.password = await bcrypt.hash(this.password, 12);\n\t}\n});\n\nconst Customer: CustomerModel =\n\t(mongoose.models.Customer as CustomerModel) ||\n\tmodel<CustomerType>(\"Customer\", customerSchema, \"customers\");\n\nexport default Customer;\n","import mongoose, { Schema, model, type Model, type HydratedDocument, type Types } from \"mongoose\";\n\nexport interface FiscalProfileType {\n\tcustomer_id: Types.ObjectId;\n\trfc: string;\n\trazon_social: string;\n\tuso_cfdi: string;\n\tregimen_fiscal: string;\n\tcp: string;\n\tcreated_at: Date;\n\tupdated_at?: Date;\n}\n\nexport type FiscalProfileDoc = HydratedDocument<FiscalProfileType>;\nexport type FiscalProfileModel = Model<FiscalProfileType>;\n\nconst fiscalProfileSchema = new Schema<FiscalProfileType>({\n\tcustomer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n\trfc: { type: String, required: true },\n\trazon_social: { type: String, required: true },\n\tuso_cfdi: { type: String, required: true },\n\tregimen_fiscal: { type: String, required: true },\n\tcp: { type: String, required: true },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n});\n\nconst FiscalProfile: FiscalProfileModel =\n\t(mongoose.models.FiscalProfile as FiscalProfileModel) ||\n\tmodel<FiscalProfileType>(\"FiscalProfile\", fiscalProfileSchema, \"fiscal_profiles\");\n\nexport default FiscalProfile;\n","import mongoose, { Schema, model } from \"mongoose\"\n\nexport enum OrderStatus {\n\tPENDING = \"pending\",\n\tCONFIRMED = \"confirmed\",\n\tSHIPPED = \"shipped\",\n\tCANCELLED = \"cancelled\",\n\tCOMPLETED = \"completed\",\n}\n\nexport enum PaymentMethod {\n\tCARD = \"CARD\",\n\tTRANSFER = \"TRANSFER\",\n}\n\nexport enum PaymentStatus {\n\tUNPAID = \"UNPAID\",\n\tPENDING_TRANSFER = \"PENDING_TRANSFER\",\n\tPAID = \"PAID\",\n\tREFUNDED = \"REFUNDED\",\n}\n\nconst shippingAddressSchema = new Schema(\n\t{\n\t\tfull_name: { type: String, required: true, trim: true },\n\t\tphone: { type: String, required: true, trim: true },\n\t\tline1: { type: String, required: true, trim: true },\n\t\tline2: { type: String, trim: true },\n\t\tcity: { type: String, required: true, trim: true },\n\t\tstate: { type: String, required: true, trim: true },\n\t\tpostal_code: { type: String, required: true, trim: true },\n\t\tcountry: { type: String, required: true, trim: true, default: \"MX\" },\n\t},\n\t{ _id: false }\n)\n\nconst orderItemSchema = new Schema(\n\t{\n\t\tarticle_id: { type: Schema.Types.ObjectId, ref: \"Article\", required: true },\n\t\tquantity: { type: Number, required: true, min: 1 },\n\t\tunit_price: { type: Number, required: true, min: 0 },\n\t\ttotal: { type: Number, required: true, min: 0 },\n\t},\n\t{ _id: false }\n)\n\nconst orderSchema = new Schema(\n\t{\n\t\tcustomer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n\t\titems: { type: [orderItemSchema], required: true, default: [] },\n\n\t\tstatus: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(OrderStatus),\n\t\t\tdefault: OrderStatus.PENDING,\n\t\t\trequired: true,\n\t\t},\n\n\t\ttracking_number: { type: String },\n\n\t\tpayment_method: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(PaymentMethod),\n\t\t\trequired: true,\n\t\t},\n\n\t\tpayment_status: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(PaymentStatus),\n\t\t\tdefault: PaymentStatus.UNPAID,\n\t\t\trequired: true,\n\t\t},\n\n\t\texpires_at: { type: Date },\n\n\t\tshipping_address: { type: shippingAddressSchema, required: false },\n\t\tdelivery_type: { type: String, enum: ['shipping', 'pickup'], required: true },\n\t\tsubtotal: { type: Number, required: true, min: 0 },\n\t\tshipping_fee: { type: Number, min: 0, default: null },\n\t\ttotal: { type: Number, required: true, min: 0 },\n\t\tnotes: { type: String, trim: true },\n\t},\n\t{\n\t\ttimestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" },\n\t}\n)\n\norderSchema.index(\n\t{ customer_id: 1, created_at: -1 },\n\t{ name: \"orders_customer_created\" }\n)\n\norderSchema.index(\n\t{ expires_at: 1 },\n\t{ name: \"orders_expires_at\" }\n)\n\norderSchema.index(\n\t{ \"shipping_address.postal_code\": 1, created_at: -1 },\n\t{ name: \"orders_postal_created\" }\n)\n\nexport default mongoose.models.Order || model(\"Order\", orderSchema, \"orders\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\nimport { OrderStatus } from \"./Orders\"\n\nexport interface OrderStatusLogType {\n\torder_id: Types.ObjectId\n\tstatus: OrderStatus\n\tchanged_by: Types.ObjectId\n\tchanged_at?: Date\n\tnote?: string\n}\n\nconst orderStatusLogSchema = new Schema<OrderStatusLogType>(\n\t{\n\t\torder_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Order\",\n\t\t\trequired: true,\n\t\t},\n\t\tstatus: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(OrderStatus),\n\t\t\trequired: true,\n\t\t},\n\t\tchanged_by: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"User\",\n\t\t\trequired: true,\n\t\t},\n\t\tchanged_at: {\n\t\t\ttype: Date,\n\t\t\tdefault: Date.now,\n\t\t},\n\t\tnote: {\n\t\t\ttype: String,\n\t\t\ttrim: true,\n\t\t},\n\t},\n\t{ collection: \"order_status_logs\" }\n)\n\norderStatusLogSchema.index(\n\t{ order_id: 1, changed_at: -1 },\n\t{ name: \"order_status_logs_order_changed_at\" }\n)\norderStatusLogSchema.index(\n\t{ changed_by: 1, changed_at: -1 },\n\t{ name: \"order_status_logs_changed_by_changed_at\" }\n)\n\nexport default\nmongoose.models.OrderStatusLog ||\nmodel<OrderStatusLogType>(\"OrderStatusLog\", orderStatusLogSchema)\n","import mongoose, { Schema, model } from \"mongoose\"\n\nexport interface StateType {\n\t_id?: mongoose.Types.ObjectId\n\tname: string\n\tcode?: string\n\tpercentage: number\n\tis_active: boolean\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst stateSchema = new Schema<StateType>(\n\t{\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t\ttrim: true,\n\t\t\tlowercase: true,\n\t\t\tindex: true,\n\t\t},\n\t\tcode: {\n\t\t\ttype: String,\n\t\t\ttrim: true,\n\t\t\tuppercase: true,\n\t\t\tsparse: true,\n\t\t},\n\t\tpercentage: {\n\t\t\ttype: Number,\n\t\t\trequired: true,\n\t\t\tdefault: 0.1,\n\t\t\tmin: 0,\n\t\t\tmax: 1,\n\t\t},\n\t\tis_active: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t\tindex: true,\n\t\t},\n\t},\n\t{\n\t\ttimestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" },\n\t}\n)\n\nstateSchema.index({ name: 1, is_active: 1 }, { name: \"states_name_active\" })\n\nexport default mongoose.models.State || model<StateType>(\"State\", stateSchema, \"states\")\n","import mongoose, { Schema, model, Document, Types } from \"mongoose\"\n\n/**\n * Sync Log Types\n */\nexport enum SyncLogType {\n\tSAP_QUOTATION = \"SAP_QUOTATION\",\n\tSAP_SALES_ORDER = \"SAP_SALES_ORDER\",\n\tPIPEDRIVE = \"PIPEDRIVE\",\n}\n\nexport enum SyncLogStatus {\n\tPENDING = \"PENDING\",\n\tSUCCESS = \"SUCCESS\",\n\tFAILED = \"FAILED\",\n\tRETRYING = \"RETRYING\",\n}\n\nexport enum SyncLogAction {\n\tCREATE = \"CREATE\",\n\tUPDATE = \"UPDATE\",\n\tDELETE = \"DELETE\",\n}\n\nexport interface ISyncLog extends Document {\n\t_id: Types.ObjectId\n\tentity_type: string\n\tentity_id: Types.ObjectId\n\tsync_type: SyncLogType\n\taction: SyncLogAction\n\tstatus: SyncLogStatus\n\terror_message?: string\n\terror_code?: string\n\terror_details?: Record<string, any>\n\trequest_payload?: Record<string, any>\n\tresponse_payload?: Record<string, any>\n\tretry_count: number\n\tmax_retries: number\n\tnext_retry_at?: Date\n\tcreated_at: Date\n\tupdated_at: Date\n\tresolved_at?: Date\n\tresolved_by?: Types.ObjectId\n}\n\nconst syncLogSchema = new Schema(\n\t{\n\t\tentity_type: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\tentity_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\tsync_type: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(SyncLogType),\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\taction: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(SyncLogAction),\n\t\t\trequired: true,\n\t\t},\n\t\tstatus: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(SyncLogStatus),\n\t\t\tdefault: SyncLogStatus.PENDING,\n\t\t\tindex: true,\n\t\t},\n\t\terror_message: { type: String },\n\t\terror_code: { type: String },\n\t\terror_details: { type: Schema.Types.Mixed },\n\t\trequest_payload: { type: Schema.Types.Mixed },\n\t\tresponse_payload: { type: Schema.Types.Mixed },\n\t\tretry_count: { type: Number, default: 0 },\n\t\tmax_retries: { type: Number, default: 3 },\n\t\tnext_retry_at: { type: Date },\n\t\tresolved_at: { type: Date },\n\t\tresolved_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t},\n\t{\n\t\ttimestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" },\n\t}\n)\n\nsyncLogSchema.index({ entity_type: 1, entity_id: 1, status: 1 })\nsyncLogSchema.index({ status: 1, next_retry_at: 1 })\n\nexport const SyncLog = mongoose.models.SyncLog || model<ISyncLog>(\"SyncLog\", syncLogSchema, \"sync_logs\")\n","import mongoose, { Schema, model } from \"mongoose\"\nimport { UserRole } from \"../../users/models/Users\"\n\nexport interface AnnouncementType {\n\tcreated_by: mongoose.Types.ObjectId\n\tupdated_by?: mongoose.Types.ObjectId\n\tdeleted_by?: mongoose.Types.ObjectId\n\n\tcreated_at: Date\n\tupdated_at?: Date\n\tdeleted_at?: Date\n\n\ttitle: string\n\ttext: string\n\troles: UserRole[]\n}\n\nconst announcementSchema = new Schema<AnnouncementType>({\n\tcreated_by: {\n\t\ttype: Schema.Types.ObjectId,\n\t\tref: \"User\",\n\t\trequired: true,\n\t},\n\tupdated_by: {\n\t\ttype: Schema.Types.ObjectId,\n\t\tref: \"User\",\n\t},\n\tdeleted_by: {\n\t\ttype: Schema.Types.ObjectId,\n\t\tref: \"User\",\n\t},\n\n\tcreated_at: {\n\t\ttype: Date,\n\t\tdefault: Date.now,\n\t},\n\tupdated_at: Date,\n\tdeleted_at: Date,\n\n\ttitle: {\n\t\ttype: String,\n\t\trequired: true,\n\t\ttrim: true,\n\t},\n\ttext: {\n\t\ttype: String,\n\t\trequired: true,\n\t\ttrim: true,\n\t},\n\troles: {\n\t\ttype: [String],\n\t\tenum: Object.values(UserRole),\n\t\trequired: true,\n\t\tvalidate: {\n\t\t\tvalidator: (roles: UserRole[]) => roles.length > 0,\n\t\t\tmessage: \"At least one user role must be assigned.\",\n\t\t},\n\t},\n})\n\nexport default mongoose.models.Announcement || model<AnnouncementType>(\"Announcement\", announcementSchema, \"announcements\")\n","import mongoose, { Schema, model } from \"mongoose\"\nimport bcrypt from \"bcryptjs\"\n\nexport enum UserRole {\n ADMIN = \"admin\",\n SALES = \"sales\",\n TECHNICIAN = \"technician\",\n WAREHOUSEMAN = \"warehouseman\",\n}\n\nexport enum UserStatus {\n ACTIVE = \"active\",\n INACTIVE = \"inactive\",\n SUSPENDED = \"suspended\",\n}\n\nexport interface UserType {\n first_name: string\n middle_name?: string\n last_name: string\n username: string\n password: string\n role: UserRole\n status: UserStatus\n email?: string\n mobile?: string\n pipedrive_id?: string\n sap_employee_id?: string\n sap_id?: string\n created_at: Date\n created_by?: mongoose.Types.ObjectId | string\n updated_at?: Date\n updated_by?: mongoose.Types.ObjectId\n deleted_at?: Date\n deleted_by?: mongoose.Types.ObjectId\n}\n\nconst usersSchema = new Schema<UserType>({\n first_name: { type: String, required: true },\n middle_name: { type: String },\n last_name: { type: String, required: true },\n username: { type: String, required: true, unique: true },\n password: { type: String, required: true, select: false },\n role: {\n type: String,\n enum: Object.values(UserRole),\n default: UserRole.SALES,\n },\n status: {\n type: String,\n enum: Object.values(UserStatus),\n default: UserStatus.ACTIVE,\n },\n email: { type: String },\n mobile: { type: String },\n pipedrive_id: { type: String },\n sap_id: { type: String },\n sap_employee_id: { type: String },\n created_at: { type: Date, default: Date.now },\n created_by: { type: Schema.Types.Mixed, ref: \"User\" },\n updated_at: { type: Date },\n updated_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n deleted_at: { type: Date },\n deleted_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n})\n\nusersSchema.pre(\"save\", async function () {\n if (this.isModified(\"password\")) {\n this.password = await bcrypt.hash(this.password, 12)\n }\n})\n\nexport default mongoose.models.User || model<UserType>(\"User\", usersSchema, \"users\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface CartItem {\n\tarticle_id: Schema.Types.ObjectId\n\tquantity: number\n\tunit_price?: number\n\tline_subtotal?: number\n\tadded_at?: Date\n}\n\nexport interface CartType {\n\tcustomer_id: Schema.Types.ObjectId\n\tstatus: \"ACTIVE\" | \"CHECKED_OUT\" | \"ABANDONED\"\n\tcurrency: string\n\tprice_list_id?: Schema.Types.ObjectId\n\texpires_at?: Date\n\tsubtotal: number\n\titems: CartItem[]\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\n// Items se identifican por article_id, por eso no generamos _id\nconst cartItemSchema = new Schema<CartItem>(\n\t{\n\t\tarticle_id: { type: Types.ObjectId, ref: \"Article\", required: true },\n\t\tquantity: { type: Number, required: true, min: 1 },\n\t\tunit_price: { type: Number },\n\t\tline_subtotal: { type: Number },\n\t\tadded_at: { type: Date, default: Date.now },\n\t},\n\t{ _id: false }\n)\n\nconst cartSchema = new Schema<CartType>(\n\t{\n\t\tcustomer_id: {\n\t\t\ttype: Types.ObjectId,\n\t\t\tref: \"Customer\",\n\t\t\trequired: true,\n\t\t},\n\t\tstatus: {\n\t\t\ttype: String,\n\t\t\tenum: [\"ACTIVE\", \"CHECKED_OUT\", \"ABANDONED\"],\n\t\t\tdefault: \"ACTIVE\",\n\t\t},\n\t\tcurrency: { type: String, default: \"MXN\" },\n\t\tprice_list_id: { type: Types.ObjectId, ref: \"PriceList\" },\n\t\texpires_at: { type: Date },\n\t\tsubtotal: { type: Number, default: 0 },\n\t\titems: { type: [cartItemSchema], default: [] },\n\t},\n\t{\n\t\ttimestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" },\n\t}\n)\n\n// 1 carrito por customer\ncartSchema.index({ customer_id: 1 }, { unique: true, name: \"carts_customer_unique\" })\n// Orden/limpieza por actualización\ncartSchema.index({ updated_at: -1 }, { name: \"carts_updated_at\" })\n\nexport default mongoose.models.Cart || model<CartType>(\"Cart\", cartSchema, \"carts\")\n","import mongoose, {\n\tSchema,\n\tmodel,\n\ttype Model,\n\ttype HydratedDocument,\n\ttype Types,\n} from \"mongoose\";\n\nexport interface RefreshTokenType {\n\tcustomer_id: Types.ObjectId;\n\ttoken_hash: string;\n\texpires_at: Date;\n\trevoked_at?: Date;\n\treplaced_by_token_hash?: string;\n\tcreated_at: Date;\n\tupdated_at?: Date;\n}\n\nexport type RefreshTokenDoc = HydratedDocument<RefreshTokenType>;\nexport type RefreshTokenModel = Model<RefreshTokenType>;\n\nconst refreshTokenSchema = new Schema<RefreshTokenType>({\n\tcustomer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n\t// Store only SHA-256 hash of the opaque refresh token (base64url). Never store the raw token.\n\ttoken_hash: { type: String, required: true },\n\texpires_at: { type: Date, required: true },\n\trevoked_at: { type: Date },\n\treplaced_by_token_hash: { type: String },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n});\n\nrefreshTokenSchema.index({ token_hash: 1 }, { unique: true });\nrefreshTokenSchema.index({ expires_at: 1 }, { expireAfterSeconds: 0 });\nrefreshTokenSchema.index({ customer_id: 1, expires_at: 1 });\n\nrefreshTokenSchema.pre(\"save\", function () {\n\tthis.updated_at = new Date();\n});\n\nconst RefreshToken: RefreshTokenModel =\n\t(mongoose.models.RefreshToken as RefreshTokenModel) ||\n\tmodel<RefreshTokenType>(\"RefreshToken\", refreshTokenSchema, \"refresh_tokens\");\n\nexport default RefreshToken;\n","import mongoose, {\n\tSchema,\n\tmodel,\n\ttype Model,\n\ttype HydratedDocument,\n\ttype Types,\n} from \"mongoose\";\n\nexport interface PasswordResetTokenType {\n\tcustomer_id: Types.ObjectId;\n\ttoken_hash: string;\n\texpires_at: Date;\n\tused_at?: Date;\n\tcreated_at: Date;\n\tupdated_at?: Date;\n}\n\nexport type PasswordResetTokenDoc = HydratedDocument<PasswordResetTokenType>;\nexport type PasswordResetTokenModel = Model<PasswordResetTokenType>;\n\nconst passwordResetTokenSchema = new Schema<PasswordResetTokenType>({\n\tcustomer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n\t// Store only SHA-256 hash of the opaque reset token (base64url). Never store the raw token.\n\ttoken_hash: { type: String, required: true },\n\texpires_at: { type: Date, required: true },\n\tused_at: { type: Date },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n});\n\npasswordResetTokenSchema.index({ token_hash: 1 }, { unique: true });\npasswordResetTokenSchema.index({ expires_at: 1 }, { expireAfterSeconds: 0 });\npasswordResetTokenSchema.index({ customer_id: 1, expires_at: 1 });\n\npasswordResetTokenSchema.pre(\"save\", function (next) {\n\tthis.updated_at = new Date();\n});\n\nconst PasswordResetToken: PasswordResetTokenModel =\n\t(mongoose.models.PasswordResetToken as PasswordResetTokenModel) ||\n\tmodel<PasswordResetTokenType>(\"PasswordResetToken\", passwordResetTokenSchema, \"password_reset_tokens\");\n\nexport default PasswordResetToken;\n","import mongoose, {\n Schema,\n model,\n type Model,\n type HydratedDocument,\n type Types,\n} from \"mongoose\"\n\nexport interface EmailVerificationTokenType {\n customer_id: Types.ObjectId\n token_hash: string\n expires_at: Date\n used_at?: Date\n created_at: Date\n updated_at?: Date\n}\n\nexport type EmailVerificationTokenDoc =\n HydratedDocument<EmailVerificationTokenType>\nexport type EmailVerificationTokenModel = Model<EmailVerificationTokenType>\n\nconst emailVerificationTokenSchema = new Schema<EmailVerificationTokenType>({\n customer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n // Store only SHA-256 hash of the opaque email verification token. Never store the raw token.\n token_hash: { type: String, required: true },\n expires_at: { type: Date, required: true },\n used_at: { type: Date },\n created_at: { type: Date, default: Date.now },\n updated_at: { type: Date },\n})\n\nemailVerificationTokenSchema.index({ token_hash: 1 }, { unique: true })\nemailVerificationTokenSchema.index({ expires_at: 1 }, { expireAfterSeconds: 0 })\nemailVerificationTokenSchema.index({ customer_id: 1, expires_at: 1 })\n\nconst EmailVerificationToken: EmailVerificationTokenModel =\n (mongoose.models.EmailVerificationToken as EmailVerificationTokenModel) ||\n model<EmailVerificationTokenType>(\n \"EmailVerificationToken\",\n emailVerificationTokenSchema,\n \"email_verification_tokens\"\n )\n\nexport default EmailVerificationToken\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport enum PaymentProvider {\n\tSTRIPE = \"stripe\",\n}\n\nexport enum PaymentMethodType {\n\tCARD = \"card\",\n\tAPPLE_PAY = \"apple_pay\",\n\tGOOGLE_PAY = \"google_pay\",\n\tBANK_TRANSFER = \"bank_transfer\",\n}\n\nexport type PaymentMethodWallet = \"apple_pay\" | \"google_pay\"\n\nexport interface CustomerPaymentMethodDocument {\n\tcustomer_id: Types.ObjectId\n\tprovider: PaymentProvider\n\tprovider_customer_id: string\n\tprovider_payment_method_id: string\n\ttype: PaymentMethodType\n\tbrand: string\n\tlast4: string\n\texp_month: number\n\texp_year: number\n\twallet?: PaymentMethodWallet | null\n\tis_default: boolean\n\tcreated_at: Date\n\tupdated_at?: Date\n\tdeleted_at?: Date\n\tdeleted_by?: Types.ObjectId\n}\n\nconst paymentMethodSchema = new Schema<CustomerPaymentMethodDocument>(\n\t{\n\t\tcustomer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n\t\tprovider: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(PaymentProvider),\n\t\t\tdefault: PaymentProvider.STRIPE,\n\t\t\trequired: true,\n\t\t},\n\t\tprovider_customer_id: { type: String, required: true, trim: true },\n\t\tprovider_payment_method_id: { type: String, required: true, trim: true },\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(PaymentMethodType),\n\t\t\tdefault: PaymentMethodType.CARD,\n\t\t\trequired: true,\n\t\t},\n\t\tbrand: { type: String, required: true },\n\t\tlast4: { type: String, required: true },\n\t\texp_month: { type: Number, required: true, min: 1, max: 12 },\n\t\texp_year: { type: Number, required: true },\n\t\twallet: {\n\t\t\ttype: String,\n\t\t\tenum: [\"apple_pay\", \"google_pay\"],\n\t\t\tdefault: null,\n\t\t},\n\t\tis_default: { type: Boolean, default: false },\n\t\tdeleted_at: { type: Date },\n\t\tdeleted_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\npaymentMethodSchema.index(\n\t{ customer_id: 1 },\n\t{ name: \"payment_methods_customer\" }\n)\n\npaymentMethodSchema.index(\n\t{ customer_id: 1, provider_payment_method_id: 1 },\n\t{ name: \"payment_methods_customer_provider_unique\", unique: true }\n)\n\npaymentMethodSchema.index(\n\t{ customer_id: 1, is_default: 1 },\n\t{ name: \"payment_methods_default_lookup\" }\n)\n\nexport default mongoose.models.CustomerPaymentMethod ||\n\tmodel<CustomerPaymentMethodDocument>(\"CustomerPaymentMethod\", paymentMethodSchema, \"customer_payment_methods\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport enum PaymentProvider {\n\tSTRIPE = \"stripe\",\n}\n\nexport enum TransactionStatus {\n\tPENDING = \"pending\",\n\tPROCESSING = \"processing\",\n\tSUCCEEDED = \"succeeded\",\n\tFAILED = \"failed\",\n\tREFUNDED = \"refunded\",\n}\n\nexport enum TransactionMethod {\n\tCARD = \"card\",\n\tAPPLE_PAY = \"apple_pay\",\n\tGOOGLE_PAY = \"google_pay\",\n\tBANK_TRANSFER = \"bank_transfer\",\n}\n\nexport interface OrderPaymentDocument {\n\torder_id: Types.ObjectId\n\tcustomer_id: Types.ObjectId\n\tpayment_method_id?: Types.ObjectId\n\tprovider: PaymentProvider\n\tprovider_payment_id?: string\n\tprovider_payment_intent_id: string\n\tmethod: TransactionMethod\n\tstatus: TransactionStatus\n\tamount: number\n\tcurrency: string\n\tcreated_at: Date\n\tupdated_at?: Date\n\tdeleted_at?: Date\n\tdeleted_by?: Types.ObjectId\n}\n\nconst orderPaymentSchema = new Schema<OrderPaymentDocument>(\n\t{\n\t\torder_id: { type: Schema.Types.ObjectId, ref: \"Order\", required: true },\n\t\tcustomer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n\t\tpayment_method_id: { type: Schema.Types.ObjectId, ref: \"ClientPaymentMethod\" },\n\t\tprovider: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(PaymentProvider),\n\t\t\tdefault: PaymentProvider.STRIPE,\n\t\t\trequired: true,\n\t\t},\n\t\tprovider_payment_id: { type: String },\n\t\tprovider_payment_intent_id: { type: String, required: true },\n\t\tmethod: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(TransactionMethod),\n\t\t\trequired: true,\n\t\t},\n\t\tstatus: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(TransactionStatus),\n\t\t\tdefault: TransactionStatus.PENDING,\n\t\t\trequired: true,\n\t\t},\n\t\tamount: { type: Number, required: true, min: 0 },\n\t\tcurrency: { type: String, required: true, default: \"MXN\" },\n\t\tdeleted_at: { type: Date },\n\t\tdeleted_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\norderPaymentSchema.index(\n\t{ order_id: 1 },\n\t{ name: \"order_payments_order\" }\n)\n\norderPaymentSchema.index(\n\t{ customer_id: 1, created_at: -1 },\n\t{ name: \"order_payments_customer_created\" }\n)\n\norderPaymentSchema.index(\n\t{ provider_payment_intent_id: 1 },\n\t{\n\t\tname: \"order_payments_provider_intent_unique\",\n\t\tunique: true,\n\t\tsparse: true\n\t}\n)\n\norderPaymentSchema.index(\n\t{ provider_payment_id: 1 },\n\t{ name: \"order_payments_provider_payment_id\" }\n)\n\nexport default mongoose.models.OrderPayment ||\n\tmodel<OrderPaymentDocument>(\"OrderPayment\", orderPaymentSchema, \"order_payments\")\n"],"mappings":"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","names":["mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","QuoteStatus","Status","CreatedMethod","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","CustomerStatus","bcrypt","mongoose","import_mongoose","mongoose","import_mongoose","OrderStatus","PaymentMethod","PaymentStatus","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","SyncLogType","SyncLogStatus","SyncLogAction","mongoose","import_mongoose","import_mongoose","import_bcryptjs","UserRole","UserStatus","bcrypt","mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","PaymentProvider","PaymentMethodType","mongoose","import_mongoose","PaymentProvider","TransactionStatus","TransactionMethod","mongoose"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -15,7 +15,7 @@ interface ClientType {
|
|
|
15
15
|
created_at?: Date;
|
|
16
16
|
updated_at?: Date;
|
|
17
17
|
}
|
|
18
|
-
declare const _default$
|
|
18
|
+
declare const _default$t: mongoose.Model<any, {}, {}, {}, any, any, any> | mongoose.Model<ClientType, {}, {}, {}, mongoose.Document<unknown, {}, ClientType, {}, mongoose.DefaultSchemaOptions> & ClientType & {
|
|
19
19
|
_id: mongoose.Types.ObjectId;
|
|
20
20
|
} & {
|
|
21
21
|
__v: number;
|
|
@@ -34,7 +34,7 @@ interface ClientContactType {
|
|
|
34
34
|
created_at?: Date;
|
|
35
35
|
updated_at?: Date;
|
|
36
36
|
}
|
|
37
|
-
declare const _default$
|
|
37
|
+
declare const _default$s: mongoose.Model<any, {}, {}, {}, any, any, any> | mongoose.Model<ClientContactType, {}, {}, {}, mongoose.Document<unknown, {}, ClientContactType, {}, mongoose.DefaultSchemaOptions> & ClientContactType & {
|
|
38
38
|
_id: Types.ObjectId;
|
|
39
39
|
} & {
|
|
40
40
|
__v: number;
|
|
@@ -54,7 +54,7 @@ interface ClientAddressType {
|
|
|
54
54
|
created_at?: Date;
|
|
55
55
|
updated_at?: Date;
|
|
56
56
|
}
|
|
57
|
-
declare const _default$
|
|
57
|
+
declare const _default$r: mongoose.Model<any, {}, {}, {}, any, any, any> | mongoose.Model<ClientAddressType, {}, {}, {}, mongoose.Document<unknown, {}, ClientAddressType, {}, mongoose.DefaultSchemaOptions> & ClientAddressType & {
|
|
58
58
|
_id: Types.ObjectId;
|
|
59
59
|
} & {
|
|
60
60
|
__v: number;
|
|
@@ -69,7 +69,7 @@ interface ClientPaymentMethodType {
|
|
|
69
69
|
created_at?: Date;
|
|
70
70
|
updated_at?: Date;
|
|
71
71
|
}
|
|
72
|
-
declare const _default$
|
|
72
|
+
declare const _default$q: mongoose.Model<any, {}, {}, {}, any, any, any> | mongoose.Model<ClientPaymentMethodType, {}, {}, {}, mongoose.Document<unknown, {}, ClientPaymentMethodType, {}, mongoose.DefaultSchemaOptions> & ClientPaymentMethodType & {
|
|
73
73
|
_id: Types.ObjectId;
|
|
74
74
|
} & {
|
|
75
75
|
__v: number;
|
|
@@ -84,7 +84,7 @@ interface ClientPaymentTermType {
|
|
|
84
84
|
created_at?: Date;
|
|
85
85
|
updated_at?: Date;
|
|
86
86
|
}
|
|
87
|
-
declare const _default$
|
|
87
|
+
declare const _default$p: mongoose.Model<any, {}, {}, {}, any, any, any> | mongoose.Model<ClientPaymentTermType, {}, {}, {}, mongoose.Document<unknown, {}, ClientPaymentTermType, {}, mongoose.DefaultSchemaOptions> & ClientPaymentTermType & {
|
|
88
88
|
_id: Types.ObjectId;
|
|
89
89
|
} & {
|
|
90
90
|
__v: number;
|
|
@@ -99,7 +99,7 @@ interface ClientPriceListType {
|
|
|
99
99
|
created_at?: Date;
|
|
100
100
|
updated_at?: Date;
|
|
101
101
|
}
|
|
102
|
-
declare const _default$
|
|
102
|
+
declare const _default$o: mongoose.Model<any, {}, {}, {}, any, any, any> | mongoose.Model<ClientPriceListType, {}, {}, {}, mongoose.Document<unknown, {}, ClientPriceListType, {}, mongoose.DefaultSchemaOptions> & ClientPriceListType & {
|
|
103
103
|
_id: Types.ObjectId;
|
|
104
104
|
} & {
|
|
105
105
|
__v: number;
|
|
@@ -114,7 +114,7 @@ interface ClientSalesEmployeeType {
|
|
|
114
114
|
created_at?: Date;
|
|
115
115
|
updated_at?: Date;
|
|
116
116
|
}
|
|
117
|
-
declare const _default$
|
|
117
|
+
declare const _default$n: mongoose.Model<any, {}, {}, {}, any, any, any> | mongoose.Model<ClientSalesEmployeeType, {}, {}, {}, mongoose.Document<unknown, {}, ClientSalesEmployeeType, {}, mongoose.DefaultSchemaOptions> & ClientSalesEmployeeType & {
|
|
118
118
|
_id: Types.ObjectId;
|
|
119
119
|
} & {
|
|
120
120
|
__v: number;
|
|
@@ -122,7 +122,7 @@ declare const _default$m: mongoose.Model<any, {}, {}, {}, any, any, any> | mongo
|
|
|
122
122
|
id: string;
|
|
123
123
|
}, any, ClientSalesEmployeeType>;
|
|
124
124
|
|
|
125
|
-
declare const _default$
|
|
125
|
+
declare const _default$m: mongoose.Model<any, {}, {}, {}, any, any, any> | mongoose.Model<{
|
|
126
126
|
created_at: NativeDate;
|
|
127
127
|
description: string;
|
|
128
128
|
article_number: string;
|
|
@@ -1062,7 +1062,7 @@ declare const _default$l: mongoose.Model<any, {}, {}, {}, any, any, any> | mongo
|
|
|
1062
1062
|
__v: number;
|
|
1063
1063
|
}>;
|
|
1064
1064
|
|
|
1065
|
-
declare const _default$
|
|
1065
|
+
declare const _default$l: mongoose.Model<any, {}, {}, {}, any, any, any> | mongoose.Model<{
|
|
1066
1066
|
name: string;
|
|
1067
1067
|
description?: string;
|
|
1068
1068
|
}, {}, {}, {
|
|
@@ -1132,7 +1132,7 @@ declare const _default$k: mongoose.Model<any, {}, {}, {}, any, any, any> | mongo
|
|
|
1132
1132
|
__v: number;
|
|
1133
1133
|
}>;
|
|
1134
1134
|
|
|
1135
|
-
declare const _default$
|
|
1135
|
+
declare const _default$k: mongoose.Model<any, {}, {}, {}, any, any, any> | mongoose.Model<{
|
|
1136
1136
|
name: string;
|
|
1137
1137
|
description?: string;
|
|
1138
1138
|
}, {}, {}, {
|
|
@@ -1202,7 +1202,7 @@ declare const _default$j: mongoose.Model<any, {}, {}, {}, any, any, any> | mongo
|
|
|
1202
1202
|
__v: number;
|
|
1203
1203
|
}>;
|
|
1204
1204
|
|
|
1205
|
-
declare const _default$
|
|
1205
|
+
declare const _default$j: mongoose.Model<any, {}, {}, {}, any, any, any> | mongoose.Model<{
|
|
1206
1206
|
created_at: NativeDate;
|
|
1207
1207
|
article_id: Types.ObjectId;
|
|
1208
1208
|
price_list_id: Types.ObjectId;
|
|
@@ -1332,7 +1332,7 @@ declare const _default$i: mongoose.Model<any, {}, {}, {}, any, any, any> | mongo
|
|
|
1332
1332
|
__v: number;
|
|
1333
1333
|
}>;
|
|
1334
1334
|
|
|
1335
|
-
declare const _default$
|
|
1335
|
+
declare const _default$i: mongoose.Model<any, {}, {}, {}, any, any, any> | mongoose.Model<{
|
|
1336
1336
|
symbol: string;
|
|
1337
1337
|
name: string;
|
|
1338
1338
|
code: string;
|
|
@@ -1412,7 +1412,7 @@ declare const _default$h: mongoose.Model<any, {}, {}, {}, any, any, any> | mongo
|
|
|
1412
1412
|
__v: number;
|
|
1413
1413
|
}>;
|
|
1414
1414
|
|
|
1415
|
-
declare const _default$
|
|
1415
|
+
declare const _default$h: mongoose.Model<any, {}, {}, {}, any, any, any> | mongoose.Model<{
|
|
1416
1416
|
created_at: NativeDate;
|
|
1417
1417
|
name: string;
|
|
1418
1418
|
code: string;
|
|
@@ -1512,7 +1512,7 @@ declare const _default$g: mongoose.Model<any, {}, {}, {}, any, any, any> | mongo
|
|
|
1512
1512
|
__v: number;
|
|
1513
1513
|
}>;
|
|
1514
1514
|
|
|
1515
|
-
declare const _default$
|
|
1515
|
+
declare const _default$g: mongoose.Model<any, {}, {}, {}, any, any, any> | mongoose.Model<{
|
|
1516
1516
|
updated_at: NativeDate;
|
|
1517
1517
|
article_id: Types.ObjectId;
|
|
1518
1518
|
warehouse_id: Types.ObjectId;
|
|
@@ -1632,7 +1632,7 @@ declare const _default$f: mongoose.Model<any, {}, {}, {}, any, any, any> | mongo
|
|
|
1632
1632
|
__v: number;
|
|
1633
1633
|
}>;
|
|
1634
1634
|
|
|
1635
|
-
declare const _default$
|
|
1635
|
+
declare const _default$f: mongoose.Model<any, {}, {}, {}, any, any, any> | mongoose.Model<{
|
|
1636
1636
|
number: string;
|
|
1637
1637
|
created_at: NativeDate;
|
|
1638
1638
|
name: string;
|
|
@@ -1722,7 +1722,7 @@ declare const _default$e: mongoose.Model<any, {}, {}, {}, any, any, any> | mongo
|
|
|
1722
1722
|
__v: number;
|
|
1723
1723
|
}>;
|
|
1724
1724
|
|
|
1725
|
-
declare const _default$
|
|
1725
|
+
declare const _default$e: mongoose.Model<any, {}, {}, {}, any, any, any> | mongoose.Model<{
|
|
1726
1726
|
created_at: NativeDate;
|
|
1727
1727
|
updated_at: NativeDate;
|
|
1728
1728
|
name: string;
|
|
@@ -1842,7 +1842,7 @@ declare const _default$d: mongoose.Model<any, {}, {}, {}, any, any, any> | mongo
|
|
|
1842
1842
|
__v: number;
|
|
1843
1843
|
}>;
|
|
1844
1844
|
|
|
1845
|
-
declare const _default$
|
|
1845
|
+
declare const _default$d: mongoose.Model<any, {}, {}, {}, any, any, any> | mongoose.Model<{
|
|
1846
1846
|
created_at: NativeDate;
|
|
1847
1847
|
updated_at: NativeDate;
|
|
1848
1848
|
type: "filter" | "sidebar";
|
|
@@ -1975,13 +1975,13 @@ declare enum CreatedMethod {
|
|
|
1975
1975
|
MANUAL = "MANUAL",
|
|
1976
1976
|
CSV = "CSV"
|
|
1977
1977
|
}
|
|
1978
|
+
declare const _default$c: mongoose.Model<any, {}, {}, {}, any, any, any>;
|
|
1979
|
+
|
|
1978
1980
|
declare const _default$b: mongoose.Model<any, {}, {}, {}, any, any, any>;
|
|
1979
1981
|
|
|
1980
1982
|
declare const _default$a: mongoose.Model<any, {}, {}, {}, any, any, any>;
|
|
1981
1983
|
|
|
1982
|
-
declare const _default$9: mongoose.Model<any, {}, {}, {}, any, any, any
|
|
1983
|
-
|
|
1984
|
-
declare const _default$8: mongoose.Model<any, {}, {}, {}, any, any, any> | mongoose.Model<{
|
|
1984
|
+
declare const _default$9: mongoose.Model<any, {}, {}, {}, any, any, any> | mongoose.Model<{
|
|
1985
1985
|
created_at: NativeDate;
|
|
1986
1986
|
quote_id: mongoose.Types.ObjectId;
|
|
1987
1987
|
email?: string;
|
|
@@ -2091,7 +2091,7 @@ declare const _default$8: mongoose.Model<any, {}, {}, {}, any, any, any> | mongo
|
|
|
2091
2091
|
__v: number;
|
|
2092
2092
|
}>;
|
|
2093
2093
|
|
|
2094
|
-
declare const _default$
|
|
2094
|
+
declare const _default$8: mongoose.Model<any, {}, {}, {}, any, any, any>;
|
|
2095
2095
|
|
|
2096
2096
|
declare enum CustomerStatus {
|
|
2097
2097
|
ACTIVE = "active",
|
|
@@ -2145,7 +2145,7 @@ declare enum PaymentStatus {
|
|
|
2145
2145
|
PAID = "PAID",
|
|
2146
2146
|
REFUNDED = "REFUNDED"
|
|
2147
2147
|
}
|
|
2148
|
-
declare const _default$
|
|
2148
|
+
declare const _default$7: mongoose.Model<any, {}, {}, {}, any, any, any>;
|
|
2149
2149
|
|
|
2150
2150
|
interface OrderStatusLogType {
|
|
2151
2151
|
order_id: Types.ObjectId;
|
|
@@ -2154,7 +2154,7 @@ interface OrderStatusLogType {
|
|
|
2154
2154
|
changed_at?: Date;
|
|
2155
2155
|
note?: string;
|
|
2156
2156
|
}
|
|
2157
|
-
declare const _default$
|
|
2157
|
+
declare const _default$6: mongoose.Model<any, {}, {}, {}, any, any, any> | mongoose.Model<OrderStatusLogType, {}, {}, {}, mongoose.Document<unknown, {}, OrderStatusLogType, {}, mongoose.DefaultSchemaOptions> & OrderStatusLogType & {
|
|
2158
2158
|
_id: Types.ObjectId;
|
|
2159
2159
|
} & {
|
|
2160
2160
|
__v: number;
|
|
@@ -2162,6 +2162,23 @@ declare const _default$5: mongoose.Model<any, {}, {}, {}, any, any, any> | mongo
|
|
|
2162
2162
|
id: string;
|
|
2163
2163
|
}, any, OrderStatusLogType>;
|
|
2164
2164
|
|
|
2165
|
+
interface StateType {
|
|
2166
|
+
_id?: mongoose.Types.ObjectId;
|
|
2167
|
+
name: string;
|
|
2168
|
+
code?: string;
|
|
2169
|
+
percentage: number;
|
|
2170
|
+
is_active: boolean;
|
|
2171
|
+
created_at?: Date;
|
|
2172
|
+
updated_at?: Date;
|
|
2173
|
+
}
|
|
2174
|
+
declare const _default$5: mongoose.Model<any, {}, {}, {}, any, any, any> | mongoose.Model<StateType, {}, {}, {}, mongoose.Document<unknown, {}, StateType, {}, mongoose.DefaultSchemaOptions> & StateType & Required<{
|
|
2175
|
+
_id: mongoose.Types.ObjectId;
|
|
2176
|
+
}> & {
|
|
2177
|
+
__v: number;
|
|
2178
|
+
} & {
|
|
2179
|
+
id: string;
|
|
2180
|
+
}, any, StateType>;
|
|
2181
|
+
|
|
2165
2182
|
/**
|
|
2166
2183
|
* Sync Log Types
|
|
2167
2184
|
*/
|
|
@@ -2405,4 +2422,4 @@ declare const _default: mongoose.Model<any, {}, {}, {}, any, any, any> | mongoos
|
|
|
2405
2422
|
id: string;
|
|
2406
2423
|
}, any, OrderPaymentDocument>;
|
|
2407
2424
|
|
|
2408
|
-
export { _default$3 as Announcement, type AnnouncementType, _default$
|
|
2425
|
+
export { _default$3 as Announcement, type AnnouncementType, _default$m as Article, _default$k as ArticleClass, _default$l as ArticleGroup, _default$j as ArticlePrice, ArticleView, _default$2 as Cart, type CartItem, type CartType, _default$e as Category, _default$t as Client, _default$r as ClientAddress, type ClientAddressType, _default$s as ClientContact, type ClientContactType, _default$q as ClientPaymentMethod, type ClientPaymentMethodType, _default$p as ClientPaymentTerm, type ClientPaymentTermType, _default$o as ClientPriceList, type ClientPriceListType, _default$n as ClientSalesEmployee, type ClientSalesEmployeeType, type ClientType, CreatedMethod, _default$i as Currency, Customer, type CustomerDoc, type CustomerModel, _default$1 as CustomerPaymentMethod, CustomerStatus, type CustomerType, EmailVerificationToken, type EmailVerificationTokenDoc, type EmailVerificationTokenModel, type EmailVerificationTokenType, FiscalProfile, type FiscalProfileDoc, type FiscalProfileModel, type FiscalProfileType, type ISyncLog, _default$g as InventoryStock, _default$7 as Order, _default as OrderPayment, OrderStatus, _default$6 as OrderStatusLog, type OrderStatusLogType, PasswordResetToken, type PasswordResetTokenDoc, type PasswordResetTokenModel, type PasswordResetTokenType, PaymentMethod, PaymentMethodType, type PaymentMethodWallet, PaymentProvider$1 as PaymentProvider, PaymentStatus, _default$f as PriceList, _default$c as Quote, _default$b as QuoteArticle, _default$a as QuoteArticleExtra, _default$9 as QuoteContact, QuoteStatus, _default$8 as QuoteTerm, RefreshToken, type RefreshTokenDoc, type RefreshTokenModel, type RefreshTokenType, _default$5 as State, type StateType, Status, SyncLog, SyncLogAction, SyncLogStatus, SyncLogType, _default$d as Tag, TransactionMethod, TransactionStatus, UserRole, UserStatus, type UserType, _default$4 as Users, _default$h as Warehouse };
|