@fesmex/models 0.1.50 → 0.1.52

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 CHANGED
@@ -35,6 +35,7 @@ __export(index_exports, {
35
35
  ArticleGroup: () => ArticleGroups_default,
36
36
  ArticlePrice: () => ArticlePrices_default,
37
37
  Cart: () => Carts_default,
38
+ Category: () => Category_default,
38
39
  Client: () => Clients_default,
39
40
  ClientAddress: () => ClientsAddress_default,
40
41
  ClientContact: () => ClientsContact_default,
@@ -67,6 +68,7 @@ __export(index_exports, {
67
68
  SyncLogAction: () => SyncLogAction,
68
69
  SyncLogStatus: () => SyncLogStatus,
69
70
  SyncLogType: () => SyncLogType,
71
+ Tag: () => Tag_default,
70
72
  UserRole: () => UserRole,
71
73
  UserStatus: () => UserStatus,
72
74
  Users: () => Users_default,
@@ -249,6 +251,8 @@ var articleSchema = new import_mongoose8.Schema({
249
251
  group_id: { type: import_mongoose8.Types.ObjectId, ref: "ArticleGroup", required: true },
250
252
  category_id: { type: import_mongoose8.Types.ObjectId, ref: "Category", required: false, index: true },
251
253
  tags: { type: [import_mongoose8.Types.ObjectId], ref: "Tag", default: [], index: true },
254
+ is_featured: { type: Boolean, default: false, index: true },
255
+ featured_order: { type: Number, default: 0 },
252
256
  files: {
253
257
  images: { type: [articleFileSchema], required: false },
254
258
  datasheets: { type: [articleFileSchema], required: false }
@@ -268,6 +272,7 @@ articleSchema.index(
268
272
  { deleted_at: 1, updated_at: -1 },
269
273
  { name: "articles_not_deleted_sort" }
270
274
  );
275
+ articleSchema.index({ is_featured: 1, featured_order: 1 }, { name: "articles_featured_order" });
271
276
  var Article_default = import_mongoose8.default.models.Article || (0, import_mongoose8.model)("Article", articleSchema, "articles");
272
277
 
273
278
  // src/inventory/models/ArticleGroups.ts
@@ -345,8 +350,39 @@ var priceListSchema = new import_mongoose15.Schema({
345
350
  });
346
351
  var PriceLists_default = import_mongoose15.default.models.PriceList || (0, import_mongoose15.model)("PriceList", priceListSchema, "price_lists");
347
352
 
348
- // src/quotes/models/Quote.ts
353
+ // src/inventory/models/Category.ts
349
354
  var import_mongoose16 = __toESM(require("mongoose"), 1);
355
+ var categorySchema = new import_mongoose16.Schema({
356
+ name: { type: String, required: true, trim: true },
357
+ slug: { type: String, required: true, trim: true, lowercase: true },
358
+ parent_id: { type: import_mongoose16.Types.ObjectId, ref: "Category", default: null, index: true },
359
+ order: { type: Number, default: 0 },
360
+ is_active: { type: Boolean, default: true, index: true },
361
+ created_at: { type: Date, default: Date.now },
362
+ updated_at: { type: Date, default: Date.now }
363
+ });
364
+ categorySchema.index({ slug: 1 }, { unique: true, name: "categories_slug_unique" });
365
+ categorySchema.index({ parent_id: 1 }, { name: "categories_parent" });
366
+ categorySchema.index({ is_active: 1 }, { name: "categories_active" });
367
+ var Category_default = import_mongoose16.default.models.Category || (0, import_mongoose16.model)("Category", categorySchema, "categories");
368
+
369
+ // src/inventory/models/Tag.ts
370
+ var import_mongoose17 = __toESM(require("mongoose"), 1);
371
+ var tagSchema = new import_mongoose17.Schema({
372
+ name: { type: String, required: true, trim: true },
373
+ slug: { type: String, required: true, trim: true, lowercase: true },
374
+ type: { type: String, enum: ["filter", "sidebar"], default: "filter", index: true },
375
+ is_active: { type: Boolean, default: true, index: true },
376
+ created_at: { type: Date, default: Date.now },
377
+ updated_at: { type: Date, default: Date.now }
378
+ });
379
+ tagSchema.index({ slug: 1 }, { unique: true, name: "tags_slug_unique" });
380
+ tagSchema.index({ is_active: 1 }, { name: "tags_active" });
381
+ tagSchema.index({ type: 1 }, { name: "tags_type" });
382
+ var Tag_default = import_mongoose17.default.models.Tag || (0, import_mongoose17.model)("Tag", tagSchema, "tags");
383
+
384
+ // src/quotes/models/Quote.ts
385
+ var import_mongoose18 = __toESM(require("mongoose"), 1);
350
386
  var QuoteStatus = /* @__PURE__ */ ((QuoteStatus2) => {
351
387
  QuoteStatus2["OPPORTUNITY"] = "OPPORTUNITY";
352
388
  QuoteStatus2["QUOTE"] = "QUOTE";
@@ -366,21 +402,21 @@ var CreatedMethod = /* @__PURE__ */ ((CreatedMethod2) => {
366
402
  CreatedMethod2["CSV"] = "CSV";
367
403
  return CreatedMethod2;
368
404
  })(CreatedMethod || {});
369
- var quoteSchema = new import_mongoose16.Schema(
405
+ var quoteSchema = new import_mongoose18.Schema(
370
406
  {
371
407
  quote_number: { type: Number, required: true },
372
408
  quote_revision: { type: Number, default: 0 },
373
409
  quote_ref: { type: String },
374
410
  company: { type: String },
375
- company_id: { type: import_mongoose16.Schema.Types.ObjectId, ref: "Client", required: true },
411
+ company_id: { type: import_mongoose18.Schema.Types.ObjectId, ref: "Client", required: true },
376
412
  company_pipedrive_id: { type: String },
377
- contact_id: { type: import_mongoose16.Schema.Types.ObjectId, ref: "ClientContact" },
413
+ contact_id: { type: import_mongoose18.Schema.Types.ObjectId, ref: "ClientContact" },
378
414
  project_name: { type: String },
379
415
  project_lab: { type: String },
380
416
  payment_condition: { type: String },
381
417
  payment_exp: { type: String },
382
- terms_ids: [{ type: import_mongoose16.Schema.Types.ObjectId, ref: "QuoteTerm" }],
383
- currency_id: { type: import_mongoose16.Schema.Types.ObjectId, ref: "Currency" },
418
+ terms_ids: [{ type: import_mongoose18.Schema.Types.ObjectId, ref: "QuoteTerm" }],
419
+ currency_id: { type: import_mongoose18.Schema.Types.ObjectId, ref: "Currency" },
384
420
  iva: { type: String },
385
421
  date: { type: Date },
386
422
  status: { type: String, enum: Object.values(Status), default: "OPEN" /* OPEN */ },
@@ -401,21 +437,21 @@ var quoteSchema = new import_mongoose16.Schema(
401
437
  enum: Object.values(CreatedMethod),
402
438
  default: "MANUAL" /* MANUAL */
403
439
  },
404
- created_by: { type: import_mongoose16.Schema.Types.ObjectId, ref: "User" },
405
- updated_by: { type: import_mongoose16.Schema.Types.ObjectId, ref: "User" },
406
- deleted_by: { type: import_mongoose16.Schema.Types.ObjectId, ref: "User" },
440
+ created_by: { type: import_mongoose18.Schema.Types.ObjectId, ref: "User" },
441
+ updated_by: { type: import_mongoose18.Schema.Types.ObjectId, ref: "User" },
442
+ deleted_by: { type: import_mongoose18.Schema.Types.ObjectId, ref: "User" },
407
443
  deleted_at: { type: Date }
408
444
  },
409
445
  { timestamps: { createdAt: "created_at", updatedAt: "updated_at" } }
410
446
  );
411
- var Quote_default = import_mongoose16.default.models.Quote || (0, import_mongoose16.model)("Quote", quoteSchema, "quotes");
447
+ var Quote_default = import_mongoose18.default.models.Quote || (0, import_mongoose18.model)("Quote", quoteSchema, "quotes");
412
448
 
413
449
  // src/quotes/models/QuoteArticle.ts
414
- var import_mongoose17 = __toESM(require("mongoose"), 1);
415
- var quoteArticleSchema = new import_mongoose17.Schema(
450
+ var import_mongoose19 = __toESM(require("mongoose"), 1);
451
+ var quoteArticleSchema = new import_mongoose19.Schema(
416
452
  {
417
- quote_id: { type: import_mongoose17.Schema.Types.ObjectId, ref: "Quote", required: true },
418
- article_id: { type: import_mongoose17.Schema.Types.ObjectId, ref: "Article" },
453
+ quote_id: { type: import_mongoose19.Schema.Types.ObjectId, ref: "Quote", required: true },
454
+ article_id: { type: import_mongoose19.Schema.Types.ObjectId, ref: "Article" },
419
455
  article_number: { type: String },
420
456
  description: { type: String },
421
457
  delivery: { type: String },
@@ -426,18 +462,18 @@ var quoteArticleSchema = new import_mongoose17.Schema(
426
462
  total: { type: Number },
427
463
  utility: { type: Number },
428
464
  type: { type: String },
429
- extra_id: { type: import_mongoose17.Schema.Types.ObjectId, ref: "QuoteArticleExtra" }
465
+ extra_id: { type: import_mongoose19.Schema.Types.ObjectId, ref: "QuoteArticleExtra" }
430
466
  },
431
467
  { timestamps: { createdAt: "created_at", updatedAt: "updated_at" } }
432
468
  );
433
- var QuoteArticle_default = import_mongoose17.default.models.QuoteArticle || (0, import_mongoose17.model)("QuoteArticle", quoteArticleSchema, "quote_articles");
469
+ var QuoteArticle_default = import_mongoose19.default.models.QuoteArticle || (0, import_mongoose19.model)("QuoteArticle", quoteArticleSchema, "quote_articles");
434
470
 
435
471
  // src/quotes/models/QuoteArticleExtra.ts
436
- var import_mongoose18 = __toESM(require("mongoose"), 1);
437
- var quoteArticleExtraSchema = new import_mongoose18.Schema(
472
+ var import_mongoose20 = __toESM(require("mongoose"), 1);
473
+ var quoteArticleExtraSchema = new import_mongoose20.Schema(
438
474
  {
439
475
  quote_article_id: {
440
- type: import_mongoose18.Schema.Types.ObjectId,
476
+ type: import_mongoose20.Schema.Types.ObjectId,
441
477
  ref: "QuoteArticle",
442
478
  required: true
443
479
  },
@@ -449,23 +485,23 @@ var quoteArticleExtraSchema = new import_mongoose18.Schema(
449
485
  },
450
486
  { timestamps: { createdAt: "created_at", updatedAt: "updated_at" } }
451
487
  );
452
- var QuoteArticleExtra_default = import_mongoose18.default.models.QuoteArticleExtra || (0, import_mongoose18.model)("QuoteArticleExtra", quoteArticleExtraSchema, "quote_article_extras");
488
+ var QuoteArticleExtra_default = import_mongoose20.default.models.QuoteArticleExtra || (0, import_mongoose20.model)("QuoteArticleExtra", quoteArticleExtraSchema, "quote_article_extras");
453
489
 
454
490
  // src/quotes/models/QuoteContact.ts
455
- var import_mongoose19 = __toESM(require("mongoose"), 1);
456
- var quoteContactSchema = new import_mongoose19.Schema({
457
- quote_id: { type: import_mongoose19.Schema.Types.ObjectId, ref: "Quote", required: true },
491
+ var import_mongoose21 = __toESM(require("mongoose"), 1);
492
+ var quoteContactSchema = new import_mongoose21.Schema({
493
+ quote_id: { type: import_mongoose21.Schema.Types.ObjectId, ref: "Quote", required: true },
458
494
  name: String,
459
495
  email: String,
460
496
  mobile: String,
461
497
  pipedrive_id: String,
462
498
  created_at: { type: Date, default: Date.now }
463
499
  });
464
- var QuoteContact_default = import_mongoose19.default.models.QuoteContact || (0, import_mongoose19.model)("QuoteContact", quoteContactSchema, "quote_contacts");
500
+ var QuoteContact_default = import_mongoose21.default.models.QuoteContact || (0, import_mongoose21.model)("QuoteContact", quoteContactSchema, "quote_contacts");
465
501
 
466
502
  // src/quotes/models/QuoteTerm.ts
467
- var import_mongoose20 = __toESM(require("mongoose"), 1);
468
- var quoteTermSchema = new import_mongoose20.Schema(
503
+ var import_mongoose22 = __toESM(require("mongoose"), 1);
504
+ var quoteTermSchema = new import_mongoose22.Schema(
469
505
  {
470
506
  title: String,
471
507
  content: { type: String, required: true },
@@ -476,10 +512,10 @@ var quoteTermSchema = new import_mongoose20.Schema(
476
512
  },
477
513
  { timestamps: { createdAt: "created_at", updatedAt: "updated_at" } }
478
514
  );
479
- var QuoteTerm_default = import_mongoose20.default.models.QuoteTerm || (0, import_mongoose20.model)("QuoteTerm", quoteTermSchema, "quote_terms");
515
+ var QuoteTerm_default = import_mongoose22.default.models.QuoteTerm || (0, import_mongoose22.model)("QuoteTerm", quoteTermSchema, "quote_terms");
480
516
 
481
517
  // src/customers/models/Customers.ts
482
- var import_mongoose21 = __toESM(require("mongoose"), 1);
518
+ var import_mongoose23 = __toESM(require("mongoose"), 1);
483
519
  var import_bcryptjs = __toESM(require("bcryptjs"), 1);
484
520
  var CustomerStatus = /* @__PURE__ */ ((CustomerStatus2) => {
485
521
  CustomerStatus2["ACTIVE"] = "active";
@@ -487,7 +523,7 @@ var CustomerStatus = /* @__PURE__ */ ((CustomerStatus2) => {
487
523
  CustomerStatus2["BANNED"] = "banned";
488
524
  return CustomerStatus2;
489
525
  })(CustomerStatus || {});
490
- var customerSchema = new import_mongoose21.Schema({
526
+ var customerSchema = new import_mongoose23.Schema({
491
527
  first_name: { type: String, required: true },
492
528
  last_name: { type: String, required: true },
493
529
  email: { type: String, required: true, unique: true },
@@ -498,7 +534,7 @@ var customerSchema = new import_mongoose21.Schema({
498
534
  enum: Object.values(CustomerStatus),
499
535
  default: "inactive" /* INACTIVE */
500
536
  },
501
- fiscal_profile_id: { type: import_mongoose21.Schema.Types.ObjectId, ref: "FiscalProfile" },
537
+ fiscal_profile_id: { type: import_mongoose23.Schema.Types.ObjectId, ref: "FiscalProfile" },
502
538
  created_at: { type: Date, default: Date.now },
503
539
  updated_at: { type: Date },
504
540
  deleted_at: { type: Date }
@@ -508,13 +544,13 @@ customerSchema.pre("save", async function() {
508
544
  this.password = await import_bcryptjs.default.hash(this.password, 12);
509
545
  }
510
546
  });
511
- var Customer = import_mongoose21.default.models.Customer || (0, import_mongoose21.model)("Customer", customerSchema, "customers");
547
+ var Customer = import_mongoose23.default.models.Customer || (0, import_mongoose23.model)("Customer", customerSchema, "customers");
512
548
  var Customers_default = Customer;
513
549
 
514
550
  // src/customers/models/FiscalProfileType.ts
515
- var import_mongoose22 = __toESM(require("mongoose"), 1);
516
- var fiscalProfileSchema = new import_mongoose22.Schema({
517
- customer_id: { type: import_mongoose22.Schema.Types.ObjectId, ref: "Customer", required: true },
551
+ var import_mongoose24 = __toESM(require("mongoose"), 1);
552
+ var fiscalProfileSchema = new import_mongoose24.Schema({
553
+ customer_id: { type: import_mongoose24.Schema.Types.ObjectId, ref: "Customer", required: true },
518
554
  rfc: { type: String, required: true },
519
555
  razon_social: { type: String, required: true },
520
556
  uso_cfdi: { type: String, required: true },
@@ -523,11 +559,11 @@ var fiscalProfileSchema = new import_mongoose22.Schema({
523
559
  created_at: { type: Date, default: Date.now },
524
560
  updated_at: { type: Date }
525
561
  });
526
- var FiscalProfile = import_mongoose22.default.models.FiscalProfile || (0, import_mongoose22.model)("FiscalProfile", fiscalProfileSchema, "fiscal_profiles");
562
+ var FiscalProfile = import_mongoose24.default.models.FiscalProfile || (0, import_mongoose24.model)("FiscalProfile", fiscalProfileSchema, "fiscal_profiles");
527
563
  var FiscalProfileType_default = FiscalProfile;
528
564
 
529
565
  // src/orders/models/Orders.ts
530
- var import_mongoose23 = __toESM(require("mongoose"), 1);
566
+ var import_mongoose25 = __toESM(require("mongoose"), 1);
531
567
  var OrderStatus = /* @__PURE__ */ ((OrderStatus2) => {
532
568
  OrderStatus2["PENDING"] = "pending";
533
569
  OrderStatus2["CONFIRMED"] = "confirmed";
@@ -548,7 +584,7 @@ var PaymentStatus = /* @__PURE__ */ ((PaymentStatus2) => {
548
584
  PaymentStatus2["REFUNDED"] = "REFUNDED";
549
585
  return PaymentStatus2;
550
586
  })(PaymentStatus || {});
551
- var shippingAddressSchema = new import_mongoose23.Schema(
587
+ var shippingAddressSchema = new import_mongoose25.Schema(
552
588
  {
553
589
  full_name: { type: String, required: true, trim: true },
554
590
  phone: { type: String, required: true, trim: true },
@@ -561,18 +597,18 @@ var shippingAddressSchema = new import_mongoose23.Schema(
561
597
  },
562
598
  { _id: false }
563
599
  );
564
- var orderItemSchema = new import_mongoose23.Schema(
600
+ var orderItemSchema = new import_mongoose25.Schema(
565
601
  {
566
- article_id: { type: import_mongoose23.Schema.Types.ObjectId, ref: "Article", required: true },
602
+ article_id: { type: import_mongoose25.Schema.Types.ObjectId, ref: "Article", required: true },
567
603
  quantity: { type: Number, required: true, min: 1 },
568
604
  unit_price: { type: Number, required: true, min: 0 },
569
605
  total: { type: Number, required: true, min: 0 }
570
606
  },
571
607
  { _id: false }
572
608
  );
573
- var orderSchema = new import_mongoose23.Schema(
609
+ var orderSchema = new import_mongoose25.Schema(
574
610
  {
575
- customer_id: { type: import_mongoose23.Schema.Types.ObjectId, ref: "Customer", required: true },
611
+ customer_id: { type: import_mongoose25.Schema.Types.ObjectId, ref: "Customer", required: true },
576
612
  items: { type: [orderItemSchema], required: true, default: [] },
577
613
  status: {
578
614
  type: String,
@@ -615,14 +651,14 @@ orderSchema.index(
615
651
  { "shipping_address.postal_code": 1, created_at: -1 },
616
652
  { name: "orders_postal_created" }
617
653
  );
618
- var Orders_default = import_mongoose23.default.models.Order || (0, import_mongoose23.model)("Order", orderSchema, "orders");
654
+ var Orders_default = import_mongoose25.default.models.Order || (0, import_mongoose25.model)("Order", orderSchema, "orders");
619
655
 
620
656
  // src/orders/models/OrderStatusLogs.ts
621
- var import_mongoose24 = __toESM(require("mongoose"), 1);
622
- var orderStatusLogSchema = new import_mongoose24.Schema(
657
+ var import_mongoose26 = __toESM(require("mongoose"), 1);
658
+ var orderStatusLogSchema = new import_mongoose26.Schema(
623
659
  {
624
660
  order_id: {
625
- type: import_mongoose24.Schema.Types.ObjectId,
661
+ type: import_mongoose26.Schema.Types.ObjectId,
626
662
  ref: "Order",
627
663
  required: true
628
664
  },
@@ -632,7 +668,7 @@ var orderStatusLogSchema = new import_mongoose24.Schema(
632
668
  required: true
633
669
  },
634
670
  changed_by: {
635
- type: import_mongoose24.Schema.Types.ObjectId,
671
+ type: import_mongoose26.Schema.Types.ObjectId,
636
672
  ref: "User",
637
673
  required: true
638
674
  },
@@ -655,10 +691,10 @@ orderStatusLogSchema.index(
655
691
  { changed_by: 1, changed_at: -1 },
656
692
  { name: "order_status_logs_changed_by_changed_at" }
657
693
  );
658
- var OrderStatusLogs_default = import_mongoose24.default.models.OrderStatusLog || (0, import_mongoose24.model)("OrderStatusLog", orderStatusLogSchema);
694
+ var OrderStatusLogs_default = import_mongoose26.default.models.OrderStatusLog || (0, import_mongoose26.model)("OrderStatusLog", orderStatusLogSchema);
659
695
 
660
696
  // src/sap/models/SyncLog.ts
661
- var import_mongoose25 = __toESM(require("mongoose"), 1);
697
+ var import_mongoose27 = __toESM(require("mongoose"), 1);
662
698
  var SyncLogType = /* @__PURE__ */ ((SyncLogType2) => {
663
699
  SyncLogType2["SAP_QUOTATION"] = "SAP_QUOTATION";
664
700
  SyncLogType2["SAP_SALES_ORDER"] = "SAP_SALES_ORDER";
@@ -678,7 +714,7 @@ var SyncLogAction = /* @__PURE__ */ ((SyncLogAction2) => {
678
714
  SyncLogAction2["DELETE"] = "DELETE";
679
715
  return SyncLogAction2;
680
716
  })(SyncLogAction || {});
681
- var syncLogSchema = new import_mongoose25.Schema(
717
+ var syncLogSchema = new import_mongoose27.Schema(
682
718
  {
683
719
  entity_type: {
684
720
  type: String,
@@ -686,7 +722,7 @@ var syncLogSchema = new import_mongoose25.Schema(
686
722
  index: true
687
723
  },
688
724
  entity_id: {
689
- type: import_mongoose25.Schema.Types.ObjectId,
725
+ type: import_mongoose27.Schema.Types.ObjectId,
690
726
  required: true,
691
727
  index: true
692
728
  },
@@ -709,14 +745,14 @@ var syncLogSchema = new import_mongoose25.Schema(
709
745
  },
710
746
  error_message: { type: String },
711
747
  error_code: { type: String },
712
- error_details: { type: import_mongoose25.Schema.Types.Mixed },
713
- request_payload: { type: import_mongoose25.Schema.Types.Mixed },
714
- response_payload: { type: import_mongoose25.Schema.Types.Mixed },
748
+ error_details: { type: import_mongoose27.Schema.Types.Mixed },
749
+ request_payload: { type: import_mongoose27.Schema.Types.Mixed },
750
+ response_payload: { type: import_mongoose27.Schema.Types.Mixed },
715
751
  retry_count: { type: Number, default: 0 },
716
752
  max_retries: { type: Number, default: 3 },
717
753
  next_retry_at: { type: Date },
718
754
  resolved_at: { type: Date },
719
- resolved_by: { type: import_mongoose25.Schema.Types.ObjectId, ref: "User" }
755
+ resolved_by: { type: import_mongoose27.Schema.Types.ObjectId, ref: "User" }
720
756
  },
721
757
  {
722
758
  timestamps: { createdAt: "created_at", updatedAt: "updated_at" }
@@ -724,13 +760,13 @@ var syncLogSchema = new import_mongoose25.Schema(
724
760
  );
725
761
  syncLogSchema.index({ entity_type: 1, entity_id: 1, status: 1 });
726
762
  syncLogSchema.index({ status: 1, next_retry_at: 1 });
727
- var SyncLog = import_mongoose25.default.models.SyncLog || (0, import_mongoose25.model)("SyncLog", syncLogSchema, "sync_logs");
763
+ var SyncLog = import_mongoose27.default.models.SyncLog || (0, import_mongoose27.model)("SyncLog", syncLogSchema, "sync_logs");
728
764
 
729
765
  // src/announcements/models/Announcements.ts
730
- var import_mongoose27 = __toESM(require("mongoose"), 1);
766
+ var import_mongoose29 = __toESM(require("mongoose"), 1);
731
767
 
732
768
  // src/users/models/Users.ts
733
- var import_mongoose26 = __toESM(require("mongoose"), 1);
769
+ var import_mongoose28 = __toESM(require("mongoose"), 1);
734
770
  var import_bcryptjs2 = __toESM(require("bcryptjs"), 1);
735
771
  var UserRole = /* @__PURE__ */ ((UserRole2) => {
736
772
  UserRole2["ADMIN"] = "admin";
@@ -745,7 +781,7 @@ var UserStatus = /* @__PURE__ */ ((UserStatus2) => {
745
781
  UserStatus2["SUSPENDED"] = "suspended";
746
782
  return UserStatus2;
747
783
  })(UserStatus || {});
748
- var usersSchema = new import_mongoose26.Schema({
784
+ var usersSchema = new import_mongoose28.Schema({
749
785
  first_name: { type: String, required: true },
750
786
  middle_name: { type: String },
751
787
  last_name: { type: String, required: true },
@@ -767,32 +803,32 @@ var usersSchema = new import_mongoose26.Schema({
767
803
  sap_id: { type: String },
768
804
  sap_employee_id: { type: String },
769
805
  created_at: { type: Date, default: Date.now },
770
- created_by: { type: import_mongoose26.Schema.Types.Mixed, ref: "User" },
806
+ created_by: { type: import_mongoose28.Schema.Types.Mixed, ref: "User" },
771
807
  updated_at: { type: Date },
772
- updated_by: { type: import_mongoose26.Schema.Types.ObjectId, ref: "User" },
808
+ updated_by: { type: import_mongoose28.Schema.Types.ObjectId, ref: "User" },
773
809
  deleted_at: { type: Date },
774
- deleted_by: { type: import_mongoose26.Schema.Types.ObjectId, ref: "User" }
810
+ deleted_by: { type: import_mongoose28.Schema.Types.ObjectId, ref: "User" }
775
811
  });
776
812
  usersSchema.pre("save", async function() {
777
813
  if (this.isModified("password")) {
778
814
  this.password = await import_bcryptjs2.default.hash(this.password, 12);
779
815
  }
780
816
  });
781
- var Users_default = import_mongoose26.default.models.User || (0, import_mongoose26.model)("User", usersSchema, "users");
817
+ var Users_default = import_mongoose28.default.models.User || (0, import_mongoose28.model)("User", usersSchema, "users");
782
818
 
783
819
  // src/announcements/models/Announcements.ts
784
- var announcementSchema = new import_mongoose27.Schema({
820
+ var announcementSchema = new import_mongoose29.Schema({
785
821
  created_by: {
786
- type: import_mongoose27.Schema.Types.ObjectId,
822
+ type: import_mongoose29.Schema.Types.ObjectId,
787
823
  ref: "User",
788
824
  required: true
789
825
  },
790
826
  updated_by: {
791
- type: import_mongoose27.Schema.Types.ObjectId,
827
+ type: import_mongoose29.Schema.Types.ObjectId,
792
828
  ref: "User"
793
829
  },
794
830
  deleted_by: {
795
- type: import_mongoose27.Schema.Types.ObjectId,
831
+ type: import_mongoose29.Schema.Types.ObjectId,
796
832
  ref: "User"
797
833
  },
798
834
  created_at: {
@@ -821,13 +857,13 @@ var announcementSchema = new import_mongoose27.Schema({
821
857
  }
822
858
  }
823
859
  });
824
- var Announcements_default = import_mongoose27.default.models.Announcement || (0, import_mongoose27.model)("Announcement", announcementSchema, "announcements");
860
+ var Announcements_default = import_mongoose29.default.models.Announcement || (0, import_mongoose29.model)("Announcement", announcementSchema, "announcements");
825
861
 
826
862
  // src/carts/models/Carts.ts
827
- var import_mongoose28 = __toESM(require("mongoose"), 1);
828
- var cartItemSchema = new import_mongoose28.Schema(
863
+ var import_mongoose30 = __toESM(require("mongoose"), 1);
864
+ var cartItemSchema = new import_mongoose30.Schema(
829
865
  {
830
- article_id: { type: import_mongoose28.Types.ObjectId, ref: "Article", required: true },
866
+ article_id: { type: import_mongoose30.Types.ObjectId, ref: "Article", required: true },
831
867
  quantity: { type: Number, required: true, min: 1 },
832
868
  unit_price: { type: Number },
833
869
  line_subtotal: { type: Number },
@@ -835,10 +871,10 @@ var cartItemSchema = new import_mongoose28.Schema(
835
871
  },
836
872
  { _id: false }
837
873
  );
838
- var cartSchema = new import_mongoose28.Schema(
874
+ var cartSchema = new import_mongoose30.Schema(
839
875
  {
840
876
  customer_id: {
841
- type: import_mongoose28.Types.ObjectId,
877
+ type: import_mongoose30.Types.ObjectId,
842
878
  ref: "Customer",
843
879
  required: true
844
880
  },
@@ -848,7 +884,7 @@ var cartSchema = new import_mongoose28.Schema(
848
884
  default: "ACTIVE"
849
885
  },
850
886
  currency: { type: String, default: "MXN" },
851
- price_list_id: { type: import_mongoose28.Types.ObjectId, ref: "PriceList" },
887
+ price_list_id: { type: import_mongoose30.Types.ObjectId, ref: "PriceList" },
852
888
  expires_at: { type: Date },
853
889
  subtotal: { type: Number, default: 0 },
854
890
  items: { type: [cartItemSchema], default: [] }
@@ -859,12 +895,12 @@ var cartSchema = new import_mongoose28.Schema(
859
895
  );
860
896
  cartSchema.index({ customer_id: 1 }, { unique: true, name: "carts_customer_unique" });
861
897
  cartSchema.index({ updated_at: -1 }, { name: "carts_updated_at" });
862
- var Carts_default = import_mongoose28.default.models.Cart || (0, import_mongoose28.model)("Cart", cartSchema, "carts");
898
+ var Carts_default = import_mongoose30.default.models.Cart || (0, import_mongoose30.model)("Cart", cartSchema, "carts");
863
899
 
864
900
  // src/auth/models/RefreshTokens.ts
865
- var import_mongoose29 = __toESM(require("mongoose"), 1);
866
- var refreshTokenSchema = new import_mongoose29.Schema({
867
- customer_id: { type: import_mongoose29.Schema.Types.ObjectId, ref: "Customer", required: true },
901
+ var import_mongoose31 = __toESM(require("mongoose"), 1);
902
+ var refreshTokenSchema = new import_mongoose31.Schema({
903
+ customer_id: { type: import_mongoose31.Schema.Types.ObjectId, ref: "Customer", required: true },
868
904
  // Store only SHA-256 hash of the opaque refresh token (base64url). Never store the raw token.
869
905
  token_hash: { type: String, required: true },
870
906
  expires_at: { type: Date, required: true },
@@ -879,13 +915,13 @@ refreshTokenSchema.index({ customer_id: 1, expires_at: 1 });
879
915
  refreshTokenSchema.pre("save", function() {
880
916
  this.updated_at = /* @__PURE__ */ new Date();
881
917
  });
882
- var RefreshToken = import_mongoose29.default.models.RefreshToken || (0, import_mongoose29.model)("RefreshToken", refreshTokenSchema, "refresh_tokens");
918
+ var RefreshToken = import_mongoose31.default.models.RefreshToken || (0, import_mongoose31.model)("RefreshToken", refreshTokenSchema, "refresh_tokens");
883
919
  var RefreshTokens_default = RefreshToken;
884
920
 
885
921
  // src/auth/models/PasswordResetTokens.ts
886
- var import_mongoose30 = __toESM(require("mongoose"), 1);
887
- var passwordResetTokenSchema = new import_mongoose30.Schema({
888
- customer_id: { type: import_mongoose30.Schema.Types.ObjectId, ref: "Customer", required: true },
922
+ var import_mongoose32 = __toESM(require("mongoose"), 1);
923
+ var passwordResetTokenSchema = new import_mongoose32.Schema({
924
+ customer_id: { type: import_mongoose32.Schema.Types.ObjectId, ref: "Customer", required: true },
889
925
  // Store only SHA-256 hash of the opaque reset token (base64url). Never store the raw token.
890
926
  token_hash: { type: String, required: true },
891
927
  expires_at: { type: Date, required: true },
@@ -899,13 +935,13 @@ passwordResetTokenSchema.index({ customer_id: 1, expires_at: 1 });
899
935
  passwordResetTokenSchema.pre("save", function(next) {
900
936
  this.updated_at = /* @__PURE__ */ new Date();
901
937
  });
902
- var PasswordResetToken = import_mongoose30.default.models.PasswordResetToken || (0, import_mongoose30.model)("PasswordResetToken", passwordResetTokenSchema, "password_reset_tokens");
938
+ var PasswordResetToken = import_mongoose32.default.models.PasswordResetToken || (0, import_mongoose32.model)("PasswordResetToken", passwordResetTokenSchema, "password_reset_tokens");
903
939
  var PasswordResetTokens_default = PasswordResetToken;
904
940
 
905
941
  // src/auth/models/EmailVerificationTokens.ts
906
- var import_mongoose31 = __toESM(require("mongoose"), 1);
907
- var emailVerificationTokenSchema = new import_mongoose31.Schema({
908
- customer_id: { type: import_mongoose31.Schema.Types.ObjectId, ref: "Customer", required: true },
942
+ var import_mongoose33 = __toESM(require("mongoose"), 1);
943
+ var emailVerificationTokenSchema = new import_mongoose33.Schema({
944
+ customer_id: { type: import_mongoose33.Schema.Types.ObjectId, ref: "Customer", required: true },
909
945
  // Store only SHA-256 hash of the opaque email verification token. Never store the raw token.
910
946
  token_hash: { type: String, required: true },
911
947
  expires_at: { type: Date, required: true },
@@ -916,7 +952,7 @@ var emailVerificationTokenSchema = new import_mongoose31.Schema({
916
952
  emailVerificationTokenSchema.index({ token_hash: 1 }, { unique: true });
917
953
  emailVerificationTokenSchema.index({ expires_at: 1 }, { expireAfterSeconds: 0 });
918
954
  emailVerificationTokenSchema.index({ customer_id: 1, expires_at: 1 });
919
- var EmailVerificationToken = import_mongoose31.default.models.EmailVerificationToken || (0, import_mongoose31.model)(
955
+ var EmailVerificationToken = import_mongoose33.default.models.EmailVerificationToken || (0, import_mongoose33.model)(
920
956
  "EmailVerificationToken",
921
957
  emailVerificationTokenSchema,
922
958
  "email_verification_tokens"
@@ -930,6 +966,7 @@ var EmailVerificationTokens_default = EmailVerificationToken;
930
966
  ArticleGroup,
931
967
  ArticlePrice,
932
968
  Cart,
969
+ Category,
933
970
  Client,
934
971
  ClientAddress,
935
972
  ClientContact,
@@ -962,6 +999,7 @@ var EmailVerificationTokens_default = EmailVerificationToken;
962
999
  SyncLogAction,
963
1000
  SyncLogStatus,
964
1001
  SyncLogType,
1002
+ Tag,
965
1003
  UserRole,
966
1004
  UserStatus,
967
1005
  Users,