@spytecgps/nova-orm 1.4.220 → 1.4.222
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/entities/billingCampaignPrepaid.js +1 -1
- package/dist/entities/billingDeviceHistory.js +1 -1
- package/dist/entities/billingSubscriptionBraintree.js +1 -1
- package/dist/entities/billingSubscriptionStripe.js +1 -1
- package/dist/migration/1746434400000-addQuickSearchFulltextIndexes.d.ts +16 -0
- package/dist/migration/1746434400000-addQuickSearchFulltextIndexes.js +25 -0
- package/dist/migration/_virtual/_virtual_multi-entry.js +4 -2
- package/package.json +1 -1
- package/schema.sql +12 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("../node_modules/tslib/tslib.es6.js"),a=require("typeorm"),t=require("../utils/boolToNumberTransformer.js");exports.BillingCampaignPrepaid=class BillingCampaignPrepaid{id;offerId;subscriptionId;email;imei;status;prepaidDurationMonths;prepaidStartAt;prepaidEndAt;convertedAt;canceledAt;annualUpsellEligible;annualUpsellImpressions;annualUpsellFirstShownAt;annualUpsellLastShownAt;annualUpsellDismissedCount;annualUpsellUpgradedAt;createdAt;updatedAt},e.__decorate([a.PrimaryGeneratedColumn({type:"int",name:"id"}),e.__metadata("design:type",Number)],exports.BillingCampaignPrepaid.prototype,"id",void 0),e.__decorate([a.Column("int",{name:"offerId"}),e.__metadata("design:type",Number)],exports.BillingCampaignPrepaid.prototype,"offerId",void 0),e.__decorate([a.Column("varchar",{name:"subscriptionId",nullable:!0,length:255}),e.__metadata("design:type",String)],exports.BillingCampaignPrepaid.prototype,"subscriptionId",void 0),e.__decorate([a.Column("varchar",{name:"email",nullable:!0,length:255}),e.__metadata("design:type",String)],exports.BillingCampaignPrepaid.prototype,"email",void 0),e.__decorate([a.Column("varchar",{name:"imei",nullable:!0,length:64}),e.__metadata("design:type",String)],exports.BillingCampaignPrepaid.prototype,"imei",void 0),e.__decorate([a.Column("enum",{enum:["prepaid_started","prepaid_ending_soon","prepaid_converted","canceled","overdue"],name:"status",nullable:!0}),e.__metadata("design:type",String)],exports.BillingCampaignPrepaid.prototype,"status",void 0),e.__decorate([a.Column("int",{name:"prepaidDurationMonths",nullable:!0}),e.__metadata("design:type",Number)],exports.BillingCampaignPrepaid.prototype,"prepaidDurationMonths",void 0),e.__decorate([a.Column("datetime",{name:"prepaidStartAt",nullable:!0}),e.__metadata("design:type",Date)],exports.BillingCampaignPrepaid.prototype,"prepaidStartAt",void 0),e.__decorate([a.Column("datetime",{name:"prepaidEndAt",nullable:!0}),e.__metadata("design:type",Date)],exports.BillingCampaignPrepaid.prototype,"prepaidEndAt",void 0),e.__decorate([a.Column("datetime",{name:"convertedAt",nullable:!0}),e.__metadata("design:type",Date)],exports.BillingCampaignPrepaid.prototype,"convertedAt",void 0),e.__decorate([a.Column("datetime",{name:"canceledAt",nullable:!0}),e.__metadata("design:type",Date)],exports.BillingCampaignPrepaid.prototype,"canceledAt",void 0),e.__decorate([a.Column("tinyint",{name:"annualUpsellEligible",width:1,default:()=>"'0'",transformer:new t.BoolToNumberTransformer}),e.__metadata("design:type",Boolean)],exports.BillingCampaignPrepaid.prototype,"annualUpsellEligible",void 0),e.__decorate([a.Column("int",{name:"annualUpsellImpressions",default:()=>"'0'"}),e.__metadata("design:type",Number)],exports.BillingCampaignPrepaid.prototype,"annualUpsellImpressions",void 0),e.__decorate([a.Column("datetime",{name:"annualUpsellFirstShownAt",nullable:!0}),e.__metadata("design:type",Date)],exports.BillingCampaignPrepaid.prototype,"annualUpsellFirstShownAt",void 0),e.__decorate([a.Column("datetime",{name:"annualUpsellLastShownAt",nullable:!0}),e.__metadata("design:type",Date)],exports.BillingCampaignPrepaid.prototype,"annualUpsellLastShownAt",void 0),e.__decorate([a.Column("int",{name:"annualUpsellDismissedCount",default:()=>"'0'"}),e.__metadata("design:type",Number)],exports.BillingCampaignPrepaid.prototype,"annualUpsellDismissedCount",void 0),e.__decorate([a.Column("datetime",{name:"annualUpsellUpgradedAt",nullable:!0}),e.__metadata("design:type",Date)],exports.BillingCampaignPrepaid.prototype,"annualUpsellUpgradedAt",void 0),e.__decorate([a.Column("datetime",{name:"createdAt",nullable:!0}),e.__metadata("design:type",Date)],exports.BillingCampaignPrepaid.prototype,"createdAt",void 0),e.__decorate([a.Column("datetime",{name:"updatedAt",nullable:!0}),e.__metadata("design:type",Date)],exports.BillingCampaignPrepaid.prototype,"updatedAt",void 0),exports.BillingCampaignPrepaid=e.__decorate([a.Index("ixBillingCampaignPrepaidImei",["imei"]),a.Index("ixBillingCampaignPrepaidEmail",["email"]),a.Index("ixBillingCampaignPrepaidStatusPrepaidEndAt",["status","prepaidEndAt"],{}),a.Index("ixBillingCampaignPrepaidOfferId",["offerId"],{}),a.Index("ixBillingCampaignPrepaidCreatedAt",["createdAt"],{}),a.Entity("billingCampaignPrepaid",{schema:"nova"})],exports.BillingCampaignPrepaid);
|
|
1
|
+
"use strict";var e=require("../node_modules/tslib/tslib.es6.js"),a=require("typeorm"),t=require("../utils/boolToNumberTransformer.js");exports.BillingCampaignPrepaid=class BillingCampaignPrepaid{id;offerId;subscriptionId;email;imei;status;prepaidDurationMonths;prepaidStartAt;prepaidEndAt;convertedAt;canceledAt;annualUpsellEligible;annualUpsellImpressions;annualUpsellFirstShownAt;annualUpsellLastShownAt;annualUpsellDismissedCount;annualUpsellUpgradedAt;createdAt;updatedAt},e.__decorate([a.PrimaryGeneratedColumn({type:"int",name:"id"}),e.__metadata("design:type",Number)],exports.BillingCampaignPrepaid.prototype,"id",void 0),e.__decorate([a.Column("int",{name:"offerId"}),e.__metadata("design:type",Number)],exports.BillingCampaignPrepaid.prototype,"offerId",void 0),e.__decorate([a.Column("varchar",{name:"subscriptionId",nullable:!0,length:255}),e.__metadata("design:type",String)],exports.BillingCampaignPrepaid.prototype,"subscriptionId",void 0),e.__decorate([a.Column("varchar",{name:"email",nullable:!0,length:255}),e.__metadata("design:type",String)],exports.BillingCampaignPrepaid.prototype,"email",void 0),e.__decorate([a.Column("varchar",{name:"imei",nullable:!0,length:64}),e.__metadata("design:type",String)],exports.BillingCampaignPrepaid.prototype,"imei",void 0),e.__decorate([a.Column("enum",{enum:["prepaid_started","prepaid_ending_soon","prepaid_converted","canceled","overdue"],name:"status",nullable:!0}),e.__metadata("design:type",String)],exports.BillingCampaignPrepaid.prototype,"status",void 0),e.__decorate([a.Column("int",{name:"prepaidDurationMonths",nullable:!0}),e.__metadata("design:type",Number)],exports.BillingCampaignPrepaid.prototype,"prepaidDurationMonths",void 0),e.__decorate([a.Column("datetime",{name:"prepaidStartAt",nullable:!0}),e.__metadata("design:type",Date)],exports.BillingCampaignPrepaid.prototype,"prepaidStartAt",void 0),e.__decorate([a.Column("datetime",{name:"prepaidEndAt",nullable:!0}),e.__metadata("design:type",Date)],exports.BillingCampaignPrepaid.prototype,"prepaidEndAt",void 0),e.__decorate([a.Column("datetime",{name:"convertedAt",nullable:!0}),e.__metadata("design:type",Date)],exports.BillingCampaignPrepaid.prototype,"convertedAt",void 0),e.__decorate([a.Column("datetime",{name:"canceledAt",nullable:!0}),e.__metadata("design:type",Date)],exports.BillingCampaignPrepaid.prototype,"canceledAt",void 0),e.__decorate([a.Column("tinyint",{name:"annualUpsellEligible",width:1,default:()=>"'0'",transformer:new t.BoolToNumberTransformer}),e.__metadata("design:type",Boolean)],exports.BillingCampaignPrepaid.prototype,"annualUpsellEligible",void 0),e.__decorate([a.Column("int",{name:"annualUpsellImpressions",default:()=>"'0'"}),e.__metadata("design:type",Number)],exports.BillingCampaignPrepaid.prototype,"annualUpsellImpressions",void 0),e.__decorate([a.Column("datetime",{name:"annualUpsellFirstShownAt",nullable:!0}),e.__metadata("design:type",Date)],exports.BillingCampaignPrepaid.prototype,"annualUpsellFirstShownAt",void 0),e.__decorate([a.Column("datetime",{name:"annualUpsellLastShownAt",nullable:!0}),e.__metadata("design:type",Date)],exports.BillingCampaignPrepaid.prototype,"annualUpsellLastShownAt",void 0),e.__decorate([a.Column("int",{name:"annualUpsellDismissedCount",default:()=>"'0'"}),e.__metadata("design:type",Number)],exports.BillingCampaignPrepaid.prototype,"annualUpsellDismissedCount",void 0),e.__decorate([a.Column("datetime",{name:"annualUpsellUpgradedAt",nullable:!0}),e.__metadata("design:type",Date)],exports.BillingCampaignPrepaid.prototype,"annualUpsellUpgradedAt",void 0),e.__decorate([a.Column("datetime",{name:"createdAt",nullable:!0}),e.__metadata("design:type",Date)],exports.BillingCampaignPrepaid.prototype,"createdAt",void 0),e.__decorate([a.Column("datetime",{name:"updatedAt",nullable:!0}),e.__metadata("design:type",Date)],exports.BillingCampaignPrepaid.prototype,"updatedAt",void 0),exports.BillingCampaignPrepaid=e.__decorate([a.Index("ixBillingCampaignPrepaidImei",["imei"]),a.Index("ixBillingCampaignPrepaidEmail",["email"]),a.Index("ixBillingCampaignPrepaidStatusPrepaidEndAt",["status","prepaidEndAt"],{}),a.Index("ixBillingCampaignPrepaidOfferId",["offerId"],{}),a.Index("ixBillingCampaignPrepaidCreatedAt",["createdAt"],{}),a.Index("ixBillingCampaignPrepaidSubscriptionId",["subscriptionId"],{}),a.Entity("billingCampaignPrepaid",{schema:"nova"})],exports.BillingCampaignPrepaid);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("../node_modules/tslib/tslib.es6.js"),t=require("typeorm");exports.BillingDeviceHistory=class BillingDeviceHistory{id;clientId;deviceId;imei;planId;subscriptionId;platform;status;createdAt},e.__decorate([t.PrimaryGeneratedColumn({type:"int",name:"id"}),e.__metadata("design:type",Number)],exports.BillingDeviceHistory.prototype,"id",void 0),e.__decorate([t.Column("int",{name:"clientId",nullable:!0}),e.__metadata("design:type",Number)],exports.BillingDeviceHistory.prototype,"clientId",void 0),e.__decorate([t.Column("int",{name:"deviceId",nullable:!0}),e.__metadata("design:type",Number)],exports.BillingDeviceHistory.prototype,"deviceId",void 0),e.__decorate([t.Column("varchar",{name:"imei",nullable:!0,length:15}),e.__metadata("design:type",String)],exports.BillingDeviceHistory.prototype,"imei",void 0),e.__decorate([t.Column("varchar",{name:"planId",nullable:!0,length:50}),e.__metadata("design:type",String)],exports.BillingDeviceHistory.prototype,"planId",void 0),e.__decorate([t.Column("varchar",{name:"subscriptionId",nullable:!0,length:50}),e.__metadata("design:type",String)],exports.BillingDeviceHistory.prototype,"subscriptionId",void 0),e.__decorate([t.Column("varchar",{name:"platform",nullable:!0,length:25}),e.__metadata("design:type",String)],exports.BillingDeviceHistory.prototype,"platform",void 0),e.__decorate([t.Column("varchar",{name:"status",nullable:!0,length:10}),e.__metadata("design:type",String)],exports.BillingDeviceHistory.prototype,"status",void 0),e.__decorate([t.Column("datetime",{name:"createdAt",nullable:!0}),e.__metadata("design:type",Date)],exports.BillingDeviceHistory.prototype,"createdAt",void 0),exports.BillingDeviceHistory=e.__decorate([t.Entity("billingDeviceHistory",{schema:"nova"})],exports.BillingDeviceHistory);
|
|
1
|
+
"use strict";var e=require("../node_modules/tslib/tslib.es6.js"),t=require("typeorm");exports.BillingDeviceHistory=class BillingDeviceHistory{id;clientId;deviceId;imei;planId;subscriptionId;platform;status;createdAt},e.__decorate([t.PrimaryGeneratedColumn({type:"int",name:"id"}),e.__metadata("design:type",Number)],exports.BillingDeviceHistory.prototype,"id",void 0),e.__decorate([t.Column("int",{name:"clientId",nullable:!0}),e.__metadata("design:type",Number)],exports.BillingDeviceHistory.prototype,"clientId",void 0),e.__decorate([t.Column("int",{name:"deviceId",nullable:!0}),e.__metadata("design:type",Number)],exports.BillingDeviceHistory.prototype,"deviceId",void 0),e.__decorate([t.Column("varchar",{name:"imei",nullable:!0,length:15}),e.__metadata("design:type",String)],exports.BillingDeviceHistory.prototype,"imei",void 0),e.__decorate([t.Column("varchar",{name:"planId",nullable:!0,length:50}),e.__metadata("design:type",String)],exports.BillingDeviceHistory.prototype,"planId",void 0),e.__decorate([t.Column("varchar",{name:"subscriptionId",nullable:!0,length:50}),e.__metadata("design:type",String)],exports.BillingDeviceHistory.prototype,"subscriptionId",void 0),e.__decorate([t.Column("varchar",{name:"platform",nullable:!0,length:25}),e.__metadata("design:type",String)],exports.BillingDeviceHistory.prototype,"platform",void 0),e.__decorate([t.Column("varchar",{name:"status",nullable:!0,length:10}),e.__metadata("design:type",String)],exports.BillingDeviceHistory.prototype,"status",void 0),e.__decorate([t.Column("datetime",{name:"createdAt",nullable:!0}),e.__metadata("design:type",Date)],exports.BillingDeviceHistory.prototype,"createdAt",void 0),exports.BillingDeviceHistory=e.__decorate([t.Index("ixBillingDeviceHistoryImeiSubscriptionIdCreatedAt",["imei","subscriptionId","createdAt"]),t.Entity("billingDeviceHistory",{schema:"nova"})],exports.BillingDeviceHistory);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("../node_modules/tslib/tslib.es6.js"),t=require("typeorm"),i=require("../utils/boolToNumberTransformer.js"),n=require("../utils/stringToDateTransformer.js");exports.BillingSubscriptionBraintree=class BillingSubscriptionBraintree{subscriptionId;customerId;planId;createdAt;updatedAt;subscriptionStart;subscriptionEnd;nextBillingDate;subscriptionValue;status;subscriptionPeriodMonths;paymentInstrumentType;paymentInstrumentDetails;isPaused;discountDetails;addons;balance;currentBillingCycle;daysPastDue;description;descriptor;failureCount;firstBillingDate;merchantAccountId;nextBillingPeriodAmount;numberOfBillingCycles;paidThroughDate;paymentMethodToken;statusHistory;trialDuration;trialDurationUnit;trialPeriod},e.__decorate([t.Column("varchar",{primary:!0,name:"subscriptionId",length:50}),e.__metadata("design:type",String)],exports.BillingSubscriptionBraintree.prototype,"subscriptionId",void 0),e.__decorate([t.Column("varchar",{name:"customerId",nullable:!0,length:50}),e.__metadata("design:type",String)],exports.BillingSubscriptionBraintree.prototype,"customerId",void 0),e.__decorate([t.Column("varchar",{name:"planId",nullable:!0,length:50}),e.__metadata("design:type",String)],exports.BillingSubscriptionBraintree.prototype,"planId",void 0),e.__decorate([t.Column("datetime",{name:"createdAt",nullable:!0}),e.__metadata("design:type",Date)],exports.BillingSubscriptionBraintree.prototype,"createdAt",void 0),e.__decorate([t.Column("datetime",{name:"updatedAt",nullable:!0}),e.__metadata("design:type",Date)],exports.BillingSubscriptionBraintree.prototype,"updatedAt",void 0),e.__decorate([t.Column("date",{name:"subscriptionStart",nullable:!0,transformer:new n.StringToDateTransformer}),e.__metadata("design:type",Date)],exports.BillingSubscriptionBraintree.prototype,"subscriptionStart",void 0),e.__decorate([t.Column("date",{name:"subscriptionEnd",nullable:!0,transformer:new n.StringToDateTransformer}),e.__metadata("design:type",Date)],exports.BillingSubscriptionBraintree.prototype,"subscriptionEnd",void 0),e.__decorate([t.Column("date",{name:"nextBillingDate",nullable:!0,transformer:new n.StringToDateTransformer}),e.__metadata("design:type",Date)],exports.BillingSubscriptionBraintree.prototype,"nextBillingDate",void 0),e.__decorate([t.Column("decimal",{name:"subscriptionValue",nullable:!0,precision:19,scale:4}),e.__metadata("design:type",Number)],exports.BillingSubscriptionBraintree.prototype,"subscriptionValue",void 0),e.__decorate([t.Column("varchar",{name:"status",nullable:!0,length:10}),e.__metadata("design:type",String)],exports.BillingSubscriptionBraintree.prototype,"status",void 0),e.__decorate([t.Column("tinyint",{name:"subscriptionPeriodMonths",nullable:!0}),e.__metadata("design:type",Number)],exports.BillingSubscriptionBraintree.prototype,"subscriptionPeriodMonths",void 0),e.__decorate([t.Column("varchar",{name:"paymentInstrumentType",nullable:!0,length:20}),e.__metadata("design:type",String)],exports.BillingSubscriptionBraintree.prototype,"paymentInstrumentType",void 0),e.__decorate([t.Column("json",{name:"paymentInstrumentDetails",nullable:!0}),e.__metadata("design:type",Object)],exports.BillingSubscriptionBraintree.prototype,"paymentInstrumentDetails",void 0),e.__decorate([t.Column("tinyint",{name:"isPaused",nullable:!0,width:1,default:()=>"'0'",transformer:new i.BoolToNumberTransformer}),e.__metadata("design:type",Boolean)],exports.BillingSubscriptionBraintree.prototype,"isPaused",void 0),e.__decorate([t.Column("json",{name:"discountDetails",nullable:!0}),e.__metadata("design:type",Object)],exports.BillingSubscriptionBraintree.prototype,"discountDetails",void 0),e.__decorate([t.Column("json",{name:"addons",nullable:!0}),e.__metadata("design:type",Object)],exports.BillingSubscriptionBraintree.prototype,"addons",void 0),e.__decorate([t.Column("decimal",{name:"balance",nullable:!0,precision:19,scale:4}),e.__metadata("design:type",Number)],exports.BillingSubscriptionBraintree.prototype,"balance",void 0),e.__decorate([t.Column("tinyint",{name:"currentBillingCycle",nullable:!0}),e.__metadata("design:type",Number)],exports.BillingSubscriptionBraintree.prototype,"currentBillingCycle",void 0),e.__decorate([t.Column("tinyint",{name:"daysPastDue",nullable:!0}),e.__metadata("design:type",Number)],exports.BillingSubscriptionBraintree.prototype,"daysPastDue",void 0),e.__decorate([t.Column("varchar",{name:"description",nullable:!0,length:255}),e.__metadata("design:type",String)],exports.BillingSubscriptionBraintree.prototype,"description",void 0),e.__decorate([t.Column("json",{name:"descriptor",nullable:!0}),e.__metadata("design:type",Object)],exports.BillingSubscriptionBraintree.prototype,"descriptor",void 0),e.__decorate([t.Column("tinyint",{name:"failureCount",nullable:!0}),e.__metadata("design:type",Number)],exports.BillingSubscriptionBraintree.prototype,"failureCount",void 0),e.__decorate([t.Column("date",{name:"firstBillingDate",nullable:!0,transformer:new n.StringToDateTransformer}),e.__metadata("design:type",Date)],exports.BillingSubscriptionBraintree.prototype,"firstBillingDate",void 0),e.__decorate([t.Column("varchar",{name:"merchantAccountId",nullable:!0,length:50}),e.__metadata("design:type",String)],exports.BillingSubscriptionBraintree.prototype,"merchantAccountId",void 0),e.__decorate([t.Column("decimal",{name:"nextBillingPeriodAmount",nullable:!0,precision:19,scale:4}),e.__metadata("design:type",Number)],exports.BillingSubscriptionBraintree.prototype,"nextBillingPeriodAmount",void 0),e.__decorate([t.Column("tinyint",{name:"numberOfBillingCycles",nullable:!0}),e.__metadata("design:type",Number)],exports.BillingSubscriptionBraintree.prototype,"numberOfBillingCycles",void 0),e.__decorate([t.Column("date",{name:"paidThroughDate",nullable:!0,transformer:new n.StringToDateTransformer}),e.__metadata("design:type",Date)],exports.BillingSubscriptionBraintree.prototype,"paidThroughDate",void 0),e.__decorate([t.Column("varchar",{name:"paymentMethodToken",nullable:!0,length:50}),e.__metadata("design:type",String)],exports.BillingSubscriptionBraintree.prototype,"paymentMethodToken",void 0),e.__decorate([t.Column("json",{name:"statusHistory",nullable:!0}),e.__metadata("design:type",Object)],exports.BillingSubscriptionBraintree.prototype,"statusHistory",void 0),e.__decorate([t.Column("smallint",{name:"trialDuration",nullable:!0}),e.__metadata("design:type",Number)],exports.BillingSubscriptionBraintree.prototype,"trialDuration",void 0),e.__decorate([t.Column("varchar",{name:"trialDurationUnit",nullable:!0,length:10}),e.__metadata("design:type",String)],exports.BillingSubscriptionBraintree.prototype,"trialDurationUnit",void 0),e.__decorate([t.Column("tinyint",{name:"trialPeriod",nullable:!0,width:1,transformer:new i.BoolToNumberTransformer}),e.__metadata("design:type",Boolean)],exports.BillingSubscriptionBraintree.prototype,"trialPeriod",void 0),exports.BillingSubscriptionBraintree=e.__decorate([t.Index("ixBillingSubscriptionBraintreeCustomerId",["customerId"],{}),t.Index("ixBillingSubscriptionBraintreeComposite",["subscriptionId","customerId","status"],{}),t.Index("ixBillingSubscriptionBraintreeCreatedAt",["createdAt"],{}),t.Entity("billingSubscriptionBraintree",{schema:"nova"})],exports.BillingSubscriptionBraintree);
|
|
1
|
+
"use strict";var e=require("../node_modules/tslib/tslib.es6.js"),t=require("typeorm"),i=require("../utils/boolToNumberTransformer.js"),n=require("../utils/stringToDateTransformer.js");exports.BillingSubscriptionBraintree=class BillingSubscriptionBraintree{subscriptionId;customerId;planId;createdAt;updatedAt;subscriptionStart;subscriptionEnd;nextBillingDate;subscriptionValue;status;subscriptionPeriodMonths;paymentInstrumentType;paymentInstrumentDetails;isPaused;discountDetails;addons;balance;currentBillingCycle;daysPastDue;description;descriptor;failureCount;firstBillingDate;merchantAccountId;nextBillingPeriodAmount;numberOfBillingCycles;paidThroughDate;paymentMethodToken;statusHistory;trialDuration;trialDurationUnit;trialPeriod},e.__decorate([t.Column("varchar",{primary:!0,name:"subscriptionId",length:50}),e.__metadata("design:type",String)],exports.BillingSubscriptionBraintree.prototype,"subscriptionId",void 0),e.__decorate([t.Column("varchar",{name:"customerId",nullable:!0,length:50}),e.__metadata("design:type",String)],exports.BillingSubscriptionBraintree.prototype,"customerId",void 0),e.__decorate([t.Column("varchar",{name:"planId",nullable:!0,length:50}),e.__metadata("design:type",String)],exports.BillingSubscriptionBraintree.prototype,"planId",void 0),e.__decorate([t.Column("datetime",{name:"createdAt",nullable:!0}),e.__metadata("design:type",Date)],exports.BillingSubscriptionBraintree.prototype,"createdAt",void 0),e.__decorate([t.Column("datetime",{name:"updatedAt",nullable:!0}),e.__metadata("design:type",Date)],exports.BillingSubscriptionBraintree.prototype,"updatedAt",void 0),e.__decorate([t.Column("date",{name:"subscriptionStart",nullable:!0,transformer:new n.StringToDateTransformer}),e.__metadata("design:type",Date)],exports.BillingSubscriptionBraintree.prototype,"subscriptionStart",void 0),e.__decorate([t.Column("date",{name:"subscriptionEnd",nullable:!0,transformer:new n.StringToDateTransformer}),e.__metadata("design:type",Date)],exports.BillingSubscriptionBraintree.prototype,"subscriptionEnd",void 0),e.__decorate([t.Column("date",{name:"nextBillingDate",nullable:!0,transformer:new n.StringToDateTransformer}),e.__metadata("design:type",Date)],exports.BillingSubscriptionBraintree.prototype,"nextBillingDate",void 0),e.__decorate([t.Column("decimal",{name:"subscriptionValue",nullable:!0,precision:19,scale:4}),e.__metadata("design:type",Number)],exports.BillingSubscriptionBraintree.prototype,"subscriptionValue",void 0),e.__decorate([t.Column("varchar",{name:"status",nullable:!0,length:10}),e.__metadata("design:type",String)],exports.BillingSubscriptionBraintree.prototype,"status",void 0),e.__decorate([t.Column("tinyint",{name:"subscriptionPeriodMonths",nullable:!0}),e.__metadata("design:type",Number)],exports.BillingSubscriptionBraintree.prototype,"subscriptionPeriodMonths",void 0),e.__decorate([t.Column("varchar",{name:"paymentInstrumentType",nullable:!0,length:20}),e.__metadata("design:type",String)],exports.BillingSubscriptionBraintree.prototype,"paymentInstrumentType",void 0),e.__decorate([t.Column("json",{name:"paymentInstrumentDetails",nullable:!0}),e.__metadata("design:type",Object)],exports.BillingSubscriptionBraintree.prototype,"paymentInstrumentDetails",void 0),e.__decorate([t.Column("tinyint",{name:"isPaused",nullable:!0,width:1,default:()=>"'0'",transformer:new i.BoolToNumberTransformer}),e.__metadata("design:type",Boolean)],exports.BillingSubscriptionBraintree.prototype,"isPaused",void 0),e.__decorate([t.Column("json",{name:"discountDetails",nullable:!0}),e.__metadata("design:type",Object)],exports.BillingSubscriptionBraintree.prototype,"discountDetails",void 0),e.__decorate([t.Column("json",{name:"addons",nullable:!0}),e.__metadata("design:type",Object)],exports.BillingSubscriptionBraintree.prototype,"addons",void 0),e.__decorate([t.Column("decimal",{name:"balance",nullable:!0,precision:19,scale:4}),e.__metadata("design:type",Number)],exports.BillingSubscriptionBraintree.prototype,"balance",void 0),e.__decorate([t.Column("tinyint",{name:"currentBillingCycle",nullable:!0}),e.__metadata("design:type",Number)],exports.BillingSubscriptionBraintree.prototype,"currentBillingCycle",void 0),e.__decorate([t.Column("tinyint",{name:"daysPastDue",nullable:!0}),e.__metadata("design:type",Number)],exports.BillingSubscriptionBraintree.prototype,"daysPastDue",void 0),e.__decorate([t.Column("varchar",{name:"description",nullable:!0,length:255}),e.__metadata("design:type",String)],exports.BillingSubscriptionBraintree.prototype,"description",void 0),e.__decorate([t.Column("json",{name:"descriptor",nullable:!0}),e.__metadata("design:type",Object)],exports.BillingSubscriptionBraintree.prototype,"descriptor",void 0),e.__decorate([t.Column("tinyint",{name:"failureCount",nullable:!0}),e.__metadata("design:type",Number)],exports.BillingSubscriptionBraintree.prototype,"failureCount",void 0),e.__decorate([t.Column("date",{name:"firstBillingDate",nullable:!0,transformer:new n.StringToDateTransformer}),e.__metadata("design:type",Date)],exports.BillingSubscriptionBraintree.prototype,"firstBillingDate",void 0),e.__decorate([t.Column("varchar",{name:"merchantAccountId",nullable:!0,length:50}),e.__metadata("design:type",String)],exports.BillingSubscriptionBraintree.prototype,"merchantAccountId",void 0),e.__decorate([t.Column("decimal",{name:"nextBillingPeriodAmount",nullable:!0,precision:19,scale:4}),e.__metadata("design:type",Number)],exports.BillingSubscriptionBraintree.prototype,"nextBillingPeriodAmount",void 0),e.__decorate([t.Column("tinyint",{name:"numberOfBillingCycles",nullable:!0}),e.__metadata("design:type",Number)],exports.BillingSubscriptionBraintree.prototype,"numberOfBillingCycles",void 0),e.__decorate([t.Column("date",{name:"paidThroughDate",nullable:!0,transformer:new n.StringToDateTransformer}),e.__metadata("design:type",Date)],exports.BillingSubscriptionBraintree.prototype,"paidThroughDate",void 0),e.__decorate([t.Column("varchar",{name:"paymentMethodToken",nullable:!0,length:50}),e.__metadata("design:type",String)],exports.BillingSubscriptionBraintree.prototype,"paymentMethodToken",void 0),e.__decorate([t.Column("json",{name:"statusHistory",nullable:!0}),e.__metadata("design:type",Object)],exports.BillingSubscriptionBraintree.prototype,"statusHistory",void 0),e.__decorate([t.Column("smallint",{name:"trialDuration",nullable:!0}),e.__metadata("design:type",Number)],exports.BillingSubscriptionBraintree.prototype,"trialDuration",void 0),e.__decorate([t.Column("varchar",{name:"trialDurationUnit",nullable:!0,length:10}),e.__metadata("design:type",String)],exports.BillingSubscriptionBraintree.prototype,"trialDurationUnit",void 0),e.__decorate([t.Column("tinyint",{name:"trialPeriod",nullable:!0,width:1,transformer:new i.BoolToNumberTransformer}),e.__metadata("design:type",Boolean)],exports.BillingSubscriptionBraintree.prototype,"trialPeriod",void 0),exports.BillingSubscriptionBraintree=e.__decorate([t.Index("ixBillingSubscriptionBraintreeCustomerId",["customerId"],{}),t.Index("ixBillingSubscriptionBraintreeComposite",["subscriptionId","customerId","status"],{}),t.Index("ixBillingSubscriptionBraintreeCreatedAt",["createdAt"],{}),t.Index("ixBillingSubscriptionBraintreeStatusUpdatedAt",["status","updatedAt"],{}),t.Entity("billingSubscriptionBraintree",{schema:"nova"})],exports.BillingSubscriptionBraintree);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var t=require("../node_modules/tslib/tslib.es6.js"),e=require("typeorm"),i=require("../utils/boolToNumberTransformer.js"),r=require("../utils/stringToDateTransformer.js");exports.BillingSubscriptionStripe=class BillingSubscriptionStripe{subscriptionId;customerId;planId;activatedAt;subscriptionStart;subscriptionEnd;subscriptionValue;subscriptionPeriodMonths;quantity;status;paymentType;paymentDetails;discounts;addons;balance;paymentMethod;cancelAt;canceledAt;isPaused;resumesAt;isTrial;trialEnd;createdAt;updatedAt},t.__decorate([e.PrimaryColumn("varchar",{name:"subscriptionId",length:50}),t.__metadata("design:type",String)],exports.BillingSubscriptionStripe.prototype,"subscriptionId",void 0),t.__decorate([e.Column("varchar",{name:"customerId",length:50}),t.__metadata("design:type",String)],exports.BillingSubscriptionStripe.prototype,"customerId",void 0),t.__decorate([e.Column("varchar",{name:"planId",nullable:!0,length:50}),t.__metadata("design:type",String)],exports.BillingSubscriptionStripe.prototype,"planId",void 0),t.__decorate([e.Column("datetime",{name:"activatedAt",nullable:!0,precision:0}),t.__metadata("design:type",Date)],exports.BillingSubscriptionStripe.prototype,"activatedAt",void 0),t.__decorate([e.Column("date",{name:"subscriptionStart",nullable:!0,transformer:new r.StringToDateTransformer}),t.__metadata("design:type",Date)],exports.BillingSubscriptionStripe.prototype,"subscriptionStart",void 0),t.__decorate([e.Column("date",{name:"subscriptionEnd",nullable:!0,transformer:new r.StringToDateTransformer}),t.__metadata("design:type",Date)],exports.BillingSubscriptionStripe.prototype,"subscriptionEnd",void 0),t.__decorate([e.Column("decimal",{name:"subscriptionValue",nullable:!0,precision:19,scale:4}),t.__metadata("design:type",Number)],exports.BillingSubscriptionStripe.prototype,"subscriptionValue",void 0),t.__decorate([e.Column("smallint",{name:"subscriptionPeriodMonths",nullable:!0}),t.__metadata("design:type",Number)],exports.BillingSubscriptionStripe.prototype,"subscriptionPeriodMonths",void 0),t.__decorate([e.Column("smallint",{name:"quantity",nullable:!0}),t.__metadata("design:type",Number)],exports.BillingSubscriptionStripe.prototype,"quantity",void 0),t.__decorate([e.Column("varchar",{name:"status",nullable:!0,length:20}),t.__metadata("design:type",String)],exports.BillingSubscriptionStripe.prototype,"status",void 0),t.__decorate([e.Column("varchar",{name:"paymentType",nullable:!0,length:50}),t.__metadata("design:type",String)],exports.BillingSubscriptionStripe.prototype,"paymentType",void 0),t.__decorate([e.Column("json",{name:"paymentDetails",nullable:!0}),t.__metadata("design:type",Object)],exports.BillingSubscriptionStripe.prototype,"paymentDetails",void 0),t.__decorate([e.Column("json",{name:"discounts",nullable:!0}),t.__metadata("design:type",Object)],exports.BillingSubscriptionStripe.prototype,"discounts",void 0),t.__decorate([e.Column("json",{name:"addons",nullable:!0}),t.__metadata("design:type",Object)],exports.BillingSubscriptionStripe.prototype,"addons",void 0),t.__decorate([e.Column("decimal",{name:"balance",nullable:!0,precision:19,scale:4}),t.__metadata("design:type",Number)],exports.BillingSubscriptionStripe.prototype,"balance",void 0),t.__decorate([e.Column("varchar",{name:"paymentMethod",nullable:!0,length:100}),t.__metadata("design:type",String)],exports.BillingSubscriptionStripe.prototype,"paymentMethod",void 0),t.__decorate([e.Column("date",{name:"cancelAt",nullable:!0,transformer:new r.StringToDateTransformer}),t.__metadata("design:type",Date)],exports.BillingSubscriptionStripe.prototype,"cancelAt",void 0),t.__decorate([e.Column("date",{name:"canceledAt",nullable:!0,transformer:new r.StringToDateTransformer}),t.__metadata("design:type",Date)],exports.BillingSubscriptionStripe.prototype,"canceledAt",void 0),t.__decorate([e.Column("tinyint",{name:"isPaused",width:1,default:()=>"'0'",transformer:new i.BoolToNumberTransformer}),t.__metadata("design:type",Boolean)],exports.BillingSubscriptionStripe.prototype,"isPaused",void 0),t.__decorate([e.Column("date",{name:"resumesAt",nullable:!0,transformer:new r.StringToDateTransformer}),t.__metadata("design:type",Date)],exports.BillingSubscriptionStripe.prototype,"resumesAt",void 0),t.__decorate([e.Column("tinyint",{name:"isTrial",width:1,default:()=>"'0'",transformer:new i.BoolToNumberTransformer}),t.__metadata("design:type",Boolean)],exports.BillingSubscriptionStripe.prototype,"isTrial",void 0),t.__decorate([e.Column("date",{name:"trialEnd",nullable:!0,transformer:new r.StringToDateTransformer}),t.__metadata("design:type",Date)],exports.BillingSubscriptionStripe.prototype,"trialEnd",void 0),t.__decorate([e.Column("datetime",{name:"createdAt",nullable:!0,precision:0}),t.__metadata("design:type",Date)],exports.BillingSubscriptionStripe.prototype,"createdAt",void 0),t.__decorate([e.Column("datetime",{name:"updatedAt",nullable:!0,precision:0}),t.__metadata("design:type",Date)],exports.BillingSubscriptionStripe.prototype,"updatedAt",void 0),exports.BillingSubscriptionStripe=t.__decorate([e.Index("ixBillingSubscriptionStripeCustomerId",["customerId"],{}),e.Index("ixBillingSubscriptionStripeComposite",["subscriptionId","customerId","status"],{}),e.Index("ixBillingSubscriptionStripeCreatedAt",["createdAt"],{}),e.Index("ixBillingSubscriptionStripeStatusUpdatedAt",["status","updatedAt"],{}),e.Entity("billingSubscriptionStripe",{schema:"nova"})],exports.BillingSubscriptionStripe);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { MigrationInterface, QueryRunner } from 'typeorm';
|
|
2
|
+
/**
|
|
3
|
+
* FULLTEXT (ngram) indexes to back jarvis-web's cross-entity quick-search.
|
|
4
|
+
* The existing search runs `LIKE '%needle%'` against client name/email and
|
|
5
|
+
* user email/firstName/lastName/userName/companyName — leading-wildcard scans
|
|
6
|
+
* on ~340k-row tables that cost 150ms-2s wall depending on needle rarity.
|
|
7
|
+
*
|
|
8
|
+
* The ngram parser tokenizes by 2-character grams (default), so substring
|
|
9
|
+
* queries like "gusov" hit "gusovsky" via shared tokens. Repository code
|
|
10
|
+
* issues `MATCH ... AGAINST` predicates and falls back to LIKE when the
|
|
11
|
+
* needle is shorter than the ngram token size.
|
|
12
|
+
*/
|
|
13
|
+
export declare class addQuickSearchFulltextIndexes1746434400000 implements MigrationInterface {
|
|
14
|
+
up(queryRunner: QueryRunner): Promise<void>;
|
|
15
|
+
down(queryRunner: QueryRunner): Promise<void>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* FULLTEXT (ngram) indexes to back jarvis-web's cross-entity quick-search.
|
|
5
|
+
* The existing search runs `LIKE '%needle%'` against client name/email and
|
|
6
|
+
* user email/firstName/lastName/userName/companyName — leading-wildcard scans
|
|
7
|
+
* on ~340k-row tables that cost 150ms-2s wall depending on needle rarity.
|
|
8
|
+
*
|
|
9
|
+
* The ngram parser tokenizes by 2-character grams (default), so substring
|
|
10
|
+
* queries like "gusov" hit "gusovsky" via shared tokens. Repository code
|
|
11
|
+
* issues `MATCH ... AGAINST` predicates and falls back to LIKE when the
|
|
12
|
+
* needle is shorter than the ngram token size.
|
|
13
|
+
*/
|
|
14
|
+
class addQuickSearchFulltextIndexes1746434400000 {
|
|
15
|
+
async up(queryRunner) {
|
|
16
|
+
await queryRunner.query('ALTER TABLE `client` ADD FULLTEXT INDEX `ftClientSearch` (`name`, `email`) WITH PARSER ngram');
|
|
17
|
+
await queryRunner.query('ALTER TABLE `user` ADD FULLTEXT INDEX `ftUserSearch` (`email`, `firstName`, `lastName`, `userName`, `companyName`) WITH PARSER ngram');
|
|
18
|
+
}
|
|
19
|
+
async down(queryRunner) {
|
|
20
|
+
await queryRunner.query('ALTER TABLE `client` DROP INDEX `ftClientSearch`');
|
|
21
|
+
await queryRunner.query('ALTER TABLE `user` DROP INDEX `ftUserSearch`');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
exports.addQuickSearchFulltextIndexes1746434400000 = addQuickSearchFulltextIndexes1746434400000;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var _1684483704434AddLowerCaseIndex = require('../1684483704434-addLowerCaseIndex.js');
|
|
4
3
|
var _1684483705001UpdateSecurityUserViewsV1 = require('../1684483705001-updateSecurityUserViewsV1.js');
|
|
4
|
+
var _1684483704434AddLowerCaseIndex = require('../1684483704434-addLowerCaseIndex.js');
|
|
5
5
|
var _1684483705002UpdateSecurityUserViewsV2 = require('../1684483705002-updateSecurityUserViewsV2.js');
|
|
6
|
+
var _1746434400000AddQuickSearchFulltextIndexes = require('../1746434400000-addQuickSearchFulltextIndexes.js');
|
|
6
7
|
|
|
7
8
|
|
|
8
9
|
|
|
9
|
-
exports.addLowerCaseIndex1684483704434 = _1684483704434AddLowerCaseIndex.addLowerCaseIndex1684483704434;
|
|
10
10
|
exports.updateSecurityUserViewsV11684483705001 = _1684483705001UpdateSecurityUserViewsV1.updateSecurityUserViewsV11684483705001;
|
|
11
|
+
exports.addLowerCaseIndex1684483704434 = _1684483704434AddLowerCaseIndex.addLowerCaseIndex1684483704434;
|
|
11
12
|
exports.updateSecurityUserViewsV21684483705002 = _1684483705002UpdateSecurityUserViewsV2.updateSecurityUserViewsV21684483705002;
|
|
13
|
+
exports.addQuickSearchFulltextIndexes1746434400000 = _1746434400000AddQuickSearchFulltextIndexes.addQuickSearchFulltextIndexes1746434400000;
|
package/package.json
CHANGED
package/schema.sql
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
-- nova-orm-schema-checksum:
|
|
1
|
+
-- nova-orm-schema-checksum: 2d172673b916b5d8e899b7a37a9367e3
|
|
2
2
|
-- Nova ORM Schema Dump
|
|
3
|
-
-- Generated at: 2026-05-
|
|
3
|
+
-- Generated at: 2026-05-05T09:59:55.117Z
|
|
4
4
|
|
|
5
5
|
SET FOREIGN_KEY_CHECKS = 0;
|
|
6
6
|
|
|
@@ -505,6 +505,7 @@ CREATE TABLE `billingCampaignPrepaid` (
|
|
|
505
505
|
`createdAt` datetime DEFAULT NULL,
|
|
506
506
|
`updatedAt` datetime DEFAULT NULL,
|
|
507
507
|
PRIMARY KEY (`id`),
|
|
508
|
+
KEY `ixBillingCampaignPrepaidSubscriptionId` (`subscriptionId`),
|
|
508
509
|
KEY `ixBillingCampaignPrepaidCreatedAt` (`createdAt`),
|
|
509
510
|
KEY `ixBillingCampaignPrepaidOfferId` (`offerId`),
|
|
510
511
|
KEY `ixBillingCampaignPrepaidStatusPrepaidEndAt` (`status`,`prepaidEndAt`),
|
|
@@ -573,7 +574,8 @@ CREATE TABLE `billingDeviceHistory` (
|
|
|
573
574
|
`platform` varchar(25) DEFAULT NULL,
|
|
574
575
|
`status` varchar(10) DEFAULT NULL,
|
|
575
576
|
`createdAt` datetime DEFAULT NULL,
|
|
576
|
-
PRIMARY KEY (`id`)
|
|
577
|
+
PRIMARY KEY (`id`),
|
|
578
|
+
KEY `ixBillingDeviceHistoryImeiSubscriptionIdCreatedAt` (`imei`,`subscriptionId`,`createdAt`)
|
|
577
579
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
|
578
580
|
|
|
579
581
|
DROP TABLE IF EXISTS `billingDeviceTypePlan`;
|
|
@@ -809,6 +811,7 @@ CREATE TABLE `billingSubscriptionBraintree` (
|
|
|
809
811
|
`trialDurationUnit` varchar(10) DEFAULT NULL,
|
|
810
812
|
`trialPeriod` tinyint(1) DEFAULT NULL,
|
|
811
813
|
PRIMARY KEY (`subscriptionId`),
|
|
814
|
+
KEY `ixBillingSubscriptionBraintreeStatusUpdatedAt` (`status`,`updatedAt`),
|
|
812
815
|
KEY `ixBillingSubscriptionBraintreeCreatedAt` (`createdAt`),
|
|
813
816
|
KEY `ixBillingSubscriptionBraintreeComposite` (`subscriptionId`,`customerId`,`status`),
|
|
814
817
|
KEY `ixBillingSubscriptionBraintreeCustomerId` (`customerId`)
|
|
@@ -841,6 +844,7 @@ CREATE TABLE `billingSubscriptionStripe` (
|
|
|
841
844
|
`createdAt` datetime DEFAULT NULL,
|
|
842
845
|
`updatedAt` datetime DEFAULT NULL,
|
|
843
846
|
PRIMARY KEY (`subscriptionId`),
|
|
847
|
+
KEY `ixBillingSubscriptionStripeStatusUpdatedAt` (`status`,`updatedAt`),
|
|
844
848
|
KEY `ixBillingSubscriptionStripeCreatedAt` (`createdAt`),
|
|
845
849
|
KEY `ixBillingSubscriptionStripeComposite` (`subscriptionId`,`customerId`,`status`),
|
|
846
850
|
KEY `ixBillingSubscriptionStripeCustomerId` (`customerId`)
|
|
@@ -996,7 +1000,8 @@ CREATE TABLE `client` (
|
|
|
996
1000
|
KEY `ixClientEmail` (`email`),
|
|
997
1001
|
KEY `ixClientCreatedAt` (`createdAt`),
|
|
998
1002
|
KEY `ixClientClientTypeId` (`clientTypeId`),
|
|
999
|
-
KEY `ixClientEmailLower` ((lower(`email`)))
|
|
1003
|
+
KEY `ixClientEmailLower` ((lower(`email`))),
|
|
1004
|
+
FULLTEXT KEY `ftClientSearch` (`name`,`email`) /*!50100 WITH PARSER `ngram` */
|
|
1000
1005
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
|
1001
1006
|
|
|
1002
1007
|
DROP TABLE IF EXISTS `clientAlertConfiguration`;
|
|
@@ -2279,7 +2284,7 @@ CREATE TABLE `migration` (
|
|
|
2279
2284
|
`timestamp` bigint NOT NULL,
|
|
2280
2285
|
`name` varchar(255) NOT NULL,
|
|
2281
2286
|
PRIMARY KEY (`id`)
|
|
2282
|
-
) ENGINE=InnoDB AUTO_INCREMENT=
|
|
2287
|
+
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
|
2283
2288
|
|
|
2284
2289
|
DROP TABLE IF EXISTS `mobileNetwork`;
|
|
2285
2290
|
CREATE TABLE `mobileNetwork` (
|
|
@@ -3160,7 +3165,8 @@ CREATE TABLE `user` (
|
|
|
3160
3165
|
KEY `ixUserClientId` (`clientId`),
|
|
3161
3166
|
KEY `ixUserEmailLower` ((lower(`email`))),
|
|
3162
3167
|
KEY `ixUserNameLower` ((lower(`userName`))),
|
|
3163
|
-
KEY `ixPreferredUserNameLower` ((lower(`preferredUserName`)))
|
|
3168
|
+
KEY `ixPreferredUserNameLower` ((lower(`preferredUserName`))),
|
|
3169
|
+
FULLTEXT KEY `ftUserSearch` (`email`,`firstName`,`lastName`,`userName`,`companyName`) /*!50100 WITH PARSER `ngram` */
|
|
3164
3170
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
|
|
3165
3171
|
|
|
3166
3172
|
DROP TABLE IF EXISTS `userActivation`;
|