@fesmex/models 0.1.26 → 0.1.29
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 +30 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +13 -1
- package/dist/index.d.ts +13 -1
- package/dist/index.js +32 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -45,12 +45,13 @@ __export(index_exports, {
|
|
|
45
45
|
CreatedMethod: () => CreatedMethod,
|
|
46
46
|
Currency: () => Currencies_default,
|
|
47
47
|
Customer: () => Customers_default,
|
|
48
|
+
EmailVerificationToken: () => EmailVerificationTokens_default,
|
|
48
49
|
FiscalProfile: () => FiscalProfileType_default,
|
|
49
50
|
InventoryStock: () => InventoryStocks_default,
|
|
50
51
|
Order: () => Orders_default,
|
|
51
52
|
OrderStatus: () => OrderStatus,
|
|
52
53
|
OrderStatusLog: () => OrderStatusLogs_default,
|
|
53
|
-
PasswordResetToken: () =>
|
|
54
|
+
PasswordResetToken: () => PasswordResetTokens_default,
|
|
54
55
|
PriceList: () => PriceLists_default,
|
|
55
56
|
Quote: () => Quote_default,
|
|
56
57
|
QuoteArticle: () => QuoteArticle_default,
|
|
@@ -764,7 +765,7 @@ refreshTokenSchema.pre("save", function(next) {
|
|
|
764
765
|
var RefreshToken = import_mongoose29.default.models.RefreshToken || (0, import_mongoose29.model)("RefreshToken", refreshTokenSchema, "refresh_tokens");
|
|
765
766
|
var RefreshTokens_default = RefreshToken;
|
|
766
767
|
|
|
767
|
-
// src/models/
|
|
768
|
+
// src/auth/models/PasswordResetTokens.ts
|
|
768
769
|
var import_mongoose30 = __toESM(require("mongoose"), 1);
|
|
769
770
|
var passwordResetTokenSchema = new import_mongoose30.Schema({
|
|
770
771
|
customer_id: { type: import_mongoose30.Schema.Types.ObjectId, ref: "Customer", required: true },
|
|
@@ -778,8 +779,33 @@ var passwordResetTokenSchema = new import_mongoose30.Schema({
|
|
|
778
779
|
passwordResetTokenSchema.index({ token_hash: 1 }, { unique: true });
|
|
779
780
|
passwordResetTokenSchema.index({ expires_at: 1 }, { expireAfterSeconds: 0 });
|
|
780
781
|
passwordResetTokenSchema.index({ customer_id: 1, expires_at: 1 });
|
|
782
|
+
passwordResetTokenSchema.pre("save", function(next) {
|
|
783
|
+
this.updated_at = /* @__PURE__ */ new Date();
|
|
784
|
+
next();
|
|
785
|
+
});
|
|
781
786
|
var PasswordResetToken = import_mongoose30.default.models.PasswordResetToken || (0, import_mongoose30.model)("PasswordResetToken", passwordResetTokenSchema, "password_reset_tokens");
|
|
782
|
-
var
|
|
787
|
+
var PasswordResetTokens_default = PasswordResetToken;
|
|
788
|
+
|
|
789
|
+
// src/auth/models/EmailVerificationTokens.ts
|
|
790
|
+
var import_mongoose31 = __toESM(require("mongoose"), 1);
|
|
791
|
+
var emailVerificationTokenSchema = new import_mongoose31.Schema({
|
|
792
|
+
customer_id: { type: import_mongoose31.Schema.Types.ObjectId, ref: "Customer", required: true },
|
|
793
|
+
// Store only SHA-256 hash of the opaque email verification token. Never store the raw token.
|
|
794
|
+
token_hash: { type: String, required: true },
|
|
795
|
+
expires_at: { type: Date, required: true },
|
|
796
|
+
used_at: { type: Date },
|
|
797
|
+
created_at: { type: Date, default: Date.now },
|
|
798
|
+
updated_at: { type: Date }
|
|
799
|
+
});
|
|
800
|
+
emailVerificationTokenSchema.index({ token_hash: 1 }, { unique: true });
|
|
801
|
+
emailVerificationTokenSchema.index({ expires_at: 1 }, { expireAfterSeconds: 0 });
|
|
802
|
+
emailVerificationTokenSchema.index({ customer_id: 1, expires_at: 1 });
|
|
803
|
+
var EmailVerificationToken = import_mongoose31.default.models.EmailVerificationToken || (0, import_mongoose31.model)(
|
|
804
|
+
"EmailVerificationToken",
|
|
805
|
+
emailVerificationTokenSchema,
|
|
806
|
+
"email_verification_tokens"
|
|
807
|
+
);
|
|
808
|
+
var EmailVerificationTokens_default = EmailVerificationToken;
|
|
783
809
|
// Annotate the CommonJS export names for ESM import in node:
|
|
784
810
|
0 && (module.exports = {
|
|
785
811
|
Announcement,
|
|
@@ -798,6 +824,7 @@ var PasswordResetToken_default = PasswordResetToken;
|
|
|
798
824
|
CreatedMethod,
|
|
799
825
|
Currency,
|
|
800
826
|
Customer,
|
|
827
|
+
EmailVerificationToken,
|
|
801
828
|
FiscalProfile,
|
|
802
829
|
InventoryStock,
|
|
803
830
|
Order,
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/clients/models/Clients.ts","../src/clients/models/ClientsContact.ts","../src/clients/models/ClientsAddress.ts","../src/clients/models/ClientsPaymentMethod.ts","../src/clients/models/ClientsPaymentTerm.ts","../src/clients/models/ClientsPriceList.ts","../src/clients/models/ClientsSalesEmployee.ts","../src/inventory/models/Article.ts","../src/inventory/models/ArticleGroups.ts","../src/inventory/models/ArticleClasses.ts","../src/inventory/models/ArticlePrices.ts","../src/inventory/models/Currencies.ts","../src/inventory/models/Warehouses.ts","../src/inventory/models/InventoryStocks.ts","../src/inventory/models/PriceLists.ts","../src/quotes/models/Quote.ts","../src/quotes/models/QuoteArticle.ts","../src/quotes/models/QuoteArticleExtra.ts","../src/quotes/models/QuoteContact.ts","../src/quotes/models/QuoteTerm.ts","../src/customers/models/Customers.ts","../src/customers/models/FiscalProfileType.ts","../src/orders/models/Orders.ts","../src/orders/models/OrderStatusLogs.ts","../src/sap/models/SyncLog.ts","../src/announcements/models/Announcements.ts","../src/users/models/Users.ts","../src/carts/models/Carts.ts","../src/auth/models/RefreshTokens.ts","../src/models/PasswordResetToken.ts"],"sourcesContent":["export * from \"./clients\"\nexport * from \"./inventory\"\nexport * from \"./quotes\"\nexport * from \"./customers\"\nexport * from \"./orders\"\nexport * from \"./sap\"\nexport * from \"./announcements\"\nexport * from \"./users\"\nexport * from \"./carts\"\nexport * from \"./auth\"\nexport { default as PasswordResetToken } from \"./models/PasswordResetToken\"\nexport type {\n\tPasswordResetTokenType,\n\tPasswordResetTokenDoc,\n\tPasswordResetTokenModel,\n} from \"./models/PasswordResetToken\"\n","import mongoose, { Schema, model } from \"mongoose\"\n\nexport interface ClientType {\n\tsn_code?: string | null\n\tsn_name?: string | null\n\ttax_id?: string | null\n\tcurrency?: string | null\n\tphone_1?: string | null\n\temail?: string | null\n\tcomments?: string | null\n\tpipedrive_id?: string | null\n\tsap_id?: string | null\n\tdeleted_at?: Date | null\n\tdeleted_by?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientSchema = new Schema<ClientType>(\n\t{\n\t\tsn_code: { type: String, index: true },\n\t\tsn_name: { type: String, required: true },\n\t\ttax_id: { type: String },\n\t\tcurrency: { type: String },\n\t\tphone_1: { type: String },\n\t\temail: { type: String },\n\t\tcomments: { type: String },\n\t\tpipedrive_id: { type: String },\n\t\tsap_id: { type: String },\n\t\tdeleted_at: { type: Date, default: null },\n\t\tdeleted_by: { type: String, default: null },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.Client || model<ClientType>(\"Client\", clientSchema, \"clients\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientContactType {\n\tclient_id: Types.ObjectId\n\tcontact_person_name?: string | null\n\tfirst_name?: string | null\n\tlast_name?: string | null\n\tcontact_phone?: string | null\n\tcontact_email?: string | null\n\tpipedrive_id?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientContactSchema = new Schema<ClientContactType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\tcontact_person_name: { type: String },\n\t\tfirst_name: { type: String },\n\t\tlast_name: { type: String },\n\t\tcontact_phone: { type: String },\n\t\tcontact_email: { type: String },\n\t\tpipedrive_id: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientContact || model<ClientContactType>(\"ClientContact\", clientContactSchema, \"client_contacts\")","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientAddressType {\n\tclient_id: Types.ObjectId\n\taddress_name?: string | null\n\tstreet?: string | null\n\tneighborhood?: string | null\n\tpostal_code?: string | null\n\tcity?: string | null\n\tstate?: string | null\n\tcountry?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientAddressSchema = new Schema<ClientAddressType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\taddress_name: { type: String },\n\t\tstreet: { type: String },\n\t\tneighborhood: { type: String },\n\t\tpostal_code: { type: String },\n\t\tcity: { type: String },\n\t\tstate: { type: String },\n\t\tcountry: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientAddress || model<ClientAddressType>(\n\t\"ClientAddress\",\n\tclientAddressSchema,\n\t\"client_addresses\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientPaymentMethodType {\n\tclient_id: Types.ObjectId\n\tcode?: string | null\n\tdescription?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientPaymentMethodSchema = new Schema<ClientPaymentMethodType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tunique: true,\n\t\t},\n\t\tcode: { type: String },\n\t\tdescription: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientPaymentMethod || model<ClientPaymentMethodType>(\n\t\"ClientPaymentMethod\",\n\tclientPaymentMethodSchema,\n\t\"client_payment_methods\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientPaymentTermType {\n\tclient_id: Types.ObjectId\n\tcode?: string | null\n\tname?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientPaymentTermSchema = new Schema<ClientPaymentTermType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tunique: true,\n\t\t},\n\t\tcode: { type: String },\n\t\tname: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientPaymentTerm || model<ClientPaymentTermType>(\n\t\"ClientPaymentTerm\",\n\tclientPaymentTermSchema,\n\t\"client_payment_terms\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientPriceListType {\n\tclient_id: Types.ObjectId\n\tnumber?: string | null\n\tname?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientPriceListSchema = new Schema<ClientPriceListType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tunique: true,\n\t\t},\n\t\tnumber: { type: String },\n\t\tname: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientPriceList || model<ClientPriceListType>(\n\t\"ClientPriceList\",\n\tclientPriceListSchema,\n\t\"client_price_lists\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientSalesEmployeeType {\n\tclient_id: Types.ObjectId\n\temployee_code?: string | null\n\temployee_name?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientSalesEmployeeSchema = new Schema<ClientSalesEmployeeType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tunique: true,\n\t\t},\n\t\temployee_code: { type: String },\n\t\temployee_name: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientSalesEmployee || model<ClientSalesEmployeeType>(\n\t\"ClientSalesEmployee\",\n\tclientSalesEmployeeSchema,\n\t\"client_sales_employees\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nconst 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 mongoose.models.Article || model(\"Article\", articleSchema, \"articles\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst articleGroupSchema = new Schema({\n\tname: { type: String, required: true },\n\tdescription: { type: String },\n})\n\nexport default mongoose.models.ArticleGroup || model(\"ArticleGroup\", articleGroupSchema, \"article_groups\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst articleClassSchema = new Schema({\n\tname: { type: String, required: true },\n\tdescription: { type: String },\n})\n\nexport default mongoose.models.ArticleClass || model(\"ArticleClass\", articleClassSchema, \"article_classes\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nconst articlePriceSchema = new Schema({\n\tarticle_id: { type: Types.ObjectId, ref: \"Article\", required: true },\n\tprice_list_id: { type: Types.ObjectId, ref: \"PriceList\", required: true },\n\tcurrency_id: { type: Types.ObjectId, ref: \"Currency\", required: true },\n\tprice: { type: Number, required: true },\n\tvalid_from: { type: Date },\n\tvalid_to: { type: Date },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n})\n\nexport default mongoose.models.ArticlePrice || model(\"ArticlePrice\", articlePriceSchema, \"article_prices\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst currencySchema = new Schema({\n\tcode: { type: String, required: true, unique: true },\n\tsymbol: { type: String, required: true },\n\tname: { type: String, required: true },\n})\n\nexport default mongoose.models.Currency || model(\"Currency\", currencySchema, \"currencies\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst warehouseSchema = new Schema({\n\tcode: { type: String, required: true, unique: true },\n\tname: { type: String, required: true },\n\tlocation: { type: String },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n})\n\nexport default mongoose.models.Warehouse || model(\"Warehouse\", warehouseSchema, \"warehouses\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nconst inventoryStockSchema = new Schema({\n\tarticle_id: { type: Types.ObjectId, ref: \"Article\", required: true },\n\twarehouse_id: { type: Types.ObjectId, ref: \"Warehouse\", required: true },\n\tcount: { type: Number, required: true },\n\tmin_stock: { type: Number },\n\tmax_stock: { type: Number },\n\tupdated_at: { type: Date, default: Date.now },\n})\n\nexport default mongoose.models.InventoryStock || model(\"InventoryStock\", inventoryStockSchema, \"inventory_stocks\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst priceListSchema = new Schema({\n\tnumber: { type: String, required: true, unique: true },\n\tname: { type: String, required: true },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n})\n\nexport default mongoose.models.PriceList || model(\"PriceList\", priceListSchema, \"price_lists\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nexport enum QuoteStatus {\n\tOPPORTUNITY = \"OPPORTUNITY\",\n\tQUOTE = \"QUOTE\",\n\tFOLLOWING = \"FOLLOWING\",\n\tNEGOTIATION = \"NEGOTIATION\",\n}\n\nexport enum Status {\n\tOPEN = \"OPEN\",\n\tWIN = \"WIN\",\n\tLOST = \"LOST\",\n\tDELETE = \"DELETE\",\n}\n\nexport enum CreatedMethod {\n\tMANUAL = \"MANUAL\",\n\tCSV = \"CSV\",\n}\n\nconst quoteSchema = new Schema(\n\t{\n\t\tquote_number: { type: Number, required: true },\n\t\tquote_revision: { type: Number, default: 0 },\n\t\tquote_ref: { type: String },\n\t\tcompany: { type: String },\n\t\tcompany_id: { type: Schema.Types.ObjectId, ref: \"Client\", required: true },\n\t\tcompany_pipedrive_id: { type: String },\n\t\tcontact_id: { type: Schema.Types.ObjectId, ref: \"ClientContact\" },\n\t\tproject_name: { type: String },\n\t\tproject_lab: { type: String },\n\t\tpayment_condition: { type: String },\n\t\tpayment_exp: { type: String },\n\t\tterms_ids: [{ type: Schema.Types.ObjectId, ref: \"QuoteTerm\" }],\n\t\tcurrency_id: { type: Schema.Types.ObjectId, ref: \"Currency\" },\n\t\tiva: { type: String },\n\t\tdate: { type: Date },\n\t\tstatus: { type: String, enum: Object.values(Status), default: Status.OPEN },\n\t\tquote_status: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(QuoteStatus),\n\t\t\tdefault: QuoteStatus.OPPORTUNITY,\n\t\t},\n\t\tsap_id: { type: String },\n\t\tsap_quotation_entry: { type: Number },\n\t\tsap_order_entry: { type: Number },\n\t\tpipedrive_id: { type: String },\n\t\tshould_sync: { type: Boolean, default: false },\n\t\tpdf_download_link: { type: String },\n\t\tnotes: { type: String },\n\t\tcreated_method: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(CreatedMethod),\n\t\t\tdefault: CreatedMethod.MANUAL,\n\t\t},\n\t\tcreated_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t\tupdated_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t\tdeleted_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t\tdeleted_at: { type: Date },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.Quote || model(\"Quote\", quoteSchema, \"quotes\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst quoteArticleSchema = new Schema(\n\t{\n\t\tquote_id: { type: Schema.Types.ObjectId, ref: \"Quote\", required: true },\n\t\tarticle_id: { type: Schema.Types.ObjectId, ref: \"Article\" },\n\t\tarticle_number: { type: String },\n\t\tdescription: { type: String },\n\t\tdelivery: { type: String },\n\t\tquantity: { type: Number },\n\t\tprice: { type: Number },\n\t\tunit_price: { type: Number },\n\t\toriginal_price: { type: Number },\n\t\ttotal: { type: Number },\n\t\tutility: { type: Number },\n\t\ttype: { type: String },\n\t\textra_id: { type: Schema.Types.ObjectId, ref: \"QuoteArticleExtra\" },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.QuoteArticle || model(\"QuoteArticle\", quoteArticleSchema, \"quote_articles\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst quoteArticleExtraSchema = new Schema(\n\t{\n\t\tquote_article_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"QuoteArticle\",\n\t\t\trequired: true,\n\t\t},\n\t\tmultiplier: Number,\n\t\tusa_freight: Number,\n\t\tusa_expenses: Number,\n\t\tduty: Number,\n\t\tmex_freight: Number,\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.QuoteArticleExtra || model(\"QuoteArticleExtra\", quoteArticleExtraSchema, \"quote_article_extras\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst quoteContactSchema = new Schema({\n\tquote_id: { type: Schema.Types.ObjectId, ref: \"Quote\", required: true },\n\tname: String,\n\temail: String,\n\tmobile: String,\n\tpipedrive_id: String,\n\tcreated_at: { type: Date, default: Date.now },\n})\n\nexport default mongoose.models.QuoteContact || model(\"QuoteContact\", quoteContactSchema, \"quote_contacts\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst quoteTermSchema = new Schema(\n\t{\n\t\ttitle: String,\n\t\tcontent: { type: String, required: true },\n\t\tcategory: String,\n\t\tis_active: { type: Boolean, default: true },\n\t\tcreated_by: String,\n\t\tupdated_by: String,\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.QuoteTerm || model(\"QuoteTerm\", quoteTermSchema, \"quote_terms\")\n","import mongoose, {\n\tSchema,\n\tmodel,\n\ttype Model,\n\ttype HydratedDocument,\n\ttype Types,\n} from \"mongoose\";\nimport bcrypt from \"bcryptjs\";\n\nexport enum CustomerStatus {\n\tACTIVE = \"active\",\n\tINACTIVE = \"inactive\",\n\tBANNED = \"banned\",\n}\n\nexport interface CustomerType {\n\tfirst_name: string;\n\tlast_name: string;\n\temail: string;\n\tmobile?: string;\n\tpassword: string;\n\tstatus: CustomerStatus;\n\tfiscal_profile_id?: Types.ObjectId;\n\tcreated_at: Date;\n\tupdated_at?: Date;\n\tdeleted_at?: Date;\n}\n\nexport type CustomerDoc = HydratedDocument<CustomerType>;\nexport type CustomerModel = Model<CustomerType>;\n\nconst customerSchema = new Schema<CustomerType>({\n\tfirst_name: { type: String, required: true },\n\tlast_name: { type: String, required: true },\n\temail: { type: String, required: true, unique: true },\n\tmobile: { type: String },\n\tpassword: { type: String, required: true, select: false },\n\tstatus: {\n\t\ttype: String,\n\t\tenum: Object.values(CustomerStatus),\n\t\tdefault: CustomerStatus.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\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\nconst Customer: CustomerModel =\n\t(mongoose.models.Customer as CustomerModel) ||\n\tmodel<CustomerType>(\"Customer\", customerSchema, \"customers\");\n\nexport default Customer;\n","import mongoose, { Schema, model, type Model, type HydratedDocument, type Types } from \"mongoose\";\n\nexport interface FiscalProfileType {\n\tcustomer_id: Types.ObjectId;\n\trfc: string;\n\trazon_social: string;\n\tuso_cfdi: string;\n\tregimen_fiscal: string;\n\tcp: string;\n\tcreated_at: Date;\n\tupdated_at?: Date;\n}\n\nexport type FiscalProfileDoc = HydratedDocument<FiscalProfileType>;\nexport type FiscalProfileModel = Model<FiscalProfileType>;\n\nconst fiscalProfileSchema = new Schema<FiscalProfileType>({\n\tcustomer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n\trfc: { type: String, required: true },\n\trazon_social: { type: String, required: true },\n\tuso_cfdi: { type: String, required: true },\n\tregimen_fiscal: { type: String, required: true },\n\tcp: { type: String, required: true },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n});\n\nconst FiscalProfile: FiscalProfileModel =\n\t(mongoose.models.FiscalProfile as FiscalProfileModel) ||\n\tmodel<FiscalProfileType>(\"FiscalProfile\", fiscalProfileSchema, \"fiscal_profiles\");\n\nexport default FiscalProfile;\n","import mongoose, { Schema, model } from \"mongoose\"\n\nexport enum OrderStatus {\n\tPENDING = \"pending\",\n\tCONFIRMED = \"confirmed\",\n\tSHIPPED = \"shipped\",\n\tCANCELLED = \"cancelled\",\n\tCOMPLETED = \"completed\",\n}\n\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 mongoose.models.Order || model(\"Order\", orderSchema, \"orders\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\nimport { OrderStatus } from \"./Orders\"\n\nexport interface OrderStatusLogType {\n\torder_id: Types.ObjectId\n\tstatus: OrderStatus\n\tchanged_by: Types.ObjectId\n\tchanged_at: Date\n\tnote?: string\n}\n\nconst orderStatusLogSchema = new Schema<OrderStatusLogType>({\n\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 mongoose.models.OrderStatusLog || model<OrderStatusLogType>(\"OrderStatusLog\", orderStatusLogSchema, \"order_status_logs\")\n","import mongoose, { Schema, model, Document, Types } from \"mongoose\"\n\n/**\n * Sync Log Types\n */\nexport enum SyncLogType {\n\tSAP_QUOTATION = \"SAP_QUOTATION\",\n\tSAP_SALES_ORDER = \"SAP_SALES_ORDER\",\n\tPIPEDRIVE = \"PIPEDRIVE\",\n}\n\nexport enum SyncLogStatus {\n\tPENDING = \"PENDING\",\n\tSUCCESS = \"SUCCESS\",\n\tFAILED = \"FAILED\",\n\tRETRYING = \"RETRYING\",\n}\n\nexport enum SyncLogAction {\n\tCREATE = \"CREATE\",\n\tUPDATE = \"UPDATE\",\n\tDELETE = \"DELETE\",\n}\n\nexport interface ISyncLog extends Document {\n\t_id: Types.ObjectId\n\tentity_type: string\n\tentity_id: Types.ObjectId\n\tsync_type: SyncLogType\n\taction: SyncLogAction\n\tstatus: SyncLogStatus\n\terror_message?: string\n\terror_code?: string\n\terror_details?: Record<string, any>\n\trequest_payload?: Record<string, any>\n\tresponse_payload?: Record<string, any>\n\tretry_count: number\n\tmax_retries: number\n\tnext_retry_at?: Date\n\tcreated_at: Date\n\tupdated_at: Date\n\tresolved_at?: Date\n\tresolved_by?: Types.ObjectId\n}\n\nconst syncLogSchema = new Schema(\n\t{\n\t\tentity_type: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\tentity_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\tsync_type: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(SyncLogType),\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\taction: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(SyncLogAction),\n\t\t\trequired: true,\n\t\t},\n\t\tstatus: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(SyncLogStatus),\n\t\t\tdefault: SyncLogStatus.PENDING,\n\t\t\tindex: true,\n\t\t},\n\t\terror_message: { type: String },\n\t\terror_code: { type: String },\n\t\terror_details: { type: Schema.Types.Mixed },\n\t\trequest_payload: { type: Schema.Types.Mixed },\n\t\tresponse_payload: { type: Schema.Types.Mixed },\n\t\tretry_count: { type: Number, default: 0 },\n\t\tmax_retries: { type: Number, default: 3 },\n\t\tnext_retry_at: { type: Date },\n\t\tresolved_at: { type: Date },\n\t\tresolved_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t},\n\t{\n\t\ttimestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" },\n\t}\n)\n\nsyncLogSchema.index({ entity_type: 1, entity_id: 1, status: 1 })\nsyncLogSchema.index({ status: 1, next_retry_at: 1 })\n\nexport const SyncLog = mongoose.models.SyncLog || model<ISyncLog>(\"SyncLog\", syncLogSchema, \"sync_logs\")\n","import mongoose, { Schema, model } from \"mongoose\"\nimport { UserRole } from \"../../users/models/Users\"\n\nexport interface AnnouncementType {\n\tcreated_by: mongoose.Types.ObjectId\n\tupdated_by?: mongoose.Types.ObjectId\n\tdeleted_by?: mongoose.Types.ObjectId\n\n\tcreated_at: Date\n\tupdated_at?: Date\n\tdeleted_at?: Date\n\n\ttitle: string\n\ttext: string\n\troles: UserRole[]\n}\n\nconst announcementSchema = new Schema<AnnouncementType>({\n\tcreated_by: {\n\t\ttype: Schema.Types.ObjectId,\n\t\tref: \"User\",\n\t\trequired: true,\n\t},\n\tupdated_by: {\n\t\ttype: Schema.Types.ObjectId,\n\t\tref: \"User\",\n\t},\n\tdeleted_by: {\n\t\ttype: Schema.Types.ObjectId,\n\t\tref: \"User\",\n\t},\n\n\tcreated_at: {\n\t\ttype: Date,\n\t\tdefault: Date.now,\n\t},\n\tupdated_at: Date,\n\tdeleted_at: Date,\n\n\ttitle: {\n\t\ttype: String,\n\t\trequired: true,\n\t\ttrim: true,\n\t},\n\ttext: {\n\t\ttype: String,\n\t\trequired: true,\n\t\ttrim: true,\n\t},\n\troles: {\n\t\ttype: [String],\n\t\tenum: Object.values(UserRole),\n\t\trequired: true,\n\t\tvalidate: {\n\t\t\tvalidator: (roles: UserRole[]) => roles.length > 0,\n\t\t\tmessage: \"At least one user role must be assigned.\",\n\t\t},\n\t},\n})\n\nexport default mongoose.models.Announcement || model<AnnouncementType>(\"Announcement\", announcementSchema, \"announcements\")\n","import mongoose, { Schema, model } from \"mongoose\"\nimport bcrypt from \"bcryptjs\"\n\nexport enum UserRole {\n ADMIN = \"admin\",\n SALES = \"sales\",\n TECHNICIAN = \"technician\",\n WAREHOUSEMAN = \"warehouseman\",\n}\n\nexport enum UserStatus {\n ACTIVE = \"active\",\n INACTIVE = \"inactive\",\n SUSPENDED = \"suspended\",\n}\n\nexport interface UserType {\n first_name: string\n middle_name?: string\n last_name: string\n username: string\n password: string\n role: UserRole\n status: UserStatus\n email?: string\n mobile?: string\n pipedrive_id?: string\n sap_employee_id?: string\n sap_id?: string\n created_at: Date\n created_by?: mongoose.Types.ObjectId | string\n updated_at?: Date\n updated_by?: mongoose.Types.ObjectId\n deleted_at?: Date\n deleted_by?: mongoose.Types.ObjectId\n}\n\nconst usersSchema = new Schema<UserType>({\n first_name: { type: String, required: true },\n middle_name: { type: String },\n last_name: { type: String, required: true },\n username: { type: String, required: true, unique: true },\n password: { type: String, required: true, select: false },\n role: {\n type: String,\n enum: Object.values(UserRole),\n default: UserRole.SALES,\n },\n status: {\n type: String,\n enum: Object.values(UserStatus),\n default: UserStatus.ACTIVE,\n },\n email: { type: String },\n mobile: { type: String },\n pipedrive_id: { type: String },\n sap_id: { type: String },\n sap_employee_id: { type: String },\n created_at: { type: Date, default: Date.now },\n created_by: { type: Schema.Types.Mixed, ref: \"User\" },\n updated_at: { type: Date },\n updated_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n deleted_at: { type: Date },\n deleted_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n})\n\nusersSchema.pre(\"save\", async function (next) {\n if (this.isModified(\"password\")) {\n this.password = await bcrypt.hash(this.password, 12)\n }\n next()\n})\n\nexport default mongoose.models.User || model<UserType>(\"User\", usersSchema, \"users\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface CartItem {\n\tarticle_id: Schema.Types.ObjectId\n\tquantity: number\n}\n\nexport interface CartType {\n\tcustomer_id: Schema.Types.ObjectId\n\titems: CartItem[]\n\tupdated_at?: Date\n}\n\nconst cartItemSchema = new Schema<CartItem>(\n\t{\n\t\tarticle_id: { type: Types.ObjectId, ref: \"Article\", required: true },\n\t\tquantity: { type: Number, required: true },\n\t},\n\t{ _id: false }\n)\n\nconst cartSchema = new Schema<CartType>({\n\tcustomer_id: {\n\t\ttype: Types.ObjectId,\n\t\tref: \"Customer\",\n\t\trequired: true,\n\t\tunique: true,\n\t},\n\titems: [cartItemSchema],\n\tupdated_at: { type: Date, default: Date.now },\n})\n\nexport default mongoose.models.Cart || model<CartType>(\"Cart\", cartSchema, \"carts\")\n","import mongoose, {\n\tSchema,\n\tmodel,\n\ttype Model,\n\ttype HydratedDocument,\n\ttype Types,\n} from \"mongoose\";\n\nexport interface RefreshTokenType {\n\tcustomer_id: Types.ObjectId;\n\ttoken_hash: string;\n\texpires_at: Date;\n\trevoked_at?: Date;\n\treplaced_by_token_hash?: string;\n\tcreated_at: Date;\n\tupdated_at?: Date;\n}\n\nexport type RefreshTokenDoc = HydratedDocument<RefreshTokenType>;\nexport type RefreshTokenModel = Model<RefreshTokenType>;\n\nconst refreshTokenSchema = new Schema<RefreshTokenType>({\n\tcustomer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n\t// Store only SHA-256 hash of the opaque refresh token (base64url). Never store the raw token.\n\ttoken_hash: { type: String, required: true },\n\texpires_at: { type: Date, required: true },\n\trevoked_at: { type: Date },\n\treplaced_by_token_hash: { type: String },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n});\n\nrefreshTokenSchema.index({ token_hash: 1 }, { unique: true });\nrefreshTokenSchema.index({ expires_at: 1 }, { expireAfterSeconds: 0 });\nrefreshTokenSchema.index({ customer_id: 1, expires_at: 1 });\n\nrefreshTokenSchema.pre(\"save\", function (next) {\n\tthis.updated_at = new Date();\n\tnext();\n});\n\nconst RefreshToken: RefreshTokenModel =\n\t(mongoose.models.RefreshToken as RefreshTokenModel) ||\n\tmodel<RefreshTokenType>(\"RefreshToken\", refreshTokenSchema, \"refresh_tokens\");\n\nexport default RefreshToken;\n","import mongoose, {\n\tSchema,\n\tmodel,\n\ttype Model,\n\ttype HydratedDocument,\n\ttype Types,\n} from \"mongoose\";\n\nexport interface PasswordResetTokenType {\n\tcustomer_id: Types.ObjectId;\n\ttoken_hash: string;\n\texpires_at: Date;\n\tused_at?: Date;\n\tcreated_at: Date;\n\tupdated_at?: Date;\n}\n\nexport type PasswordResetTokenDoc = HydratedDocument<PasswordResetTokenType>;\nexport type PasswordResetTokenModel = Model<PasswordResetTokenType>;\n\nconst passwordResetTokenSchema = new Schema<PasswordResetTokenType>({\n\tcustomer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n\t// Store only SHA-256 hash of the opaque reset token (base64url). Never store the raw token.\n\ttoken_hash: { type: String, required: true },\n\texpires_at: { type: Date, required: true },\n\tused_at: { type: Date },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n});\n\npasswordResetTokenSchema.index({ token_hash: 1 }, { unique: true });\npasswordResetTokenSchema.index({ expires_at: 1 }, { expireAfterSeconds: 0 });\npasswordResetTokenSchema.index({ customer_id: 1, expires_at: 1 });\n\nconst PasswordResetToken: PasswordResetTokenModel =\n\t(mongoose.models.PasswordResetToken as PasswordResetTokenModel) ||\n\tmodel<PasswordResetTokenType>(\"PasswordResetToken\", passwordResetTokenSchema, \"password_reset_tokens\");\n\nexport default PasswordResetToken;\n"],"mappings":"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","names":["mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","QuoteStatus","Status","CreatedMethod","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","CustomerStatus","bcrypt","mongoose","import_mongoose","mongoose","import_mongoose","OrderStatus","mongoose","import_mongoose","mongoose","import_mongoose","SyncLogType","SyncLogStatus","SyncLogAction","mongoose","import_mongoose","import_mongoose","import_bcryptjs","UserRole","UserStatus","bcrypt","mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/clients/models/Clients.ts","../src/clients/models/ClientsContact.ts","../src/clients/models/ClientsAddress.ts","../src/clients/models/ClientsPaymentMethod.ts","../src/clients/models/ClientsPaymentTerm.ts","../src/clients/models/ClientsPriceList.ts","../src/clients/models/ClientsSalesEmployee.ts","../src/inventory/models/Article.ts","../src/inventory/models/ArticleGroups.ts","../src/inventory/models/ArticleClasses.ts","../src/inventory/models/ArticlePrices.ts","../src/inventory/models/Currencies.ts","../src/inventory/models/Warehouses.ts","../src/inventory/models/InventoryStocks.ts","../src/inventory/models/PriceLists.ts","../src/quotes/models/Quote.ts","../src/quotes/models/QuoteArticle.ts","../src/quotes/models/QuoteArticleExtra.ts","../src/quotes/models/QuoteContact.ts","../src/quotes/models/QuoteTerm.ts","../src/customers/models/Customers.ts","../src/customers/models/FiscalProfileType.ts","../src/orders/models/Orders.ts","../src/orders/models/OrderStatusLogs.ts","../src/sap/models/SyncLog.ts","../src/announcements/models/Announcements.ts","../src/users/models/Users.ts","../src/carts/models/Carts.ts","../src/auth/models/RefreshTokens.ts","../src/auth/models/PasswordResetTokens.ts","../src/auth/models/EmailVerificationTokens.ts"],"sourcesContent":["export * from \"./clients\"\nexport * from \"./inventory\"\nexport * from \"./quotes\"\nexport * from \"./customers\"\nexport * from \"./orders\"\nexport * from \"./sap\"\nexport * from \"./announcements\"\nexport * from \"./users\"\nexport * from \"./carts\"\nexport * from \"./auth\"\n","import mongoose, { Schema, model } from \"mongoose\"\n\nexport interface ClientType {\n\tsn_code?: string | null\n\tsn_name?: string | null\n\ttax_id?: string | null\n\tcurrency?: string | null\n\tphone_1?: string | null\n\temail?: string | null\n\tcomments?: string | null\n\tpipedrive_id?: string | null\n\tsap_id?: string | null\n\tdeleted_at?: Date | null\n\tdeleted_by?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientSchema = new Schema<ClientType>(\n\t{\n\t\tsn_code: { type: String, index: true },\n\t\tsn_name: { type: String, required: true },\n\t\ttax_id: { type: String },\n\t\tcurrency: { type: String },\n\t\tphone_1: { type: String },\n\t\temail: { type: String },\n\t\tcomments: { type: String },\n\t\tpipedrive_id: { type: String },\n\t\tsap_id: { type: String },\n\t\tdeleted_at: { type: Date, default: null },\n\t\tdeleted_by: { type: String, default: null },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.Client || model<ClientType>(\"Client\", clientSchema, \"clients\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientContactType {\n\tclient_id: Types.ObjectId\n\tcontact_person_name?: string | null\n\tfirst_name?: string | null\n\tlast_name?: string | null\n\tcontact_phone?: string | null\n\tcontact_email?: string | null\n\tpipedrive_id?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientContactSchema = new Schema<ClientContactType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\tcontact_person_name: { type: String },\n\t\tfirst_name: { type: String },\n\t\tlast_name: { type: String },\n\t\tcontact_phone: { type: String },\n\t\tcontact_email: { type: String },\n\t\tpipedrive_id: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientContact || model<ClientContactType>(\"ClientContact\", clientContactSchema, \"client_contacts\")","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientAddressType {\n\tclient_id: Types.ObjectId\n\taddress_name?: string | null\n\tstreet?: string | null\n\tneighborhood?: string | null\n\tpostal_code?: string | null\n\tcity?: string | null\n\tstate?: string | null\n\tcountry?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientAddressSchema = new Schema<ClientAddressType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\taddress_name: { type: String },\n\t\tstreet: { type: String },\n\t\tneighborhood: { type: String },\n\t\tpostal_code: { type: String },\n\t\tcity: { type: String },\n\t\tstate: { type: String },\n\t\tcountry: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientAddress || model<ClientAddressType>(\n\t\"ClientAddress\",\n\tclientAddressSchema,\n\t\"client_addresses\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientPaymentMethodType {\n\tclient_id: Types.ObjectId\n\tcode?: string | null\n\tdescription?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientPaymentMethodSchema = new Schema<ClientPaymentMethodType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tunique: true,\n\t\t},\n\t\tcode: { type: String },\n\t\tdescription: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientPaymentMethod || model<ClientPaymentMethodType>(\n\t\"ClientPaymentMethod\",\n\tclientPaymentMethodSchema,\n\t\"client_payment_methods\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientPaymentTermType {\n\tclient_id: Types.ObjectId\n\tcode?: string | null\n\tname?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientPaymentTermSchema = new Schema<ClientPaymentTermType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tunique: true,\n\t\t},\n\t\tcode: { type: String },\n\t\tname: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientPaymentTerm || model<ClientPaymentTermType>(\n\t\"ClientPaymentTerm\",\n\tclientPaymentTermSchema,\n\t\"client_payment_terms\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientPriceListType {\n\tclient_id: Types.ObjectId\n\tnumber?: string | null\n\tname?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientPriceListSchema = new Schema<ClientPriceListType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tunique: true,\n\t\t},\n\t\tnumber: { type: String },\n\t\tname: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientPriceList || model<ClientPriceListType>(\n\t\"ClientPriceList\",\n\tclientPriceListSchema,\n\t\"client_price_lists\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientSalesEmployeeType {\n\tclient_id: Types.ObjectId\n\temployee_code?: string | null\n\temployee_name?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientSalesEmployeeSchema = new Schema<ClientSalesEmployeeType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tunique: true,\n\t\t},\n\t\temployee_code: { type: String },\n\t\temployee_name: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientSalesEmployee || model<ClientSalesEmployeeType>(\n\t\"ClientSalesEmployee\",\n\tclientSalesEmployeeSchema,\n\t\"client_sales_employees\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nconst 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 mongoose.models.Article || model(\"Article\", articleSchema, \"articles\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst articleGroupSchema = new Schema({\n\tname: { type: String, required: true },\n\tdescription: { type: String },\n})\n\nexport default mongoose.models.ArticleGroup || model(\"ArticleGroup\", articleGroupSchema, \"article_groups\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst articleClassSchema = new Schema({\n\tname: { type: String, required: true },\n\tdescription: { type: String },\n})\n\nexport default mongoose.models.ArticleClass || model(\"ArticleClass\", articleClassSchema, \"article_classes\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nconst articlePriceSchema = new Schema({\n\tarticle_id: { type: Types.ObjectId, ref: \"Article\", required: true },\n\tprice_list_id: { type: Types.ObjectId, ref: \"PriceList\", required: true },\n\tcurrency_id: { type: Types.ObjectId, ref: \"Currency\", required: true },\n\tprice: { type: Number, required: true },\n\tvalid_from: { type: Date },\n\tvalid_to: { type: Date },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n})\n\nexport default mongoose.models.ArticlePrice || model(\"ArticlePrice\", articlePriceSchema, \"article_prices\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst currencySchema = new Schema({\n\tcode: { type: String, required: true, unique: true },\n\tsymbol: { type: String, required: true },\n\tname: { type: String, required: true },\n})\n\nexport default mongoose.models.Currency || model(\"Currency\", currencySchema, \"currencies\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst warehouseSchema = new Schema({\n\tcode: { type: String, required: true, unique: true },\n\tname: { type: String, required: true },\n\tlocation: { type: String },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n})\n\nexport default mongoose.models.Warehouse || model(\"Warehouse\", warehouseSchema, \"warehouses\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nconst inventoryStockSchema = new Schema({\n\tarticle_id: { type: Types.ObjectId, ref: \"Article\", required: true },\n\twarehouse_id: { type: Types.ObjectId, ref: \"Warehouse\", required: true },\n\tcount: { type: Number, required: true },\n\tmin_stock: { type: Number },\n\tmax_stock: { type: Number },\n\tupdated_at: { type: Date, default: Date.now },\n})\n\nexport default mongoose.models.InventoryStock || model(\"InventoryStock\", inventoryStockSchema, \"inventory_stocks\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst priceListSchema = new Schema({\n\tnumber: { type: String, required: true, unique: true },\n\tname: { type: String, required: true },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n})\n\nexport default mongoose.models.PriceList || model(\"PriceList\", priceListSchema, \"price_lists\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nexport enum QuoteStatus {\n\tOPPORTUNITY = \"OPPORTUNITY\",\n\tQUOTE = \"QUOTE\",\n\tFOLLOWING = \"FOLLOWING\",\n\tNEGOTIATION = \"NEGOTIATION\",\n}\n\nexport enum Status {\n\tOPEN = \"OPEN\",\n\tWIN = \"WIN\",\n\tLOST = \"LOST\",\n\tDELETE = \"DELETE\",\n}\n\nexport enum CreatedMethod {\n\tMANUAL = \"MANUAL\",\n\tCSV = \"CSV\",\n}\n\nconst quoteSchema = new Schema(\n\t{\n\t\tquote_number: { type: Number, required: true },\n\t\tquote_revision: { type: Number, default: 0 },\n\t\tquote_ref: { type: String },\n\t\tcompany: { type: String },\n\t\tcompany_id: { type: Schema.Types.ObjectId, ref: \"Client\", required: true },\n\t\tcompany_pipedrive_id: { type: String },\n\t\tcontact_id: { type: Schema.Types.ObjectId, ref: \"ClientContact\" },\n\t\tproject_name: { type: String },\n\t\tproject_lab: { type: String },\n\t\tpayment_condition: { type: String },\n\t\tpayment_exp: { type: String },\n\t\tterms_ids: [{ type: Schema.Types.ObjectId, ref: \"QuoteTerm\" }],\n\t\tcurrency_id: { type: Schema.Types.ObjectId, ref: \"Currency\" },\n\t\tiva: { type: String },\n\t\tdate: { type: Date },\n\t\tstatus: { type: String, enum: Object.values(Status), default: Status.OPEN },\n\t\tquote_status: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(QuoteStatus),\n\t\t\tdefault: QuoteStatus.OPPORTUNITY,\n\t\t},\n\t\tsap_id: { type: String },\n\t\tsap_quotation_entry: { type: Number },\n\t\tsap_order_entry: { type: Number },\n\t\tpipedrive_id: { type: String },\n\t\tshould_sync: { type: Boolean, default: false },\n\t\tpdf_download_link: { type: String },\n\t\tnotes: { type: String },\n\t\tcreated_method: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(CreatedMethod),\n\t\t\tdefault: CreatedMethod.MANUAL,\n\t\t},\n\t\tcreated_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t\tupdated_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t\tdeleted_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t\tdeleted_at: { type: Date },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.Quote || model(\"Quote\", quoteSchema, \"quotes\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst quoteArticleSchema = new Schema(\n\t{\n\t\tquote_id: { type: Schema.Types.ObjectId, ref: \"Quote\", required: true },\n\t\tarticle_id: { type: Schema.Types.ObjectId, ref: \"Article\" },\n\t\tarticle_number: { type: String },\n\t\tdescription: { type: String },\n\t\tdelivery: { type: String },\n\t\tquantity: { type: Number },\n\t\tprice: { type: Number },\n\t\tunit_price: { type: Number },\n\t\toriginal_price: { type: Number },\n\t\ttotal: { type: Number },\n\t\tutility: { type: Number },\n\t\ttype: { type: String },\n\t\textra_id: { type: Schema.Types.ObjectId, ref: \"QuoteArticleExtra\" },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.QuoteArticle || model(\"QuoteArticle\", quoteArticleSchema, \"quote_articles\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst quoteArticleExtraSchema = new Schema(\n\t{\n\t\tquote_article_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"QuoteArticle\",\n\t\t\trequired: true,\n\t\t},\n\t\tmultiplier: Number,\n\t\tusa_freight: Number,\n\t\tusa_expenses: Number,\n\t\tduty: Number,\n\t\tmex_freight: Number,\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.QuoteArticleExtra || model(\"QuoteArticleExtra\", quoteArticleExtraSchema, \"quote_article_extras\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst quoteContactSchema = new Schema({\n\tquote_id: { type: Schema.Types.ObjectId, ref: \"Quote\", required: true },\n\tname: String,\n\temail: String,\n\tmobile: String,\n\tpipedrive_id: String,\n\tcreated_at: { type: Date, default: Date.now },\n})\n\nexport default mongoose.models.QuoteContact || model(\"QuoteContact\", quoteContactSchema, \"quote_contacts\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst quoteTermSchema = new Schema(\n\t{\n\t\ttitle: String,\n\t\tcontent: { type: String, required: true },\n\t\tcategory: String,\n\t\tis_active: { type: Boolean, default: true },\n\t\tcreated_by: String,\n\t\tupdated_by: String,\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.QuoteTerm || model(\"QuoteTerm\", quoteTermSchema, \"quote_terms\")\n","import mongoose, {\n\tSchema,\n\tmodel,\n\ttype Model,\n\ttype HydratedDocument,\n\ttype Types,\n} from \"mongoose\";\nimport bcrypt from \"bcryptjs\";\n\nexport enum CustomerStatus {\n\tACTIVE = \"active\",\n\tINACTIVE = \"inactive\",\n\tBANNED = \"banned\",\n}\n\nexport interface CustomerType {\n\tfirst_name: string;\n\tlast_name: string;\n\temail: string;\n\tmobile?: string;\n\tpassword: string;\n\tstatus: CustomerStatus;\n\tfiscal_profile_id?: Types.ObjectId;\n\tcreated_at: Date;\n\tupdated_at?: Date;\n\tdeleted_at?: Date;\n}\n\nexport type CustomerDoc = HydratedDocument<CustomerType>;\nexport type CustomerModel = Model<CustomerType>;\n\nconst customerSchema = new Schema<CustomerType>({\n\tfirst_name: { type: String, required: true },\n\tlast_name: { type: String, required: true },\n\temail: { type: String, required: true, unique: true },\n\tmobile: { type: String },\n\tpassword: { type: String, required: true, select: false },\n\tstatus: {\n\t\ttype: String,\n\t\tenum: Object.values(CustomerStatus),\n\t\tdefault: CustomerStatus.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\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\nconst Customer: CustomerModel =\n\t(mongoose.models.Customer as CustomerModel) ||\n\tmodel<CustomerType>(\"Customer\", customerSchema, \"customers\");\n\nexport default Customer;\n","import mongoose, { Schema, model, type Model, type HydratedDocument, type Types } from \"mongoose\";\n\nexport interface FiscalProfileType {\n\tcustomer_id: Types.ObjectId;\n\trfc: string;\n\trazon_social: string;\n\tuso_cfdi: string;\n\tregimen_fiscal: string;\n\tcp: string;\n\tcreated_at: Date;\n\tupdated_at?: Date;\n}\n\nexport type FiscalProfileDoc = HydratedDocument<FiscalProfileType>;\nexport type FiscalProfileModel = Model<FiscalProfileType>;\n\nconst fiscalProfileSchema = new Schema<FiscalProfileType>({\n\tcustomer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n\trfc: { type: String, required: true },\n\trazon_social: { type: String, required: true },\n\tuso_cfdi: { type: String, required: true },\n\tregimen_fiscal: { type: String, required: true },\n\tcp: { type: String, required: true },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n});\n\nconst FiscalProfile: FiscalProfileModel =\n\t(mongoose.models.FiscalProfile as FiscalProfileModel) ||\n\tmodel<FiscalProfileType>(\"FiscalProfile\", fiscalProfileSchema, \"fiscal_profiles\");\n\nexport default FiscalProfile;\n","import mongoose, { Schema, model } from \"mongoose\"\n\nexport enum OrderStatus {\n\tPENDING = \"pending\",\n\tCONFIRMED = \"confirmed\",\n\tSHIPPED = \"shipped\",\n\tCANCELLED = \"cancelled\",\n\tCOMPLETED = \"completed\",\n}\n\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 mongoose.models.Order || model(\"Order\", orderSchema, \"orders\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\nimport { OrderStatus } from \"./Orders\"\n\nexport interface OrderStatusLogType {\n\torder_id: Types.ObjectId\n\tstatus: OrderStatus\n\tchanged_by: Types.ObjectId\n\tchanged_at: Date\n\tnote?: string\n}\n\nconst orderStatusLogSchema = new Schema<OrderStatusLogType>({\n\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 mongoose.models.OrderStatusLog || model<OrderStatusLogType>(\"OrderStatusLog\", orderStatusLogSchema, \"order_status_logs\")\n","import mongoose, { Schema, model, Document, Types } from \"mongoose\"\n\n/**\n * Sync Log Types\n */\nexport enum SyncLogType {\n\tSAP_QUOTATION = \"SAP_QUOTATION\",\n\tSAP_SALES_ORDER = \"SAP_SALES_ORDER\",\n\tPIPEDRIVE = \"PIPEDRIVE\",\n}\n\nexport enum SyncLogStatus {\n\tPENDING = \"PENDING\",\n\tSUCCESS = \"SUCCESS\",\n\tFAILED = \"FAILED\",\n\tRETRYING = \"RETRYING\",\n}\n\nexport enum SyncLogAction {\n\tCREATE = \"CREATE\",\n\tUPDATE = \"UPDATE\",\n\tDELETE = \"DELETE\",\n}\n\nexport interface ISyncLog extends Document {\n\t_id: Types.ObjectId\n\tentity_type: string\n\tentity_id: Types.ObjectId\n\tsync_type: SyncLogType\n\taction: SyncLogAction\n\tstatus: SyncLogStatus\n\terror_message?: string\n\terror_code?: string\n\terror_details?: Record<string, any>\n\trequest_payload?: Record<string, any>\n\tresponse_payload?: Record<string, any>\n\tretry_count: number\n\tmax_retries: number\n\tnext_retry_at?: Date\n\tcreated_at: Date\n\tupdated_at: Date\n\tresolved_at?: Date\n\tresolved_by?: Types.ObjectId\n}\n\nconst syncLogSchema = new Schema(\n\t{\n\t\tentity_type: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\tentity_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\tsync_type: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(SyncLogType),\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\taction: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(SyncLogAction),\n\t\t\trequired: true,\n\t\t},\n\t\tstatus: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(SyncLogStatus),\n\t\t\tdefault: SyncLogStatus.PENDING,\n\t\t\tindex: true,\n\t\t},\n\t\terror_message: { type: String },\n\t\terror_code: { type: String },\n\t\terror_details: { type: Schema.Types.Mixed },\n\t\trequest_payload: { type: Schema.Types.Mixed },\n\t\tresponse_payload: { type: Schema.Types.Mixed },\n\t\tretry_count: { type: Number, default: 0 },\n\t\tmax_retries: { type: Number, default: 3 },\n\t\tnext_retry_at: { type: Date },\n\t\tresolved_at: { type: Date },\n\t\tresolved_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t},\n\t{\n\t\ttimestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" },\n\t}\n)\n\nsyncLogSchema.index({ entity_type: 1, entity_id: 1, status: 1 })\nsyncLogSchema.index({ status: 1, next_retry_at: 1 })\n\nexport const SyncLog = mongoose.models.SyncLog || model<ISyncLog>(\"SyncLog\", syncLogSchema, \"sync_logs\")\n","import mongoose, { Schema, model } from \"mongoose\"\nimport { UserRole } from \"../../users/models/Users\"\n\nexport interface AnnouncementType {\n\tcreated_by: mongoose.Types.ObjectId\n\tupdated_by?: mongoose.Types.ObjectId\n\tdeleted_by?: mongoose.Types.ObjectId\n\n\tcreated_at: Date\n\tupdated_at?: Date\n\tdeleted_at?: Date\n\n\ttitle: string\n\ttext: string\n\troles: UserRole[]\n}\n\nconst announcementSchema = new Schema<AnnouncementType>({\n\tcreated_by: {\n\t\ttype: Schema.Types.ObjectId,\n\t\tref: \"User\",\n\t\trequired: true,\n\t},\n\tupdated_by: {\n\t\ttype: Schema.Types.ObjectId,\n\t\tref: \"User\",\n\t},\n\tdeleted_by: {\n\t\ttype: Schema.Types.ObjectId,\n\t\tref: \"User\",\n\t},\n\n\tcreated_at: {\n\t\ttype: Date,\n\t\tdefault: Date.now,\n\t},\n\tupdated_at: Date,\n\tdeleted_at: Date,\n\n\ttitle: {\n\t\ttype: String,\n\t\trequired: true,\n\t\ttrim: true,\n\t},\n\ttext: {\n\t\ttype: String,\n\t\trequired: true,\n\t\ttrim: true,\n\t},\n\troles: {\n\t\ttype: [String],\n\t\tenum: Object.values(UserRole),\n\t\trequired: true,\n\t\tvalidate: {\n\t\t\tvalidator: (roles: UserRole[]) => roles.length > 0,\n\t\t\tmessage: \"At least one user role must be assigned.\",\n\t\t},\n\t},\n})\n\nexport default mongoose.models.Announcement || model<AnnouncementType>(\"Announcement\", announcementSchema, \"announcements\")\n","import mongoose, { Schema, model } from \"mongoose\"\nimport bcrypt from \"bcryptjs\"\n\nexport enum UserRole {\n ADMIN = \"admin\",\n SALES = \"sales\",\n TECHNICIAN = \"technician\",\n WAREHOUSEMAN = \"warehouseman\",\n}\n\nexport enum UserStatus {\n ACTIVE = \"active\",\n INACTIVE = \"inactive\",\n SUSPENDED = \"suspended\",\n}\n\nexport interface UserType {\n first_name: string\n middle_name?: string\n last_name: string\n username: string\n password: string\n role: UserRole\n status: UserStatus\n email?: string\n mobile?: string\n pipedrive_id?: string\n sap_employee_id?: string\n sap_id?: string\n created_at: Date\n created_by?: mongoose.Types.ObjectId | string\n updated_at?: Date\n updated_by?: mongoose.Types.ObjectId\n deleted_at?: Date\n deleted_by?: mongoose.Types.ObjectId\n}\n\nconst usersSchema = new Schema<UserType>({\n first_name: { type: String, required: true },\n middle_name: { type: String },\n last_name: { type: String, required: true },\n username: { type: String, required: true, unique: true },\n password: { type: String, required: true, select: false },\n role: {\n type: String,\n enum: Object.values(UserRole),\n default: UserRole.SALES,\n },\n status: {\n type: String,\n enum: Object.values(UserStatus),\n default: UserStatus.ACTIVE,\n },\n email: { type: String },\n mobile: { type: String },\n pipedrive_id: { type: String },\n sap_id: { type: String },\n sap_employee_id: { type: String },\n created_at: { type: Date, default: Date.now },\n created_by: { type: Schema.Types.Mixed, ref: \"User\" },\n updated_at: { type: Date },\n updated_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n deleted_at: { type: Date },\n deleted_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n})\n\nusersSchema.pre(\"save\", async function (next) {\n if (this.isModified(\"password\")) {\n this.password = await bcrypt.hash(this.password, 12)\n }\n next()\n})\n\nexport default mongoose.models.User || model<UserType>(\"User\", usersSchema, \"users\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface CartItem {\n\tarticle_id: Schema.Types.ObjectId\n\tquantity: number\n}\n\nexport interface CartType {\n\tcustomer_id: Schema.Types.ObjectId\n\titems: CartItem[]\n\tupdated_at?: Date\n}\n\nconst cartItemSchema = new Schema<CartItem>(\n\t{\n\t\tarticle_id: { type: Types.ObjectId, ref: \"Article\", required: true },\n\t\tquantity: { type: Number, required: true },\n\t},\n\t{ _id: false }\n)\n\nconst cartSchema = new Schema<CartType>({\n\tcustomer_id: {\n\t\ttype: Types.ObjectId,\n\t\tref: \"Customer\",\n\t\trequired: true,\n\t\tunique: true,\n\t},\n\titems: [cartItemSchema],\n\tupdated_at: { type: Date, default: Date.now },\n})\n\nexport default mongoose.models.Cart || model<CartType>(\"Cart\", cartSchema, \"carts\")\n","import mongoose, {\n\tSchema,\n\tmodel,\n\ttype Model,\n\ttype HydratedDocument,\n\ttype Types,\n} from \"mongoose\";\n\nexport interface RefreshTokenType {\n\tcustomer_id: Types.ObjectId;\n\ttoken_hash: string;\n\texpires_at: Date;\n\trevoked_at?: Date;\n\treplaced_by_token_hash?: string;\n\tcreated_at: Date;\n\tupdated_at?: Date;\n}\n\nexport type RefreshTokenDoc = HydratedDocument<RefreshTokenType>;\nexport type RefreshTokenModel = Model<RefreshTokenType>;\n\nconst refreshTokenSchema = new Schema<RefreshTokenType>({\n\tcustomer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n\t// Store only SHA-256 hash of the opaque refresh token (base64url). Never store the raw token.\n\ttoken_hash: { type: String, required: true },\n\texpires_at: { type: Date, required: true },\n\trevoked_at: { type: Date },\n\treplaced_by_token_hash: { type: String },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n});\n\nrefreshTokenSchema.index({ token_hash: 1 }, { unique: true });\nrefreshTokenSchema.index({ expires_at: 1 }, { expireAfterSeconds: 0 });\nrefreshTokenSchema.index({ customer_id: 1, expires_at: 1 });\n\nrefreshTokenSchema.pre(\"save\", function (next) {\n\tthis.updated_at = new Date();\n\tnext();\n});\n\nconst RefreshToken: RefreshTokenModel =\n\t(mongoose.models.RefreshToken as RefreshTokenModel) ||\n\tmodel<RefreshTokenType>(\"RefreshToken\", refreshTokenSchema, \"refresh_tokens\");\n\nexport default RefreshToken;\n","import mongoose, {\n\tSchema,\n\tmodel,\n\ttype Model,\n\ttype HydratedDocument,\n\ttype Types,\n} from \"mongoose\";\n\nexport interface PasswordResetTokenType {\n\tcustomer_id: Types.ObjectId;\n\ttoken_hash: string;\n\texpires_at: Date;\n\tused_at?: Date;\n\tcreated_at: Date;\n\tupdated_at?: Date;\n}\n\nexport type PasswordResetTokenDoc = HydratedDocument<PasswordResetTokenType>;\nexport type PasswordResetTokenModel = Model<PasswordResetTokenType>;\n\nconst passwordResetTokenSchema = new Schema<PasswordResetTokenType>({\n\tcustomer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n\t// Store only SHA-256 hash of the opaque reset token (base64url). Never store the raw token.\n\ttoken_hash: { type: String, required: true },\n\texpires_at: { type: Date, required: true },\n\tused_at: { type: Date },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n});\n\npasswordResetTokenSchema.index({ token_hash: 1 }, { unique: true });\npasswordResetTokenSchema.index({ expires_at: 1 }, { expireAfterSeconds: 0 });\npasswordResetTokenSchema.index({ customer_id: 1, expires_at: 1 });\n\npasswordResetTokenSchema.pre(\"save\", function (next) {\n\tthis.updated_at = new Date();\n\tnext();\n});\n\nconst PasswordResetToken: PasswordResetTokenModel =\n\t(mongoose.models.PasswordResetToken as PasswordResetTokenModel) ||\n\tmodel<PasswordResetTokenType>(\"PasswordResetToken\", passwordResetTokenSchema, \"password_reset_tokens\");\n\nexport default PasswordResetToken;\n","import mongoose, {\n Schema,\n model,\n type Model,\n type HydratedDocument,\n type Types,\n} from \"mongoose\"\n\nexport interface EmailVerificationTokenType {\n customer_id: Types.ObjectId\n token_hash: string\n expires_at: Date\n used_at?: Date\n created_at: Date\n updated_at?: Date\n}\n\nexport type EmailVerificationTokenDoc =\n HydratedDocument<EmailVerificationTokenType>\nexport type EmailVerificationTokenModel = Model<EmailVerificationTokenType>\n\nconst emailVerificationTokenSchema = new Schema<EmailVerificationTokenType>({\n customer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n // Store only SHA-256 hash of the opaque email verification token. Never store the raw token.\n token_hash: { type: String, required: true },\n expires_at: { type: Date, required: true },\n used_at: { type: Date },\n created_at: { type: Date, default: Date.now },\n updated_at: { type: Date },\n})\n\nemailVerificationTokenSchema.index({ token_hash: 1 }, { unique: true })\nemailVerificationTokenSchema.index({ expires_at: 1 }, { expireAfterSeconds: 0 })\nemailVerificationTokenSchema.index({ customer_id: 1, expires_at: 1 })\n\nconst EmailVerificationToken: EmailVerificationTokenModel =\n (mongoose.models.EmailVerificationToken as EmailVerificationTokenModel) ||\n model<EmailVerificationTokenType>(\n \"EmailVerificationToken\",\n emailVerificationTokenSchema,\n \"email_verification_tokens\"\n )\n\nexport default EmailVerificationToken\n"],"mappings":"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","names":["mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","QuoteStatus","Status","CreatedMethod","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","CustomerStatus","bcrypt","mongoose","import_mongoose","mongoose","import_mongoose","OrderStatus","mongoose","import_mongoose","mongoose","import_mongoose","SyncLogType","SyncLogStatus","SyncLogAction","mongoose","import_mongoose","import_mongoose","import_bcryptjs","UserRole","UserStatus","bcrypt","mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose","import_mongoose","mongoose"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -289,4 +289,16 @@ type PasswordResetTokenDoc = HydratedDocument<PasswordResetTokenType>;
|
|
|
289
289
|
type PasswordResetTokenModel = Model<PasswordResetTokenType>;
|
|
290
290
|
declare const PasswordResetToken: PasswordResetTokenModel;
|
|
291
291
|
|
|
292
|
-
|
|
292
|
+
interface EmailVerificationTokenType {
|
|
293
|
+
customer_id: Types.ObjectId;
|
|
294
|
+
token_hash: string;
|
|
295
|
+
expires_at: Date;
|
|
296
|
+
used_at?: Date;
|
|
297
|
+
created_at: Date;
|
|
298
|
+
updated_at?: Date;
|
|
299
|
+
}
|
|
300
|
+
type EmailVerificationTokenDoc = HydratedDocument<EmailVerificationTokenType>;
|
|
301
|
+
type EmailVerificationTokenModel = Model<EmailVerificationTokenType>;
|
|
302
|
+
declare const EmailVerificationToken: EmailVerificationTokenModel;
|
|
303
|
+
|
|
304
|
+
export { _default$1 as Announcement, type AnnouncementType, _default$h as Article, _default$f as ArticleClass, _default$g as ArticleGroup, _default$e as ArticlePrice, _default as Cart, _default$o as Client, _default$m as ClientAddress, type ClientAddressType, _default$n as ClientContact, type ClientContactType, _default$l as ClientPaymentMethod, type ClientPaymentMethodType, _default$k as ClientPaymentTerm, type ClientPaymentTermType, _default$j as ClientPriceList, type ClientPriceListType, _default$i as ClientSalesEmployee, type ClientSalesEmployeeType, type ClientType, CreatedMethod, _default$d as Currency, Customer, type CustomerDoc, type CustomerModel, CustomerStatus, type CustomerType, EmailVerificationToken, type EmailVerificationTokenDoc, type EmailVerificationTokenModel, type EmailVerificationTokenType, FiscalProfile, type FiscalProfileDoc, type FiscalProfileModel, type FiscalProfileType, type ISyncLog, _default$b as InventoryStock, _default$4 as Order, OrderStatus, _default$3 as OrderStatusLog, type OrderStatusLogType, PasswordResetToken, type PasswordResetTokenDoc, type PasswordResetTokenModel, type PasswordResetTokenType, _default$a as PriceList, _default$9 as Quote, _default$8 as QuoteArticle, _default$7 as QuoteArticleExtra, _default$6 as QuoteContact, QuoteStatus, _default$5 as QuoteTerm, RefreshToken, type RefreshTokenDoc, type RefreshTokenModel, type RefreshTokenType, Status, SyncLog, SyncLogAction, SyncLogStatus, SyncLogType, UserRole, UserStatus, type UserType, _default$2 as Users, _default$c as Warehouse };
|
package/dist/index.d.ts
CHANGED
|
@@ -289,4 +289,16 @@ type PasswordResetTokenDoc = HydratedDocument<PasswordResetTokenType>;
|
|
|
289
289
|
type PasswordResetTokenModel = Model<PasswordResetTokenType>;
|
|
290
290
|
declare const PasswordResetToken: PasswordResetTokenModel;
|
|
291
291
|
|
|
292
|
-
|
|
292
|
+
interface EmailVerificationTokenType {
|
|
293
|
+
customer_id: Types.ObjectId;
|
|
294
|
+
token_hash: string;
|
|
295
|
+
expires_at: Date;
|
|
296
|
+
used_at?: Date;
|
|
297
|
+
created_at: Date;
|
|
298
|
+
updated_at?: Date;
|
|
299
|
+
}
|
|
300
|
+
type EmailVerificationTokenDoc = HydratedDocument<EmailVerificationTokenType>;
|
|
301
|
+
type EmailVerificationTokenModel = Model<EmailVerificationTokenType>;
|
|
302
|
+
declare const EmailVerificationToken: EmailVerificationTokenModel;
|
|
303
|
+
|
|
304
|
+
export { _default$1 as Announcement, type AnnouncementType, _default$h as Article, _default$f as ArticleClass, _default$g as ArticleGroup, _default$e as ArticlePrice, _default as Cart, _default$o as Client, _default$m as ClientAddress, type ClientAddressType, _default$n as ClientContact, type ClientContactType, _default$l as ClientPaymentMethod, type ClientPaymentMethodType, _default$k as ClientPaymentTerm, type ClientPaymentTermType, _default$j as ClientPriceList, type ClientPriceListType, _default$i as ClientSalesEmployee, type ClientSalesEmployeeType, type ClientType, CreatedMethod, _default$d as Currency, Customer, type CustomerDoc, type CustomerModel, CustomerStatus, type CustomerType, EmailVerificationToken, type EmailVerificationTokenDoc, type EmailVerificationTokenModel, type EmailVerificationTokenType, FiscalProfile, type FiscalProfileDoc, type FiscalProfileModel, type FiscalProfileType, type ISyncLog, _default$b as InventoryStock, _default$4 as Order, OrderStatus, _default$3 as OrderStatusLog, type OrderStatusLogType, PasswordResetToken, type PasswordResetTokenDoc, type PasswordResetTokenModel, type PasswordResetTokenType, _default$a as PriceList, _default$9 as Quote, _default$8 as QuoteArticle, _default$7 as QuoteArticleExtra, _default$6 as QuoteContact, QuoteStatus, _default$5 as QuoteTerm, RefreshToken, type RefreshTokenDoc, type RefreshTokenModel, type RefreshTokenType, Status, SyncLog, SyncLogAction, SyncLogStatus, SyncLogType, UserRole, UserStatus, type UserType, _default$2 as Users, _default$c as Warehouse };
|
package/dist/index.js
CHANGED
|
@@ -697,7 +697,7 @@ refreshTokenSchema.pre("save", function(next) {
|
|
|
697
697
|
var RefreshToken = mongoose29.models.RefreshToken || model29("RefreshToken", refreshTokenSchema, "refresh_tokens");
|
|
698
698
|
var RefreshTokens_default = RefreshToken;
|
|
699
699
|
|
|
700
|
-
// src/models/
|
|
700
|
+
// src/auth/models/PasswordResetTokens.ts
|
|
701
701
|
import mongoose30, {
|
|
702
702
|
Schema as Schema30,
|
|
703
703
|
model as model30
|
|
@@ -714,8 +714,36 @@ var passwordResetTokenSchema = new Schema30({
|
|
|
714
714
|
passwordResetTokenSchema.index({ token_hash: 1 }, { unique: true });
|
|
715
715
|
passwordResetTokenSchema.index({ expires_at: 1 }, { expireAfterSeconds: 0 });
|
|
716
716
|
passwordResetTokenSchema.index({ customer_id: 1, expires_at: 1 });
|
|
717
|
+
passwordResetTokenSchema.pre("save", function(next) {
|
|
718
|
+
this.updated_at = /* @__PURE__ */ new Date();
|
|
719
|
+
next();
|
|
720
|
+
});
|
|
717
721
|
var PasswordResetToken = mongoose30.models.PasswordResetToken || model30("PasswordResetToken", passwordResetTokenSchema, "password_reset_tokens");
|
|
718
|
-
var
|
|
722
|
+
var PasswordResetTokens_default = PasswordResetToken;
|
|
723
|
+
|
|
724
|
+
// src/auth/models/EmailVerificationTokens.ts
|
|
725
|
+
import mongoose31, {
|
|
726
|
+
Schema as Schema31,
|
|
727
|
+
model as model31
|
|
728
|
+
} from "mongoose";
|
|
729
|
+
var emailVerificationTokenSchema = new Schema31({
|
|
730
|
+
customer_id: { type: Schema31.Types.ObjectId, ref: "Customer", required: true },
|
|
731
|
+
// Store only SHA-256 hash of the opaque email verification token. Never store the raw token.
|
|
732
|
+
token_hash: { type: String, required: true },
|
|
733
|
+
expires_at: { type: Date, required: true },
|
|
734
|
+
used_at: { type: Date },
|
|
735
|
+
created_at: { type: Date, default: Date.now },
|
|
736
|
+
updated_at: { type: Date }
|
|
737
|
+
});
|
|
738
|
+
emailVerificationTokenSchema.index({ token_hash: 1 }, { unique: true });
|
|
739
|
+
emailVerificationTokenSchema.index({ expires_at: 1 }, { expireAfterSeconds: 0 });
|
|
740
|
+
emailVerificationTokenSchema.index({ customer_id: 1, expires_at: 1 });
|
|
741
|
+
var EmailVerificationToken = mongoose31.models.EmailVerificationToken || model31(
|
|
742
|
+
"EmailVerificationToken",
|
|
743
|
+
emailVerificationTokenSchema,
|
|
744
|
+
"email_verification_tokens"
|
|
745
|
+
);
|
|
746
|
+
var EmailVerificationTokens_default = EmailVerificationToken;
|
|
719
747
|
export {
|
|
720
748
|
Announcements_default as Announcement,
|
|
721
749
|
Article_default as Article,
|
|
@@ -733,12 +761,13 @@ export {
|
|
|
733
761
|
CreatedMethod,
|
|
734
762
|
Currencies_default as Currency,
|
|
735
763
|
Customers_default as Customer,
|
|
764
|
+
EmailVerificationTokens_default as EmailVerificationToken,
|
|
736
765
|
FiscalProfileType_default as FiscalProfile,
|
|
737
766
|
InventoryStocks_default as InventoryStock,
|
|
738
767
|
Orders_default as Order,
|
|
739
768
|
OrderStatus,
|
|
740
769
|
OrderStatusLogs_default as OrderStatusLog,
|
|
741
|
-
|
|
770
|
+
PasswordResetTokens_default as PasswordResetToken,
|
|
742
771
|
PriceLists_default as PriceList,
|
|
743
772
|
Quote_default as Quote,
|
|
744
773
|
QuoteArticle_default as QuoteArticle,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +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","../src/carts/models/Carts.ts","../src/auth/models/RefreshTokens.ts","../src/models/PasswordResetToken.ts"],"sourcesContent":["import mongoose, { Schema, model } from \"mongoose\"\n\nexport interface ClientType {\n\tsn_code?: string | null\n\tsn_name?: string | null\n\ttax_id?: string | null\n\tcurrency?: string | null\n\tphone_1?: string | null\n\temail?: string | null\n\tcomments?: string | null\n\tpipedrive_id?: string | null\n\tsap_id?: string | null\n\tdeleted_at?: Date | null\n\tdeleted_by?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientSchema = new Schema<ClientType>(\n\t{\n\t\tsn_code: { type: String, index: true },\n\t\tsn_name: { type: String, required: true },\n\t\ttax_id: { type: String },\n\t\tcurrency: { type: String },\n\t\tphone_1: { type: String },\n\t\temail: { type: String },\n\t\tcomments: { type: String },\n\t\tpipedrive_id: { type: String },\n\t\tsap_id: { type: String },\n\t\tdeleted_at: { type: Date, default: null },\n\t\tdeleted_by: { type: String, default: null },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.Client || model<ClientType>(\"Client\", clientSchema, \"clients\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientContactType {\n\tclient_id: Types.ObjectId\n\tcontact_person_name?: string | null\n\tfirst_name?: string | null\n\tlast_name?: string | null\n\tcontact_phone?: string | null\n\tcontact_email?: string | null\n\tpipedrive_id?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientContactSchema = new Schema<ClientContactType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\tcontact_person_name: { type: String },\n\t\tfirst_name: { type: String },\n\t\tlast_name: { type: String },\n\t\tcontact_phone: { type: String },\n\t\tcontact_email: { type: String },\n\t\tpipedrive_id: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientContact || model<ClientContactType>(\"ClientContact\", clientContactSchema, \"client_contacts\")","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientAddressType {\n\tclient_id: Types.ObjectId\n\taddress_name?: string | null\n\tstreet?: string | null\n\tneighborhood?: string | null\n\tpostal_code?: string | null\n\tcity?: string | null\n\tstate?: string | null\n\tcountry?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientAddressSchema = new Schema<ClientAddressType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\taddress_name: { type: String },\n\t\tstreet: { type: String },\n\t\tneighborhood: { type: String },\n\t\tpostal_code: { type: String },\n\t\tcity: { type: String },\n\t\tstate: { type: String },\n\t\tcountry: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientAddress || model<ClientAddressType>(\n\t\"ClientAddress\",\n\tclientAddressSchema,\n\t\"client_addresses\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientPaymentMethodType {\n\tclient_id: Types.ObjectId\n\tcode?: string | null\n\tdescription?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientPaymentMethodSchema = new Schema<ClientPaymentMethodType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tunique: true,\n\t\t},\n\t\tcode: { type: String },\n\t\tdescription: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientPaymentMethod || model<ClientPaymentMethodType>(\n\t\"ClientPaymentMethod\",\n\tclientPaymentMethodSchema,\n\t\"client_payment_methods\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientPaymentTermType {\n\tclient_id: Types.ObjectId\n\tcode?: string | null\n\tname?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientPaymentTermSchema = new Schema<ClientPaymentTermType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tunique: true,\n\t\t},\n\t\tcode: { type: String },\n\t\tname: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientPaymentTerm || model<ClientPaymentTermType>(\n\t\"ClientPaymentTerm\",\n\tclientPaymentTermSchema,\n\t\"client_payment_terms\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientPriceListType {\n\tclient_id: Types.ObjectId\n\tnumber?: string | null\n\tname?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientPriceListSchema = new Schema<ClientPriceListType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tunique: true,\n\t\t},\n\t\tnumber: { type: String },\n\t\tname: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientPriceList || model<ClientPriceListType>(\n\t\"ClientPriceList\",\n\tclientPriceListSchema,\n\t\"client_price_lists\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientSalesEmployeeType {\n\tclient_id: Types.ObjectId\n\temployee_code?: string | null\n\temployee_name?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientSalesEmployeeSchema = new Schema<ClientSalesEmployeeType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tunique: true,\n\t\t},\n\t\temployee_code: { type: String },\n\t\temployee_name: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientSalesEmployee || model<ClientSalesEmployeeType>(\n\t\"ClientSalesEmployee\",\n\tclientSalesEmployeeSchema,\n\t\"client_sales_employees\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nconst 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 mongoose.models.Article || model(\"Article\", articleSchema, \"articles\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst articleGroupSchema = new Schema({\n\tname: { type: String, required: true },\n\tdescription: { type: String },\n})\n\nexport default mongoose.models.ArticleGroup || model(\"ArticleGroup\", articleGroupSchema, \"article_groups\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst articleClassSchema = new Schema({\n\tname: { type: String, required: true },\n\tdescription: { type: String },\n})\n\nexport default mongoose.models.ArticleClass || model(\"ArticleClass\", articleClassSchema, \"article_classes\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nconst articlePriceSchema = new Schema({\n\tarticle_id: { type: Types.ObjectId, ref: \"Article\", required: true },\n\tprice_list_id: { type: Types.ObjectId, ref: \"PriceList\", required: true },\n\tcurrency_id: { type: Types.ObjectId, ref: \"Currency\", required: true },\n\tprice: { type: Number, required: true },\n\tvalid_from: { type: Date },\n\tvalid_to: { type: Date },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n})\n\nexport default mongoose.models.ArticlePrice || model(\"ArticlePrice\", articlePriceSchema, \"article_prices\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst currencySchema = new Schema({\n\tcode: { type: String, required: true, unique: true },\n\tsymbol: { type: String, required: true },\n\tname: { type: String, required: true },\n})\n\nexport default mongoose.models.Currency || model(\"Currency\", currencySchema, \"currencies\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst warehouseSchema = new Schema({\n\tcode: { type: String, required: true, unique: true },\n\tname: { type: String, required: true },\n\tlocation: { type: String },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n})\n\nexport default mongoose.models.Warehouse || model(\"Warehouse\", warehouseSchema, \"warehouses\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nconst inventoryStockSchema = new Schema({\n\tarticle_id: { type: Types.ObjectId, ref: \"Article\", required: true },\n\twarehouse_id: { type: Types.ObjectId, ref: \"Warehouse\", required: true },\n\tcount: { type: Number, required: true },\n\tmin_stock: { type: Number },\n\tmax_stock: { type: Number },\n\tupdated_at: { type: Date, default: Date.now },\n})\n\nexport default mongoose.models.InventoryStock || model(\"InventoryStock\", inventoryStockSchema, \"inventory_stocks\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst priceListSchema = new Schema({\n\tnumber: { type: String, required: true, unique: true },\n\tname: { type: String, required: true },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n})\n\nexport default mongoose.models.PriceList || model(\"PriceList\", priceListSchema, \"price_lists\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nexport enum QuoteStatus {\n\tOPPORTUNITY = \"OPPORTUNITY\",\n\tQUOTE = \"QUOTE\",\n\tFOLLOWING = \"FOLLOWING\",\n\tNEGOTIATION = \"NEGOTIATION\",\n}\n\nexport enum Status {\n\tOPEN = \"OPEN\",\n\tWIN = \"WIN\",\n\tLOST = \"LOST\",\n\tDELETE = \"DELETE\",\n}\n\nexport enum CreatedMethod {\n\tMANUAL = \"MANUAL\",\n\tCSV = \"CSV\",\n}\n\nconst quoteSchema = new Schema(\n\t{\n\t\tquote_number: { type: Number, required: true },\n\t\tquote_revision: { type: Number, default: 0 },\n\t\tquote_ref: { type: String },\n\t\tcompany: { type: String },\n\t\tcompany_id: { type: Schema.Types.ObjectId, ref: \"Client\", required: true },\n\t\tcompany_pipedrive_id: { type: String },\n\t\tcontact_id: { type: Schema.Types.ObjectId, ref: \"ClientContact\" },\n\t\tproject_name: { type: String },\n\t\tproject_lab: { type: String },\n\t\tpayment_condition: { type: String },\n\t\tpayment_exp: { type: String },\n\t\tterms_ids: [{ type: Schema.Types.ObjectId, ref: \"QuoteTerm\" }],\n\t\tcurrency_id: { type: Schema.Types.ObjectId, ref: \"Currency\" },\n\t\tiva: { type: String },\n\t\tdate: { type: Date },\n\t\tstatus: { type: String, enum: Object.values(Status), default: Status.OPEN },\n\t\tquote_status: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(QuoteStatus),\n\t\t\tdefault: QuoteStatus.OPPORTUNITY,\n\t\t},\n\t\tsap_id: { type: String },\n\t\tsap_quotation_entry: { type: Number },\n\t\tsap_order_entry: { type: Number },\n\t\tpipedrive_id: { type: String },\n\t\tshould_sync: { type: Boolean, default: false },\n\t\tpdf_download_link: { type: String },\n\t\tnotes: { type: String },\n\t\tcreated_method: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(CreatedMethod),\n\t\t\tdefault: CreatedMethod.MANUAL,\n\t\t},\n\t\tcreated_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t\tupdated_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t\tdeleted_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t\tdeleted_at: { type: Date },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.Quote || model(\"Quote\", quoteSchema, \"quotes\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst quoteArticleSchema = new Schema(\n\t{\n\t\tquote_id: { type: Schema.Types.ObjectId, ref: \"Quote\", required: true },\n\t\tarticle_id: { type: Schema.Types.ObjectId, ref: \"Article\" },\n\t\tarticle_number: { type: String },\n\t\tdescription: { type: String },\n\t\tdelivery: { type: String },\n\t\tquantity: { type: Number },\n\t\tprice: { type: Number },\n\t\tunit_price: { type: Number },\n\t\toriginal_price: { type: Number },\n\t\ttotal: { type: Number },\n\t\tutility: { type: Number },\n\t\ttype: { type: String },\n\t\textra_id: { type: Schema.Types.ObjectId, ref: \"QuoteArticleExtra\" },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.QuoteArticle || model(\"QuoteArticle\", quoteArticleSchema, \"quote_articles\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst quoteArticleExtraSchema = new Schema(\n\t{\n\t\tquote_article_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"QuoteArticle\",\n\t\t\trequired: true,\n\t\t},\n\t\tmultiplier: Number,\n\t\tusa_freight: Number,\n\t\tusa_expenses: Number,\n\t\tduty: Number,\n\t\tmex_freight: Number,\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.QuoteArticleExtra || model(\"QuoteArticleExtra\", quoteArticleExtraSchema, \"quote_article_extras\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst quoteContactSchema = new Schema({\n\tquote_id: { type: Schema.Types.ObjectId, ref: \"Quote\", required: true },\n\tname: String,\n\temail: String,\n\tmobile: String,\n\tpipedrive_id: String,\n\tcreated_at: { type: Date, default: Date.now },\n})\n\nexport default mongoose.models.QuoteContact || model(\"QuoteContact\", quoteContactSchema, \"quote_contacts\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst quoteTermSchema = new Schema(\n\t{\n\t\ttitle: String,\n\t\tcontent: { type: String, required: true },\n\t\tcategory: String,\n\t\tis_active: { type: Boolean, default: true },\n\t\tcreated_by: String,\n\t\tupdated_by: String,\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.QuoteTerm || model(\"QuoteTerm\", quoteTermSchema, \"quote_terms\")\n","import mongoose, {\n\tSchema,\n\tmodel,\n\ttype Model,\n\ttype HydratedDocument,\n\ttype Types,\n} from \"mongoose\";\nimport bcrypt from \"bcryptjs\";\n\nexport enum CustomerStatus {\n\tACTIVE = \"active\",\n\tINACTIVE = \"inactive\",\n\tBANNED = \"banned\",\n}\n\nexport interface CustomerType {\n\tfirst_name: string;\n\tlast_name: string;\n\temail: string;\n\tmobile?: string;\n\tpassword: string;\n\tstatus: CustomerStatus;\n\tfiscal_profile_id?: Types.ObjectId;\n\tcreated_at: Date;\n\tupdated_at?: Date;\n\tdeleted_at?: Date;\n}\n\nexport type CustomerDoc = HydratedDocument<CustomerType>;\nexport type CustomerModel = Model<CustomerType>;\n\nconst customerSchema = new Schema<CustomerType>({\n\tfirst_name: { type: String, required: true },\n\tlast_name: { type: String, required: true },\n\temail: { type: String, required: true, unique: true },\n\tmobile: { type: String },\n\tpassword: { type: String, required: true, select: false },\n\tstatus: {\n\t\ttype: String,\n\t\tenum: Object.values(CustomerStatus),\n\t\tdefault: CustomerStatus.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\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\nconst Customer: CustomerModel =\n\t(mongoose.models.Customer as CustomerModel) ||\n\tmodel<CustomerType>(\"Customer\", customerSchema, \"customers\");\n\nexport default Customer;\n","import mongoose, { Schema, model, type Model, type HydratedDocument, type Types } from \"mongoose\";\n\nexport interface FiscalProfileType {\n\tcustomer_id: Types.ObjectId;\n\trfc: string;\n\trazon_social: string;\n\tuso_cfdi: string;\n\tregimen_fiscal: string;\n\tcp: string;\n\tcreated_at: Date;\n\tupdated_at?: Date;\n}\n\nexport type FiscalProfileDoc = HydratedDocument<FiscalProfileType>;\nexport type FiscalProfileModel = Model<FiscalProfileType>;\n\nconst fiscalProfileSchema = new Schema<FiscalProfileType>({\n\tcustomer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n\trfc: { type: String, required: true },\n\trazon_social: { type: String, required: true },\n\tuso_cfdi: { type: String, required: true },\n\tregimen_fiscal: { type: String, required: true },\n\tcp: { type: String, required: true },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n});\n\nconst FiscalProfile: FiscalProfileModel =\n\t(mongoose.models.FiscalProfile as FiscalProfileModel) ||\n\tmodel<FiscalProfileType>(\"FiscalProfile\", fiscalProfileSchema, \"fiscal_profiles\");\n\nexport default FiscalProfile;\n","import mongoose, { Schema, model } from \"mongoose\"\n\nexport enum OrderStatus {\n\tPENDING = \"pending\",\n\tCONFIRMED = \"confirmed\",\n\tSHIPPED = \"shipped\",\n\tCANCELLED = \"cancelled\",\n\tCOMPLETED = \"completed\",\n}\n\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 mongoose.models.Order || model(\"Order\", orderSchema, \"orders\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\nimport { OrderStatus } from \"./Orders\"\n\nexport interface OrderStatusLogType {\n\torder_id: Types.ObjectId\n\tstatus: OrderStatus\n\tchanged_by: Types.ObjectId\n\tchanged_at: Date\n\tnote?: string\n}\n\nconst orderStatusLogSchema = new Schema<OrderStatusLogType>({\n\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 mongoose.models.OrderStatusLog || model<OrderStatusLogType>(\"OrderStatusLog\", orderStatusLogSchema, \"order_status_logs\")\n","import mongoose, { Schema, model, Document, Types } from \"mongoose\"\n\n/**\n * Sync Log Types\n */\nexport enum SyncLogType {\n\tSAP_QUOTATION = \"SAP_QUOTATION\",\n\tSAP_SALES_ORDER = \"SAP_SALES_ORDER\",\n\tPIPEDRIVE = \"PIPEDRIVE\",\n}\n\nexport enum SyncLogStatus {\n\tPENDING = \"PENDING\",\n\tSUCCESS = \"SUCCESS\",\n\tFAILED = \"FAILED\",\n\tRETRYING = \"RETRYING\",\n}\n\nexport enum SyncLogAction {\n\tCREATE = \"CREATE\",\n\tUPDATE = \"UPDATE\",\n\tDELETE = \"DELETE\",\n}\n\nexport interface ISyncLog extends Document {\n\t_id: Types.ObjectId\n\tentity_type: string\n\tentity_id: Types.ObjectId\n\tsync_type: SyncLogType\n\taction: SyncLogAction\n\tstatus: SyncLogStatus\n\terror_message?: string\n\terror_code?: string\n\terror_details?: Record<string, any>\n\trequest_payload?: Record<string, any>\n\tresponse_payload?: Record<string, any>\n\tretry_count: number\n\tmax_retries: number\n\tnext_retry_at?: Date\n\tcreated_at: Date\n\tupdated_at: Date\n\tresolved_at?: Date\n\tresolved_by?: Types.ObjectId\n}\n\nconst syncLogSchema = new Schema(\n\t{\n\t\tentity_type: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\tentity_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\tsync_type: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(SyncLogType),\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\taction: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(SyncLogAction),\n\t\t\trequired: true,\n\t\t},\n\t\tstatus: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(SyncLogStatus),\n\t\t\tdefault: SyncLogStatus.PENDING,\n\t\t\tindex: true,\n\t\t},\n\t\terror_message: { type: String },\n\t\terror_code: { type: String },\n\t\terror_details: { type: Schema.Types.Mixed },\n\t\trequest_payload: { type: Schema.Types.Mixed },\n\t\tresponse_payload: { type: Schema.Types.Mixed },\n\t\tretry_count: { type: Number, default: 0 },\n\t\tmax_retries: { type: Number, default: 3 },\n\t\tnext_retry_at: { type: Date },\n\t\tresolved_at: { type: Date },\n\t\tresolved_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t},\n\t{\n\t\ttimestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" },\n\t}\n)\n\nsyncLogSchema.index({ entity_type: 1, entity_id: 1, status: 1 })\nsyncLogSchema.index({ status: 1, next_retry_at: 1 })\n\nexport const SyncLog = mongoose.models.SyncLog || model<ISyncLog>(\"SyncLog\", syncLogSchema, \"sync_logs\")\n","import mongoose, { Schema, model } from \"mongoose\"\nimport { UserRole } from \"../../users/models/Users\"\n\nexport interface AnnouncementType {\n\tcreated_by: mongoose.Types.ObjectId\n\tupdated_by?: mongoose.Types.ObjectId\n\tdeleted_by?: mongoose.Types.ObjectId\n\n\tcreated_at: Date\n\tupdated_at?: Date\n\tdeleted_at?: Date\n\n\ttitle: string\n\ttext: string\n\troles: UserRole[]\n}\n\nconst announcementSchema = new Schema<AnnouncementType>({\n\tcreated_by: {\n\t\ttype: Schema.Types.ObjectId,\n\t\tref: \"User\",\n\t\trequired: true,\n\t},\n\tupdated_by: {\n\t\ttype: Schema.Types.ObjectId,\n\t\tref: \"User\",\n\t},\n\tdeleted_by: {\n\t\ttype: Schema.Types.ObjectId,\n\t\tref: \"User\",\n\t},\n\n\tcreated_at: {\n\t\ttype: Date,\n\t\tdefault: Date.now,\n\t},\n\tupdated_at: Date,\n\tdeleted_at: Date,\n\n\ttitle: {\n\t\ttype: String,\n\t\trequired: true,\n\t\ttrim: true,\n\t},\n\ttext: {\n\t\ttype: String,\n\t\trequired: true,\n\t\ttrim: true,\n\t},\n\troles: {\n\t\ttype: [String],\n\t\tenum: Object.values(UserRole),\n\t\trequired: true,\n\t\tvalidate: {\n\t\t\tvalidator: (roles: UserRole[]) => roles.length > 0,\n\t\t\tmessage: \"At least one user role must be assigned.\",\n\t\t},\n\t},\n})\n\nexport default mongoose.models.Announcement || model<AnnouncementType>(\"Announcement\", announcementSchema, \"announcements\")\n","import mongoose, { Schema, model } from \"mongoose\"\nimport bcrypt from \"bcryptjs\"\n\nexport enum UserRole {\n ADMIN = \"admin\",\n SALES = \"sales\",\n TECHNICIAN = \"technician\",\n WAREHOUSEMAN = \"warehouseman\",\n}\n\nexport enum UserStatus {\n ACTIVE = \"active\",\n INACTIVE = \"inactive\",\n SUSPENDED = \"suspended\",\n}\n\nexport interface UserType {\n first_name: string\n middle_name?: string\n last_name: string\n username: string\n password: string\n role: UserRole\n status: UserStatus\n email?: string\n mobile?: string\n pipedrive_id?: string\n sap_employee_id?: string\n sap_id?: string\n created_at: Date\n created_by?: mongoose.Types.ObjectId | string\n updated_at?: Date\n updated_by?: mongoose.Types.ObjectId\n deleted_at?: Date\n deleted_by?: mongoose.Types.ObjectId\n}\n\nconst usersSchema = new Schema<UserType>({\n first_name: { type: String, required: true },\n middle_name: { type: String },\n last_name: { type: String, required: true },\n username: { type: String, required: true, unique: true },\n password: { type: String, required: true, select: false },\n role: {\n type: String,\n enum: Object.values(UserRole),\n default: UserRole.SALES,\n },\n status: {\n type: String,\n enum: Object.values(UserStatus),\n default: UserStatus.ACTIVE,\n },\n email: { type: String },\n mobile: { type: String },\n pipedrive_id: { type: String },\n sap_id: { type: String },\n sap_employee_id: { type: String },\n created_at: { type: Date, default: Date.now },\n created_by: { type: Schema.Types.Mixed, ref: \"User\" },\n updated_at: { type: Date },\n updated_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n deleted_at: { type: Date },\n deleted_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n})\n\nusersSchema.pre(\"save\", async function (next) {\n if (this.isModified(\"password\")) {\n this.password = await bcrypt.hash(this.password, 12)\n }\n next()\n})\n\nexport default mongoose.models.User || model<UserType>(\"User\", usersSchema, \"users\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface CartItem {\n\tarticle_id: Schema.Types.ObjectId\n\tquantity: number\n}\n\nexport interface CartType {\n\tcustomer_id: Schema.Types.ObjectId\n\titems: CartItem[]\n\tupdated_at?: Date\n}\n\nconst cartItemSchema = new Schema<CartItem>(\n\t{\n\t\tarticle_id: { type: Types.ObjectId, ref: \"Article\", required: true },\n\t\tquantity: { type: Number, required: true },\n\t},\n\t{ _id: false }\n)\n\nconst cartSchema = new Schema<CartType>({\n\tcustomer_id: {\n\t\ttype: Types.ObjectId,\n\t\tref: \"Customer\",\n\t\trequired: true,\n\t\tunique: true,\n\t},\n\titems: [cartItemSchema],\n\tupdated_at: { type: Date, default: Date.now },\n})\n\nexport default mongoose.models.Cart || model<CartType>(\"Cart\", cartSchema, \"carts\")\n","import mongoose, {\n\tSchema,\n\tmodel,\n\ttype Model,\n\ttype HydratedDocument,\n\ttype Types,\n} from \"mongoose\";\n\nexport interface RefreshTokenType {\n\tcustomer_id: Types.ObjectId;\n\ttoken_hash: string;\n\texpires_at: Date;\n\trevoked_at?: Date;\n\treplaced_by_token_hash?: string;\n\tcreated_at: Date;\n\tupdated_at?: Date;\n}\n\nexport type RefreshTokenDoc = HydratedDocument<RefreshTokenType>;\nexport type RefreshTokenModel = Model<RefreshTokenType>;\n\nconst refreshTokenSchema = new Schema<RefreshTokenType>({\n\tcustomer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n\t// Store only SHA-256 hash of the opaque refresh token (base64url). Never store the raw token.\n\ttoken_hash: { type: String, required: true },\n\texpires_at: { type: Date, required: true },\n\trevoked_at: { type: Date },\n\treplaced_by_token_hash: { type: String },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n});\n\nrefreshTokenSchema.index({ token_hash: 1 }, { unique: true });\nrefreshTokenSchema.index({ expires_at: 1 }, { expireAfterSeconds: 0 });\nrefreshTokenSchema.index({ customer_id: 1, expires_at: 1 });\n\nrefreshTokenSchema.pre(\"save\", function (next) {\n\tthis.updated_at = new Date();\n\tnext();\n});\n\nconst RefreshToken: RefreshTokenModel =\n\t(mongoose.models.RefreshToken as RefreshTokenModel) ||\n\tmodel<RefreshTokenType>(\"RefreshToken\", refreshTokenSchema, \"refresh_tokens\");\n\nexport default RefreshToken;\n","import mongoose, {\n\tSchema,\n\tmodel,\n\ttype Model,\n\ttype HydratedDocument,\n\ttype Types,\n} from \"mongoose\";\n\nexport interface PasswordResetTokenType {\n\tcustomer_id: Types.ObjectId;\n\ttoken_hash: string;\n\texpires_at: Date;\n\tused_at?: Date;\n\tcreated_at: Date;\n\tupdated_at?: Date;\n}\n\nexport type PasswordResetTokenDoc = HydratedDocument<PasswordResetTokenType>;\nexport type PasswordResetTokenModel = Model<PasswordResetTokenType>;\n\nconst passwordResetTokenSchema = new Schema<PasswordResetTokenType>({\n\tcustomer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n\t// Store only SHA-256 hash of the opaque reset token (base64url). Never store the raw token.\n\ttoken_hash: { type: String, required: true },\n\texpires_at: { type: Date, required: true },\n\tused_at: { type: Date },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n});\n\npasswordResetTokenSchema.index({ token_hash: 1 }, { unique: true });\npasswordResetTokenSchema.index({ expires_at: 1 }, { expireAfterSeconds: 0 });\npasswordResetTokenSchema.index({ customer_id: 1, expires_at: 1 });\n\nconst PasswordResetToken: PasswordResetTokenModel =\n\t(mongoose.models.PasswordResetToken as PasswordResetTokenModel) ||\n\tmodel<PasswordResetTokenType>(\"PasswordResetToken\", passwordResetTokenSchema, \"password_reset_tokens\");\n\nexport default PasswordResetToken;\n"],"mappings":"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","names":["mongoose","Schema","model","mongoose","Schema","model","mongoose","Schema","model","mongoose","Schema","model","mongoose","Schema","model","mongoose","Schema","model","mongoose","Schema","model","Types","mongoose","Schema","model","mongoose","Schema","model","mongoose","Schema","model","Types","mongoose","Schema","model","mongoose","Schema","model","mongoose","Schema","model","Types","mongoose","Schema","model","mongoose","Schema","model","QuoteStatus","Status","CreatedMethod","mongoose","Schema","model","mongoose","Schema","model","mongoose","Schema","model","mongoose","Schema","model","mongoose","Schema","model","CustomerStatus","mongoose","Schema","model","mongoose","Schema","model","OrderStatus","mongoose","Schema","model","Schema","mongoose","model","mongoose","Schema","model","SyncLogType","SyncLogStatus","SyncLogAction","mongoose","Schema","model","mongoose","Schema","model","bcrypt","UserRole","UserStatus","Schema","mongoose","model","mongoose","Schema","model","Types","mongoose","Schema","model","mongoose","Schema","model"]}
|
|
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","../src/carts/models/Carts.ts","../src/auth/models/RefreshTokens.ts","../src/auth/models/PasswordResetTokens.ts","../src/auth/models/EmailVerificationTokens.ts"],"sourcesContent":["import mongoose, { Schema, model } from \"mongoose\"\n\nexport interface ClientType {\n\tsn_code?: string | null\n\tsn_name?: string | null\n\ttax_id?: string | null\n\tcurrency?: string | null\n\tphone_1?: string | null\n\temail?: string | null\n\tcomments?: string | null\n\tpipedrive_id?: string | null\n\tsap_id?: string | null\n\tdeleted_at?: Date | null\n\tdeleted_by?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientSchema = new Schema<ClientType>(\n\t{\n\t\tsn_code: { type: String, index: true },\n\t\tsn_name: { type: String, required: true },\n\t\ttax_id: { type: String },\n\t\tcurrency: { type: String },\n\t\tphone_1: { type: String },\n\t\temail: { type: String },\n\t\tcomments: { type: String },\n\t\tpipedrive_id: { type: String },\n\t\tsap_id: { type: String },\n\t\tdeleted_at: { type: Date, default: null },\n\t\tdeleted_by: { type: String, default: null },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.Client || model<ClientType>(\"Client\", clientSchema, \"clients\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientContactType {\n\tclient_id: Types.ObjectId\n\tcontact_person_name?: string | null\n\tfirst_name?: string | null\n\tlast_name?: string | null\n\tcontact_phone?: string | null\n\tcontact_email?: string | null\n\tpipedrive_id?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientContactSchema = new Schema<ClientContactType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\tcontact_person_name: { type: String },\n\t\tfirst_name: { type: String },\n\t\tlast_name: { type: String },\n\t\tcontact_phone: { type: String },\n\t\tcontact_email: { type: String },\n\t\tpipedrive_id: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientContact || model<ClientContactType>(\"ClientContact\", clientContactSchema, \"client_contacts\")","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientAddressType {\n\tclient_id: Types.ObjectId\n\taddress_name?: string | null\n\tstreet?: string | null\n\tneighborhood?: string | null\n\tpostal_code?: string | null\n\tcity?: string | null\n\tstate?: string | null\n\tcountry?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientAddressSchema = new Schema<ClientAddressType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\taddress_name: { type: String },\n\t\tstreet: { type: String },\n\t\tneighborhood: { type: String },\n\t\tpostal_code: { type: String },\n\t\tcity: { type: String },\n\t\tstate: { type: String },\n\t\tcountry: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientAddress || model<ClientAddressType>(\n\t\"ClientAddress\",\n\tclientAddressSchema,\n\t\"client_addresses\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientPaymentMethodType {\n\tclient_id: Types.ObjectId\n\tcode?: string | null\n\tdescription?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientPaymentMethodSchema = new Schema<ClientPaymentMethodType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tunique: true,\n\t\t},\n\t\tcode: { type: String },\n\t\tdescription: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientPaymentMethod || model<ClientPaymentMethodType>(\n\t\"ClientPaymentMethod\",\n\tclientPaymentMethodSchema,\n\t\"client_payment_methods\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientPaymentTermType {\n\tclient_id: Types.ObjectId\n\tcode?: string | null\n\tname?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientPaymentTermSchema = new Schema<ClientPaymentTermType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tunique: true,\n\t\t},\n\t\tcode: { type: String },\n\t\tname: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientPaymentTerm || model<ClientPaymentTermType>(\n\t\"ClientPaymentTerm\",\n\tclientPaymentTermSchema,\n\t\"client_payment_terms\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientPriceListType {\n\tclient_id: Types.ObjectId\n\tnumber?: string | null\n\tname?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientPriceListSchema = new Schema<ClientPriceListType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tunique: true,\n\t\t},\n\t\tnumber: { type: String },\n\t\tname: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientPriceList || model<ClientPriceListType>(\n\t\"ClientPriceList\",\n\tclientPriceListSchema,\n\t\"client_price_lists\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface ClientSalesEmployeeType {\n\tclient_id: Types.ObjectId\n\temployee_code?: string | null\n\temployee_name?: string | null\n\tcreated_at?: Date\n\tupdated_at?: Date\n}\n\nconst clientSalesEmployeeSchema = new Schema<ClientSalesEmployeeType>(\n\t{\n\t\tclient_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"Client\",\n\t\t\trequired: true,\n\t\t\tunique: true,\n\t\t},\n\t\temployee_code: { type: String },\n\t\temployee_name: { type: String },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.ClientSalesEmployee || model<ClientSalesEmployeeType>(\n\t\"ClientSalesEmployee\",\n\tclientSalesEmployeeSchema,\n\t\"client_sales_employees\"\n)\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nconst 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 mongoose.models.Article || model(\"Article\", articleSchema, \"articles\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst articleGroupSchema = new Schema({\n\tname: { type: String, required: true },\n\tdescription: { type: String },\n})\n\nexport default mongoose.models.ArticleGroup || model(\"ArticleGroup\", articleGroupSchema, \"article_groups\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst articleClassSchema = new Schema({\n\tname: { type: String, required: true },\n\tdescription: { type: String },\n})\n\nexport default mongoose.models.ArticleClass || model(\"ArticleClass\", articleClassSchema, \"article_classes\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nconst articlePriceSchema = new Schema({\n\tarticle_id: { type: Types.ObjectId, ref: \"Article\", required: true },\n\tprice_list_id: { type: Types.ObjectId, ref: \"PriceList\", required: true },\n\tcurrency_id: { type: Types.ObjectId, ref: \"Currency\", required: true },\n\tprice: { type: Number, required: true },\n\tvalid_from: { type: Date },\n\tvalid_to: { type: Date },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n})\n\nexport default mongoose.models.ArticlePrice || model(\"ArticlePrice\", articlePriceSchema, \"article_prices\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst currencySchema = new Schema({\n\tcode: { type: String, required: true, unique: true },\n\tsymbol: { type: String, required: true },\n\tname: { type: String, required: true },\n})\n\nexport default mongoose.models.Currency || model(\"Currency\", currencySchema, \"currencies\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst warehouseSchema = new Schema({\n\tcode: { type: String, required: true, unique: true },\n\tname: { type: String, required: true },\n\tlocation: { type: String },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n})\n\nexport default mongoose.models.Warehouse || model(\"Warehouse\", warehouseSchema, \"warehouses\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nconst inventoryStockSchema = new Schema({\n\tarticle_id: { type: Types.ObjectId, ref: \"Article\", required: true },\n\twarehouse_id: { type: Types.ObjectId, ref: \"Warehouse\", required: true },\n\tcount: { type: Number, required: true },\n\tmin_stock: { type: Number },\n\tmax_stock: { type: Number },\n\tupdated_at: { type: Date, default: Date.now },\n})\n\nexport default mongoose.models.InventoryStock || model(\"InventoryStock\", inventoryStockSchema, \"inventory_stocks\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst priceListSchema = new Schema({\n\tnumber: { type: String, required: true, unique: true },\n\tname: { type: String, required: true },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n})\n\nexport default mongoose.models.PriceList || model(\"PriceList\", priceListSchema, \"price_lists\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nexport enum QuoteStatus {\n\tOPPORTUNITY = \"OPPORTUNITY\",\n\tQUOTE = \"QUOTE\",\n\tFOLLOWING = \"FOLLOWING\",\n\tNEGOTIATION = \"NEGOTIATION\",\n}\n\nexport enum Status {\n\tOPEN = \"OPEN\",\n\tWIN = \"WIN\",\n\tLOST = \"LOST\",\n\tDELETE = \"DELETE\",\n}\n\nexport enum CreatedMethod {\n\tMANUAL = \"MANUAL\",\n\tCSV = \"CSV\",\n}\n\nconst quoteSchema = new Schema(\n\t{\n\t\tquote_number: { type: Number, required: true },\n\t\tquote_revision: { type: Number, default: 0 },\n\t\tquote_ref: { type: String },\n\t\tcompany: { type: String },\n\t\tcompany_id: { type: Schema.Types.ObjectId, ref: \"Client\", required: true },\n\t\tcompany_pipedrive_id: { type: String },\n\t\tcontact_id: { type: Schema.Types.ObjectId, ref: \"ClientContact\" },\n\t\tproject_name: { type: String },\n\t\tproject_lab: { type: String },\n\t\tpayment_condition: { type: String },\n\t\tpayment_exp: { type: String },\n\t\tterms_ids: [{ type: Schema.Types.ObjectId, ref: \"QuoteTerm\" }],\n\t\tcurrency_id: { type: Schema.Types.ObjectId, ref: \"Currency\" },\n\t\tiva: { type: String },\n\t\tdate: { type: Date },\n\t\tstatus: { type: String, enum: Object.values(Status), default: Status.OPEN },\n\t\tquote_status: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(QuoteStatus),\n\t\t\tdefault: QuoteStatus.OPPORTUNITY,\n\t\t},\n\t\tsap_id: { type: String },\n\t\tsap_quotation_entry: { type: Number },\n\t\tsap_order_entry: { type: Number },\n\t\tpipedrive_id: { type: String },\n\t\tshould_sync: { type: Boolean, default: false },\n\t\tpdf_download_link: { type: String },\n\t\tnotes: { type: String },\n\t\tcreated_method: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(CreatedMethod),\n\t\t\tdefault: CreatedMethod.MANUAL,\n\t\t},\n\t\tcreated_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t\tupdated_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t\tdeleted_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t\tdeleted_at: { type: Date },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.Quote || model(\"Quote\", quoteSchema, \"quotes\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst quoteArticleSchema = new Schema(\n\t{\n\t\tquote_id: { type: Schema.Types.ObjectId, ref: \"Quote\", required: true },\n\t\tarticle_id: { type: Schema.Types.ObjectId, ref: \"Article\" },\n\t\tarticle_number: { type: String },\n\t\tdescription: { type: String },\n\t\tdelivery: { type: String },\n\t\tquantity: { type: Number },\n\t\tprice: { type: Number },\n\t\tunit_price: { type: Number },\n\t\toriginal_price: { type: Number },\n\t\ttotal: { type: Number },\n\t\tutility: { type: Number },\n\t\ttype: { type: String },\n\t\textra_id: { type: Schema.Types.ObjectId, ref: \"QuoteArticleExtra\" },\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.QuoteArticle || model(\"QuoteArticle\", quoteArticleSchema, \"quote_articles\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst quoteArticleExtraSchema = new Schema(\n\t{\n\t\tquote_article_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\tref: \"QuoteArticle\",\n\t\t\trequired: true,\n\t\t},\n\t\tmultiplier: Number,\n\t\tusa_freight: Number,\n\t\tusa_expenses: Number,\n\t\tduty: Number,\n\t\tmex_freight: Number,\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.QuoteArticleExtra || model(\"QuoteArticleExtra\", quoteArticleExtraSchema, \"quote_article_extras\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst quoteContactSchema = new Schema({\n\tquote_id: { type: Schema.Types.ObjectId, ref: \"Quote\", required: true },\n\tname: String,\n\temail: String,\n\tmobile: String,\n\tpipedrive_id: String,\n\tcreated_at: { type: Date, default: Date.now },\n})\n\nexport default mongoose.models.QuoteContact || model(\"QuoteContact\", quoteContactSchema, \"quote_contacts\")\n","import mongoose, { Schema, model } from \"mongoose\"\n\nconst quoteTermSchema = new Schema(\n\t{\n\t\ttitle: String,\n\t\tcontent: { type: String, required: true },\n\t\tcategory: String,\n\t\tis_active: { type: Boolean, default: true },\n\t\tcreated_by: String,\n\t\tupdated_by: String,\n\t},\n\t{ timestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" } }\n)\n\nexport default mongoose.models.QuoteTerm || model(\"QuoteTerm\", quoteTermSchema, \"quote_terms\")\n","import mongoose, {\n\tSchema,\n\tmodel,\n\ttype Model,\n\ttype HydratedDocument,\n\ttype Types,\n} from \"mongoose\";\nimport bcrypt from \"bcryptjs\";\n\nexport enum CustomerStatus {\n\tACTIVE = \"active\",\n\tINACTIVE = \"inactive\",\n\tBANNED = \"banned\",\n}\n\nexport interface CustomerType {\n\tfirst_name: string;\n\tlast_name: string;\n\temail: string;\n\tmobile?: string;\n\tpassword: string;\n\tstatus: CustomerStatus;\n\tfiscal_profile_id?: Types.ObjectId;\n\tcreated_at: Date;\n\tupdated_at?: Date;\n\tdeleted_at?: Date;\n}\n\nexport type CustomerDoc = HydratedDocument<CustomerType>;\nexport type CustomerModel = Model<CustomerType>;\n\nconst customerSchema = new Schema<CustomerType>({\n\tfirst_name: { type: String, required: true },\n\tlast_name: { type: String, required: true },\n\temail: { type: String, required: true, unique: true },\n\tmobile: { type: String },\n\tpassword: { type: String, required: true, select: false },\n\tstatus: {\n\t\ttype: String,\n\t\tenum: Object.values(CustomerStatus),\n\t\tdefault: CustomerStatus.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\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\nconst Customer: CustomerModel =\n\t(mongoose.models.Customer as CustomerModel) ||\n\tmodel<CustomerType>(\"Customer\", customerSchema, \"customers\");\n\nexport default Customer;\n","import mongoose, { Schema, model, type Model, type HydratedDocument, type Types } from \"mongoose\";\n\nexport interface FiscalProfileType {\n\tcustomer_id: Types.ObjectId;\n\trfc: string;\n\trazon_social: string;\n\tuso_cfdi: string;\n\tregimen_fiscal: string;\n\tcp: string;\n\tcreated_at: Date;\n\tupdated_at?: Date;\n}\n\nexport type FiscalProfileDoc = HydratedDocument<FiscalProfileType>;\nexport type FiscalProfileModel = Model<FiscalProfileType>;\n\nconst fiscalProfileSchema = new Schema<FiscalProfileType>({\n\tcustomer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n\trfc: { type: String, required: true },\n\trazon_social: { type: String, required: true },\n\tuso_cfdi: { type: String, required: true },\n\tregimen_fiscal: { type: String, required: true },\n\tcp: { type: String, required: true },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n});\n\nconst FiscalProfile: FiscalProfileModel =\n\t(mongoose.models.FiscalProfile as FiscalProfileModel) ||\n\tmodel<FiscalProfileType>(\"FiscalProfile\", fiscalProfileSchema, \"fiscal_profiles\");\n\nexport default FiscalProfile;\n","import mongoose, { Schema, model } from \"mongoose\"\n\nexport enum OrderStatus {\n\tPENDING = \"pending\",\n\tCONFIRMED = \"confirmed\",\n\tSHIPPED = \"shipped\",\n\tCANCELLED = \"cancelled\",\n\tCOMPLETED = \"completed\",\n}\n\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 mongoose.models.Order || model(\"Order\", orderSchema, \"orders\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\nimport { OrderStatus } from \"./Orders\"\n\nexport interface OrderStatusLogType {\n\torder_id: Types.ObjectId\n\tstatus: OrderStatus\n\tchanged_by: Types.ObjectId\n\tchanged_at: Date\n\tnote?: string\n}\n\nconst orderStatusLogSchema = new Schema<OrderStatusLogType>({\n\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 mongoose.models.OrderStatusLog || model<OrderStatusLogType>(\"OrderStatusLog\", orderStatusLogSchema, \"order_status_logs\")\n","import mongoose, { Schema, model, Document, Types } from \"mongoose\"\n\n/**\n * Sync Log Types\n */\nexport enum SyncLogType {\n\tSAP_QUOTATION = \"SAP_QUOTATION\",\n\tSAP_SALES_ORDER = \"SAP_SALES_ORDER\",\n\tPIPEDRIVE = \"PIPEDRIVE\",\n}\n\nexport enum SyncLogStatus {\n\tPENDING = \"PENDING\",\n\tSUCCESS = \"SUCCESS\",\n\tFAILED = \"FAILED\",\n\tRETRYING = \"RETRYING\",\n}\n\nexport enum SyncLogAction {\n\tCREATE = \"CREATE\",\n\tUPDATE = \"UPDATE\",\n\tDELETE = \"DELETE\",\n}\n\nexport interface ISyncLog extends Document {\n\t_id: Types.ObjectId\n\tentity_type: string\n\tentity_id: Types.ObjectId\n\tsync_type: SyncLogType\n\taction: SyncLogAction\n\tstatus: SyncLogStatus\n\terror_message?: string\n\terror_code?: string\n\terror_details?: Record<string, any>\n\trequest_payload?: Record<string, any>\n\tresponse_payload?: Record<string, any>\n\tretry_count: number\n\tmax_retries: number\n\tnext_retry_at?: Date\n\tcreated_at: Date\n\tupdated_at: Date\n\tresolved_at?: Date\n\tresolved_by?: Types.ObjectId\n}\n\nconst syncLogSchema = new Schema(\n\t{\n\t\tentity_type: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\tentity_id: {\n\t\t\ttype: Schema.Types.ObjectId,\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\tsync_type: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(SyncLogType),\n\t\t\trequired: true,\n\t\t\tindex: true,\n\t\t},\n\t\taction: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(SyncLogAction),\n\t\t\trequired: true,\n\t\t},\n\t\tstatus: {\n\t\t\ttype: String,\n\t\t\tenum: Object.values(SyncLogStatus),\n\t\t\tdefault: SyncLogStatus.PENDING,\n\t\t\tindex: true,\n\t\t},\n\t\terror_message: { type: String },\n\t\terror_code: { type: String },\n\t\terror_details: { type: Schema.Types.Mixed },\n\t\trequest_payload: { type: Schema.Types.Mixed },\n\t\tresponse_payload: { type: Schema.Types.Mixed },\n\t\tretry_count: { type: Number, default: 0 },\n\t\tmax_retries: { type: Number, default: 3 },\n\t\tnext_retry_at: { type: Date },\n\t\tresolved_at: { type: Date },\n\t\tresolved_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n\t},\n\t{\n\t\ttimestamps: { createdAt: \"created_at\", updatedAt: \"updated_at\" },\n\t}\n)\n\nsyncLogSchema.index({ entity_type: 1, entity_id: 1, status: 1 })\nsyncLogSchema.index({ status: 1, next_retry_at: 1 })\n\nexport const SyncLog = mongoose.models.SyncLog || model<ISyncLog>(\"SyncLog\", syncLogSchema, \"sync_logs\")\n","import mongoose, { Schema, model } from \"mongoose\"\nimport { UserRole } from \"../../users/models/Users\"\n\nexport interface AnnouncementType {\n\tcreated_by: mongoose.Types.ObjectId\n\tupdated_by?: mongoose.Types.ObjectId\n\tdeleted_by?: mongoose.Types.ObjectId\n\n\tcreated_at: Date\n\tupdated_at?: Date\n\tdeleted_at?: Date\n\n\ttitle: string\n\ttext: string\n\troles: UserRole[]\n}\n\nconst announcementSchema = new Schema<AnnouncementType>({\n\tcreated_by: {\n\t\ttype: Schema.Types.ObjectId,\n\t\tref: \"User\",\n\t\trequired: true,\n\t},\n\tupdated_by: {\n\t\ttype: Schema.Types.ObjectId,\n\t\tref: \"User\",\n\t},\n\tdeleted_by: {\n\t\ttype: Schema.Types.ObjectId,\n\t\tref: \"User\",\n\t},\n\n\tcreated_at: {\n\t\ttype: Date,\n\t\tdefault: Date.now,\n\t},\n\tupdated_at: Date,\n\tdeleted_at: Date,\n\n\ttitle: {\n\t\ttype: String,\n\t\trequired: true,\n\t\ttrim: true,\n\t},\n\ttext: {\n\t\ttype: String,\n\t\trequired: true,\n\t\ttrim: true,\n\t},\n\troles: {\n\t\ttype: [String],\n\t\tenum: Object.values(UserRole),\n\t\trequired: true,\n\t\tvalidate: {\n\t\t\tvalidator: (roles: UserRole[]) => roles.length > 0,\n\t\t\tmessage: \"At least one user role must be assigned.\",\n\t\t},\n\t},\n})\n\nexport default mongoose.models.Announcement || model<AnnouncementType>(\"Announcement\", announcementSchema, \"announcements\")\n","import mongoose, { Schema, model } from \"mongoose\"\nimport bcrypt from \"bcryptjs\"\n\nexport enum UserRole {\n ADMIN = \"admin\",\n SALES = \"sales\",\n TECHNICIAN = \"technician\",\n WAREHOUSEMAN = \"warehouseman\",\n}\n\nexport enum UserStatus {\n ACTIVE = \"active\",\n INACTIVE = \"inactive\",\n SUSPENDED = \"suspended\",\n}\n\nexport interface UserType {\n first_name: string\n middle_name?: string\n last_name: string\n username: string\n password: string\n role: UserRole\n status: UserStatus\n email?: string\n mobile?: string\n pipedrive_id?: string\n sap_employee_id?: string\n sap_id?: string\n created_at: Date\n created_by?: mongoose.Types.ObjectId | string\n updated_at?: Date\n updated_by?: mongoose.Types.ObjectId\n deleted_at?: Date\n deleted_by?: mongoose.Types.ObjectId\n}\n\nconst usersSchema = new Schema<UserType>({\n first_name: { type: String, required: true },\n middle_name: { type: String },\n last_name: { type: String, required: true },\n username: { type: String, required: true, unique: true },\n password: { type: String, required: true, select: false },\n role: {\n type: String,\n enum: Object.values(UserRole),\n default: UserRole.SALES,\n },\n status: {\n type: String,\n enum: Object.values(UserStatus),\n default: UserStatus.ACTIVE,\n },\n email: { type: String },\n mobile: { type: String },\n pipedrive_id: { type: String },\n sap_id: { type: String },\n sap_employee_id: { type: String },\n created_at: { type: Date, default: Date.now },\n created_by: { type: Schema.Types.Mixed, ref: \"User\" },\n updated_at: { type: Date },\n updated_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n deleted_at: { type: Date },\n deleted_by: { type: Schema.Types.ObjectId, ref: \"User\" },\n})\n\nusersSchema.pre(\"save\", async function (next) {\n if (this.isModified(\"password\")) {\n this.password = await bcrypt.hash(this.password, 12)\n }\n next()\n})\n\nexport default mongoose.models.User || model<UserType>(\"User\", usersSchema, \"users\")\n","import mongoose, { Schema, model, Types } from \"mongoose\"\n\nexport interface CartItem {\n\tarticle_id: Schema.Types.ObjectId\n\tquantity: number\n}\n\nexport interface CartType {\n\tcustomer_id: Schema.Types.ObjectId\n\titems: CartItem[]\n\tupdated_at?: Date\n}\n\nconst cartItemSchema = new Schema<CartItem>(\n\t{\n\t\tarticle_id: { type: Types.ObjectId, ref: \"Article\", required: true },\n\t\tquantity: { type: Number, required: true },\n\t},\n\t{ _id: false }\n)\n\nconst cartSchema = new Schema<CartType>({\n\tcustomer_id: {\n\t\ttype: Types.ObjectId,\n\t\tref: \"Customer\",\n\t\trequired: true,\n\t\tunique: true,\n\t},\n\titems: [cartItemSchema],\n\tupdated_at: { type: Date, default: Date.now },\n})\n\nexport default mongoose.models.Cart || model<CartType>(\"Cart\", cartSchema, \"carts\")\n","import mongoose, {\n\tSchema,\n\tmodel,\n\ttype Model,\n\ttype HydratedDocument,\n\ttype Types,\n} from \"mongoose\";\n\nexport interface RefreshTokenType {\n\tcustomer_id: Types.ObjectId;\n\ttoken_hash: string;\n\texpires_at: Date;\n\trevoked_at?: Date;\n\treplaced_by_token_hash?: string;\n\tcreated_at: Date;\n\tupdated_at?: Date;\n}\n\nexport type RefreshTokenDoc = HydratedDocument<RefreshTokenType>;\nexport type RefreshTokenModel = Model<RefreshTokenType>;\n\nconst refreshTokenSchema = new Schema<RefreshTokenType>({\n\tcustomer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n\t// Store only SHA-256 hash of the opaque refresh token (base64url). Never store the raw token.\n\ttoken_hash: { type: String, required: true },\n\texpires_at: { type: Date, required: true },\n\trevoked_at: { type: Date },\n\treplaced_by_token_hash: { type: String },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n});\n\nrefreshTokenSchema.index({ token_hash: 1 }, { unique: true });\nrefreshTokenSchema.index({ expires_at: 1 }, { expireAfterSeconds: 0 });\nrefreshTokenSchema.index({ customer_id: 1, expires_at: 1 });\n\nrefreshTokenSchema.pre(\"save\", function (next) {\n\tthis.updated_at = new Date();\n\tnext();\n});\n\nconst RefreshToken: RefreshTokenModel =\n\t(mongoose.models.RefreshToken as RefreshTokenModel) ||\n\tmodel<RefreshTokenType>(\"RefreshToken\", refreshTokenSchema, \"refresh_tokens\");\n\nexport default RefreshToken;\n","import mongoose, {\n\tSchema,\n\tmodel,\n\ttype Model,\n\ttype HydratedDocument,\n\ttype Types,\n} from \"mongoose\";\n\nexport interface PasswordResetTokenType {\n\tcustomer_id: Types.ObjectId;\n\ttoken_hash: string;\n\texpires_at: Date;\n\tused_at?: Date;\n\tcreated_at: Date;\n\tupdated_at?: Date;\n}\n\nexport type PasswordResetTokenDoc = HydratedDocument<PasswordResetTokenType>;\nexport type PasswordResetTokenModel = Model<PasswordResetTokenType>;\n\nconst passwordResetTokenSchema = new Schema<PasswordResetTokenType>({\n\tcustomer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n\t// Store only SHA-256 hash of the opaque reset token (base64url). Never store the raw token.\n\ttoken_hash: { type: String, required: true },\n\texpires_at: { type: Date, required: true },\n\tused_at: { type: Date },\n\tcreated_at: { type: Date, default: Date.now },\n\tupdated_at: { type: Date },\n});\n\npasswordResetTokenSchema.index({ token_hash: 1 }, { unique: true });\npasswordResetTokenSchema.index({ expires_at: 1 }, { expireAfterSeconds: 0 });\npasswordResetTokenSchema.index({ customer_id: 1, expires_at: 1 });\n\npasswordResetTokenSchema.pre(\"save\", function (next) {\n\tthis.updated_at = new Date();\n\tnext();\n});\n\nconst PasswordResetToken: PasswordResetTokenModel =\n\t(mongoose.models.PasswordResetToken as PasswordResetTokenModel) ||\n\tmodel<PasswordResetTokenType>(\"PasswordResetToken\", passwordResetTokenSchema, \"password_reset_tokens\");\n\nexport default PasswordResetToken;\n","import mongoose, {\n Schema,\n model,\n type Model,\n type HydratedDocument,\n type Types,\n} from \"mongoose\"\n\nexport interface EmailVerificationTokenType {\n customer_id: Types.ObjectId\n token_hash: string\n expires_at: Date\n used_at?: Date\n created_at: Date\n updated_at?: Date\n}\n\nexport type EmailVerificationTokenDoc =\n HydratedDocument<EmailVerificationTokenType>\nexport type EmailVerificationTokenModel = Model<EmailVerificationTokenType>\n\nconst emailVerificationTokenSchema = new Schema<EmailVerificationTokenType>({\n customer_id: { type: Schema.Types.ObjectId, ref: \"Customer\", required: true },\n // Store only SHA-256 hash of the opaque email verification token. Never store the raw token.\n token_hash: { type: String, required: true },\n expires_at: { type: Date, required: true },\n used_at: { type: Date },\n created_at: { type: Date, default: Date.now },\n updated_at: { type: Date },\n})\n\nemailVerificationTokenSchema.index({ token_hash: 1 }, { unique: true })\nemailVerificationTokenSchema.index({ expires_at: 1 }, { expireAfterSeconds: 0 })\nemailVerificationTokenSchema.index({ customer_id: 1, expires_at: 1 })\n\nconst EmailVerificationToken: EmailVerificationTokenModel =\n (mongoose.models.EmailVerificationToken as EmailVerificationTokenModel) ||\n model<EmailVerificationTokenType>(\n \"EmailVerificationToken\",\n emailVerificationTokenSchema,\n \"email_verification_tokens\"\n )\n\nexport default EmailVerificationToken\n"],"mappings":"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","names":["mongoose","Schema","model","mongoose","Schema","model","mongoose","Schema","model","mongoose","Schema","model","mongoose","Schema","model","mongoose","Schema","model","mongoose","Schema","model","Types","mongoose","Schema","model","mongoose","Schema","model","mongoose","Schema","model","Types","mongoose","Schema","model","mongoose","Schema","model","mongoose","Schema","model","Types","mongoose","Schema","model","mongoose","Schema","model","QuoteStatus","Status","CreatedMethod","mongoose","Schema","model","mongoose","Schema","model","mongoose","Schema","model","mongoose","Schema","model","mongoose","Schema","model","CustomerStatus","mongoose","Schema","model","mongoose","Schema","model","OrderStatus","mongoose","Schema","model","Schema","mongoose","model","mongoose","Schema","model","SyncLogType","SyncLogStatus","SyncLogAction","mongoose","Schema","model","mongoose","Schema","model","bcrypt","UserRole","UserStatus","Schema","mongoose","model","mongoose","Schema","model","Types","mongoose","Schema","model","mongoose","Schema","model","mongoose","Schema","model"]}
|