orbitx-core-models 11.54.0 → 11.55.0

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.
@@ -53,6 +53,10 @@ export interface IWidgetConfig {
53
53
  animation?: "bounce-in" | "fade" | "slide-up";
54
54
  features?: ("file-upload" | "emoji-support" | "sound" | "email-transcript")[];
55
55
  }
56
+ export interface IAvatar {
57
+ name?: string;
58
+ url?: string;
59
+ }
56
60
  export interface ICompany {
57
61
  _id?: Types.ObjectId;
58
62
  basicInfo: IBasicInfo;
@@ -64,18 +68,8 @@ export interface ICompany {
64
68
  stripeCustomerId?: string;
65
69
  isSubscriptionActive?: boolean;
66
70
  subscription?: Types.ObjectId;
71
+ avatars?: IAvatar[];
67
72
  createdAt?: Date;
68
73
  updatedAt?: Date;
69
- hubspotIntegration?: IHubspotIntegration;
70
- }
71
- export interface IHubspotIntegration {
72
- isConnected: boolean;
73
- isSyncActive: boolean;
74
- accessToken?: string;
75
- refreshToken?: string;
76
- tokenExpiresAt?: Date;
77
- hubId?: string;
78
- accountName?: string;
79
- lastSyncedAt?: Date;
80
74
  }
81
75
  //# sourceMappingURL=company.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"company.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/company.interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"company.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/company.interface.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- // Then add it to the main interfaces:
4
- // In IUser, ICompany, and IPartner, add:
@@ -40,16 +40,5 @@ export interface IPartner {
40
40
  status: "Active" | "Inactive";
41
41
  createdAt?: Date;
42
42
  updatedAt?: Date;
43
- hubspotIntegration?: IHubspotIntegration;
44
- }
45
- export interface IHubspotIntegration {
46
- isConnected: boolean;
47
- isSyncActive: boolean;
48
- accessToken?: string;
49
- refreshToken?: string;
50
- tokenExpiresAt?: Date;
51
- hubId?: string;
52
- accountName?: string;
53
- lastSyncedAt?: Date;
54
43
  }
55
44
  //# sourceMappingURL=partner.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"partner.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/partner.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,WAAW,CAAC;IACxB,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC;IACzB,yBAAyB,EAAE,OAAO,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,GAAG,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC;IACrB,WAAW,EAAE,YAAY,CAAC;IAC1B,UAAU,EAAE,WAAW,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC9B,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;CAC1C;AAGD,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB"}
1
+ {"version":3,"file":"partner.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/partner.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,WAAW,CAAC;IACxB,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC;IACzB,yBAAyB,EAAE,OAAO,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,GAAG,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC;IACrB,WAAW,EAAE,YAAY,CAAC;IAC1B,UAAU,EAAE,WAAW,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC9B,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB"}
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- // Then add it to the main interfaces:
@@ -1,29 +1,23 @@
1
- import { Document, Types } from "mongoose";
2
- export interface IUser extends Document {
1
+ import mongoose from "mongoose";
2
+ export interface IUser extends mongoose.Document {
3
3
  name?: string;
4
4
  email?: string;
5
5
  username?: string;
6
6
  password?: string;
7
- profile: string;
8
- role: "user" | "account-manager" | "manager-ops" | "admin" | "agent-chat";
9
- ownerType?: "Company" | "Partner" | "ORBITXPRO";
10
- owner?: Types.ObjectId;
7
+ profile?: string;
8
+ role: "user" | "account-manager" | "manager-ops" | "admin" | "agent-chat" | "client-operator" | "partner";
9
+ ownerType: "Company" | "Partner" | "ORBITXPRO";
10
+ owner: mongoose.Types.ObjectId;
11
+ maxConcurrentChats?: number;
12
+ groupId?: mongoose.Types.ObjectId;
13
+ currentStatus?: "online" | "offline" | "away";
14
+ activeChats?: number;
11
15
  ipAddress?: string;
12
- currentStatus: string;
13
16
  lastLogin?: Date;
14
17
  lockedOut?: boolean;
15
- userId?: string;
16
- hubspotIntegration?: IHubspotIntegration;
17
- compare: (inputPassword: string) => Promise<boolean>;
18
- }
19
- export interface IHubspotIntegration {
20
- isConnected: boolean;
21
- isSyncActive: boolean;
22
- accessToken?: string;
23
- refreshToken?: string;
24
- tokenExpiresAt?: Date;
25
- hubId?: string;
26
- accountName?: string;
27
- lastSyncedAt?: Date;
18
+ userId: string;
19
+ createdAt?: Date;
20
+ updatedAt?: Date;
21
+ comparePassword(inputPassword: string): Promise<boolean>;
28
22
  }
29
23
  //# sourceMappingURL=user.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/user.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAE3C,MAAM,WAAW,KAAM,SAAQ,QAAQ;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,aAAa,GAAG,OAAO,GAAG,YAAY,CAAC;IAC1E,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IAChD,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;IACzC,OAAO,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACtD;AAGD,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB"}
1
+ {"version":3,"file":"user.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/user.interface.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,MAAM,WAAW,KAAM,SAAQ,QAAQ,CAAC,QAAQ;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EACA,MAAM,GACN,iBAAiB,GACjB,aAAa,GACb,OAAO,GACP,YAAY,GACZ,iBAAiB,GACjB,SAAS,CAAC;IACd,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IAC/C,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;IAClC,aAAa,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"company.model.d.ts","sourceRoot":"","sources":["../../src/models/company.model.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAU,KAAK,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAoB,MAAM,iCAAiC,CAAC;AA4N7E,eAAO,MAAM,OAAO;;;;OAAqD,CAAC;AAC1E,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"company.model.d.ts","sourceRoot":"","sources":["../../src/models/company.model.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAU,KAAK,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAoB,MAAM,iCAAiC,CAAC;AAsN7E,eAAO,MAAM,OAAO;;;;OAAqD,CAAC;AAC1E,eAAe,OAAO,CAAC"}
@@ -61,16 +61,6 @@ const hourSchema = new mongoose_1.Schema({
61
61
  }, { _id: false });
62
62
  // Company Schema
63
63
  const companySchema = new mongoose_1.Schema({
64
- hubspotIntegration: {
65
- isConnected: { type: Boolean, default: false },
66
- isSyncActive: { type: Boolean, default: false },
67
- accessToken: { type: String, default: null },
68
- refreshToken: { type: String, default: null },
69
- tokenExpiresAt: { type: Date, default: null },
70
- hubId: { type: String, default: null },
71
- accountName: { type: String, default: null },
72
- lastSyncedAt: { type: Date, default: null }
73
- },
74
64
  basicInfo: {
75
65
  companyId: {
76
66
  type: String,
@@ -213,6 +203,12 @@ const companySchema = new mongoose_1.Schema({
213
203
  type: mongoose_1.Schema.Types.ObjectId,
214
204
  ref: "Subscription",
215
205
  },
206
+ avatars: [
207
+ {
208
+ name: { type: String, trim: true },
209
+ url: { type: String, trim: true },
210
+ },
211
+ ],
216
212
  }, {
217
213
  timestamps: true,
218
214
  toJSON: { virtuals: true },
@@ -1 +1 @@
1
- {"version":3,"file":"partner.model.d.ts","sourceRoot":"","sources":["../../src/models/partner.model.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAU,KAAK,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EACL,QAAQ,EAGT,MAAM,iCAAiC,CAAC;AA4HzC,eAAO,MAAM,OAAO;;;;OAAqD,CAAC;AAC1E,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"partner.model.d.ts","sourceRoot":"","sources":["../../src/models/partner.model.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAU,KAAK,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EACL,QAAQ,EAGT,MAAM,iCAAiC,CAAC;AAiHzC,eAAO,MAAM,OAAO;;;;OAAqD,CAAC;AAC1E,eAAe,OAAO,CAAC"}
@@ -103,16 +103,6 @@ const payoutTierSchema = new mongoose_1.Schema({
103
103
  _id: false,
104
104
  });
105
105
  const partnerSchema = new mongoose_1.Schema({
106
- hubspotIntegration: {
107
- isConnected: { type: Boolean, default: false },
108
- isSyncActive: { type: Boolean, default: false },
109
- accessToken: { type: String, default: null },
110
- refreshToken: { type: String, default: null },
111
- tokenExpiresAt: { type: Date, default: null },
112
- hubId: { type: String, default: null },
113
- accountName: { type: String, default: null },
114
- lastSyncedAt: { type: Date, default: null }
115
- },
116
106
  accountInfo: accountInfoSchema,
117
107
  payoutTier: payoutTierSchema,
118
108
  referralLink: { type: String, trim: true },
@@ -1 +1 @@
1
- {"version":3,"file":"user.model.d.ts","sourceRoot":"","sources":["../../src/models/user.model.ts"],"names":[],"mappings":"AAAA,OAAO,QAAoB,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAuDrD,eAAO,MAAM,IAAI;;;;OAA4C,CAAC"}
1
+ {"version":3,"file":"user.model.d.ts","sourceRoot":"","sources":["../../src/models/user.model.ts"],"names":[],"mappings":"AAAA,OAAO,QAAoB,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AA0IrD,eAAO,MAAM,IAAI;;;;OAA4C,CAAC"}
@@ -40,51 +40,115 @@ exports.User = void 0;
40
40
  const mongoose_1 = __importStar(require("mongoose"));
41
41
  const argon2_1 = __importDefault(require("argon2"));
42
42
  const userSchema = new mongoose_1.Schema({
43
- hubspotIntegration: {
44
- isConnected: { type: Boolean, default: false },
45
- isSyncActive: { type: Boolean, default: false },
46
- accessToken: { type: String, default: null },
47
- refreshToken: { type: String, default: null },
48
- tokenExpiresAt: { type: Date, default: null },
49
- hubId: { type: String, default: null },
50
- accountName: { type: String, default: null },
51
- lastSyncedAt: { type: Date, default: null }
43
+ name: { type: String, trim: true },
44
+ email: {
45
+ type: String,
46
+ trim: true,
47
+ lowercase: true,
48
+ index: true,
49
+ sparse: true,
50
+ },
51
+ username: {
52
+ type: String,
53
+ trim: true,
54
+ index: true,
52
55
  },
53
- name: String,
54
- email: String,
55
- username: String,
56
56
  password: { type: String, select: false },
57
57
  profile: { type: String, default: "default.jpg" },
58
+ // ─────────────────────────────────────────────
59
+ // ROLE SYSTEM (EXTENDED, NOT BREAKING)
60
+ // ─────────────────────────────────────────────
58
61
  role: {
59
62
  type: String,
60
- enum: ["user", "account-manager", "manager-ops", "admin", "agent-chat"],
63
+ enum: [
64
+ "user",
65
+ "account-manager",
66
+ "manager-ops",
67
+ "admin",
68
+ "agent-chat",
69
+ "client-operator", // NEW
70
+ "partner", // NEW
71
+ ],
61
72
  default: "user",
73
+ index: true,
62
74
  },
75
+ // ─────────────────────────────────────────────
76
+ // MULTI-TENANT OWNERSHIP
77
+ // ─────────────────────────────────────────────
63
78
  ownerType: {
64
79
  type: String,
65
80
  enum: ["Company", "Partner", "ORBITXPRO"],
81
+ required: true,
82
+ index: true,
83
+ },
84
+ owner: {
85
+ type: mongoose_1.Schema.Types.ObjectId,
86
+ refPath: "ownerType",
87
+ required: true,
88
+ index: true,
66
89
  },
67
- owner: { type: mongoose_1.Schema.Types.ObjectId, refPath: "ownerType" },
90
+ // ─────────────────────────────────────────────
91
+ // CHAT FIELDS (FLAT — NO NESTING)
92
+ // ─────────────────────────────────────────────
93
+ maxConcurrentChats: {
94
+ type: Number,
95
+ default: 5,
96
+ },
97
+ groupId: {
98
+ type: mongoose_1.Schema.Types.ObjectId,
99
+ ref: "Group",
100
+ index: true,
101
+ },
102
+ // persistent fallback only
103
+ currentStatus: {
104
+ type: String,
105
+ enum: ["online", "offline", "away"],
106
+ default: "offline",
107
+ index: true,
108
+ },
109
+ // optional (derived from Redis ideally)
110
+ activeChats: {
111
+ type: Number,
112
+ default: 0,
113
+ },
114
+ // ─────────────────────────────────────────────
115
+ // SECURITY
116
+ // ─────────────────────────────────────────────
68
117
  ipAddress: String,
69
- currentStatus: { type: String, default: "Offline" },
70
118
  lastLogin: Date,
71
- lockedOut: { type: Boolean },
72
- userId: { type: String, unique: true },
73
- });
74
- // Hash password before saving if modified
75
- userSchema.pre("save", async function (next) {
119
+ lockedOut: {
120
+ type: Boolean,
121
+ default: false,
122
+ },
123
+ userId: {
124
+ type: String,
125
+ unique: true,
126
+ index: true,
127
+ },
128
+ }, { timestamps: true });
129
+ // ─────────────────────────────────────────────
130
+ // PASSWORD HASH
131
+ // ─────────────────────────────────────────────
132
+ userSchema.pre("save", async function () {
76
133
  if (!this.isModified("password") || !this.password)
77
- return next();
134
+ return;
78
135
  this.password = await argon2_1.default.hash(this.password, {
79
- type: argon2_1.default.argon2i,
80
- timeCost: 2,
136
+ type: argon2_1.default.argon2id,
137
+ timeCost: 3,
138
+ memoryCost: 2 ** 16,
81
139
  });
82
- next();
83
140
  });
84
- // Compare password
85
- userSchema.methods.compare = async function (userPassword, inputPassword) {
141
+ // ─────────────────────────────────────────────
142
+ // PASSWORD COMPARE (FIXED)
143
+ // ─────────────────────────────────────────────
144
+ userSchema.methods.comparePassword = async function (inputPassword) {
86
145
  if (!this.password)
87
146
  return false;
88
- return await argon2_1.default.verify(userPassword, inputPassword);
147
+ return await argon2_1.default.verify(this.password, inputPassword);
89
148
  };
149
+ // ─────────────────────────────────────────────
150
+ // INDEXES (IMPORTANT)
151
+ // ─────────────────────────────────────────────
152
+ userSchema.index({ owner: 1, ownerType: 1 });
153
+ userSchema.index({ role: 1, ownerType: 1 });
90
154
  exports.User = mongoose_1.default.model("User", userSchema);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orbitx-core-models",
3
- "version": "11.54.0",
3
+ "version": "11.55.0",
4
4
  "description": "Shared Mongoose models and interfaces for OrbitX services",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",