orbitx-core-models 11.76.0 → 11.78.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.
package/dist/index.d.ts CHANGED
@@ -5,6 +5,7 @@ import { Vertical } from "./models/vertical.model";
5
5
  import { Macro } from "./models/macro.model";
6
6
  import { Partner } from "./models/partner.model";
7
7
  import { Company } from "./models/company.model";
8
+ import { CompanySettings } from "./models/companySettings.model";
8
9
  import { Review } from "./models/review.model";
9
10
  import { Wallet } from "./models/wallet.model";
10
11
  import { StripeLog } from "./models/stripeLog.model";
@@ -27,7 +28,8 @@ import { IVertical } from "./interfaces/vertical.interface";
27
28
  import { IMessage } from "./interfaces/message.interface";
28
29
  import { IUser } from "./interfaces/user.interface";
29
30
  import { IPartner } from "./interfaces/partner.interface";
30
- import { ICompany } from "./interfaces/company.interface";
31
+ import { ICompany, IOnboardingStep } from "./interfaces/company.interface";
32
+ import { ICompanySettings, ICallConnectSettings, ILeadConfig } from "./interfaces/companySettings.interface";
31
33
  import { IReview } from "./interfaces/review.interface";
32
34
  import { IWallet } from "./interfaces/wallet.interface";
33
35
  import { IStripeLog } from "./interfaces/stripeLog.interface";
@@ -44,6 +46,6 @@ import { ISubscription } from "./interfaces/subscription.interface";
44
46
  import { IVisitor } from "./interfaces/visitor.interface";
45
47
  import { IGroup } from "./interfaces/group.interface";
46
48
  import { IAgent } from "./interfaces/agent.interface";
47
- export { Chat, Message, User, Vertical, Macro, Partner, Company, Review, Wallet, StripeLog, Transaction, Lead, TierConfig, TierProgress, MonthlyTierSnapshot, Product, Plan, PlanOption, Addon, Subscription, Visitor, Group, Agent };
48
- export type { IChat, IMessage, IUser, IVertical, IMacro, IPartner, ICompany, IReview, IWallet, IStripeLog, ITransaction, ILead, ITierConfig, ITierProgress, IMonthlyTierSnapshot, IProduct, IPlan, IPlanOption, IAddon, ISubscription, IVisitor, IGroup, IAgent, };
49
+ export { Chat, Message, User, Vertical, Macro, Partner, Company, CompanySettings, Review, Wallet, StripeLog, Transaction, Lead, TierConfig, TierProgress, MonthlyTierSnapshot, Product, Plan, PlanOption, Addon, Subscription, Visitor, Group, Agent };
50
+ export type { IChat, IMessage, IUser, IVertical, IMacro, IPartner, ICompany, IOnboardingStep, ICompanySettings, ICallConnectSettings, ILeadConfig, IReview, IWallet, IStripeLog, ITransaction, ILead, ITierConfig, ITierProgress, IMonthlyTierSnapshot, IProduct, IPlan, IPlanOption, IAddon, ISubscription, IVisitor, IGroup, IAgent, };
49
51
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Agent = exports.Group = exports.Visitor = exports.Subscription = exports.Addon = exports.PlanOption = exports.Plan = exports.Product = exports.MonthlyTierSnapshot = exports.TierProgress = exports.TierConfig = exports.Lead = exports.Transaction = exports.StripeLog = exports.Wallet = exports.Review = exports.Company = exports.Partner = exports.Macro = exports.Vertical = exports.User = exports.Message = exports.Chat = void 0;
3
+ exports.Agent = exports.Group = exports.Visitor = exports.Subscription = exports.Addon = exports.PlanOption = exports.Plan = exports.Product = exports.MonthlyTierSnapshot = exports.TierProgress = exports.TierConfig = exports.Lead = exports.Transaction = exports.StripeLog = exports.Wallet = exports.Review = exports.CompanySettings = exports.Company = exports.Partner = exports.Macro = exports.Vertical = exports.User = exports.Message = exports.Chat = void 0;
4
4
  // MODELS
5
5
  const chat_model_1 = require("./models/chat.model");
6
6
  Object.defineProperty(exports, "Chat", { enumerable: true, get: function () { return chat_model_1.Chat; } });
@@ -16,6 +16,8 @@ const partner_model_1 = require("./models/partner.model");
16
16
  Object.defineProperty(exports, "Partner", { enumerable: true, get: function () { return partner_model_1.Partner; } });
17
17
  const company_model_1 = require("./models/company.model");
