@fesmex/models 0.1.61 → 0.1.62

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.js CHANGED
@@ -163,6 +163,30 @@ var articleFileSchema = new Schema8(
163
163
  },
164
164
  { _id: false }
165
165
  );
166
+ var articleContentSchema = new Schema8(
167
+ {
168
+ details: { type: String, required: false, trim: true },
169
+ applications: { type: String, required: false, trim: true },
170
+ technical_sheet_url: {
171
+ type: String,
172
+ required: false,
173
+ trim: true,
174
+ validate: {
175
+ validator: (value) => {
176
+ if (!value) return true;
177
+ try {
178
+ new URL(value);
179
+ return true;
180
+ } catch {
181
+ return false;
182
+ }
183
+ },
184
+ message: "technical_sheet_url must be a valid URL"
185
+ }
186
+ }
187
+ },
188
+ { _id: false }
189
+ );
166
190
  var articleSchema = new Schema8({
167
191
  article_number: { type: String, required: true, unique: true },
168
192
  // SAP ItemCode
@@ -175,6 +199,7 @@ var articleSchema = new Schema8({
175
199
  tags: { type: [Types7.ObjectId], ref: "Tag", default: [], index: true },
176
200
  is_featured: { type: Boolean, default: false, index: true },
177
201
  featured_order: { type: Number, default: 0 },
202
+ content: { type: articleContentSchema, required: false },
178
203
  files: {
179
204
  images: { type: [articleFileSchema], required: false },
180
205
  datasheets: { type: [articleFileSchema], required: false }
@@ -262,22 +287,62 @@ var inventoryStockSchema = new Schema14({
262
287
  inventoryStockSchema.index({ article_id: 1, warehouse_id: 1 }, { name: "inventory_stocks_article_warehouse_unique", unique: true });
263
288
  var InventoryStocks_default = mongoose14.models.InventoryStock || model14("InventoryStock", inventoryStockSchema, "inventory_stocks");
264
289
 
265
- // src/inventory/models/PriceLists.ts
290
+ // src/inventory/models/StockReservations.ts
266
291
  import mongoose15, { Schema as Schema15, model as model15 } from "mongoose";
267
- var priceListSchema = new Schema15({
292
+ var StockReservationStatus = /* @__PURE__ */ ((StockReservationStatus2) => {
293
+ StockReservationStatus2["ACTIVE"] = "active";
294
+ StockReservationStatus2["RELEASED"] = "released";
295
+ StockReservationStatus2["CONSUMED"] = "consumed";
296
+ return StockReservationStatus2;
297
+ })(StockReservationStatus || {});
298
+ var stockReservationSchema = new Schema15(
299
+ {
300
+ order_id: { type: Schema15.Types.ObjectId, ref: "Order", required: true },
301
+ article_id: { type: Schema15.Types.ObjectId, ref: "Article", required: true },
302
+ warehouse_id: { type: Schema15.Types.ObjectId, ref: "Warehouse", required: true },
303
+ quantity: { type: Number, required: true, min: 1 },
304
+ expires_at: { type: Date, required: true },
305
+ status: {
306
+ type: String,
307
+ enum: Object.values(StockReservationStatus),
308
+ default: "active" /* ACTIVE */,
309
+ required: true
310
+ }
311
+ },
312
+ {
313
+ timestamps: { createdAt: "created_at", updatedAt: "updated_at" }
314
+ }
315
+ );
316
+ stockReservationSchema.index(
317
+ { order_id: 1, article_id: 1, warehouse_id: 1 },
318
+ { name: "stock_reservations_order_article_warehouse" }
319
+ );
320
+ stockReservationSchema.index(
321
+ { status: 1, expires_at: 1 },
322
+ { name: "stock_reservations_status_expires" }
323
+ );
324
+ stockReservationSchema.index(
325
+ { article_id: 1, warehouse_id: 1, status: 1 },
326
+ { name: "stock_reservations_article_warehouse_status" }
327
+ );
328
+ var StockReservations_default = mongoose15.models.StockReservation || model15("StockReservation", stockReservationSchema, "stock_reservations");
329
+
330
+ // src/inventory/models/PriceLists.ts
331
+ import mongoose16, { Schema as Schema16, model as model16 } from "mongoose";
332
+ var priceListSchema = new Schema16({
268
333
  number: { type: String, required: true, unique: true },
269
334
  name: { type: String, required: true },
270
335
  created_at: { type: Date, default: Date.now },
271
336
  updated_at: { type: Date }
272
337
  });
273
- var PriceLists_default = mongoose15.models.PriceList || model15("PriceList", priceListSchema, "price_lists");
338
+ var PriceLists_default = mongoose16.models.PriceList || model16("PriceList", priceListSchema, "price_lists");
274
339
 
275
340
  // src/inventory/models/Category.ts
276
- import mongoose16, { Schema as Schema16, model as model16, Types as Types10 } from "mongoose";
277
- var categorySchema = new Schema16({
341
+ import mongoose17, { Schema as Schema17, model as model17, Types as Types11 } from "mongoose";
342
+ var categorySchema = new Schema17({
278
343
  name: { type: String, required: true, trim: true },
279
344
  slug: { type: String, required: true, trim: true, lowercase: true },
280
- parent_id: { type: Types10.ObjectId, ref: "Category", default: null, index: true },
345
+ parent_id: { type: Types11.ObjectId, ref: "Category", default: null, index: true },
281
346
  order: { type: Number, default: 0 },
282
347
  is_active: { type: Boolean, default: true, index: true },
283
348
  created_at: { type: Date, default: Date.now },
@@ -286,11 +351,11 @@ var categorySchema = new Schema16({
286
351
  categorySchema.index({ slug: 1 }, { unique: true, name: "categories_slug_unique" });
287
352
  categorySchema.index({ parent_id: 1 }, { name: "categories_parent" });
288
353
  categorySchema.index({ is_active: 1 }, { name: "categories_active" });
289
- var Category_default = mongoose16.models.Category || model16("Category", categorySchema, "categories");
354
+ var Category_default = mongoose17.models.Category || model17("Category", categorySchema, "categories");
290
355
 
291
356
  // src/inventory/models/Tag.ts
292
- import mongoose17, { Schema as Schema17, model as model17 } from "mongoose";
293
- var tagSchema = new Schema17({
357
+ import mongoose18, { Schema as Schema18, model as model18 } from "mongoose";
358
+ var tagSchema = new Schema18({
294
359
  name: { type: String, required: true, trim: true },
295
360
  slug: { type: String, required: true, trim: true, lowercase: true },
296
361
  type: { type: String, enum: ["filter", "sidebar"], default: "filter", index: true },
@@ -301,22 +366,22 @@ var tagSchema = new Schema17({
301
366
  tagSchema.index({ slug: 1 }, { unique: true, name: "tags_slug_unique" });
302
367
  tagSchema.index({ is_active: 1 }, { name: "tags_active" });
303
368
  tagSchema.index({ type: 1 }, { name: "tags_type" });
304
- var Tag_default = mongoose17.models.Tag || model17("Tag", tagSchema, "tags");
369
+ var Tag_default = mongoose18.models.Tag || model18("Tag", tagSchema, "tags");
305
370
 
306
371
  // src/inventory/models/ArticleViews.ts
307
- import mongoose18, { Schema as Schema18, model as model18 } from "mongoose";
308
- var articleViewSchema = new Schema18(
372
+ import mongoose19, { Schema as Schema19, model as model19 } from "mongoose";
373
+ var articleViewSchema = new Schema19(
309
374
  {
310
- article_id: { type: Schema18.Types.ObjectId, ref: "Article", required: true },
375
+ article_id: { type: Schema19.Types.ObjectId, ref: "Article", required: true },
311
376
  visited_at: { type: Date, default: Date.now }
312
377
  },
313
378
  { collection: "article_views" }
314
379
  );
315
- var ArticleView = mongoose18.models.ArticleView || model18("ArticleView", articleViewSchema);
380
+ var ArticleView = mongoose19.models.ArticleView || model19("ArticleView", articleViewSchema);
316
381
  var ArticleViews_default = ArticleView;
317
382
 
318
383
  // src/quotes/models/Quote.ts
319
- import mongoose19, { Schema as Schema19, model as model19 } from "mongoose";
384
+ import mongoose20, { Schema as Schema20, model as model20 } from "mongoose";
320
385
  var QuoteStatus = /* @__PURE__ */ ((QuoteStatus2) => {
321
386
  QuoteStatus2["OPPORTUNITY"] = "OPPORTUNITY";
322
387
  QuoteStatus2["QUOTE"] = "QUOTE";
@@ -336,21 +401,21 @@ var CreatedMethod = /* @__PURE__ */ ((CreatedMethod2) => {
336
401
  CreatedMethod2["CSV"] = "CSV";
337
402
  return CreatedMethod2;
338
403
  })(CreatedMethod || {});
339
- var quoteSchema = new Schema19(
404
+ var quoteSchema = new Schema20(
340
405
  {
341
406
  quote_number: { type: Number, required: true },
342
407
  quote_revision: { type: Number, default: 0 },
343
408
  quote_ref: { type: String },
344
409
  company: { type: String },
345
- company_id: { type: Schema19.Types.ObjectId, ref: "Client", required: true },
410
+ company_id: { type: Schema20.Types.ObjectId, ref: "Client", required: true },
346
411
  company_pipedrive_id: { type: String },
347
- contact_id: { type: Schema19.Types.ObjectId, ref: "ClientContact" },
412
+ contact_id: { type: Schema20.Types.ObjectId, ref: "ClientContact" },
348
413
  project_name: { type: String },
349
414
  project_lab: { type: String },
350
415
  payment_condition: { type: String },
351
416
  payment_exp: { type: String },
352
- terms_ids: [{ type: Schema19.Types.ObjectId, ref: "QuoteTerm" }],
353
- currency_id: { type: Schema19.Types.ObjectId, ref: "Currency" },
417
+ terms_ids: [{ type: Schema20.Types.ObjectId, ref: "QuoteTerm" }],
418
+ currency_id: { type: Schema20.Types.ObjectId, ref: "Currency" },
354
419
  iva: { type: String },
355
420
  date: { type: Date },
356
421
  status: { type: String, enum: Object.values(Status), default: "OPEN" /* OPEN */ },
@@ -371,21 +436,21 @@ var quoteSchema = new Schema19(
371
436
  enum: Object.values(CreatedMethod),
372
437
  default: "MANUAL" /* MANUAL */
373
438
  },
374
- created_by: { type: Schema19.Types.ObjectId, ref: "User" },
375
- updated_by: { type: Schema19.Types.ObjectId, ref: "User" },
376
- deleted_by: { type: Schema19.Types.ObjectId, ref: "User" },
439
+ created_by: { type: Schema20.Types.ObjectId, ref: "User" },
440
+ updated_by: { type: Schema20.Types.ObjectId, ref: "User" },
441
+ deleted_by: { type: Schema20.Types.ObjectId, ref: "User" },
377
442
  deleted_at: { type: Date }
378
443
  },
379
444
  { timestamps: { createdAt: "created_at", updatedAt: "updated_at" } }
380
445
  );
381
- var Quote_default = mongoose19.models.Quote || model19("Quote", quoteSchema, "quotes");
446
+ var Quote_default = mongoose20.models.Quote || model20("Quote", quoteSchema, "quotes");
382
447
 
383
448
  // src/quotes/models/QuoteArticle.ts
384
- import mongoose20, { Schema as Schema20, model as model20 } from "mongoose";
385
- var quoteArticleSchema = new Schema20(
449
+ import mongoose21, { Schema as Schema21, model as model21 } from "mongoose";
450
+ var quoteArticleSchema = new Schema21(
386
451
  {
387
- quote_id: { type: Schema20.Types.ObjectId, ref: "Quote", required: true },
388
- article_id: { type: Schema20.Types.ObjectId, ref: "Article" },
452
+ quote_id: { type: Schema21.Types.ObjectId, ref: "Quote", required: true },
453
+ article_id: { type: Schema21.Types.ObjectId, ref: "Article" },
389
454
  article_number: { type: String },
390
455
  description: { type: String },
391
456
  delivery: { type: String },
@@ -396,18 +461,18 @@ var quoteArticleSchema = new Schema20(
396
461
  total: { type: Number },
397
462
  utility: { type: Number },
398
463
  type: { type: String },
399
- extra_id: { type: Schema20.Types.ObjectId, ref: "QuoteArticleExtra" }
464
+ extra_id: { type: Schema21.Types.ObjectId, ref: "QuoteArticleExtra" }
400
465
  },
401
466
  { timestamps: { createdAt: "created_at", updatedAt: "updated_at" } }
402
467
  );
403
- var QuoteArticle_default = mongoose20.models.QuoteArticle || model20("QuoteArticle", quoteArticleSchema, "quote_articles");
468
+ var QuoteArticle_default = mongoose21.models.QuoteArticle || model21("QuoteArticle", quoteArticleSchema, "quote_articles");
404
469
 
405
470
  // src/quotes/models/QuoteArticleExtra.ts
406
- import mongoose21, { Schema as Schema21, model as model21 } from "mongoose";
407
- var quoteArticleExtraSchema = new Schema21(
471
+ import mongoose22, { Schema as Schema22, model as model22 } from "mongoose";
472
+ var quoteArticleExtraSchema = new Schema22(
408
473
  {
409
474
  quote_article_id: {
410
- type: Schema21.Types.ObjectId,
475
+ type: Schema22.Types.ObjectId,
411
476
  ref: "QuoteArticle",
412
477
  required: true
413
478
  },
@@ -419,23 +484,23 @@ var quoteArticleExtraSchema = new Schema21(
419
484
  },
420
485
  { timestamps: { createdAt: "created_at", updatedAt: "updated_at" } }
421
486
  );
422
- var QuoteArticleExtra_default = mongoose21.models.QuoteArticleExtra || model21("QuoteArticleExtra", quoteArticleExtraSchema, "quote_article_extras");
487
+ var QuoteArticleExtra_default = mongoose22.models.QuoteArticleExtra || model22("QuoteArticleExtra", quoteArticleExtraSchema, "quote_article_extras");
423
488
 
424
489
  // src/quotes/models/QuoteContact.ts
425
- import mongoose22, { Schema as Schema22, model as model22 } from "mongoose";
426
- var quoteContactSchema = new Schema22({
427
- quote_id: { type: Schema22.Types.ObjectId, ref: "Quote", required: true },
490
+ import mongoose23, { Schema as Schema23, model as model23 } from "mongoose";
491
+ var quoteContactSchema = new Schema23({
492
+ quote_id: { type: Schema23.Types.ObjectId, ref: "Quote", required: true },
428
493
  name: String,
429
494
  email: String,
430
495
  mobile: String,
431
496
  pipedrive_id: String,
432
497
  created_at: { type: Date, default: Date.now }
433
498
  });
434
- var QuoteContact_default = mongoose22.models.QuoteContact || model22("QuoteContact", quoteContactSchema, "quote_contacts");
499
+ var QuoteContact_default = mongoose23.models.QuoteContact || model23("QuoteContact", quoteContactSchema, "quote_contacts");
435
500
 
436
501
  // src/quotes/models/QuoteTerm.ts
437
- import mongoose23, { Schema as Schema23, model as model23 } from "mongoose";
438
- var quoteTermSchema = new Schema23(
502
+ import mongoose24, { Schema as Schema24, model as model24 } from "mongoose";
503
+ var quoteTermSchema = new Schema24(
439
504
  {
440
505
  title: String,
441
506
  content: { type: String, required: true },
@@ -446,12 +511,12 @@ var quoteTermSchema = new Schema23(
446
511
  },
447
512
  { timestamps: { createdAt: "created_at", updatedAt: "updated_at" } }
448
513
  );
449
- var QuoteTerm_default = mongoose23.models.QuoteTerm || model23("QuoteTerm", quoteTermSchema, "quote_terms");
514
+ var QuoteTerm_default = mongoose24.models.QuoteTerm || model24("QuoteTerm", quoteTermSchema, "quote_terms");
450
515
 
451
516
  // src/customers/models/Customers.ts
452
- import mongoose24, {
453
- Schema as Schema24,
454
- model as model24
517
+ import mongoose25, {
518
+ Schema as Schema25,
519
+ model as model25
455
520
  } from "mongoose";
456
521
  import bcrypt from "bcryptjs";
457
522
  var CustomerStatus = /* @__PURE__ */ ((CustomerStatus2) => {
@@ -460,7 +525,7 @@ var CustomerStatus = /* @__PURE__ */ ((CustomerStatus2) => {
460
525
  CustomerStatus2["BANNED"] = "banned";
461
526
  return CustomerStatus2;
462
527
  })(CustomerStatus || {});
463
- var customerSchema = new Schema24({
528
+ var customerSchema = new Schema25({
464
529
  first_name: { type: String, required: true },
465
530
  last_name: { type: String, required: true },
466
531
  email: { type: String, required: true, unique: true },
@@ -471,7 +536,7 @@ var customerSchema = new Schema24({
471
536
  enum: Object.values(CustomerStatus),
472
537
  default: "inactive" /* INACTIVE */
473
538
  },
474
- fiscal_profile_id: { type: Schema24.Types.ObjectId, ref: "FiscalProfile" },
539
+ fiscal_profile_id: { type: Schema25.Types.ObjectId, ref: "FiscalProfile" },
475
540
  created_at: { type: Date, default: Date.now },
476
541
  updated_at: { type: Date },
477
542
  deleted_at: { type: Date }
@@ -481,13 +546,13 @@ customerSchema.pre("save", async function() {
481
546
  this.password = await bcrypt.hash(this.password, 12);
482
547
  }
483
548
  });
484
- var Customer = mongoose24.models.Customer || model24("Customer", customerSchema, "customers");
549
+ var Customer = mongoose25.models.Customer || model25("Customer", customerSchema, "customers");
485
550
  var Customers_default = Customer;
486
551
 
487
552
  // src/customers/models/FiscalProfileType.ts
488
- import mongoose25, { Schema as Schema25, model as model25 } from "mongoose";
489
- var fiscalProfileSchema = new Schema25({
490
- customer_id: { type: Schema25.Types.ObjectId, ref: "Customer", required: true },
553
+ import mongoose26, { Schema as Schema26, model as model26 } from "mongoose";
554
+ var fiscalProfileSchema = new Schema26({
555
+ customer_id: { type: Schema26.Types.ObjectId, ref: "Customer", required: true },
491
556
  rfc: { type: String, required: true },
492
557
  razon_social: { type: String, required: true },
493
558
  uso_cfdi: { type: String, required: true },
@@ -496,11 +561,11 @@ var fiscalProfileSchema = new Schema25({
496
561
  created_at: { type: Date, default: Date.now },
497
562
  updated_at: { type: Date }
498
563
  });
499
- var FiscalProfile = mongoose25.models.FiscalProfile || model25("FiscalProfile", fiscalProfileSchema, "fiscal_profiles");
564
+ var FiscalProfile = mongoose26.models.FiscalProfile || model26("FiscalProfile", fiscalProfileSchema, "fiscal_profiles");
500
565
  var FiscalProfileType_default = FiscalProfile;
501
566
 
502
567
  // src/orders/models/Orders.ts
503
- import mongoose26, { Schema as Schema26, model as model26 } from "mongoose";
568
+ import mongoose27, { Schema as Schema27, model as model27 } from "mongoose";
504
569
  var OrderStatus = /* @__PURE__ */ ((OrderStatus2) => {
505
570
  OrderStatus2["PENDING"] = "pending";
506
571
  OrderStatus2["CONFIRMED"] = "confirmed";
@@ -528,7 +593,7 @@ var PaymentStatus = /* @__PURE__ */ ((PaymentStatus2) => {
528
593
  PaymentStatus2["REFUNDED"] = "REFUNDED";
529
594
  return PaymentStatus2;
530
595
  })(PaymentStatus || {});
531
- var shippingAddressSchema = new Schema26(
596
+ var shippingAddressSchema = new Schema27(
532
597
  {
533
598
  full_name: { type: String, required: true, trim: true },
534
599
  phone: { type: String, required: true, trim: true },
@@ -541,18 +606,18 @@ var shippingAddressSchema = new Schema26(
541
606
  },
542
607
  { _id: false }
543
608
  );
544
- var orderItemSchema = new Schema26(
609
+ var orderItemSchema = new Schema27(
545
610
  {
546
- article_id: { type: Schema26.Types.ObjectId, ref: "Article", required: true },
611
+ article_id: { type: Schema27.Types.ObjectId, ref: "Article", required: true },
547
612
  quantity: { type: Number, required: true, min: 1 },
548
613
  unit_price: { type: Number, required: true, min: 0 },
549
614
  total: { type: Number, required: true, min: 0 }
550
615
  },
551
616
  { _id: false }
552
617
  );
553
- var orderSchema = new Schema26(
618
+ var orderSchema = new Schema27(
554
619
  {
555
- customer_id: { type: Schema26.Types.ObjectId, ref: "Customer", required: true },
620
+ customer_id: { type: Schema27.Types.ObjectId, ref: "Customer", required: true },
556
621
  items: {
557
622
  type: [orderItemSchema],
558
623
  required: true,
@@ -585,7 +650,7 @@ var orderSchema = new Schema26(
585
650
  delivery_type: { type: String, enum: ["shipping", "pickup"], required: true },
586
651
  subtotal: { type: Number, required: true, min: 0 },
587
652
  shipping_fee: { type: Number, min: 0, default: null },
588
- shipping_state_id: { type: Schema26.Types.ObjectId, ref: "State", default: null },
653
+ shipping_state_id: { type: Schema27.Types.ObjectId, ref: "State", default: null },
589
654
  total: { type: Number, required: true, min: 0 },
590
655
  notes: { type: String, trim: true },
591
656
  should_sync: { type: Boolean, default: true },
@@ -622,14 +687,14 @@ orderSchema.index(
622
687
  { should_sync: 1, sap_sync_status: 1 },
623
688
  { name: "orders_should_sync_sap_status" }
624
689
  );
625
- var Orders_default = mongoose26.models.Order || model26("Order", orderSchema, "orders");
690
+ var Orders_default = mongoose27.models.Order || model27("Order", orderSchema, "orders");
626
691
 
627
692
  // src/orders/models/OrderStatusLogs.ts
628
- import mongoose27, { Schema as Schema27, model as model27 } from "mongoose";
629
- var orderStatusLogSchema = new Schema27(
693
+ import mongoose28, { Schema as Schema28, model as model28 } from "mongoose";
694
+ var orderStatusLogSchema = new Schema28(
630
695
  {
631
696
  order_id: {
632
- type: Schema27.Types.ObjectId,
697
+ type: Schema28.Types.ObjectId,
633
698
  ref: "Order",
634
699
  required: true
635
700
  },
@@ -639,7 +704,7 @@ var orderStatusLogSchema = new Schema27(
639
704
  required: true
640
705
  },
641
706
  changed_by: {
642
- type: Schema27.Types.ObjectId,
707
+ type: Schema28.Types.ObjectId,
643
708
  ref: "User",
644
709
  required: true
645
710
  },
@@ -662,11 +727,11 @@ orderStatusLogSchema.index(
662
727
  { changed_by: 1, changed_at: -1 },
663
728
  { name: "order_status_logs_changed_by_changed_at" }
664
729
  );
665
- var OrderStatusLogs_default = mongoose27.models.OrderStatusLog || model27("OrderStatusLog", orderStatusLogSchema);
730
+ var OrderStatusLogs_default = mongoose28.models.OrderStatusLog || model28("OrderStatusLog", orderStatusLogSchema);
666
731
 
667
732
  // src/orders/models/State.ts
668
- import mongoose28, { Schema as Schema28, model as model28 } from "mongoose";
669
- var stateSchema = new Schema28(
733
+ import mongoose29, { Schema as Schema29, model as model29 } from "mongoose";
734
+ var stateSchema = new Schema29(
670
735
  {
671
736
  name: {
672
737
  type: String,
@@ -699,10 +764,10 @@ var stateSchema = new Schema28(
699
764
  }
700
765
  );
701
766
  stateSchema.index({ name: 1, is_active: 1 }, { name: "states_name_active" });
702
- var State_default = mongoose28.models.State || model28("State", stateSchema, "states");
767
+ var State_default = mongoose29.models.State || model29("State", stateSchema, "states");
703
768
 
704
769
  // src/sap/models/SyncLog.ts
705
- import mongoose29, { Schema as Schema29, model as model29 } from "mongoose";
770
+ import mongoose30, { Schema as Schema30, model as model30 } from "mongoose";
706
771
  var SyncLogType = /* @__PURE__ */ ((SyncLogType2) => {
707
772
  SyncLogType2["SAP_QUOTATION"] = "SAP_QUOTATION";
708
773
  SyncLogType2["SAP_SALES_ORDER"] = "SAP_SALES_ORDER";
@@ -722,7 +787,7 @@ var SyncLogAction = /* @__PURE__ */ ((SyncLogAction2) => {
722
787
  SyncLogAction2["DELETE"] = "DELETE";
723
788
  return SyncLogAction2;
724
789
  })(SyncLogAction || {});
725
- var syncLogSchema = new Schema29(
790
+ var syncLogSchema = new Schema30(
726
791
  {
727
792
  entity_type: {
728
793
  type: String,
@@ -730,7 +795,7 @@ var syncLogSchema = new Schema29(
730
795
  index: true
731
796
  },
732
797
  entity_id: {
733
- type: Schema29.Types.ObjectId,
798
+ type: Schema30.Types.ObjectId,
734
799
  required: true,
735
800
  index: true
736
801
  },
@@ -753,14 +818,14 @@ var syncLogSchema = new Schema29(
753
818
  },
754
819
  error_message: { type: String },
755
820
  error_code: { type: String },
756
- error_details: { type: Schema29.Types.Mixed },
757
- request_payload: { type: Schema29.Types.Mixed },
758
- response_payload: { type: Schema29.Types.Mixed },
821
+ error_details: { type: Schema30.Types.Mixed },
822
+ request_payload: { type: Schema30.Types.Mixed },
823
+ response_payload: { type: Schema30.Types.Mixed },
759
824
  retry_count: { type: Number, default: 0 },
760
825
  max_retries: { type: Number, default: 3 },
761
826
  next_retry_at: { type: Date },
762
827
  resolved_at: { type: Date },
763
- resolved_by: { type: Schema29.Types.ObjectId, ref: "User" }
828
+ resolved_by: { type: Schema30.Types.ObjectId, ref: "User" }
764
829
  },
765
830
  {
766
831
  timestamps: { createdAt: "created_at", updatedAt: "updated_at" }
@@ -768,13 +833,13 @@ var syncLogSchema = new Schema29(
768
833
  );
769
834
  syncLogSchema.index({ entity_type: 1, entity_id: 1, status: 1 });
770
835
  syncLogSchema.index({ status: 1, next_retry_at: 1 });
771
- var SyncLog = mongoose29.models.SyncLog || model29("SyncLog", syncLogSchema, "sync_logs");
836
+ var SyncLog = mongoose30.models.SyncLog || model30("SyncLog", syncLogSchema, "sync_logs");
772
837
 
773
838
  // src/announcements/models/Announcements.ts
774
- import mongoose31, { Schema as Schema31, model as model31 } from "mongoose";
839
+ import mongoose32, { Schema as Schema32, model as model32 } from "mongoose";
775
840
 
776
841
  // src/users/models/Users.ts
777
- import mongoose30, { Schema as Schema30, model as model30 } from "mongoose";
842
+ import mongoose31, { Schema as Schema31, model as model31 } from "mongoose";
778
843
  import bcrypt2 from "bcryptjs";
779
844
  var UserRole = /* @__PURE__ */ ((UserRole2) => {
780
845
  UserRole2["ADMIN"] = "admin";
@@ -790,7 +855,7 @@ var UserStatus = /* @__PURE__ */ ((UserStatus2) => {
790
855
  UserStatus2["SUSPENDED"] = "suspended";
791
856
  return UserStatus2;
792
857
  })(UserStatus || {});
793
- var usersSchema = new Schema30({
858
+ var usersSchema = new Schema31({
794
859
  first_name: { type: String, required: true },
795
860
  middle_name: { type: String },
796
861
  last_name: { type: String, required: true },
@@ -812,32 +877,32 @@ var usersSchema = new Schema30({
812
877
  sap_id: { type: String },
813
878
  sap_employee_id: { type: String },
814
879
  created_at: { type: Date, default: Date.now },
815
- created_by: { type: Schema30.Types.Mixed, ref: "User" },
880
+ created_by: { type: Schema31.Types.Mixed, ref: "User" },
816
881
  updated_at: { type: Date },
817
- updated_by: { type: Schema30.Types.ObjectId, ref: "User" },
882
+ updated_by: { type: Schema31.Types.ObjectId, ref: "User" },
818
883
  deleted_at: { type: Date },
819
- deleted_by: { type: Schema30.Types.ObjectId, ref: "User" }
884
+ deleted_by: { type: Schema31.Types.ObjectId, ref: "User" }
820
885
  });
821
886
  usersSchema.pre("save", async function() {
822
887
  if (this.isModified("password")) {
823
888
  this.password = await bcrypt2.hash(this.password, 12);
824
889
  }
825
890
  });
826
- var Users_default = mongoose30.models.User || model30("User", usersSchema, "users");
891
+ var Users_default = mongoose31.models.User || model31("User", usersSchema, "users");
827
892
 
828
893
  // src/announcements/models/Announcements.ts
829
- var announcementSchema = new Schema31({
894
+ var announcementSchema = new Schema32({
830
895
  created_by: {
831
- type: Schema31.Types.ObjectId,
896
+ type: Schema32.Types.ObjectId,
832
897
  ref: "User",
833
898
  required: true
834
899
  },
835
900
  updated_by: {
836
- type: Schema31.Types.ObjectId,
901
+ type: Schema32.Types.ObjectId,
837
902
  ref: "User"
838
903
  },
839
904
  deleted_by: {
840
- type: Schema31.Types.ObjectId,
905
+ type: Schema32.Types.ObjectId,
841
906
  ref: "User"
842
907
  },
843
908
  created_at: {
@@ -866,13 +931,13 @@ var announcementSchema = new Schema31({
866
931
  }
867
932
  }
868
933
  });
869
- var Announcements_default = mongoose31.models.Announcement || model31("Announcement", announcementSchema, "announcements");
934
+ var Announcements_default = mongoose32.models.Announcement || model32("Announcement", announcementSchema, "announcements");
870
935
 
871
936
  // src/carts/models/Carts.ts
872
- import mongoose32, { Schema as Schema32, model as model32, Types as Types14 } from "mongoose";
873
- var cartItemSchema = new Schema32(
937
+ import mongoose33, { Schema as Schema33, model as model33, Types as Types15 } from "mongoose";
938
+ var cartItemSchema = new Schema33(
874
939
  {
875
- article_id: { type: Types14.ObjectId, ref: "Article", required: true },
940
+ article_id: { type: Types15.ObjectId, ref: "Article", required: true },
876
941
  quantity: { type: Number, required: true, min: 1 },
877
942
  unit_price: { type: Number },
878
943
  line_subtotal: { type: Number },
@@ -880,10 +945,10 @@ var cartItemSchema = new Schema32(
880
945
  },
881
946
  { _id: false }
882
947
  );
883
- var cartSchema = new Schema32(
948
+ var cartSchema = new Schema33(
884
949
  {
885
950
  customer_id: {
886
- type: Types14.ObjectId,
951
+ type: Types15.ObjectId,
887
952
  ref: "Customer",
888
953
  required: true
889
954
  },
@@ -893,7 +958,7 @@ var cartSchema = new Schema32(
893
958
  default: "ACTIVE"
894
959
  },
895
960
  currency: { type: String, default: "MXN" },
896
- price_list_id: { type: Types14.ObjectId, ref: "PriceList" },
961
+ price_list_id: { type: Types15.ObjectId, ref: "PriceList" },
897
962
  expires_at: { type: Date },
898
963
  subtotal: { type: Number, default: 0 },
899
964
  items: { type: [cartItemSchema], default: [] }
@@ -904,15 +969,15 @@ var cartSchema = new Schema32(
904
969
  );
905
970
  cartSchema.index({ customer_id: 1 }, { unique: true, name: "carts_customer_unique" });
906
971
  cartSchema.index({ updated_at: -1 }, { name: "carts_updated_at" });
907
- var Carts_default = mongoose32.models.Cart || model32("Cart", cartSchema, "carts");
972
+ var Carts_default = mongoose33.models.Cart || model33("Cart", cartSchema, "carts");
908
973
 
909
974
  // src/auth/models/RefreshTokens.ts
910
- import mongoose33, {
911
- Schema as Schema33,
912
- model as model33
975
+ import mongoose34, {
976
+ Schema as Schema34,
977
+ model as model34
913
978
  } from "mongoose";
914
- var refreshTokenSchema = new Schema33({
915
- customer_id: { type: Schema33.Types.ObjectId, ref: "Customer", required: true },
979
+ var refreshTokenSchema = new Schema34({
980
+ customer_id: { type: Schema34.Types.ObjectId, ref: "Customer", required: true },
916
981
  // Store only SHA-256 hash of the opaque refresh token (base64url). Never store the raw token.
917
982
  token_hash: { type: String, required: true },
918
983
  expires_at: { type: Date, required: true },
@@ -927,16 +992,16 @@ refreshTokenSchema.index({ customer_id: 1, expires_at: 1 });
927
992
  refreshTokenSchema.pre("save", function() {
928
993
  this.updated_at = /* @__PURE__ */ new Date();
929
994
  });
930
- var RefreshToken = mongoose33.models.RefreshToken || model33("RefreshToken", refreshTokenSchema, "refresh_tokens");
995
+ var RefreshToken = mongoose34.models.RefreshToken || model34("RefreshToken", refreshTokenSchema, "refresh_tokens");
931
996
  var RefreshTokens_default = RefreshToken;
932
997
 
933
998
  // src/auth/models/PasswordResetTokens.ts
934
- import mongoose34, {
935
- Schema as Schema34,
936
- model as model34
999
+ import mongoose35, {
1000
+ Schema as Schema35,
1001
+ model as model35
937
1002
  } from "mongoose";
938
- var passwordResetTokenSchema = new Schema34({
939
- customer_id: { type: Schema34.Types.ObjectId, ref: "Customer", required: true },
1003
+ var passwordResetTokenSchema = new Schema35({
1004
+ customer_id: { type: Schema35.Types.ObjectId, ref: "Customer", required: true },
940
1005
  // Store only SHA-256 hash of the opaque reset token (base64url). Never store the raw token.
941
1006
  token_hash: { type: String, required: true },
942
1007
  expires_at: { type: Date, required: true },
@@ -950,16 +1015,16 @@ passwordResetTokenSchema.index({ customer_id: 1, expires_at: 1 });
950
1015
  passwordResetTokenSchema.pre("save", function(next) {
951
1016
  this.updated_at = /* @__PURE__ */ new Date();
952
1017
  });
953
- var PasswordResetToken = mongoose34.models.PasswordResetToken || model34("PasswordResetToken", passwordResetTokenSchema, "password_reset_tokens");
1018
+ var PasswordResetToken = mongoose35.models.PasswordResetToken || model35("PasswordResetToken", passwordResetTokenSchema, "password_reset_tokens");
954
1019
  var PasswordResetTokens_default = PasswordResetToken;
955
1020
 
956
1021
  // src/auth/models/EmailVerificationTokens.ts
957
- import mongoose35, {
958
- Schema as Schema35,
959
- model as model35
1022
+ import mongoose36, {
1023
+ Schema as Schema36,
1024
+ model as model36
960
1025
  } from "mongoose";
961
- var emailVerificationTokenSchema = new Schema35({
962
- customer_id: { type: Schema35.Types.ObjectId, ref: "Customer", required: true },
1026
+ var emailVerificationTokenSchema = new Schema36({
1027
+ customer_id: { type: Schema36.Types.ObjectId, ref: "Customer", required: true },
963
1028
  // Store only SHA-256 hash of the opaque email verification token. Never store the raw token.
964
1029
  token_hash: { type: String, required: true },
965
1030
  expires_at: { type: Date, required: true },
@@ -970,7 +1035,7 @@ var emailVerificationTokenSchema = new Schema35({
970
1035
  emailVerificationTokenSchema.index({ token_hash: 1 }, { unique: true });
971
1036
  emailVerificationTokenSchema.index({ expires_at: 1 }, { expireAfterSeconds: 0 });
972
1037
  emailVerificationTokenSchema.index({ customer_id: 1, expires_at: 1 });
973
- var EmailVerificationToken = mongoose35.models.EmailVerificationToken || model35(
1038
+ var EmailVerificationToken = mongoose36.models.EmailVerificationToken || model36(
974
1039
  "EmailVerificationToken",
975
1040
  emailVerificationTokenSchema,
976
1041
  "email_verification_tokens"
@@ -978,7 +1043,7 @@ var EmailVerificationToken = mongoose35.models.EmailVerificationToken || model35
978
1043
  var EmailVerificationTokens_default = EmailVerificationToken;
979
1044
 
980
1045
  // src/payments/models/PaymentMethods.ts
981
- import mongoose36, { Schema as Schema36, model as model36 } from "mongoose";
1046
+ import mongoose37, { Schema as Schema37, model as model37 } from "mongoose";
982
1047
  var PaymentProvider = /* @__PURE__ */ ((PaymentProvider3) => {
983
1048
  PaymentProvider3["STRIPE"] = "stripe";
984
1049
  return PaymentProvider3;
@@ -990,9 +1055,9 @@ var PaymentMethodType = /* @__PURE__ */ ((PaymentMethodType2) => {
990
1055
  PaymentMethodType2["BANK_TRANSFER"] = "bank_transfer";
991
1056
  return PaymentMethodType2;
992
1057
  })(PaymentMethodType || {});
993
- var paymentMethodSchema = new Schema36(
1058
+ var paymentMethodSchema = new Schema37(
994
1059
  {
995
- customer_id: { type: Schema36.Types.ObjectId, ref: "Customer", required: true },
1060
+ customer_id: { type: Schema37.Types.ObjectId, ref: "Customer", required: true },
996
1061
  provider: {
997
1062
  type: String,
998
1063
  enum: Object.values(PaymentProvider),
@@ -1018,7 +1083,7 @@ var paymentMethodSchema = new Schema36(
1018
1083
  },
1019
1084
  is_default: { type: Boolean, default: false },
1020
1085
  deleted_at: { type: Date },
1021
- deleted_by: { type: Schema36.Types.ObjectId, ref: "User" }
1086
+ deleted_by: { type: Schema37.Types.ObjectId, ref: "User" }
1022
1087
  },
1023
1088
  { timestamps: { createdAt: "created_at", updatedAt: "updated_at" } }
1024
1089
  );
@@ -1034,10 +1099,10 @@ paymentMethodSchema.index(
1034
1099
  { customer_id: 1, is_default: 1 },
1035
1100
  { name: "payment_methods_default_lookup" }
1036
1101
  );
1037
- var PaymentMethods_default = mongoose36.models.CustomerPaymentMethod || model36("CustomerPaymentMethod", paymentMethodSchema, "customer_payment_methods");
1102
+ var PaymentMethods_default = mongoose37.models.CustomerPaymentMethod || model37("CustomerPaymentMethod", paymentMethodSchema, "customer_payment_methods");
1038
1103
 
1039
1104
  // src/payments/models/Payments.ts
1040
- import mongoose37, { Schema as Schema37, model as model37 } from "mongoose";
1105
+ import mongoose38, { Schema as Schema38, model as model38 } from "mongoose";
1041
1106
  var PaymentProvider2 = /* @__PURE__ */ ((PaymentProvider3) => {
1042
1107
  PaymentProvider3["STRIPE"] = "stripe";
1043
1108
  return PaymentProvider3;
@@ -1057,11 +1122,11 @@ var TransactionMethod = /* @__PURE__ */ ((TransactionMethod2) => {
1057
1122
  TransactionMethod2["BANK_TRANSFER"] = "bank_transfer";
1058
1123
  return TransactionMethod2;
1059
1124
  })(TransactionMethod || {});
1060
- var orderPaymentSchema = new Schema37(
1125
+ var orderPaymentSchema = new Schema38(
1061
1126
  {
1062
- order_id: { type: Schema37.Types.ObjectId, ref: "Order", required: true },
1063
- customer_id: { type: Schema37.Types.ObjectId, ref: "Customer", required: true },
1064
- payment_method_id: { type: Schema37.Types.ObjectId, ref: "ClientPaymentMethod" },
1127
+ order_id: { type: Schema38.Types.ObjectId, ref: "Order", required: true },
1128
+ customer_id: { type: Schema38.Types.ObjectId, ref: "Customer", required: true },
1129
+ payment_method_id: { type: Schema38.Types.ObjectId, ref: "ClientPaymentMethod" },
1065
1130
  provider: {
1066
1131
  type: String,
1067
1132
  enum: Object.values(PaymentProvider2),
@@ -1084,7 +1149,7 @@ var orderPaymentSchema = new Schema37(
1084
1149
  amount: { type: Number, required: true, min: 0 },
1085
1150
  currency: { type: String, required: true, default: "MXN" },
1086
1151
  deleted_at: { type: Date },
1087
- deleted_by: { type: Schema37.Types.ObjectId, ref: "User" }
1152
+ deleted_by: { type: Schema38.Types.ObjectId, ref: "User" }
1088
1153
  },
1089
1154
  { timestamps: { createdAt: "created_at", updatedAt: "updated_at" } }
1090
1155
  );
@@ -1108,7 +1173,7 @@ orderPaymentSchema.index(
1108
1173
  { provider_payment_id: 1 },
1109
1174
  { name: "order_payments_provider_payment_id" }
1110
1175
  );
1111
- var Payments_default = mongoose37.models.OrderPayment || model37("OrderPayment", orderPaymentSchema, "order_payments");
1176
+ var Payments_default = mongoose38.models.OrderPayment || model38("OrderPayment", orderPaymentSchema, "order_payments");
1112
1177
  export {
1113
1178
  Announcements_default as Announcement,
1114
1179
  Article_default as Article,
@@ -1152,6 +1217,8 @@ export {
1152
1217
  RefreshTokens_default as RefreshToken,
1153
1218
  State_default as State,
1154
1219
  Status,
1220
+ StockReservations_default as StockReservation,
1221
+ StockReservationStatus,
1155
1222
  SyncLog,
1156
1223
  SyncLogAction,
1157
1224
  SyncLogStatus,