@fesmex/models 0.1.13 → 0.1.17

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.
Files changed (81) hide show
  1. package/dist/index.cjs +757 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.cts +262 -0
  4. package/dist/index.d.ts +262 -8
  5. package/dist/index.js +684 -22
  6. package/dist/index.js.map +1 -0
  7. package/package.json +19 -10
  8. package/dist/announcements/index.d.ts +0 -2
  9. package/dist/announcements/index.js +0 -8
  10. package/dist/announcements/models/Announcements.d.ts +0 -17
  11. package/dist/announcements/models/Announcements.js +0 -45
  12. package/dist/carts/index.d.ts +0 -1
  13. package/dist/carts/index.js +0 -8
  14. package/dist/carts/models/Carts.d.ts +0 -14
  15. package/dist/carts/models/Carts.js +0 -18
  16. package/dist/clients/index.d.ts +0 -14
  17. package/dist/clients/index.js +0 -20
  18. package/dist/clients/models/Clients.d.ts +0 -19
  19. package/dist/clients/models/Clients.js +0 -17
  20. package/dist/clients/models/ClientsAddress.d.ts +0 -17
  21. package/dist/clients/models/ClientsAddress.js +0 -19
  22. package/dist/clients/models/ClientsContact.d.ts +0 -16
  23. package/dist/clients/models/ClientsContact.js +0 -18
  24. package/dist/clients/models/ClientsPaymentMethod.d.ts +0 -12
  25. package/dist/clients/models/ClientsPaymentMethod.js +0 -14
  26. package/dist/clients/models/ClientsPaymentTerm.d.ts +0 -12
  27. package/dist/clients/models/ClientsPaymentTerm.js +0 -14
  28. package/dist/clients/models/ClientsPriceList.d.ts +0 -12
  29. package/dist/clients/models/ClientsPriceList.js +0 -14
  30. package/dist/clients/models/ClientsSalesEmployee.d.ts +0 -12
  31. package/dist/clients/models/ClientsSalesEmployee.js +0 -14
  32. package/dist/customers/index.d.ts +0 -4
  33. package/dist/customers/index.js +0 -10
  34. package/dist/customers/models/Customers.d.ts +0 -22
  35. package/dist/customers/models/Customers.js +0 -38
  36. package/dist/customers/models/FiscalProfileType.d.ts +0 -15
  37. package/dist/customers/models/FiscalProfileType.js +0 -14
  38. package/dist/inventory/index.d.ts +0 -8
  39. package/dist/inventory/index.js +0 -22
  40. package/dist/inventory/models/Article.d.ts +0 -2
  41. package/dist/inventory/models/Article.js +0 -14
  42. package/dist/inventory/models/ArticleClasses.d.ts +0 -2
  43. package/dist/inventory/models/ArticleClasses.js +0 -8
  44. package/dist/inventory/models/ArticleGroups.d.ts +0 -2
  45. package/dist/inventory/models/ArticleGroups.js +0 -8
  46. package/dist/inventory/models/ArticlePrices.d.ts +0 -2
  47. package/dist/inventory/models/ArticlePrices.js +0 -14
  48. package/dist/inventory/models/Currencies.d.ts +0 -2
  49. package/dist/inventory/models/Currencies.js +0 -9
  50. package/dist/inventory/models/InventoryStocks.d.ts +0 -2
  51. package/dist/inventory/models/InventoryStocks.js +0 -12
  52. package/dist/inventory/models/PriceLists.d.ts +0 -2
  53. package/dist/inventory/models/PriceLists.js +0 -10
  54. package/dist/inventory/models/Warehouses.d.ts +0 -2
  55. package/dist/inventory/models/Warehouses.js +0 -11
  56. package/dist/orders/index.d.ts +0 -4
  57. package/dist/orders/index.js +0 -12
  58. package/dist/orders/models/OrderStatusLogs.d.ts +0 -13
  59. package/dist/orders/models/OrderStatusLogs.js +0 -29
  60. package/dist/orders/models/Orders.d.ts +0 -9
  61. package/dist/orders/models/Orders.js +0 -33
  62. package/dist/quotes/index.d.ts +0 -5
  63. package/dist/quotes/index.js +0 -19
  64. package/dist/quotes/models/Quote.d.ts +0 -18
  65. package/dist/quotes/models/Quote.js +0 -63
  66. package/dist/quotes/models/QuoteArticle.d.ts +0 -2
  67. package/dist/quotes/models/QuoteArticle.js +0 -19
  68. package/dist/quotes/models/QuoteArticleExtra.d.ts +0 -2
  69. package/dist/quotes/models/QuoteArticleExtra.js +0 -16
  70. package/dist/quotes/models/QuoteContact.d.ts +0 -2
  71. package/dist/quotes/models/QuoteContact.js +0 -12
  72. package/dist/quotes/models/QuoteTerm.d.ts +0 -2
  73. package/dist/quotes/models/QuoteTerm.js +0 -12
  74. package/dist/sap/index.d.ts +0 -2
  75. package/dist/sap/index.js +0 -8
  76. package/dist/sap/models/SyncLog.d.ts +0 -43
  77. package/dist/sap/models/SyncLog.js +0 -70
  78. package/dist/users/index.d.ts +0 -2
  79. package/dist/users/index.js +0 -10
  80. package/dist/users/models/Users.d.ts +0 -36
  81. package/dist/users/models/Users.js +0 -56
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../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/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"],"sourcesContent":["import { Schema, model, models } 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 models.Client || model<ClientType>(\"Client\", clientSchema, \"clients\")\n","import { Schema, model, models, 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 models.ClientContact || model<ClientContactType>(\"ClientContact\", clientContactSchema, \"client_contacts\")","import { Schema, model, models, 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 models.ClientAddress || model<ClientAddressType>(\n\t\"ClientAddress\",\n\tclientAddressSchema,\n\t\"client_addresses\"\n)\n","import { Schema, model, models, 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 models.ClientPaymentMethod || model<ClientPaymentMethodType>(\n\t\"ClientPaymentMethod\",\n\tclientPaymentMethodSchema,\n\t\"client_payment_methods\"\n)\n","import { Schema, model, models, 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 models.ClientPaymentTerm || model<ClientPaymentTermType>(\n\t\"ClientPaymentTerm\",\n\tclientPaymentTermSchema,\n\t\"client_payment_terms\"\n)\n","import { Schema, model, models, 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 models.ClientPriceList || model<ClientPriceListType>(\n\t\"ClientPriceList\",\n\tclientPriceListSchema,\n\t\"client_price_lists\"\n)\n","import { Schema, model, models, 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 models.ClientSalesEmployee || model<ClientSalesEmployeeType>(\n\t\"ClientSalesEmployee\",\n\tclientSalesEmployeeSchema,\n\t\"client_sales_employees\"\n)\n","import { Schema, model, models, Types } from \"mongoose\"\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\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n})\n\nexport default models.Article || model(\"Article\", articleSchema, \"articles\")\n","import { Schema, model, models } from \"mongoose\"\n\nconst articleGroupSchema = new Schema({\n\tname: { type: String, required: true },\n\tdescription: { type: String },\n})\n\nexport default models.ArticleGroup || model(\"ArticleGroup\", articleGroupSchema, \"article_groups\")\n","import { Schema, model, models } from \"mongoose\"\n\nconst articleClassSchema = new Schema({\n\tname: { type: String, required: true },\n\tdescription: { type: String },\n})\n\nexport default models.ArticleClass || model(\"ArticleClass\", articleClassSchema, \"article_classes\")\n","import { Schema, model, models, 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\nexport default models.ArticlePrice || model(\"ArticlePrice\", articlePriceSchema, \"article_prices\")\n","import { Schema, model, models } 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 models.Currency || model(\"Currency\", currencySchema, \"currencies\")\n","import { Schema, model, models } 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 models.Warehouse || model(\"Warehouse\", warehouseSchema, \"warehouses\")\n","import { Schema, model, models, 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})\n\nexport default models.InventoryStock || model(\"InventoryStock\", inventoryStockSchema, \"inventory_stocks\")\n","import { Schema, model, models } 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 models.PriceList || model(\"PriceList\", priceListSchema, \"price_lists\")\n","import { Schema, model, models } 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 models.Quote || model(\"Quote\", quoteSchema, \"quotes\")\n","import { Schema, model, models } 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 models.QuoteArticle || model(\"QuoteArticle\", quoteArticleSchema, \"quote_articles\")\n","import { Schema, model, models } 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 models.QuoteArticleExtra || model(\"QuoteArticleExtra\", quoteArticleExtraSchema, \"quote_article_extras\")\n","import { Schema, model, models } 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 models.QuoteContact || model(\"QuoteContact\", quoteContactSchema, \"quote_contacts\")\n","import { Schema, model, models } 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 models.QuoteTerm || model(\"QuoteTerm\", quoteTermSchema, \"quote_terms\")\n","import mongoose, { Schema, model, models } 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?: mongoose.Types.ObjectId\n\tcreated_at: Date\n\tupdated_at?: Date\n\tdeleted_at?: Date\n}\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.ACTIVE,\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\n// Hash password\ncustomerSchema.pre(\"save\", async function (next) {\n\tif (this.isModified(\"password\")) {\n\t\tthis.password = await bcrypt.hash(this.password, 12)\n\t}\n\tnext()\n})\n\nexport default models.Customer || model<CustomerType>(\"Customer\", customerSchema, \"customers\")\n","import mongoose, { Schema, model, models } from \"mongoose\"\n\nexport interface FiscalProfileType {\n\tcustomer_id: mongoose.Types.ObjectId\n\trfc: string\n\trazon_social: string\n\tuso_cfdi: string\n\tregimen_fiscal: string\n\tcp: string // código postal\n\tcreated_at: Date\n\tupdated_at?: Date\n}\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\nexport default models.FiscalProfile || model<FiscalProfileType>(\"FiscalProfile\", fiscalProfileSchema, \"fiscal_profiles\")\n","import { Schema, model, models } from \"mongoose\"\n\nexport enum OrderStatus {\n\tPENDING = \"pending\",\n\tCONFIRMED = \"confirmed\",\n\tSHIPPED = \"shipped\",\n\tCANCELLED = \"cancelled\",\n\tCOMPLETED = \"completed\",\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 },\n\t\tunit_price: { type: Number, required: true },\n\t\ttotal: { type: Number, required: true },\n\t},\n\t{ _id: false }\n)\n\nconst orderSchema = new Schema({\n\tcustomer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n\titems: [orderItemSchema],\n\tstatus: {\n\t\ttype: String,\n\t\tenum: Object.values(OrderStatus),\n\t\tdefault: OrderStatus.PENDING,\n\t},\n\ttracking_number: { type: String },\n\ttotal: { type: Number, required: true },\n\tnotes: { type: String },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n})\n\nexport default models.Order || model(\"Order\", orderSchema, \"orders\")\n","import { Schema, model, models, 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\torder_id: {\n\t\ttype: Schema.Types.ObjectId,\n\t\tref: \"Order\",\n\t\trequired: true,\n\t},\n\tstatus: {\n\t\ttype: String,\n\t\tenum: Object.values(OrderStatus),\n\t\trequired: true,\n\t},\n\tchanged_by: {\n\t\ttype: Schema.Types.ObjectId,\n\t\tref: \"User\",\n\t\trequired: true,\n\t},\n\tchanged_at: {\n\t\ttype: Date,\n\t\tdefault: Date.now,\n\t},\n\tnote: {\n\t\ttype: String,\n\t},\n})\n\nexport default models.OrderStatusLog || model<OrderStatusLogType>(\"OrderStatusLog\", orderStatusLogSchema, \"order_status_logs\")\n","import { Schema, model, models, 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 = models.SyncLog || model<ISyncLog>(\"SyncLog\", syncLogSchema, \"sync_logs\")\n","import mongoose, { Schema, model, models } 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 models.Announcement || model<AnnouncementType>(\"Announcement\", announcementSchema, \"announcements\")\n","import mongoose, { Schema, model, models } 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 (next) {\n if (this.isModified(\"password\")) {\n this.password = await bcrypt.hash(this.password, 12)\n }\n next()\n})\n\nexport default models.User || model<UserType>(\"User\", usersSchema, \"users\")\n"],"mappings":"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","names":["Schema","model","models","Schema","model","models","Schema","model","models","Schema","model","models","Schema","model","models","Schema","model","models","Schema","model","models","Types","Schema","model","models","Schema","model","models","Schema","model","models","Types","Schema","model","models","Schema","model","models","Schema","model","models","Types","Schema","model","models","Schema","model","models","QuoteStatus","Status","CreatedMethod","Schema","model","models","Schema","model","models","Schema","model","models","Schema","model","models","Schema","model","models","CustomerStatus","Schema","model","models","Schema","model","models","OrderStatus","Schema","model","models","Schema","models","model","Schema","model","models","SyncLogType","SyncLogStatus","SyncLogAction","Schema","model","models","Schema","model","models","bcrypt","UserRole","UserStatus","Schema","models","model"]}
package/package.json CHANGED
@@ -1,23 +1,32 @@
1
1
  {
2
2
  "name": "@fesmex/models",
3
- "version": "0.1.13",
4
- "main": "dist/index.js",
5
- "types": "dist/index.d.ts",
3
+ "version": "0.1.17",
4
+ "type": "module",
5
+ "main": "./dist/index.cjs",
6
+ "module": "./dist/index.mjs",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.mjs",
12
+ "require": "./dist/index.cjs"
13
+ }
14
+ },
6
15
  "files": [
7
16
  "dist"
8
17
  ],