18
18
  Object.defineProperty(exports, "Company", { enumerable: true, get: function () { return company_model_1.Company; } });
19
+ const companySettings_model_1 = require("./models/companySettings.model");
20
+ Object.defineProperty(exports, "CompanySettings", { enumerable: true, get: function () { return companySettings_model_1.CompanySettings; } });
19
21
  const review_model_1 = require("./models/review.model");
20
22
  Object.defineProperty(exports, "Review", { enumerable: true, get: function () { return review_model_1.Review; } });
21
23
  const wallet_model_1 = require("./models/wallet.model");
@@ -58,13 +58,15 @@ export interface IAvatar {
58
58
  name?: string;
59
59
  url?: string;
60
60
  }
61
+ export interface IOnboardingStep {
62
+ step: string;
63
+ completed: boolean;
64
+ }
61
65
  export interface ICompany extends mongoose.Document {
62
66
  basicInfo: IBasicInfo;
63
67
  contactInfo: IContactInfo;
64
- callSettings: ICallSettings;
65
- callConnectHours?: IHour[];
66
- officeHours?: IHour[];
67
- widgetConfig?: IWidgetConfig;
68
+ /** Reference to the CompanySettings document (1-to-1). */
69
+ settings?: Types.ObjectId;
68
70
  stripeCustomerId?: string;
69
71
  isSubscriptionActive?: boolean;
70
72
  subscription?: Types.ObjectId;
@@ -76,6 +78,10 @@ export interface ICompany extends mongoose.Document {
76
78
  slackIntegration?: ISlackIntegration;
77
79
  googleChatIntegration?: IGoogleChatIntegration;
78
80
  avatars?: IAvatar[];
81
+ /** Tracks which onboarding steps the company has completed. */
82
+ onboardingSteps?: IOnboardingStep[];
83
+ /** True once all required onboarding steps are done. */
84
+ isOnboarded?: boolean;
79
85
  createdAt?: Date;
80
86
  updatedAt?: Date;
81
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"company.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/company.interface.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,WAAW,GACX,UAAU,GACV,QAAQ,GACR,UAAU,CAAC;AAEf,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,SAAS,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,aAAa,GAAG,cAAc,CAAC;IAC1C,KAAK,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,SAAS,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,UAAU,CAAC;IAC9C,QAAQ,CAAC,EAAE,CAAC,aAAa,GAAG,eAAe,GAAG,OAAO,GAAG,kBAAkB,CAAC,EAAE,CAAC;CAC/E;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,QAAS,SAAQ,QAAQ,CAAC,QAAQ;IACjD,SAAS,EAAE,UAAU,CAAC;IACtB,WAAW,EAAE,YAAY,CAAC;IAC1B,YAAY,EAAE,aAAa,CAAC;IAC5B,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC;IAC9B,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;IACzC,aAAa,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;IAC/C,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IACrC,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;IAE/C,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IAEpB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,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":"company.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/company.interface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import mongoose, { Types } from "mongoose";
2
+ import { IHour, ICallSettings, IWidgetConfig } from "./company.interface";
3
+ export interface ICallConnectSettings {
4
+ /** The dedicated call-connect phone number. */
5
+ phoneNumber?: string;
6
+ /** Use the call-connect number as the caller ID shown to the visitor. */
7
+ useCallConnectNumberForCallerId?: boolean;
8
+ /** Dial the company's main number first before connecting the visitor. */
9
+ companyNumberFirst?: boolean;
10
+ /** Master toggle — whether call connect is active for this company. */
11
+ isCallConnectEnabled?: boolean;
12
+ }
13
+ export interface ILeadConfig {
14
+ /** List of email addresses that will receive lead notification emails. */
15
+ sentToEmails?: string[];
16
+ }
17
+ export interface ICompanySettings extends mongoose.Document {
18
+ /** Reference to the owning Company document. */
19
+ company: Types.ObjectId;
20
+ /** General call / chat channel settings. */
21
+ callSettings?: ICallSettings;
22
+ /** Call-connect-specific settings. */
23
+ callConnectSettings?: ICallConnectSettings;
24
+ /** Per-day availability windows for call connect. */
25
+ callConnectHours?: IHour[];
26
+ /** Per-day office-hours windows. */
27
+ officeHours?: IHour[];
28
+ /** Chat widget appearance & feature config. */
29
+ widgetConfig?: IWidgetConfig;
30
+ /** Lead delivery configuration. */
31
+ leadConfig?: ILeadConfig;
32
+ createdAt?: Date;
33
+ updatedAt?: Date;
34
+ }
35
+ //# sourceMappingURL=companySettings.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"companySettings.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/companySettings.interface.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EACL,KAAK,EACL,aAAa,EACb,aAAa,EACd,MAAM,qBAAqB,CAAC;AAM7B,MAAM,WAAW,oBAAoB;IACnC,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uEAAuE;IACvE,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAMD,MAAM,WAAW,WAAW;IAC1B,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAMD,MAAM,WAAW,gBAAiB,SAAQ,QAAQ,CAAC,QAAQ;IACzD,gDAAgD;IAChD,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC;IAExB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,aAAa,CAAC;IAE7B,sCAAsC;IACtC,mBAAmB,CAAC,EAAE,oBAAoB,CAAC;IAE3C,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC;IAE3B,oCAAoC;IACpC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC;IAEtB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,aAAa,CAAC;IAE7B,mCAAmC;IACnC,UAAU,CAAC,EAAE,WAAW,CAAC;IAEzB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -11,8 +11,15 @@ export interface ISubscription {
11
11
  isBudget: boolean;
12
12
  addons: {
13
13
  addon: Types.ObjectId;
14
+ stripeSubscriptionItemId?: string;
15
+ stripePriceId?: string;
14
16
  quantity: number;
15
17
  }[];
18
+ stripePlan?: {
19
+ stripeSubscriptionItemId?: string;
20
+ stripePriceId?: string;
21
+ };
22
+ stripeStatus?: string;
16
23
  addonUsage: {
17
24
  addon: Types.ObjectId;
18
25
  used: number;
@@ -1 +1 @@
1
- {"version":3,"file":"subscription.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/subscription.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,MAAM,kBAAkB,GAC1B,QAAQ,GACR,UAAU,GACV,WAAW,GACX,WAAW,GACX,cAAc,GACd,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC;IACxB,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC;IACxB,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC;IACrB,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IAEd,MAAM,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAElB,MAAM,EAAE;QACN,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;KAClB,EAAE,CAAC;IAEJ,UAAU,EAAE;QACV,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC;KACd,EAAE,CAAC;IAEJ,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,CAAC,EAAE,IAAI,CAAC;IAEnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IAEnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IAEnB,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;IAE7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,gBAAgB,EAAE,MAAM,CAAC;IAEzB,WAAW,EAAE;QACX,SAAS,EAAE,IAAI,CAAC;QAChB,aAAa,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC;QAC/B,aAAa,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC;QAC/B,SAAS,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC;QAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IAEJ,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,IAAI,CAAC;KACjB,EAAE,CAAC;IAEJ,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB"}
1
+ {"version":3,"file":"subscription.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/subscription.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,MAAM,kBAAkB,GAC1B,QAAQ,GACR,UAAU,GACV,WAAW,GACX,WAAW,GACX,cAAc,GACd,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC;IACxB,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC;IACxB,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC;IACrB,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IAEd,MAAM,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAElB,MAAM,EAAE;QACN,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC;QACtB,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;KAClB,EAAE,CAAC;IAEJ,UAAU,CAAC,EAAE;QACX,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IAEF,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,UAAU,EAAE;QACV,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC;KACd,EAAE,CAAC;IAEJ,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,CAAC,EAAE,IAAI,CAAC;IAEnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IAEnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IAEnB,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;IAE7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,gBAAgB,EAAE,MAAM,CAAC;IAEzB,WAAW,EAAE;QACX,SAAS,EAAE,IAAI,CAAC;QAChB,aAAa,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC;QAC/B,aAAa,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC;QAC/B,SAAS,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC;QAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IAEJ,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,IAAI,CAAC;KACjB,EAAE,CAAC;IAEJ,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB"}
@@ -1 +1 @@
1
- {"version":3,"file":"company.model.d.ts","sourceRoot":"","sources":["../../src/models/company.model.ts"],"names":[],"mappings":"AAAA,OAAO,QAA2B,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAoB,MAAM,iCAAiC,CAAC;AAkQ7E,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,QAA2B,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AA2J3D,eAAO,MAAM,OAAO;;;;OAAqD,CAAC;AAC1E,eAAe,OAAO,CAAC"}
@@ -35,30 +35,6 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.Company = void 0;
37
37
  const mongoose_1 = __importStar(require("mongoose"));
38
- const daysOfWeek = [
39
- "Sunday",
40
- "Monday",
41
- "Tuesday",
42
- "Wednesday",
43
- "Thursday",
44
- "Friday",
45
- "Saturday",
46
- ];
47
- // Hour Schema
48
- const hourSchema = new mongoose_1.Schema({
49
- day: { type: String, enum: daysOfWeek, required: true },
50
- startTime: {
51
- type: String,
52
- required: true,
53
- match: [/^([01]\d|2[0-3]):([0-5]\d)$/, "Invalid time format. Use HH:mm."],
54
- },
55
- endTime: {
56
- type: String,
57
- required: true,
58
- match: [/^([01]\d|2[0-3]):([0-5]\d)$/, "Invalid time format. Use HH:mm."],
59
- },
60
- active: { type: Boolean, default: false },
61
- }, { _id: false });
62
38
  // Company Schema
63
39
  const companySchema = new mongoose_1.Schema({
64
40
  basicInfo: {
@@ -119,41 +95,10 @@ const companySchema = new mongoose_1.Schema({
119
95
  country: { type: String, trim: true },
120
96
  coverageArea: { type: String, trim: true },
121
97
  },
122
- callSettings: {
123
- timezone: { type: String, trim: true },
124
- phoneNumber: {
125
- type: String,
126
- trim: true,
127
- },
128
- transcriptEmail: {
129
- type: String,
130
- trim: true,
131
- lowercase: true,
132
- match: [/^\S+@\S+\.\S+$/, "Invalid transcript email format"],
133
- },
134
- smsChatNumber: {
135
- type: String,
136
- trim: true,
137
- },
138
- visitorGreeting: { type: String, trim: true },
139
- visitorGreetingDelay: { type: Number, min: 0, default: 0 },
140
- businessGreeting: { type: String, trim: true },
141
- businessGreetingDelay: { type: Number, min: 0, default: 0 },
142
- transcriptOverride: { type: Boolean, default: false },
143
- useCallConnectNumberForCallerId: { type: Boolean, default: false },
144
- companyNumberFirst: { type: Boolean, default: false },
145
- override: { type: Boolean, default: false },
146
- officeHoursMonitoring: { type: Boolean, default: false },
147
- },
148
- callConnectHours: {
149
- type: [hourSchema],
150
- validate: {
151
- validator: (arr) => {
152
- const days = arr.map((h) => h.day);
153
- return days.length === new Set(days).size;
154
- },
155
- message: "Duplicate days in call connect hours",
156
- },
98
+ /** Reference to the CompanySettings document (1-to-1). */
99
+ settings: {
100
+ type: mongoose_1.Schema.Types.ObjectId,
101
+ ref: "CompanySettings",
157
102
  },
158
103
  hubspotIntegration: {
159
104
  isConnected: { type: Boolean, default: false },
@@ -197,48 +142,6 @@ const companySchema = new mongoose_1.Schema({
197
142
  webhookUrl: String,
198
143
  lastSyncedAt: Date,
199
144
  },
200
- officeHours: {
201
- type: [hourSchema],
202
- validate: {
203
- validator: (arr) => {
204
- const days = arr.map((h) => h.day);
205
- return days.length === new Set(days).size;
206
- },
207
- message: "Duplicate days in office hours",
208
- },
209
- },
210
- widgetConfig: {
211
- position: {
212
- type: String,
213
- enum: ["bottom-left", "bottom-right"],
214
- },
215
- style: {
216
- type: String,
217
- enum: ["bubble", "bar"],
218
- },
219
- borderRadius: {
220
- type: String,
221
- enum: ["round", "rounded", "square"],
222
- },
223
- bgColor: {
224
- type: String,
225
- },
226
- textColor: {
227
- type: String,
228
- },
229
- size: {
230
- type: String,
231
- enum: ["small", "medium", "large"],
232
- },
233
- animation: {
234
- type: String,
235
- enum: ["bounce-in", "fade", "slide-up"],
236
- },
237
- features: {
238
- type: [String],
239
- enum: ["file-upload", "emoji-support", "sound", "email-transcript"],
240
- },
241
- },
242
145
  stripeCustomerId: { type: String, trim: true },
243
146
  isSubscriptionActive: { type: Boolean, default: false },
244
147
  parentCompany: { type: mongoose_1.Schema.Types.ObjectId, ref: "Company" },
@@ -253,6 +156,13 @@ const companySchema = new mongoose_1.Schema({
253
156
  url: { type: String, trim: true },
254
157
  },
255
158
  ],
159
+ onboardingSteps: [
160
+ {
161
+ step: { type: String, required: true, trim: true },
162
+ completed: { type: Boolean, default: false },
163
+ },
164
+ ],
165
+ isOnboarded: { type: Boolean, default: false },
256
166
  }, {
257
167
  timestamps: true,
258
168
  toJSON: { virtuals: true },
@@ -0,0 +1,9 @@
1
+ import mongoose from "mongoose";
2
+ import { ICompanySettings } from "../interfaces/companySettings.interface";
3
+ export declare const CompanySettings: mongoose.Model<ICompanySettings, {}, {}, {}, mongoose.Document<unknown, {}, ICompanySettings, {}, {}> & ICompanySettings & Required<{
4
+ _id: unknown;
5
+ }> & {
6
+ __v: number;
7
+ }, any>;
8
+ export default CompanySettings;
9
+ //# sourceMappingURL=companySettings.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"companySettings.model.d.ts","sourceRoot":"","sources":["../../src/models/companySettings.model.ts"],"names":[],"mappings":"AAAA,OAAO,QAA2B,MAAM,UAAU,CAAC;AACnD,OAAO,EACL,gBAAgB,EAGjB,MAAM,yCAAyC,CAAC;AAqLjD,eAAO,MAAM,eAAe;;;;OAG3B,CAAC;AACF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.CompanySettings = void 0;
37
+ const mongoose_1 = __importStar(require("mongoose"));
38
+ const daysOfWeek = [
39
+ "Sunday",
40
+ "Monday",
41
+ "Tuesday",
42
+ "Wednesday",
43
+ "Thursday",
44
+ "Friday",
45
+ "Saturday",
46
+ ];
47
+ // ─────────────────────────────────────────────
48
+ // HOUR SUB-SCHEMA (reused for callConnectHours & officeHours)
49
+ // ─────────────────────────────────────────────
50
+ const hourSchema = new mongoose_1.Schema({
51
+ day: { type: String, enum: daysOfWeek, required: true },
52
+ startTime: {
53
+ type: String,
54
+ required: true,
55
+ match: [/^([01]\d|2[0-3]):([0-5]\d)$/, "Invalid time format. Use HH:mm."],
56
+ },
57
+ endTime: {
58
+ type: String,
59
+ required: true,
60
+ match: [/^([01]\d|2[0-3]):([0-5]\d)$/, "Invalid time format. Use HH:mm."],
61
+ },
62
+ active: { type: Boolean, default: false },
63
+ }, { _id: false });
64
+ // ─────────────────────────────────────────────
65
+ // GENERAL CALL SETTINGS SUB-SCHEMA
66
+ // ─────────────────────────────────────────────
67
+ const callSettingsSchema = new mongoose_1.Schema({
68
+ timezone: { type: String, trim: true },
69
+ transcriptEmail: {
70
+ type: String,
71
+ trim: true,
72
+ lowercase: true,
73
+ match: [/^\S+@\S+\.\S+$/, "Invalid transcript email format"],
74
+ },
75
+ smsChatNumber: { type: String, trim: true },
76
+ visitorGreeting: { type: String, trim: true },
77
+ visitorGreetingDelay: { type: Number, min: 0, default: 0 },
78
+ businessGreeting: { type: String, trim: true },
79
+ businessGreetingDelay: { type: Number, min: 0, default: 0 },
80
+ transcriptOverride: { type: Boolean, default: false },
81
+ override: { type: Boolean, default: false },
82
+ officeHoursMonitoring: { type: Boolean, default: false },
83
+ }, { _id: false });
84
+ // ─────────────────────────────────────────────
85
+ // CALL CONNECT SETTINGS SUB-SCHEMA
86
+ // ─────────────────────────────────────────────
87
+ const callConnectSettingsSchema = new mongoose_1.Schema({
88
+ phoneNumber: { type: String, trim: true },
89
+ useCallConnectNumberForCallerId: { type: Boolean, default: false },
90
+ companyNumberFirst: { type: Boolean, default: false },
91
+ isCallConnectEnabled: { type: Boolean, default: false },
92
+ }, { _id: false });
93
+ // ─────────────────────────────────────────────
94
+ // WIDGET CONFIG SUB-SCHEMA
95
+ // ─────────────────────────────────────────────
96
+ const widgetConfigSchema = new mongoose_1.Schema({
97
+ position: {
98
+ type: String,
99
+ enum: ["bottom-left", "bottom-right"],
100
+ },
101
+ style: {
102
+ type: String,
103
+ enum: ["bubble", "bar"],
104
+ },
105
+ borderRadius: {
106
+ type: String,
107
+ enum: ["round", "rounded", "square"],
108
+ },
109
+ bgColor: { type: String },
110
+ textColor: { type: String },
111
+ size: {
112
+ type: String,
113
+ enum: ["small", "medium", "large"],
114
+ },
115
+ animation: {
116
+ type: String,
117
+ enum: ["bounce-in", "fade", "slide-up"],
118
+ },
119
+ features: {
120
+ type: [String],
121
+ enum: ["file-upload", "emoji-support", "sound", "email-transcript"],
122
+ },
123
+ }, { _id: false });
124
+ // ─────────────────────────────────────────────
125
+ // LEAD CONFIG SUB-SCHEMA
126
+ // ─────────────────────────────────────────────
127
+ const leadConfigSchema = new mongoose_1.Schema({
128
+ sentToEmails: {
129
+ type: [String],
130
+ default: [],
131
+ validate: {
132
+ validator: (arr) => arr.every((email) => /^\S+@\S+\.\S+$/.test(email)),
133
+ message: "One or more email addresses in sentToEmails are invalid",
134
+ },
135
+ },
136
+ }, { _id: false });
137
+ // ─────────────────────────────────────────────
138
+ // COMPANY SETTINGS SCHEMA
139
+ // ─────────────────────────────────────────────
140
+ const companySettingsSchema = new mongoose_1.Schema({
141
+ company: {
142
+ type: mongoose_1.Schema.Types.ObjectId,
143
+ ref: "Company",
144
+ required: true,
145
+ unique: true,
146
+ },
147
+ callSettings: callSettingsSchema,
148
+ callConnectSettings: callConnectSettingsSchema,
149
+ callConnectHours: {
150
+ type: [hourSchema],
151
+ validate: {
152
+ validator: (arr) => {
153
+ const days = arr.map((h) => h.day);
154
+ return days.length === new Set(days).size;
155
+ },
156
+ message: "Duplicate days in call connect hours",
157
+ },
158
+ },
159
+ officeHours: {
160
+ type: [hourSchema],
161
+ validate: {
162
+ validator: (arr) => {
163
+ const days = arr.map((h) => h.day);
164
+ return days.length === new Set(days).size;
165
+ },
166
+ message: "Duplicate days in office hours",
167
+ },
168
+ },
169
+ widgetConfig: widgetConfigSchema,
170
+ leadConfig: leadConfigSchema,
171
+ }, {
172
+ timestamps: true,
173
+ toJSON: { virtuals: true },
174
+ toObject: { virtuals: true },
175
+ });
176
+ // ─────────────────────────────────────────────
177
+ // INDEXES
178
+ // ─────────────────────────────────────────────
179
+ companySettingsSchema.index({ company: 1 }, { unique: true });
180
+ exports.CompanySettings = mongoose_1.default.model("CompanySettings", companySettingsSchema);
181
+ exports.default = exports.CompanySettings;
@@ -1 +1 @@
1
- {"version":3,"file":"subscription.model.d.ts","sourceRoot":"","sources":["../../src/models/subscription.model.ts"],"names":[],"mappings":"AAAA,OAAO,QAAoB,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAiKrE,eAAO,MAAM,YAAY;;;;OAGxB,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"subscription.model.d.ts","sourceRoot":"","sources":["../../src/models/subscription.model.ts"],"names":[],"mappings":"AAAA,OAAO,QAAoB,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAgKrE,eAAO,MAAM,YAAY;;;;OAGxB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -74,20 +74,19 @@ const subscriptionSchema = new mongoose_1.Schema({
74
74
  type: Boolean,
75
75
  default: false,
76
76
  },
77
+ stripePlan: {
78
+ stripeSubscriptionItemId: { type: String },
79
+ stripePriceId: { type: String },
80
+ },
77
81
  addons: [
78
82
  {
79
- addon: {
80
- type: mongoose_1.Schema.Types.ObjectId,
81
- ref: "Addon",
82
- required: true,
83
- },
84
- quantity: {
85
- type: Number,
86
- default: 1,
87
- min: 1,
88
- },
83
+ addon: { type: mongoose_1.Schema.Types.ObjectId, ref: "Addon", required: true },
84
+ stripeSubscriptionItemId: { type: String },
85
+ stripePriceId: { type: String },
86
+ quantity: { type: Number, default: 1, min: 1 },
89
87
  },
90
88
  ],
89
+ stripeStatus: { type: String },
91
90
  addonUsage: [
92
91
  {
93
92
  addon: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orbitx-core-models",
3
- "version": "11.76.0",
3
+ "version": "11.78.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",