9
18
  "scripts": {
10
- "build": "tsc -p tsconfig.json"
19
+ "build": "tsup",
20
+ "build:check": "tsc -p tsconfig.json --noEmit"
11
21
  },
12
22
  "peerDependencies": {
13
- "mongoose": "^7 || ^8"
14
- },
15
- "devDependencies": {
16
- "@types/mongoose": "^5",
17
- "typescript": "^5"
23
+ "mongoose": "^7 || ^8 || ^9"
18
24
  },
19
25
  "dependencies": {
20
26
  "bcryptjs": "^3.0.3"
21
27
  },
22
- "packageManager": "pnpm@10.12.1+sha512.f0dda8580f0ee9481c5c79a1d927b9164f2c478e90992ad268bbb2465a736984391d6333d2c327913578b2804af33474ca554ba29c04a8b13060a717675ae3ac"
28
+ "devDependencies": {
29
+ "tsup": "^8.5.1",
30
+ "typescript": "^5.9.3"
31
+ }
23
32
  }
@@ -1,2 +0,0 @@
1
- export { default as Announcement } from "./models/Announcements";
2
- export type { AnnouncementType } from "./models/Announcements";
@@ -1,8 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Announcement = void 0;
7
- var Announcements_1 = require("./models/Announcements");
8
- Object.defineProperty(exports, "Announcement", { enumerable: true, get: function () { return __importDefault(Announcements_1).default; } });
@@ -1,17 +0,0 @@
1
- import mongoose from "mongoose";
2
- import { UserRole } from "../../users/models/Users";
3
- export interface AnnouncementType {
4
- created_by: mongoose.Types.ObjectId;
5
- updated_by?: mongoose.Types.ObjectId;
6
- deleted_by?: mongoose.Types.ObjectId;
7
- created_at: Date;
8
- updated_at?: Date;
9
- deleted_at?: Date;
10
- title: string;
11
- text: string;
12
- roles: UserRole[];
13
- }
14
- declare const _default: mongoose.Model<AnnouncementType, {}, {}, {}, mongoose.Document<unknown, {}, AnnouncementType> & AnnouncementType & {
15
- _id: mongoose.Types.ObjectId;
16
- }, any>;
17
- export default _default;
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const mongoose_1 = require("mongoose");
4
- const Users_1 = require("../../users/models/Users");
5
- const announcementSchema = new mongoose_1.Schema({
6
- created_by: {
7
- type: mongoose_1.Schema.Types.ObjectId,
8
- ref: "User",
9
- required: true,
10
- },
11
- updated_by: {
12
- type: mongoose_1.Schema.Types.ObjectId,
13
- ref: "User",
14
- },
15
- deleted_by: {
16
- type: mongoose_1.Schema.Types.ObjectId,
17
- ref: "User",
18
- },
19
- created_at: {
20
- type: Date,
21
- default: Date.now,
22
- },
23
- updated_at: Date,
24
- deleted_at: Date,
25
- title: {
26
- type: String,
27
- required: true,
28
- trim: true,
29
- },
30
- text: {
31
- type: String,
32
- required: true,
33
- trim: true,
34
- },
35
- roles: {
36
- type: [String],
37
- enum: Object.values(Users_1.UserRole),
38
- required: true,
39
- validate: {
40
- validator: (roles) => roles.length > 0,
41
- message: "At least one user role must be assigned.",
42
- },
43
- },
44
- });
45
- exports.default = (0, mongoose_1.model)("Announcement", announcementSchema, "announcements");
@@ -1 +0,0 @@
1
- export { default as Cart } from "./models/Carts";
@@ -1,8 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Cart = void 0;
7
- var Carts_1 = require("./models/Carts");
8
- Object.defineProperty(exports, "Cart", { enumerable: true, get: function () { return __importDefault(Carts_1).default; } });
@@ -1,14 +0,0 @@
1
- import { Schema, Types } from "mongoose";
2
- export interface CartItem {
3
- article_id: Schema.Types.ObjectId;
4
- quantity: number;
5
- }
6
- export interface CartType {
7
- customer_id: Schema.Types.ObjectId;
8
- items: CartItem[];
9
- updated_at?: Date;
10
- }
11
- declare const _default: import("mongoose").Model<CartType, {}, {}, {}, import("mongoose").Document<unknown, {}, CartType> & CartType & {
12
- _id: Types.ObjectId;
13
- }, any>;
14
- export default _default;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const mongoose_1 = require("mongoose");
4
- const cartItemSchema = new mongoose_1.Schema({
5
- article_id: { type: mongoose_1.Types.ObjectId, ref: "Article", required: true },
6
- quantity: { type: Number, required: true },
7
- }, { _id: false });
8
- const cartSchema = new mongoose_1.Schema({
9
- customer_id: {
10
- type: mongoose_1.Types.ObjectId,
11
- ref: "Customer",
12
- required: true,
13
- unique: true,
14
- },
15
- items: [cartItemSchema],
16
- updated_at: { type: Date, default: Date.now },
17
- });
18
- exports.default = (0, mongoose_1.model)("Cart", cartSchema, "carts");
@@ -1,14 +0,0 @@
1
- export { default as Client } from "./models/Clients";
2
- export type { ClientType } from "./models/Clients";
3
- export { default as ClientContact } from "./models/ClientsContact";
4
- export type { ClientContactType } from "./models/ClientsContact";
5
- export { default as ClientAddress } from "./models/ClientsAddress";
6
- export type { ClientAddressType } from "./models/ClientsAddress";
7
- export { default as ClientPaymentMethod } from "./models/ClientsPaymentMethod";
8
- export type { ClientPaymentMethodType } from "./models/ClientsPaymentMethod";
9
- export { default as ClientPaymentTerm } from "./models/ClientsPaymentTerm";
10
- export type { ClientPaymentTermType } from "./models/ClientsPaymentTerm";
11
- export { default as ClientPriceList } from "./models/ClientsPriceList";
12
- export type { ClientPriceListType } from "./models/ClientsPriceList";
13
- export { default as ClientSalesEmployee } from "./models/ClientsSalesEmployee";
14
- export type { ClientSalesEmployeeType } from "./models/ClientsSalesEmployee";
@@ -1,20 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ClientSalesEmployee = exports.ClientPriceList = exports.ClientPaymentTerm = exports.ClientPaymentMethod = exports.ClientAddress = exports.ClientContact = exports.Client = void 0;
7
- var Clients_1 = require("./models/Clients");
8
- Object.defineProperty(exports, "Client", { enumerable: true, get: function () { return __importDefault(Clients_1).default; } });
9
- var ClientsContact_1 = require("./models/ClientsContact");
10
- Object.defineProperty(exports, "ClientContact", { enumerable: true, get: function () { return __importDefault(ClientsContact_1).default; } });
11
- var ClientsAddress_1 = require("./models/ClientsAddress");
12
- Object.defineProperty(exports, "ClientAddress", { enumerable: true, get: function () { return __importDefault(ClientsAddress_1).default; } });
13
- var ClientsPaymentMethod_1 = require("./models/ClientsPaymentMethod");
14
- Object.defineProperty(exports, "ClientPaymentMethod", { enumerable: true, get: function () { return __importDefault(ClientsPaymentMethod_1).default; } });
15
- var ClientsPaymentTerm_1 = require("./models/ClientsPaymentTerm");
16
- Object.defineProperty(exports, "ClientPaymentTerm", { enumerable: true, get: function () { return __importDefault(ClientsPaymentTerm_1).default; } });
17
- var ClientsPriceList_1 = require("./models/ClientsPriceList");
18
- Object.defineProperty(exports, "ClientPriceList", { enumerable: true, get: function () { return __importDefault(ClientsPriceList_1).default; } });
19
- var ClientsSalesEmployee_1 = require("./models/ClientsSalesEmployee");
20
- Object.defineProperty(exports, "ClientSalesEmployee", { enumerable: true, get: function () { return __importDefault(ClientsSalesEmployee_1).default; } });
@@ -1,19 +0,0 @@
1
- export interface ClientType {
2
- sn_code?: string | null;
3
- sn_name?: string | null;
4
- tax_id?: string | null;
5
- currency?: string | null;
6
- phone_1?: string | null;
7
- email?: string | null;
8
- comments?: string | null;
9
- pipedrive_id?: string | null;
10
- sap_id?: string | null;
11
- deleted_at?: Date | null;
12
- deleted_by?: string | null;
13
- created_at?: Date;
14
- updated_at?: Date;
15
- }
16
- declare const _default: import("mongoose").Model<ClientType, {}, {}, {}, import("mongoose").Document<unknown, {}, ClientType> & ClientType & {
17
- _id: import("mongoose").Types.ObjectId;
18
- }, any>;
19
- export default _default;
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const mongoose_1 = require("mongoose");
4
- const clientSchema = new mongoose_1.Schema({
5
- sn_code: { type: String, index: true },
6
- sn_name: { type: String, required: true },
7
- tax_id: { type: String },
8
- currency: { type: String },
9
- phone_1: { type: String },
10
- email: { type: String },
11
- comments: { type: String },
12
- pipedrive_id: { type: String },
13
- sap_id: { type: String },
14
- deleted_at: { type: Date, default: null },
15
- deleted_by: { type: String, default: null },
16
- }, { timestamps: { createdAt: "created_at", updatedAt: "updated_at" } });
17
- exports.default = (0, mongoose_1.model)("Client", clientSchema, "clients");
@@ -1,17 +0,0 @@
1
- import { Types } from "mongoose";
2
- export interface ClientAddressType {
3
- client_id: Types.ObjectId;
4
- address_name?: string | null;
5
- street?: string | null;
6
- neighborhood?: string | null;
7
- postal_code?: string | null;
8
- city?: string | null;
9
- state?: string | null;
10
- country?: string | null;
11
- created_at?: Date;
12
- updated_at?: Date;
13
- }
14
- declare const _default: import("mongoose").Model<ClientAddressType, {}, {}, {}, import("mongoose").Document<unknown, {}, ClientAddressType> & ClientAddressType & {
15
- _id: Types.ObjectId;
16
- }, any>;
17
- export default _default;
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const mongoose_1 = require("mongoose");
4
- const clientAddressSchema = new mongoose_1.Schema({
5
- client_id: {
6
- type: mongoose_1.Schema.Types.ObjectId,
7
- ref: "Client",
8
- required: true,
9
- index: true,
10
- },
11
- address_name: { type: String },
12
- street: { type: String },
13
- neighborhood: { type: String },
14
- postal_code: { type: String },
15
- city: { type: String },
16
- state: { type: String },
17
- country: { type: String },
18
- }, { timestamps: { createdAt: "created_at", updatedAt: "updated_at" } });
19
- exports.default = (0, mongoose_1.model)("ClientAddress", clientAddressSchema, "client_addresses");
@@ -1,16 +0,0 @@
1
- import { Types } from "mongoose";
2
- export interface ClientContactType {
3
- client_id: Types.ObjectId;
4
- contact_person_name?: string | null;
5
- first_name?: string | null;
6
- last_name?: string | null;
7
- contact_phone?: string | null;
8
- contact_email?: string | null;
9
- pipedrive_id?: string | null;
10
- created_at?: Date;
11
- updated_at?: Date;
12
- }
13
- declare const _default: import("mongoose").Model<ClientContactType, {}, {}, {}, import("mongoose").Document<unknown, {}, ClientContactType> & ClientContactType & {
14
- _id: Types.ObjectId;
15
- }, any>;
16
- export default _default;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const mongoose_1 = require("mongoose");
4
- const clientContactSchema = new mongoose_1.Schema({
5
- client_id: {
6
- type: mongoose_1.Schema.Types.ObjectId,
7
- ref: "Client",
8
- required: true,
9
- index: true,
10
- },
11
- contact_person_name: { type: String },
12
- first_name: { type: String },
13
- last_name: { type: String },
14
- contact_phone: { type: String },
15
- contact_email: { type: String },
16
- pipedrive_id: { type: String },
17
- }, { timestamps: { createdAt: "created_at", updatedAt: "updated_at" } });
18
- exports.default = (0, mongoose_1.model)("ClientContact", clientContactSchema, "client_contacts");
@@ -1,12 +0,0 @@
1
- import { Types } from "mongoose";
2
- export interface ClientPaymentMethodType {
3
- client_id: Types.ObjectId;
4
- code?: string | null;
5
- description?: string | null;
6
- created_at?: Date;
7
- updated_at?: Date;
8
- }
9
- declare const _default: import("mongoose").Model<ClientPaymentMethodType, {}, {}, {}, import("mongoose").Document<unknown, {}, ClientPaymentMethodType> & ClientPaymentMethodType & {
10
- _id: Types.ObjectId;
11
- }, any>;
12
- export default _default;
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const mongoose_1 = require("mongoose");
4
- const clientPaymentMethodSchema = new mongoose_1.Schema({
5
- client_id: {
6
- type: mongoose_1.Schema.Types.ObjectId,
7
- ref: "Client",
8
- required: true,
9
- unique: true,
10
- },
11
- code: { type: String },
12
- description: { type: String },
13
- }, { timestamps: { createdAt: "created_at", updatedAt: "updated_at" } });
14
- exports.default = (0, mongoose_1.model)("ClientPaymentMethod", clientPaymentMethodSchema, "client_payment_methods");
@@ -1,12 +0,0 @@
1
- import { Types } from "mongoose";
2
- export interface ClientPaymentTermType {
3
- client_id: Types.ObjectId;
4
- code?: string | null;
5
- name?: string | null;
6
- created_at?: Date;
7
- updated_at?: Date;
8
- }
9
- declare const _default: import("mongoose").Model<ClientPaymentTermType, {}, {}, {}, import("mongoose").Document<unknown, {}, ClientPaymentTermType> & ClientPaymentTermType & {
10
- _id: Types.ObjectId;
11
- }, any>;
12
- export default _default;
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const mongoose_1 = require("mongoose");
4
- const clientPaymentTermSchema = new mongoose_1.Schema({
5
- client_id: {
6
- type: mongoose_1.Schema.Types.ObjectId,
7
- ref: "Client",
8
- required: true,
9
- unique: true,
10
- },
11
- code: { type: String },
12
- name: { type: String },
13
- }, { timestamps: { createdAt: "created_at", updatedAt: "updated_at" } });
14
- exports.default = (0, mongoose_1.model)("ClientPaymentTerm", clientPaymentTermSchema, "client_payment_terms");
@@ -1,12 +0,0 @@
1
- import { Types } from "mongoose";
2
- export interface ClientPriceListType {
3
- client_id: Types.ObjectId;
4
- number?: string | null;
5
- name?: string | null;
6
- created_at?: Date;
7
- updated_at?: Date;
8
- }
9
- declare const _default: import("mongoose").Model<ClientPriceListType, {}, {}, {}, import("mongoose").Document<unknown, {}, ClientPriceListType> & ClientPriceListType & {
10
- _id: Types.ObjectId;
11
- }, any>;
12
- export default _default;
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const mongoose_1 = require("mongoose");
4
- const clientPriceListSchema = new mongoose_1.Schema({
5
- client_id: {
6
- type: mongoose_1.Schema.Types.ObjectId,
7
- ref: "Client",
8
- required: true,
9
- unique: true,
10
- },
11
- number: { type: String },
12
- name: { type: String },
13
- }, { timestamps: { createdAt: "created_at", updatedAt: "updated_at" } });
14
- exports.default = (0, mongoose_1.model)("ClientPriceList", clientPriceListSchema, "client_price_lists");
@@ -1,12 +0,0 @@
1
- import { Types } from "mongoose";
2
- export interface ClientSalesEmployeeType {
3
- client_id: Types.ObjectId;
4
- employee_code?: string | null;
5
- employee_name?: string | null;
6
- created_at?: Date;
7
- updated_at?: Date;
8
- }
9
- declare const _default: import("mongoose").Model<ClientSalesEmployeeType, {}, {}, {}, import("mongoose").Document<unknown, {}, ClientSalesEmployeeType> & ClientSalesEmployeeType & {
10
- _id: Types.ObjectId;
11
- }, any>;
12
- export default _default;
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const mongoose_1 = require("mongoose");
4
- const clientSalesEmployeeSchema = new mongoose_1.Schema({
5
- client_id: {
6
- type: mongoose_1.Schema.Types.ObjectId,
7
- ref: "Client",
8
- required: true,
9
- unique: true,
10
- },
11
- employee_code: { type: String },
12
- employee_name: { type: String },
13
- }, { timestamps: { createdAt: "created_at", updatedAt: "updated_at" } });
14
- exports.default = (0, mongoose_1.model)("ClientSalesEmployee", clientSalesEmployeeSchema, "client_sales_employees");
@@ -1,4 +0,0 @@
1
- export { default as Customer } from "./models/Customers";
2
- export type { CustomerType, CustomerStatus } from "./models/Customers";
3
- export { default as FiscalProfile } from "./models/FiscalProfileType";
4
- export type { FiscalProfileType } from "./models/FiscalProfileType";
@@ -1,10 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.FiscalProfile = exports.Customer = void 0;
7
- var Customers_1 = require("./models/Customers");
8
- Object.defineProperty(exports, "Customer", { enumerable: true, get: function () { return __importDefault(Customers_1).default; } });
9
- var FiscalProfileType_1 = require("./models/FiscalProfileType");
10
- Object.defineProperty(exports, "FiscalProfile", { enumerable: true, get: function () { return __importDefault(FiscalProfileType_1).default; } });
@@ -1,22 +0,0 @@
1
- import mongoose from "mongoose";
2
- export declare enum CustomerStatus {
3
- ACTIVE = "active",
4
- INACTIVE = "inactive",
5
- BANNED = "banned"
6
- }
7
- export interface CustomerType {
8
- first_name: string;
9
- last_name: string;
10
- email: string;
11
- mobile?: string;
12
- password: string;
13
- status: CustomerStatus;
14
- fiscal_profile_id?: mongoose.Types.ObjectId;
15
- created_at: Date;
16
- updated_at?: Date;
17
- deleted_at?: Date;
18
- }
19
- declare const _default: mongoose.Model<CustomerType, {}, {}, {}, mongoose.Document<unknown, {}, CustomerType> & CustomerType & {
20
- _id: mongoose.Types.ObjectId;
21
- }, any>;
22
- export default _default;
@@ -1,38 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.CustomerStatus = void 0;
7
- const mongoose_1 = require("mongoose");
8
- const bcryptjs_1 = __importDefault(require("bcryptjs"));
9
- var CustomerStatus;
10
- (function (CustomerStatus) {
11
- CustomerStatus["ACTIVE"] = "active";
12
- CustomerStatus["INACTIVE"] = "inactive";
13
- CustomerStatus["BANNED"] = "banned";
14
- })(CustomerStatus || (exports.CustomerStatus = CustomerStatus = {}));
15
- const customerSchema = new mongoose_1.Schema({
16
- first_name: { type: String, required: true },
17
- last_name: { type: String, required: true },
18
- email: { type: String, required: true, unique: true },
19
- mobile: { type: String },
20
- password: { type: String, required: true, select: false },
21
- status: {
22
- type: String,
23
- enum: Object.values(CustomerStatus),
24
- default: CustomerStatus.ACTIVE,
25
- },
26
- fiscal_profile_id: { type: mongoose_1.Schema.Types.ObjectId, ref: "FiscalProfile" },
27
- created_at: { type: Date, default: Date.now },
28
- updated_at: { type: Date },
29
- deleted_at: { type: Date },
30
- });
31
- // Hash password
32
- customerSchema.pre("save", async function (next) {
33
- if (this.isModified("password")) {
34
- this.password = await bcryptjs_1.default.hash(this.password, 12);
35
- }
36
- next();
37
- });
38
- exports.default = (0, mongoose_1.model)("Cart", customerSchema, "carts");