@spytecgps/nova-orm 0.0.225 → 0.0.226

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.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["nova-orm"]=t():e["nova-orm"]=t()}(global,(()=>(()=>{"use strict";var e={d:(t,i)=>{for(var r in i)e.o(i,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:i[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{Entities:()=>i,Enums:()=>n,NovaDataSource:()=>un,Repositories:()=>s,Types:()=>E,Utils:()=>Do});var i={};e.r(i),e.d(i,{AcumaticaAmazonProduct:()=>F,AcumaticaImeiIccidData:()=>q,AcumaticaOrderShipmentDetails:()=>G,AcumaticaShipment:()=>K,AcumaticaShipmentAmazon:()=>$,AempToken:()=>Y,Alert:()=>oe,AlertMigration:()=>de,AlertMigrationBatch:()=>ue,AlertTimeWindowConfiguration:()=>ye,AlertType:()=>re,AppFeatureType:()=>fe,AssetCategory:()=>be,Billing:()=>ut,BillingCustomerBraintree:()=>yt,BillingDeviceHistory:()=>ft,BillingHubspotPaymentLog:()=>bt,BillingKlarnaCustomer:()=>wt,BillingKlarnaOrder:()=>Tt,BillingStatusHistoryBraintree:()=>Ut,BillingSubscriptionBraintree:()=>kt,Blacklist:()=>jt,BlacklistType:()=>Lt,Boundary:()=>Wt,BoundaryEvent:()=>Jt,CellTower:()=>zt,Client:()=>nt,ClientAppFeature:()=>Zt,ClientConfiguration:()=>ei,ClientDeviceSetting:()=>ri,ClientType:()=>we,Country:()=>Ge,CustomerAttribute:()=>Ae,DataSourceType:()=>oi,Deactivation:()=>di,DeactivationReason:()=>pi,Device:()=>xe,DeviceAlertConfiguration:()=>gi,DeviceBehavior:()=>hi,DeviceCustomConfiguration:()=>Fe,DeviceHistory:()=>Ci,DeviceModelListener:()=>Di,DevicePairing:()=>Ti,DevicePromotion:()=>Ui,DeviceReplacement:()=>ki,DeviceTask:()=>Li,DeviceType:()=>Pe,DeviceTypeEvent:()=>Wi,DeviceTypeFeature:()=>Ji,DeviceTypeFirmware:()=>zi,EntityTag:()=>Zi,EntityType:()=>er,Event:()=>rr,Feature:()=>or,FirmwareAutoUpgradeBlacklist:()=>dr,FirmwareUpgradeTask:()=>pr,IccidStatus:()=>gr,ImeiIccidCarrier:()=>hr,ImeiIccidHistory:()=>Cr,Industry:()=>Dr,LatestPosition:()=>Tr,Magento2Gps:()=>Ur,Magento2Plan:()=>kr,MobileNetwork:()=>jr,NotificationRecipient:()=>Lr,Organization:()=>qe,Plan:()=>lt,Position:()=>Wr,PositionMigration:()=>Jr,PositionMigrationBatch:()=>Kr,Promotion:()=>Ne,SecurityRole:()=>$r,ServiceProvider:()=>Yr,ServiceProviderProduct:()=>ia,ServiceProviderProductNetwork:()=>na,ServiceProviderProductType:()=>la,Sim:()=>ua,Task:()=>ya,TaskSchedule:()=>ji,Trip:()=>fa,TripCompletionStatus:()=>ba,TripPosition:()=>wa,User:()=>it,UserActivation:()=>Aa,UserActivationDevice:()=>Na,UserActivationEvent:()=>Pa,UserActivationMetric:()=>xa,UserAlertComplain:()=>Ke,UserAlertConfiguration:()=>$e,UserAppFeedback:()=>Fa,UserAppIncident:()=>qa,UserConfiguration:()=>Ye,UserDataDeletionRequest:()=>Ga,UserDeviceBehaviorTask:()=>Ka,UserInvitation:()=>$a,UserRatingRequest:()=>Ya,UserRegistrationAttempt:()=>rn,UserSecurityRole:()=>on});var r={};e.r(r),e.d(r,{AllEntitiesSubscriber:()=>ln});var a={};e.r(a),e.d(a,{LogLevel:()=>pn});var n={};e.r(n),e.d(n,{BlacklistType:()=>kn,BoundaryEventType:()=>jn,BoundaryStatus:()=>Tn,DeviceBehaviorStatus:()=>Un,DeviceBehaviorTaskStatus:()=>On,DeviceBehaviorType:()=>Nn,DeviceStatus:()=>An,HapnClientType:()=>Bn,HapnSecurityRole:()=>Sn,NotificationRecipientType:()=>Pn,TripCompletionStatus:()=>xn,TripType:()=>En});var o={};e.r(o),e.d(o,{requiredCreateTripParamsAttributes:()=>no,requiredGetTripsParamsAttributes:()=>so,requiredUpdateTripEndValuesParamsAttributes:()=>oo});var s={};e.r(s),e.d(s,{AcumaticaRepository:()=>gn,AempTokenRepository:()=>hn,AlertRepository:()=>In,AlertTypesRepository:()=>bn,AppFeaturesRepository:()=>Cn,AssetCategoriesRepository:()=>Rn,BillingRepository:()=>wn,BlacklistRepository:()=>Dn,BoundariesRepository:()=>Ln,ClientsRepository:()=>Qn,CountriesRepository:()=>Wn,DeactivationsRepository:()=>Vn,DeviceBehaviorsRepository:()=>Gn,DevicePairingsRepository:()=>Jn,DevicesRepository:()=>Kn,FirmwaresRepository:()=>zn,NotificationRecipientsRepository:()=>_n,PositionRepository:()=>Zn,SecurityRepository:()=>Xn,TasksRepository:()=>ao,TripRepository:()=>uo,UserActivationsRepository:()=>po,UserAppFeedbackRepository:()=>mo,UserAppIncidentsRepository:()=>yo,UserConfigurationsRepository:()=>go,UserDataDeletionRequestsRepository:()=>vo,UserInvitationsRepository:()=>fo,UserRatingRequestsRepository:()=>ho,UserRegistrationAttemptsRepository:()=>Io,UsersRepository:()=>Co});var l={};e.r(l);var d={};e.r(d);var c={};e.r(c);var u={};e.r(u);var p={};e.r(p);var m={};e.r(m);var y={};e.r(y);var g={};e.r(g);var v={};e.r(v);var f={};e.r(f);var h={};e.r(h);var I={};e.r(I);var b={};e.r(b);var C={};e.r(C),e.d(C,{FirmwareUpgradeTaskStatus:()=>wo,UpgradeType:()=>Ro});var R={};e.r(R);var w={};e.r(w);var D={};e.r(D);var S={};e.r(S);var A={};e.r(A);var T={};e.r(T);var B={};e.r(B);var N={};e.r(N);var U={};e.r(U);var O={};e.r(O);var P={};e.r(P);var k={};e.r(k);var E={};e.r(E),e.d(E,{Acumatica:()=>l,AlertTypes:()=>c,Alerts:()=>d,AppFeatures:()=>u,Billing:()=>p,Blacklist:()=>m,Boundaries:()=>y,Clients:()=>g,Countries:()=>v,Deactivations:()=>f,DeviceBehaviors:()=>h,DevicePairings:()=>I,Devices:()=>b,Enums:()=>n,Firmwares:()=>C,Logger:()=>a,NotificationRecipients:()=>R,Positions:()=>w,Security:()=>D,Trips:()=>o,UserActivations:()=>A,UserAppFeedback:()=>T,UserAppIncidents:()=>B,UserConfigurations:()=>N,UserDataDeletionRequests:()=>U,UserInvitations:()=>O,UserRatingRequests:()=>P,UserRegistrationAttempts:()=>k,Users:()=>S});const x=require("typeorm");var j=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},M=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let F=class{id;sku;asin;description;reviewUrl;productUrl};j([(0,x.PrimaryGeneratedColumn)({type:"smallint",name:"id"}),M("design:type",Number)],F.prototype,"id",void 0),j([(0,x.Column)("varchar",{name:"sku",length:50}),M("design:type",String)],F.prototype,"sku",void 0),j([(0,x.Column)("varchar",{name:"asin",length:50}),M("design:type",String)],F.prototype,"asin",void 0),j([(0,x.Column)("varchar",{name:"description",nullable:!0,length:500}),M("design:type",String)],F.prototype,"description",void 0),j([(0,x.Column)("varchar",{name:"reviewUrl",nullable:!0,length:1e3}),M("design:type",String)],F.prototype,"reviewUrl",void 0),j([(0,x.Column)("varchar",{name:"productUrl",nullable:!0,length:1e3}),M("design:type",String)],F.prototype,"productUrl",void 0),F=j([(0,x.Entity)("acumaticaAmazonProduct",{schema:"nova"})],F);var L=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Q=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let q=class{id;imei;iccid;amazonShipmentId;deviceModel;deviceCarrier;carrierNetwork;carrierProductId;poNbr;createdBy;createdDate;lastModifiedDate;shipDate;asin;countryCode};L([(0,x.PrimaryGeneratedColumn)({type:"smallint",name:"id"}),Q("design:type",Number)],q.prototype,"id",void 0),L([(0,x.Column)("varchar",{name:"imei",length:50}),Q("design:type",String)],q.prototype,"imei",void 0),L([(0,x.Column)("varchar",{name:"iccid",nullable:!0,length:50}),Q("design:type",String)],q.prototype,"iccid",void 0),L([(0,x.Column)("varchar",{name:"amazonShipmentId",nullable:!0,length:50}),Q("design:type",String)],q.prototype,"amazonShipmentId",void 0),L([(0,x.Column)("varchar",{name:"deviceModel",nullable:!0,length:50}),Q("design:type",String)],q.prototype,"deviceModel",void 0),L([(0,x.Column)("varchar",{name:"deviceCarrier",nullable:!0,length:50}),Q("design:type",String)],q.prototype,"deviceCarrier",void 0),L([(0,x.Column)("varchar",{name:"carrierNetwork",nullable:!0,length:50}),Q("design:type",String)],q.prototype,"carrierNetwork",void 0),L([(0,x.Column)("varchar",{name:"carrierProductId",nullable:!0,length:50}),Q("design:type",String)],q.prototype,"carrierProductId",void 0),L([(0,x.Column)("varchar",{name:"poNbr",nullable:!0,length:50}),Q("design:type",String)],q.prototype,"poNbr",void 0),L([(0,x.Column)("varchar",{name:"createdBy",nullable:!0,length:100}),Q("design:type",String)],q.prototype,"createdBy",void 0),L([(0,x.Column)("varchar",{name:"createdDate",nullable:!0,length:50}),Q("design:type",String)],q.prototype,"createdDate",void 0),L([(0,x.Column)("varchar",{name:"lastModifiedDate",nullable:!0,length:50}),Q("design:type",String)],q.prototype,"lastModifiedDate",void 0),L([(0,x.Column)("varchar",{name:"shipDate",nullable:!0,length:50}),Q("design:type",String)],q.prototype,"shipDate",void 0),L([(0,x.Column)("varchar",{name:"asin",nullable:!0,length:50}),Q("design:type",String)],q.prototype,"asin",void 0),L([(0,x.Column)("varchar",{name:"countryCode",nullable:!0,length:3}),Q("design:type",String)],q.prototype,"countryCode",void 0),q=L([(0,x.Entity)("acumaticaImeiIccidData",{schema:"nova"})],q);var W=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},V=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let G=class{id;imei;shipmentNumber;shipmentStatus;shipmentDate;orderType;orderStatus;iccid;sku};W([(0,x.PrimaryGeneratedColumn)({type:"smallint",name:"id"}),V("design:type",Number)],G.prototype,"id",void 0),W([(0,x.Column)("varchar",{name:"imei",nullable:!0,length:255}),V("design:type",String)],G.prototype,"imei",void 0),W([(0,x.Column)("varchar",{name:"shipmentNumber",nullable:!0,length:50}),V("design:type",String)],G.prototype,"shipmentNumber",void 0),W([(0,x.Column)("varchar",{name:"shipmentStatus",nullable:!0,length:50}),V("design:type",String)],G.prototype,"shipmentStatus",void 0),W([(0,x.Column)("datetime",{name:"shipmentDate",nullable:!0,precision:0}),V("design:type",Date)],G.prototype,"shipmentDate",void 0),W([(0,x.Column)("varchar",{name:"orderType",nullable:!0,length:10}),V("design:type",String)],G.prototype,"orderType",void 0),W([(0,x.Column)("varchar",{name:"orderStatus",nullable:!0,length:50}),V("design:type",String)],G.prototype,"orderStatus",void 0),W([(0,x.Column)("varchar",{name:"iccid",nullable:!0,length:255}),V("design:type",String)],G.prototype,"iccid",void 0),W([(0,x.Column)("varchar",{name:"sku",nullable:!0,length:50}),V("design:type",String)],G.prototype,"sku",void 0),G=W([(0,x.Entity)("acumaticaOrderShipmentDetails",{schema:"nova"})],G);var J=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},H=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let K=class{shipmentId;shipmentDate;location};J([(0,x.PrimaryColumn)("varchar",{name:"shipmentId",length:50}),H("design:type",String)],K.prototype,"shipmentId",void 0),J([(0,x.Column)("datetime",{name:"shipmentDate",nullable:!0,precision:0}),H("design:type",Date)],K.prototype,"shipmentDate",void 0),J([(0,x.Column)("varchar",{name:"location",nullable:!0,length:6}),H("design:type",String)],K.prototype,"location",void 0),K=J([(0,x.Entity)("acumaticaShipment",{schema:"nova"})],K);var z=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},_=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let $=class{shipmentId;asin};z([(0,x.Column)("varchar",{name:"shipmentId",primary:!0,length:50}),_("design:type",String)],$.prototype,"shipmentId",void 0),z([(0,x.Column)("varchar",{name:"asin",primary:!0,length:50}),_("design:type",String)],$.prototype,"asin",void 0),$=z([(0,x.Entity)("acumaticaShipmentAmazon",{schema:"nova"})],$);var Z=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},X=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Y=class{id;clientId;token;createdAt;updatedAt;expiresAt};Z([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),X("design:type",Number)],Y.prototype,"id",void 0),Z([(0,x.Column)("int",{name:"clientId"}),X("design:type",Number)],Y.prototype,"clientId",void 0),Z([(0,x.Column)("binary",{name:"token",length:16}),X("design:type",Buffer)],Y.prototype,"token",void 0),Z([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),X("design:type",Date)],Y.prototype,"createdAt",void 0),Z([(0,x.Column)("datetime",{name:"updatedAt",nullable:!0}),X("design:type",Date)],Y.prototype,"updatedAt",void 0),Z([(0,x.Column)("datetime",{name:"expiresAt",nullable:!0}),X("design:type",Date)],Y.prototype,"expiresAt",void 0),Y=Z([(0,x.Index)("ixuAempToken_Token",["token"],{unique:!0}),(0,x.Entity)("aempToken",{schema:"nova"})],Y);class ee{to(e){return null===e?null:void 0!==e?e?1:0:void 0}from(e){return null===e?null:void 0!==e?1==e:void 0}}var te=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},ie=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let re=class{id;name;title;description;isSystem;icon;context;identifier;stage;category;key;createdAt};te([(0,x.PrimaryGeneratedColumn)({type:"smallint",name:"id"}),ie("design:type",Number)],re.prototype,"id",void 0),te([(0,x.Column)("varchar",{name:"name",length:50}),ie("design:type",String)],re.prototype,"name",void 0),te([(0,x.Column)("varchar",{name:"title",nullable:!0,length:255}),ie("design:type",String)],re.prototype,"title",void 0),te([(0,x.Column)("varchar",{name:"description",nullable:!0,length:2e3}),ie("design:type",String)],re.prototype,"description",void 0),te([(0,x.Column)("tinyint",{name:"isSystem",width:1,default:()=>"'0'",transformer:new ee}),ie("design:type",Boolean)],re.prototype,"isSystem",void 0),te([(0,x.Column)("varchar",{name:"icon",nullable:!0,length:50}),ie("design:type",String)],re.prototype,"icon",void 0),te([(0,x.Column)("varchar",{name:"context",nullable:!0,length:25}),ie("design:type",String)],re.prototype,"context",void 0),te([(0,x.Column)("varchar",{name:"identifier",nullable:!0,length:50}),ie("design:type",String)],re.prototype,"identifier",void 0),te([(0,x.Column)("varchar",{name:"stage",nullable:!0,length:10}),ie("design:type",String)],re.prototype,"stage",void 0),te([(0,x.Column)("varchar",{name:"category",nullable:!0,length:25}),ie("design:type",String)],re.prototype,"category",void 0),te([(0,x.Column)("varchar",{name:"key",nullable:!0,length:50}),ie("design:type",String)],re.prototype,"key",void 0),te([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),ie("design:type",Date)],re.prototype,"createdAt",void 0),re=te([(0,x.Index)("ixAlertTypeStage",["stage"],{}),(0,x.Entity)("alertType",{schema:"nova"})],re);var ae=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},ne=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let oe=class{id;alertTypeId;alertType;value;createdAt;userId;messageId;boundaryId;imei;sendTime;lat;lon;address;clientId;isBuffer;isNotification;gpsUtcTime;relevantAddress;gpsMessageId;cellTowerRelevantAddress};ae([(0,x.PrimaryGeneratedColumn)({type:"bigint",name:"id"}),ne("design:type",Number)],oe.prototype,"id",void 0),ae([(0,x.Column)("tinyint",{name:"alertTypeId"}),ne("design:type",Number)],oe.prototype,"alertTypeId",void 0),ae([(0,x.OneToOne)((()=>re),{createForeignKeyConstraints:!1}),(0,x.JoinColumn)(),ne("design:type",Object)],oe.prototype,"alertType",void 0),ae([(0,x.Column)("varchar",{name:"value",nullable:!0,length:5e3}),ne("design:type",String)],oe.prototype,"value",void 0),ae([(0,x.Column)("datetime",{name:"createdAt",precision:3}),ne("design:type",Date)],oe.prototype,"createdAt",void 0),ae([(0,x.Column)("binary",{name:"userId",nullable:!0,length:16}),ne("design:type",Buffer)],oe.prototype,"userId",void 0),ae([(0,x.Column)("binary",{name:"messageId",length:16}),ne("design:type",Buffer)],oe.prototype,"messageId",void 0),ae([(0,x.Column)("int",{name:"boundaryId",nullable:!0}),ne("design:type",Number)],oe.prototype,"boundaryId",void 0),ae([(0,x.Column)("varchar",{name:"imei",length:15}),ne("design:type",String)],oe.prototype,"imei",void 0),ae([(0,x.Column)("datetime",{name:"sendTime",precision:3}),ne("design:type",Date)],oe.prototype,"sendTime",void 0),ae([(0,x.Column)("decimal",{name:"lat",nullable:!0,precision:8,scale:6}),ne("design:type",Number)],oe.prototype,"lat",void 0),ae([(0,x.Column)("decimal",{name:"lon",nullable:!0,precision:9,scale:6}),ne("design:type",Number)],oe.prototype,"lon",void 0),ae([(0,x.Column)("varchar",{name:"address",nullable:!0,length:255}),ne("design:type",String)],oe.prototype,"address",void 0),ae([(0,x.Column)("int",{name:"clientId",nullable:!0}),ne("design:type",Number)],oe.prototype,"clientId",void 0),ae([(0,x.Column)("tinyint",{name:"isBuffer",nullable:!0,width:1}),ne("design:type",Boolean)],oe.prototype,"isBuffer",void 0),ae([(0,x.Column)("tinyint",{name:"isNotification",nullable:!0,width:1}),ne("design:type",Boolean)],oe.prototype,"isNotification",void 0),ae([(0,x.Column)("datetime",{name:"gpsUtcTime",nullable:!0,precision:3}),ne("design:type",Date)],oe.prototype,"gpsUtcTime",void 0),ae([(0,x.Column)("varchar",{name:"relevantAddress",nullable:!0,length:255}),ne("design:type",String)],oe.prototype,"relevantAddress",void 0),ae([(0,x.Column)("binary",{name:"gpsMessageId",nullable:!0,length:16}),ne("design:type",Buffer)],oe.prototype,"gpsMessageId",void 0),ae([(0,x.Column)("varchar",{name:"cellTowerRelevantAddress",nullable:!0,length:255}),ne("design:type",String)],oe.prototype,"cellTowerRelevantAddress",void 0),oe=ae([(0,x.Index)("ixAlertUserId_Imei_AlertTypeId_SendTime",["userId","imei","alertTypeId","sendTime"],{}),(0,x.Index)("ixAlertUserId_AlertTypeId_SendTime",["userId","alertTypeId","sendTime"],{}),(0,x.Index)("ixAlertAlertTypeId",["alertTypeId"],{}),(0,x.Index)("ixAlertClientId",["clientId"],{}),(0,x.Index)("ixAlertImei",["imei"],{}),(0,x.Index)("ixAlertSendTime",["sendTime"],{}),(0,x.Index)("ixAlertUserId",["userId"],{}),(0,x.Entity)("alert",{schema:"nova"})],oe);var se=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},le=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let de=class{id;alertTypeId;value;createdAt;userId;messageId;boundaryId;imei;sendTime;lat;lon;address;clientId;isBuffer;isNotification;gpsUtcTime;relevantAddress;gpsMessageId;cellTowerRelevantAddress};se([(0,x.PrimaryColumn)({type:"bigint",name:"id"}),le("design:type",Number)],de.prototype,"id",void 0),se([(0,x.Column)("tinyint",{name:"alertTypeId"}),le("design:type",Number)],de.prototype,"alertTypeId",void 0),se([(0,x.Column)("varchar",{name:"value",nullable:!0,length:5e3}),le("design:type",String)],de.prototype,"value",void 0),se([(0,x.Column)("datetime",{name:"createdAt",precision:3}),le("design:type",Date)],de.prototype,"createdAt",void 0),se([(0,x.Column)("binary",{name:"userId",nullable:!0,length:16}),le("design:type",Buffer)],de.prototype,"userId",void 0),se([(0,x.Column)("binary",{name:"messageId",length:16}),le("design:type",Buffer)],de.prototype,"messageId",void 0),se([(0,x.Column)("int",{name:"boundaryId",nullable:!0}),le("design:type",Number)],de.prototype,"boundaryId",void 0),se([(0,x.Column)("varchar",{name:"imei",length:15}),le("design:type",String)],de.prototype,"imei",void 0),se([(0,x.Column)("datetime",{name:"sendTime",precision:3}),le("design:type",Date)],de.prototype,"sendTime",void 0),se([(0,x.Column)("decimal",{name:"lat",nullable:!0,precision:8,scale:6}),le("design:type",Number)],de.prototype,"lat",void 0),se([(0,x.Column)("decimal",{name:"lon",nullable:!0,precision:9,scale:6}),le("design:type",Number)],de.prototype,"lon",void 0),se([(0,x.Column)("varchar",{name:"address",nullable:!0,length:255}),le("design:type",String)],de.prototype,"address",void 0),se([(0,x.Column)("int",{name:"clientId",nullable:!0}),le("design:type",Number)],de.prototype,"clientId",void 0),se([(0,x.Column)("tinyint",{name:"isBuffer",nullable:!0,width:1}),le("design:type",Boolean)],de.prototype,"isBuffer",void 0),se([(0,x.Column)("tinyint",{name:"isNotification",nullable:!0,width:1}),le("design:type",Boolean)],de.prototype,"isNotification",void 0),se([(0,x.Column)("datetime",{name:"gpsUtcTime",nullable:!0,precision:3}),le("design:type",Date)],de.prototype,"gpsUtcTime",void 0),se([(0,x.Column)("varchar",{name:"relevantAddress",nullable:!0,length:255}),le("design:type",String)],de.prototype,"relevantAddress",void 0),se([(0,x.Column)("binary",{name:"gpsMessageId",nullable:!0,length:16}),le("design:type",Buffer)],de.prototype,"gpsMessageId",void 0),se([(0,x.Column)("varchar",{name:"cellTowerRelevantAddress",nullable:!0,length:255}),le("design:type",String)],de.prototype,"cellTowerRelevantAddress",void 0),de=se([(0,x.Entity)("alertMigration",{schema:"nova"})],de);var ce=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o};let ue=class{id};ce([(0,x.PrimaryColumn)({type:"bigint",name:"id"}),function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}("design:type",Number)],ue.prototype,"id",void 0),ue=ce([(0,x.Entity)("alertMigrationBatch",{schema:"nova"})],ue);var pe=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},me=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let ye=class{id;alertId;userId;clientId;alertConfigurationId;daysOfTheWeek;startTime;endTime;label};pe([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),me("design:type",Number)],ye.prototype,"id",void 0),pe([(0,x.Column)("int",{name:"alertId",nullable:!0}),me("design:type",Number)],ye.prototype,"alertId",void 0),pe([(0,x.Column)("binary",{name:"userId",nullable:!0,length:16}),me("design:type",Buffer)],ye.prototype,"userId",void 0),pe([(0,x.Column)("int",{name:"clientId",nullable:!0}),me("design:type",Number)],ye.prototype,"clientId",void 0),pe([(0,x.Column)("int",{name:"alertConfigurationId",nullable:!0}),me("design:type",Number)],ye.prototype,"alertConfigurationId",void 0),pe([(0,x.Column)("varchar",{name:"daysOfTheWeek",nullable:!0,length:7}),me("design:type",String)],ye.prototype,"daysOfTheWeek",void 0),pe([(0,x.Column)("datetime",{name:"startTime",nullable:!0,precision:0}),me("design:type",Date)],ye.prototype,"startTime",void 0),pe([(0,x.Column)("datetime",{name:"endTime",nullable:!0,precision:0}),me("design:type",Date)],ye.prototype,"endTime",void 0),pe([(0,x.Column)("varchar",{name:"label",nullable:!0,length:100}),me("design:type",String)],ye.prototype,"label",void 0),ye=pe([(0,x.Entity)("alertTimeWindowConfiguration",{schema:"nova"})],ye);var ge=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},ve=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let fe=class{id;name;description;statusId};ge([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),ve("design:type",Number)],fe.prototype,"id",void 0),ge([(0,x.Column)("varchar",{name:"name",length:100}),ve("design:type",String)],fe.prototype,"name",void 0),ge([(0,x.Column)("varchar",{name:"description",length:500}),ve("design:type",String)],fe.prototype,"description",void 0),ge([(0,x.Column)("int",{name:"statusId",default:()=>"'1'"}),ve("design:type",Number)],fe.prototype,"statusId",void 0),fe=ge([(0,x.Entity)("appFeatureType",{schema:"nova"})],fe);var he=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ie=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let be=class{id;name;description};he([(0,x.PrimaryGeneratedColumn)({type:"tinyint",name:"id"}),Ie("design:type",Number)],be.prototype,"id",void 0),he([(0,x.Column)("varchar",{name:"name",length:50}),Ie("design:type",String)],be.prototype,"name",void 0),he([(0,x.Column)("varchar",{name:"description",nullable:!0,length:255}),Ie("design:type",String)],be.prototype,"description",void 0),be=he([(0,x.Index)("ixuAssetCategoryName",["name"],{unique:!0}),(0,x.Entity)("assetCategory",{schema:"nova"})],be);var Ce=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Re=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let we=class{id;name;description;status};Ce([(0,x.PrimaryGeneratedColumn)({type:"tinyint",name:"id"}),Re("design:type",Number)],we.prototype,"id",void 0),Ce([(0,x.Column)("varchar",{name:"name",length:50}),Re("design:type",String)],we.prototype,"name",void 0),Ce([(0,x.Column)("varchar",{name:"description",length:255}),Re("design:type",String)],we.prototype,"description",void 0),Ce([(0,x.Column)("varchar",{name:"status",length:10,default:()=>"'active'"}),Re("design:type",String)],we.prototype,"status",void 0),we=Ce([(0,x.Entity)("clientType",{schema:"nova"})],we);var De=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Se=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ae=class{clientId;client;enterprise;maintenanceModule};De([(0,x.Column)("int",{primary:!0,name:"clientId"}),Se("design:type",Number)],Ae.prototype,"clientId",void 0),De([(0,x.OneToOne)((()=>nt),{createForeignKeyConstraints:!1,nullable:!1}),(0,x.JoinColumn)(),Se("design:type",Object)],Ae.prototype,"client",void 0),De([(0,x.Column)("tinyint",{name:"enterprise",width:1,default:()=>"'0'",transformer:new ee}),Se("design:type",Boolean)],Ae.prototype,"enterprise",void 0),De([(0,x.Column)("tinyint",{name:"maintenanceModule",width:1,default:()=>"'0'",transformer:new ee}),Se("design:type",Boolean)],Ae.prototype,"maintenanceModule",void 0),Ae=De([(0,x.Entity)("customerAttribute",{schema:"nova"})],Ae);var Te=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Be=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ne=class{id;name;description;clientId;client;imei;deviceTypeId;deviceType;marketPlace;asin;type;discount;discountBillingCycles;freeServiceMonths;startDate;endDate;status};Te([(0,x.PrimaryGeneratedColumn)({type:"bigint",name:"id"}),Be("design:type",Number)],Ne.prototype,"id",void 0),Te([(0,x.Column)("varchar",{name:"name",length:255}),Be("design:type",String)],Ne.prototype,"name",void 0),Te([(0,x.Column)("varchar",{name:"description",length:255}),Be("design:type",String)],Ne.prototype,"description",void 0),Te([(0,x.Column)("int",{name:"clientId",nullable:!0}),Be("design:type",Number)],Ne.prototype,"clientId",void 0),Te([(0,x.OneToMany)((()=>nt),(e=>e.promotions)),Be("design:type",Object)],Ne.prototype,"client",void 0),Te([(0,x.Column)("varchar",{name:"imei",nullable:!0,length:15}),Be("design:type",String)],Ne.prototype,"imei",void 0),Te([(0,x.Column)("smallint",{name:"deviceTypeId",nullable:!0}),Be("design:type",Number)],Ne.prototype,"deviceTypeId",void 0),Te([(0,x.OneToMany)((()=>Pe),(e=>e.promotions)),Be("design:type",Object)],Ne.prototype,"deviceType",void 0),Te([(0,x.Column)("varchar",{name:"marketPlace",length:25,nullable:!0,comment:"Should be used to offer promotions to devices sold in a specific marketplace, as in AMZ US, MX, etc…"}),Be("design:type",String)],Ne.prototype,"marketPlace",void 0),Te([(0,x.Column)("varchar",{name:"asin",nullable:!0,length:25}),Be("design:type",String)],Ne.prototype,"asin",void 0),Te([(0,x.Column)("varchar",{name:"type",length:25,comment:"The type of promotion: freeService or discount."}),Be("design:type",String)],Ne.prototype,"type",void 0),Te([(0,x.Column)("decimal",{name:"discount",nullable:!0,precision:19,scale:4,comment:"The discount value if the type is discount offered in US Dollars."}),Be("design:type",Number)],Ne.prototype,"discount",void 0),Te([(0,x.Column)("int",{name:"discountBillingCycles",nullable:!0,comment:"The number of billing cycles that the discount will be applied. Required when type is discount"}),Be("design:type",Number)],Ne.prototype,"discountBillingCycles",void 0),Te([(0,x.Column)("int",{name:"freeServiceMonths",nullable:!0,comment:"The number of months that the service will be free. Required when type is freeService"}),Be("design:type",Number)],Ne.prototype,"freeServiceMonths",void 0),Te([(0,x.Column)("datetime",{name:"startDate",comment:"The date that the promotion will start"}),Be("design:type",Date)],Ne.prototype,"startDate",void 0),Te([(0,x.Column)("datetime",{name:"endDate",nullable:!0,comment:"The date that the promotion will end"}),Be("design:type",Date)],Ne.prototype,"endDate",void 0),Te([(0,x.Column)("varchar",{name:"status",length:25,comment:"The status of the promotion: active, inactive"}),Be("design:type",String)],Ne.prototype,"status",void 0),Ne=Te([(0,x.Entity)("promotion",{schema:"nova"})],Ne);var Ue=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Oe=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Pe=class{id;brand;model;modelFamily;description;tags;url;name;pictureUrl;userManualUrl;notes;supported;activatable;selfActivatable;port;protocolMatch;stage;identifierType;landingPage;troubleshooting;protocol;promotions;devices};Ue([(0,x.PrimaryGeneratedColumn)({type:"smallint",name:"id"}),Oe("design:type",Number)],Pe.prototype,"id",void 0),Ue([(0,x.Column)("varchar",{name:"brand",length:50}),Oe("design:type",String)],Pe.prototype,"brand",void 0),Ue([(0,x.Column)("varchar",{name:"model",length:50}),Oe("design:type",String)],Pe.prototype,"model",void 0),Ue([(0,x.Column)("varchar",{name:"modelFamily",length:50}),Oe("design:type",String)],Pe.prototype,"modelFamily",void 0),Ue([(0,x.Column)("varchar",{name:"description",nullable:!0,length:500}),Oe("design:type",String)],Pe.prototype,"description",void 0),Ue([(0,x.Column)("varchar",{name:"tags",nullable:!0,length:255}),Oe("design:type",String)],Pe.prototype,"tags",void 0),Ue([(0,x.Column)("varchar",{name:"url",nullable:!0,length:1e3}),Oe("design:type",String)],Pe.prototype,"url",void 0),Ue([(0,x.Column)("varchar",{name:"name",nullable:!0,length:50}),Oe("design:type",String)],Pe.prototype,"name",void 0),Ue([(0,x.Column)("varchar",{name:"pictureUrl",nullable:!0,length:1e3}),Oe("design:type",String)],Pe.prototype,"pictureUrl",void 0),Ue([(0,x.Column)("varchar",{name:"userManualUrl",nullable:!0,length:1e3}),Oe("design:type",String)],Pe.prototype,"userManualUrl",void 0),Ue([(0,x.Column)("varchar",{name:"notes",nullable:!0,length:2e3}),Oe("design:type",String)],Pe.prototype,"notes",void 0),Ue([(0,x.Column)("tinyint",{name:"supported",nullable:!0,width:1,transformer:new ee}),Oe("design:type",Boolean)],Pe.prototype,"supported",void 0),Ue([(0,x.Column)("tinyint",{name:"activatable",nullable:!0,width:1,transformer:new ee}),Oe("design:type",Boolean)],Pe.prototype,"activatable",void 0),Ue([(0,x.Column)("tinyint",{name:"selfActivatable",nullable:!0,width:1,transformer:new ee}),Oe("design:type",Boolean)],Pe.prototype,"selfActivatable",void 0),Ue([(0,x.Column)("smallint",{name:"port",nullable:!0}),Oe("design:type",Number)],Pe.prototype,"port",void 0),Ue([(0,x.Column)("varchar",{name:"protocolMatch",nullable:!0,length:5}),Oe("design:type",String)],Pe.prototype,"protocolMatch",void 0),Ue([(0,x.Column)("varchar",{name:"stage",nullable:!0,length:10}),Oe("design:type",String)],Pe.prototype,"stage",void 0),Ue([(0,x.Column)("varchar",{name:"identifierType",length:10}),Oe("design:type",String)],Pe.prototype,"identifierType",void 0),Ue([(0,x.Column)("varchar",{name:"landingPage",nullable:!0,length:1e3}),Oe("design:type",String)],Pe.prototype,"landingPage",void 0),Ue([(0,x.Column)("varchar",{name:"troubleshooting",nullable:!0,length:1e3}),Oe("design:type",String)],Pe.prototype,"troubleshooting",void 0),Ue([(0,x.Column)("varchar",{name:"protocol",nullable:!0,length:50}),Oe("design:type",String)],Pe.prototype,"protocol",void 0),Ue([(0,x.OneToMany)((()=>Ne),(e=>e.deviceType)),Oe("design:type",Array)],Pe.prototype,"promotions",void 0),Ue([(0,x.OneToMany)((()=>xe),(e=>e.deviceType)),Oe("design:type",Array)],Pe.prototype,"devices",void 0),Pe=Ue([(0,x.Entity)("deviceType",{schema:"nova"})],Pe);var ke=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ee=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let xe=class{id;identifier;identifierKey;deviceTypeId;deviceType;imei;clientId;client;createdAt;name;status;iccid;modifiedAt;createdBy;modifiedBy;forward;color;icon;description;dataSourceTypeId;assetCategoryId;usageRegion;btmac;iccidCarrier;clientDeviceSetting};ke([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),Ee("design:type",Number)],xe.prototype,"id",void 0),ke([(0,x.Column)("varchar",{name:"identifier",length:100}),Ee("design:type",String)],xe.prototype,"identifier",void 0),ke([(0,x.Column)("varchar",{name:"identifierKey",length:255}),Ee("design:type",String)],xe.prototype,"identifierKey",void 0),ke([(0,x.Column)("smallint",{name:"deviceTypeId"}),Ee("design:type",Number)],xe.prototype,"deviceTypeId",void 0),ke([(0,x.ManyToOne)((()=>Pe),{createForeignKeyConstraints:!1,nullable:!1}),(0,x.JoinColumn)(),Ee("design:type",Object)],xe.prototype,"deviceType",void 0),ke([(0,x.Column)("varchar",{name:"imei",length:15}),Ee("design:type",String)],xe.prototype,"imei",void 0),ke([(0,x.Column)("int",{name:"clientId"}),Ee("design:type",Number)],xe.prototype,"clientId",void 0),ke([(0,x.OneToOne)((()=>nt),{createForeignKeyConstraints:!1,nullable:!1}),(0,x.JoinColumn)(),Ee("design:type",Object)],xe.prototype,"client",void 0),ke([(0,x.Column)("datetime",{name:"createdAt",nullable:!0,default:()=>"CURRENT_TIMESTAMP"}),Ee("design:type",Date)],xe.prototype,"createdAt",void 0),ke([(0,x.Column)("varchar",{name:"name",nullable:!0,length:255}),Ee("design:type",String)],xe.prototype,"name",void 0),ke([(0,x.Column)("varchar",{name:"status",nullable:!0,length:10}),Ee("design:type",String)],xe.prototype,"status",void 0),ke([(0,x.Column)("varchar",{name:"iccid",nullable:!0,length:25}),Ee("design:type",String)],xe.prototype,"iccid",void 0),ke([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),Ee("design:type",Date)],xe.prototype,"modifiedAt",void 0),ke([(0,x.Column)("varchar",{name:"createdBy",nullable:!0,length:50}),Ee("design:type",String)],xe.prototype,"createdBy",void 0),ke([(0,x.Column)("varchar",{name:"modifiedBy",nullable:!0,length:50}),Ee("design:type",String)],xe.prototype,"modifiedBy",void 0),ke([(0,x.Column)("tinyint",{name:"forward",nullable:!0,width:1,transformer:new ee}),Ee("design:type",Boolean)],xe.prototype,"forward",void 0),ke([(0,x.Column)("varchar",{name:"color",nullable:!0,length:25}),Ee("design:type",String)],xe.prototype,"color",void 0),ke([(0,x.Column)("varchar",{name:"icon",nullable:!0,length:50}),Ee("design:type",String)],xe.prototype,"icon",void 0),ke([(0,x.Column)("varchar",{name:"description",nullable:!0,length:500}),Ee("design:type",String)],xe.prototype,"description",void 0),ke([(0,x.Column)("tinyint",{name:"dataSourceTypeId",nullable:!0}),Ee("design:type",Number)],xe.prototype,"dataSourceTypeId",void 0),ke([(0,x.Column)("tinyint",{name:"assetCategoryId",nullable:!0}),Ee("design:type",Number)],xe.prototype,"assetCategoryId",void 0),ke([(0,x.Column)("varchar",{name:"usageRegion",nullable:!0,length:25}),Ee("design:type",String)],xe.prototype,"usageRegion",void 0),ke([(0,x.Column)("varchar",{name:"btmac",nullable:!0,length:20}),Ee("design:type",String)],xe.prototype,"btmac",void 0),xe=ke([(0,x.Index)("ixuDeviceIdentifierKey",["identifierKey"],{unique:!0}),(0,x.Index)("ixDeviceClientId",["clientId"],{}),(0,x.Index)("ixDeviceDeviceTypeId",["deviceTypeId"],{}),(0,x.Index)("ixDeviceIccidImei",["iccid","imei"],{}),(0,x.Index)("ixDeviceImei",["imei"],{}),(0,x.Index)("ixDeviceImeiLower",{synchronize:!1}),(0,x.Index)("ixDeviceStatus",["status"],{}),(0,x.Entity)("device",{schema:"nova"})],xe);var je=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Me=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Fe=class{id;clientId;client;deviceTypeId;imei;configFileUrl;skipActivationDefaults;createdAt;po};je([(0,x.PrimaryGeneratedColumn)({type:"mediumint",name:"id"}),Me("design:type",Number)],Fe.prototype,"id",void 0),je([(0,x.Column)("int",{name:"clientId",nullable:!0}),Me("design:type",Number)],Fe.prototype,"clientId",void 0),je([(0,x.ManyToOne)((()=>nt),{createForeignKeyConstraints:!1,nullable:!1}),(0,x.JoinColumn)(),Me("design:type",Object)],Fe.prototype,"client",void 0),je([(0,x.Column)("smallint",{name:"deviceTypeId",nullable:!0}),Me("design:type",Number)],Fe.prototype,"deviceTypeId",void 0),je([(0,x.Column)("varchar",{name:"imei",nullable:!0,length:15}),Me("design:type",String)],Fe.prototype,"imei",void 0),je([(0,x.Column)("varchar",{name:"configFileUrl",nullable:!0,length:1e3}),Me("design:type",String)],Fe.prototype,"configFileUrl",void 0),je([(0,x.Column)("tinyint",{name:"skipActivationDefaults",width:1,default:0}),Me("design:type",Boolean)],Fe.prototype,"skipActivationDefaults",void 0),je([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),Me("design:type",Date)],Fe.prototype,"createdAt",void 0),je([(0,x.Column)("varchar",{name:"po",nullable:!0,length:25}),Me("design:type",String)],Fe.prototype,"po",void 0),Fe=je([(0,x.Index)("ixDeviceCustomConfigurationsClientId",["clientId"],{}),(0,x.Entity)("deviceCustomConfiguration",{schema:"nova"})],Fe);var Le=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Qe=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let qe=class{id;name;description;websiteUrl;address;mainContact};Le([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),Qe("design:type",Number)],qe.prototype,"id",void 0),Le([(0,x.Column)("varchar",{name:"name",length:255}),Qe("design:type",String)],qe.prototype,"name",void 0),Le([(0,x.Column)("varchar",{name:"description",nullable:!0,length:500}),Qe("design:type",String)],qe.prototype,"description",void 0),Le([(0,x.Column)("varchar",{name:"websiteUrl",nullable:!0,length:1e3}),Qe("design:type",String)],qe.prototype,"websiteUrl",void 0),Le([(0,x.Column)("varchar",{name:"address",nullable:!0,length:255}),Qe("design:type",String)],qe.prototype,"address",void 0),Le([(0,x.Column)("binary",{name:"mainContact",length:16}),Qe("design:type",Buffer)],qe.prototype,"mainContact",void 0),qe=Le([(0,x.Entity)("organization",{schema:"nova"})],qe);var We=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ve=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ge=class{id;name;currencies;capital;region;subregion;languages;lat;lon;borders;area;internationalDirectDialing;alpha2Code;alpha3Code};We([(0,x.PrimaryGeneratedColumn)({type:"smallint",name:"id"}),Ve("design:type",Number)],Ge.prototype,"id",void 0),We([(0,x.Column)("varchar",{name:"name",nullable:!0,length:50}),Ve("design:type",String)],Ge.prototype,"name",void 0),We([(0,x.Column)("varchar",{name:"currencies",nullable:!0,length:255}),Ve("design:type",String)],Ge.prototype,"currencies",void 0),We([(0,x.Column)("varchar",{name:"capital",nullable:!0,length:50}),Ve("design:type",String)],Ge.prototype,"capital",void 0),We([(0,x.Column)("varchar",{name:"region",nullable:!0,length:50}),Ve("design:type",String)],Ge.prototype,"region",void 0),We([(0,x.Column)("varchar",{name:"subregion",nullable:!0,length:50}),Ve("design:type",String)],Ge.prototype,"subregion",void 0),We([(0,x.Column)("varchar",{name:"languages",nullable:!0,length:255}),Ve("design:type",String)],Ge.prototype,"languages",void 0),We([(0,x.Column)("decimal",{name:"lat",nullable:!0,precision:8,scale:6}),Ve("design:type",Number)],Ge.prototype,"lat",void 0),We([(0,x.Column)("decimal",{name:"lon",nullable:!0,precision:9,scale:6}),Ve("design:type",Number)],Ge.prototype,"lon",void 0),We([(0,x.Column)("varchar",{name:"borders",nullable:!0,length:255}),Ve("design:type",String)],Ge.prototype,"borders",void 0),We([(0,x.Column)("int",{name:"area",nullable:!0}),Ve("design:type",Number)],Ge.prototype,"area",void 0),We([(0,x.Column)("varchar",{name:"internationalDirectDialing",nullable:!0,length:10}),Ve("design:type",String)],Ge.prototype,"internationalDirectDialing",void 0),We([(0,x.Column)("varchar",{name:"alpha2Code",nullable:!0,length:2}),Ve("design:type",String)],Ge.prototype,"alpha2Code",void 0),We([(0,x.Column)("varchar",{name:"alpha3Code",nullable:!0,length:3}),Ve("design:type",String)],Ge.prototype,"alpha3Code",void 0),Ge=We([(0,x.Entity)("country",{schema:"nova"})],Ge);var Je=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},He=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ke=class{id;userId;user;alertTypeId;alertType;clientId;client;email;reason;createdAt};Je([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),He("design:type",Number)],Ke.prototype,"id",void 0),Je([(0,x.Column)("binary",{name:"userId",length:16}),He("design:type",Buffer)],Ke.prototype,"userId",void 0),Je([(0,x.ManyToOne)((()=>it),(e=>e.userAlertComplain),{createForeignKeyConstraints:!1,nullable:!1}),He("design:type",Object)],Ke.prototype,"user",void 0),Je([(0,x.Column)("tinyint",{name:"alertTypeId"}),He("design:type",Number)],Ke.prototype,"alertTypeId",void 0),Je([(0,x.OneToOne)((()=>re),{createForeignKeyConstraints:!1}),(0,x.JoinColumn)(),He("design:type",Object)],Ke.prototype,"alertType",void 0),Je([(0,x.Column)("int",{name:"clientId"}),He("design:type",Number)],Ke.prototype,"clientId",void 0),Je([(0,x.ManyToOne)((()=>nt),(e=>e.users),{createForeignKeyConstraints:!1}),He("design:type",Object)],Ke.prototype,"client",void 0),Je([(0,x.Column)("varchar",{name:"email",length:255}),He("design:type",String)],Ke.prototype,"email",void 0),Je([(0,x.Column)("varchar",{name:"reason",length:25}),He("design:type",String)],Ke.prototype,"reason",void 0),Je([(0,x.Column)("datetime",{name:"createdAt"}),He("design:type",Date)],Ke.prototype,"createdAt",void 0),Ke=Je([(0,x.Index)("ixuUserAlertComplainUserIdAlertTypeId",["userId","alertTypeId"],{unique:!0}),(0,x.Entity)("userAlertComplain",{schema:"nova"})],Ke);var ze=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},_e=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let $e=class{id;userId;user;smsNotification;emailNotification;alertTypeId;alertType;alertValue;appNotification;dataSourceTypeId;pushNotification;alertMetadata};ze([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),_e("design:type",Number)],$e.prototype,"id",void 0),ze([(0,x.Column)("binary",{name:"userId",length:16}),_e("design:type",Buffer)],$e.prototype,"userId",void 0),ze([(0,x.ManyToOne)((()=>it),(e=>e.userAlertConfiguration),{createForeignKeyConstraints:!1,nullable:!1}),_e("design:type",Object)],$e.prototype,"user",void 0),ze([(0,x.Column)("tinyint",{name:"smsNotification",nullable:!0,width:1,transformer:new ee}),_e("design:type",Boolean)],$e.prototype,"smsNotification",void 0),ze([(0,x.Column)("tinyint",{name:"emailNotification",nullable:!0,width:1,transformer:new ee}),_e("design:type",Boolean)],$e.prototype,"emailNotification",void 0),ze([(0,x.Column)("tinyint",{name:"alertTypeId"}),_e("design:type",Number)],$e.prototype,"alertTypeId",void 0),ze([(0,x.OneToOne)((()=>re),{createForeignKeyConstraints:!1}),(0,x.JoinColumn)(),_e("design:type",Object)],$e.prototype,"alertType",void 0),ze([(0,x.Column)("varchar",{name:"alertValue",nullable:!0,length:10}),_e("design:type",String)],$e.prototype,"alertValue",void 0),ze([(0,x.Column)("tinyint",{name:"appNotification",nullable:!0,width:1,default:()=>"'1'",transformer:new ee}),_e("design:type",Boolean)],$e.prototype,"appNotification",void 0),ze([(0,x.Column)("tinyint",{name:"dataSourceTypeId",nullable:!0}),_e("design:type",Number)],$e.prototype,"dataSourceTypeId",void 0),ze([(0,x.Column)("tinyint",{name:"pushNotification",width:1,default:()=>"'1'",transformer:new ee}),_e("design:type",Boolean)],$e.prototype,"pushNotification",void 0),ze([(0,x.Column)("varchar",{name:"alertMetadata",nullable:!0,length:255}),_e("design:type",String)],$e.prototype,"alertMetadata",void 0),$e=ze([(0,x.Index)("ixuUserAlertConfigurationUserIdAlertConfigurationId",["userId","alertTypeId"],{unique:!0}),(0,x.Entity)("userAlertConfiguration",{schema:"nova"})],$e);var Ze=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Xe=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ye=class{id;userId;user;isMetric;timezone;createdAt;modifiedAt;defaultMapLayer;speedUnits;distanceUnits;alertsNotificationsOn;dataSourceTypeId;homepage;temperatureUnits;addressFormat};Ze([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),Xe("design:type",Number)],Ye.prototype,"id",void 0),Ze([(0,x.Column)("binary",{name:"userId",length:16}),Xe("design:type",Buffer)],Ye.prototype,"userId",void 0),Ze([(0,x.OneToOne)((()=>it),{createForeignKeyConstraints:!1,nullable:!1}),(0,x.JoinColumn)(),Xe("design:type",Object)],Ye.prototype,"user",void 0),Ze([(0,x.Column)("tinyint",{name:"isMetric",width:1,transformer:new ee}),Xe("design:type",Boolean)],Ye.prototype,"isMetric",void 0),Ze([(0,x.Column)("varchar",{name:"timezone",nullable:!0,length:255,default:()=>"'EST'"}),Xe("design:type",String)],Ye.prototype,"timezone",void 0),Ze([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),Xe("design:type",Date)],Ye.prototype,"createdAt",void 0),Ze([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),Xe("design:type",Date)],Ye.prototype,"modifiedAt",void 0),Ze([(0,x.Column)("varchar",{name:"defaultMapLayer",nullable:!0,length:25}),Xe("design:type",String)],Ye.prototype,"defaultMapLayer",void 0),Ze([(0,x.Column)("varchar",{name:"speedUnits",nullable:!0,length:10}),Xe("design:type",String)],Ye.prototype,"speedUnits",void 0),Ze([(0,x.Column)("varchar",{name:"distanceUnits",nullable:!0,length:10}),Xe("design:type",String)],Ye.prototype,"distanceUnits",void 0),Ze([(0,x.Column)("tinyint",{name:"alertsNotificationsOn",nullable:!0,width:1,default:()=>"'1'",transformer:new ee}),Xe("design:type",Boolean)],Ye.prototype,"alertsNotificationsOn",void 0),Ze([(0,x.Column)("tinyint",{name:"dataSourceTypeId",nullable:!0}),Xe("design:type",Number)],Ye.prototype,"dataSourceTypeId",void 0),Ze([(0,x.Column)("varchar",{name:"homepage",nullable:!0,length:50}),Xe("design:type",String)],Ye.prototype,"homepage",void 0),Ze([(0,x.Column)("varchar",{name:"temperatureUnits",nullable:!0,length:10}),Xe("design:type",String)],Ye.prototype,"temperatureUnits",void 0),Ze([(0,x.Column)("varchar",{name:"addressFormat",nullable:!0,length:100}),Xe("design:type",String)],Ye.prototype,"addressFormat",void 0),Ye=Ze([(0,x.Index)("ixUserConfigurationUserId",["userId"],{}),(0,x.Entity)("userConfiguration",{schema:"nova"})],Ye);var et=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},tt=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let it=class{id;firstName;lastName;companyName;telephone;street;postalCode;city;region;email;userName;createdAt;modifiedAt;status;clientId;client;pincode;isAdmin;countryId;country;telephoneCountryId;telephoneCountry;dataSourceTypeId;preferredUserName;lastLoginAt;emailVerified;lat;lon;userConfiguration;userAlertConfiguration;userAlertComplain};et([(0,x.Column)("binary",{primary:!0,name:"id",length:16}),tt("design:type",Buffer)],it.prototype,"id",void 0),et([(0,x.Column)("varchar",{name:"firstName",length:100}),tt("design:type",String)],it.prototype,"firstName",void 0),et([(0,x.Column)("varchar",{name:"lastName",length:100}),tt("design:type",String)],it.prototype,"lastName",void 0),et([(0,x.Column)("varchar",{name:"companyName",nullable:!0,length:255}),tt("design:type",String)],it.prototype,"companyName",void 0),et([(0,x.Column)("varchar",{name:"telephone",nullable:!0,length:20}),tt("design:type",String)],it.prototype,"telephone",void 0),et([(0,x.Column)("varchar",{name:"street",nullable:!0,length:255}),tt("design:type",String)],it.prototype,"street",void 0),et([(0,x.Column)("varchar",{name:"postalCode",nullable:!0,length:30}),tt("design:type",String)],it.prototype,"postalCode",void 0),et([(0,x.Column)("varchar",{name:"city",nullable:!0,length:50}),tt("design:type",String)],it.prototype,"city",void 0),et([(0,x.Column)("varchar",{name:"region",nullable:!0,length:50}),tt("design:type",String)],it.prototype,"region",void 0),et([(0,x.Column)("varchar",{name:"email",length:255}),tt("design:type",String)],it.prototype,"email",void 0),et([(0,x.Column)("varchar",{name:"userName",length:255}),tt("design:type",String)],it.prototype,"userName",void 0),et([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),tt("design:type",Date)],it.prototype,"createdAt",void 0),et([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),tt("design:type",Date)],it.prototype,"modifiedAt",void 0),et([(0,x.Column)("char",{name:"status",nullable:!0,length:1,default:()=>"'A'"}),tt("design:type",String)],it.prototype,"status",void 0),et([(0,x.Column)("int",{name:"clientId"}),tt("design:type",Number)],it.prototype,"clientId",void 0),et([(0,x.ManyToOne)((()=>nt),(e=>e.users),{createForeignKeyConstraints:!1}),tt("design:type",Object)],it.prototype,"client",void 0),et([(0,x.Column)("varchar",{name:"pincode",nullable:!0,length:20}),tt("design:type",String)],it.prototype,"pincode",void 0),et([(0,x.Column)("tinyint",{name:"isAdmin",width:1,transformer:new ee}),tt("design:type",Boolean)],it.prototype,"isAdmin",void 0),et([(0,x.Column)("smallint",{name:"countryId",nullable:!0}),tt("design:type",Number)],it.prototype,"countryId",void 0),et([(0,x.OneToOne)((()=>Ge),(e=>e.id),{createForeignKeyConstraints:!1}),(0,x.JoinColumn)(),tt("design:type",Object)],it.prototype,"country",void 0),et([(0,x.Column)("smallint",{name:"telephoneCountryId",nullable:!0}),tt("design:type",Number)],it.prototype,"telephoneCountryId",void 0),et([(0,x.OneToOne)((()=>Ge),(e=>e.id),{createForeignKeyConstraints:!1}),(0,x.JoinColumn)(),tt("design:type",Object)],it.prototype,"telephoneCountry",void 0),et([(0,x.Column)("tinyint",{name:"dataSourceTypeId",nullable:!0}),tt("design:type",Number)],it.prototype,"dataSourceTypeId",void 0),et([(0,x.Column)("varchar",{name:"preferredUserName",nullable:!0,length:255}),tt("design:type",String)],it.prototype,"preferredUserName",void 0),et([(0,x.Column)("datetime",{name:"lastLoginAt",nullable:!0}),tt("design:type",Date)],it.prototype,"lastLoginAt",void 0),et([(0,x.Column)("tinyint",{name:"emailVerified",width:1,default:()=>"'1'",transformer:new ee}),tt("design:type",Boolean)],it.prototype,"emailVerified",void 0),et([(0,x.Column)("decimal",{name:"lat",nullable:!0,precision:8,scale:6}),tt("design:type",Number)],it.prototype,"lat",void 0),et([(0,x.Column)("decimal",{name:"lon",nullable:!0,precision:9,scale:6}),tt("design:type",Number)],it.prototype,"lon",void 0),et([(0,x.OneToOne)((()=>Ye),(e=>e.user)),tt("design:type",Object)],it.prototype,"userConfiguration",void 0),et([(0,x.OneToMany)((()=>$e),(e=>e.user)),tt("design:type",Array)],it.prototype,"userAlertConfiguration",void 0),et([(0,x.OneToMany)((()=>Ke),(e=>e.user)),tt("design:type",Array)],it.prototype,"userAlertComplain",void 0),it=et([(0,x.Index)("ixUserClientId",["clientId"],{}),(0,x.Index)("ixUserCreatedAt",["createdAt"],{}),(0,x.Index)("ixUserEmail",["email"],{}),(0,x.Index)("ixUserEmailLower",{synchronize:!1}),(0,x.Index)("ixUserLastLoginAt",["lastLoginAt"],{}),(0,x.Index)("ixUserStatus",["status"],{}),(0,x.Index)("ixUserUserName",["userName"],{}),(0,x.Entity)("user",{schema:"nova"})],it);var rt=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},at=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let nt=class{id;name;createdAt;modifiedAt;uuid;email;modifiedBy;createdBy;dataSourceTypeId;clientTypeId;clientType;salesforceId;accumaticaId;expirationDate;useType;btCustomerId;activationCampaign;organizationId;organization;users;devices;promotions;deviceCustomConfigurations;customerAttribute};rt([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),at("design:type",Number)],nt.prototype,"id",void 0),rt([(0,x.Column)("varchar",{name:"name",nullable:!0,length:255}),at("design:type",String)],nt.prototype,"name",void 0),rt([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),at("design:type",Date)],nt.prototype,"createdAt",void 0),rt([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),at("design:type",Date)],nt.prototype,"modifiedAt",void 0),rt([(0,x.Column)("binary",{name:"uuid",nullable:!0,length:16}),at("design:type",Buffer)],nt.prototype,"uuid",void 0),rt([(0,x.Column)("varchar",{name:"email",nullable:!0,length:255}),at("design:type",String)],nt.prototype,"email",void 0),rt([(0,x.Column)("smallint",{name:"modifiedBy",nullable:!0}),at("design:type",Number)],nt.prototype,"modifiedBy",void 0),rt([(0,x.Column)("smallint",{name:"createdBy",nullable:!0}),at("design:type",Number)],nt.prototype,"createdBy",void 0),rt([(0,x.Column)("tinyint",{name:"dataSourceTypeId",nullable:!0}),at("design:type",Number)],nt.prototype,"dataSourceTypeId",void 0),rt([(0,x.Column)("tinyint",{name:"clientTypeId",default:()=>"'1'"}),at("design:type",Number)],nt.prototype,"clientTypeId",void 0),rt([(0,x.ManyToOne)((()=>we),{createForeignKeyConstraints:!1,eager:!0,nullable:!1}),(0,x.JoinColumn)(),at("design:type",Object)],nt.prototype,"clientType",void 0),rt([(0,x.Column)("varchar",{name:"salesforceId",nullable:!0,length:50}),at("design:type",String)],nt.prototype,"salesforceId",void 0),rt([(0,x.Column)("varchar",{name:"accumaticaId",nullable:!0,length:50}),at("design:type",String)],nt.prototype,"accumaticaId",void 0),rt([(0,x.Column)("datetime",{name:"expirationDate",nullable:!0}),at("design:type",Date)],nt.prototype,"expirationDate",void 0),rt([(0,x.Column)("varchar",{name:"useType",nullable:!0,length:25}),at("design:type",String)],nt.prototype,"useType",void 0),rt([(0,x.Column)("varchar",{name:"btCustomerId",nullable:!0,length:50}),at("design:type",String)],nt.prototype,"btCustomerId",void 0),rt([(0,x.Column)("varchar",{name:"activationCampaign",nullable:!0,length:50}),at("design:type",String)],nt.prototype,"activationCampaign",void 0),rt([(0,x.Column)("int",{name:"organizationId",nullable:!0}),at("design:type",Number)],nt.prototype,"organizationId",void 0),rt([(0,x.OneToOne)((()=>qe),{createForeignKeyConstraints:!1}),(0,x.JoinColumn)(),at("design:type",Object)],nt.prototype,"organization",void 0),rt([(0,x.OneToMany)((()=>it),(e=>e.client)),at("design:type",Array)],nt.prototype,"users",void 0),rt([(0,x.OneToMany)((()=>xe),(e=>e.client)),at("design:type",Array)],nt.prototype,"devices",void 0),rt([(0,x.OneToMany)((()=>Ne),(e=>e.client)),at("design:type",Array)],nt.prototype,"promotions",void 0),rt([(0,x.OneToMany)((()=>Fe),(e=>e.client)),at("design:type",Array)],nt.prototype,"deviceCustomConfigurations",void 0),rt([(0,x.OneToOne)((()=>Ae),(e=>e.client)),at("design:type",Object)],nt.prototype,"customerAttribute",void 0),nt=rt([(0,x.Index)("ixClientClientTypeId",["clientTypeId"],{}),(0,x.Index)("ixClientCreatedAt",["createdAt"],{}),(0,x.Index)("ixClientEmail",["email"],{}),(0,x.Index)("ixClientEmailLower",{synchronize:!1}),(0,x.Entity)("client",{schema:"nova"})],nt);var ot=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},st=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let lt=class{id;name;description;billingFrequencyMonths;price;trialPeriod;discount;platform;planGroup;gracePeriod;status;platformPrice;servicePlan;contractLengthMonths};ot([(0,x.Column)("varchar",{primary:!0,name:"id",length:50}),st("design:type",String)],lt.prototype,"id",void 0),ot([(0,x.Column)("varchar",{name:"name",length:50}),st("design:type",String)],lt.prototype,"name",void 0),ot([(0,x.Column)("varchar",{name:"description",length:255}),st("design:type",String)],lt.prototype,"description",void 0),ot([(0,x.Column)("tinyint",{name:"billingFrequencyMonths"}),st("design:type",Number)],lt.prototype,"billingFrequencyMonths",void 0),ot([(0,x.Column)("float",{name:"price"}),st("design:type",Number)],lt.prototype,"price",void 0),ot([(0,x.Column)("varchar",{name:"trialPeriod",nullable:!0,length:25}),st("design:type",String)],lt.prototype,"trialPeriod",void 0),ot([(0,x.Column)("float",{name:"discount",nullable:!0}),st("design:type",Number)],lt.prototype,"discount",void 0),ot([(0,x.Column)("varchar",{name:"platform",nullable:!0,length:25}),st("design:type",String)],lt.prototype,"platform",void 0),ot([(0,x.Column)("varchar",{name:"planGroup",nullable:!0,length:25}),st("design:type",String)],lt.prototype,"planGroup",void 0),ot([(0,x.Column)("varchar",{name:"gracePeriod",nullable:!0,length:25}),st("design:type",String)],lt.prototype,"gracePeriod",void 0),ot([(0,x.Column)("char",{name:"status",length:1}),st("design:type",String)],lt.prototype,"status",void 0),ot([(0,x.Column)("float",{name:"platformPrice",nullable:!0}),st("design:type",Number)],lt.prototype,"platformPrice",void 0),ot([(0,x.Column)("varchar",{name:"servicePlan",nullable:!0,length:10}),st("design:type",String)],lt.prototype,"servicePlan",void 0),ot([(0,x.Column)("tinyint",{name:"contractLengthMonths"}),st("design:type",Number)],lt.prototype,"contractLengthMonths",void 0),lt=ot([(0,x.Entity)("plan",{schema:"nova"})],lt);var dt=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},ct=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let ut=class{id;deviceId;imei;planId;plan;subscriptionId;platform;status;createdAt;updatedAt;subscriptionValue;subscriptionPeriodMonths;subscriptionValueMonthly;clientId;client};dt([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),ct("design:type",Number)],ut.prototype,"id",void 0),dt([(0,x.Column)("int",{name:"deviceId",nullable:!0}),ct("design:type",Number)],ut.prototype,"deviceId",void 0),dt([(0,x.Column)("varchar",{name:"imei",nullable:!0,length:15}),ct("design:type",String)],ut.prototype,"imei",void 0),dt([(0,x.Column)("varchar",{name:"planId",nullable:!0,length:50}),ct("design:type",String)],ut.prototype,"planId",void 0),dt([(0,x.OneToOne)((()=>lt),{createForeignKeyConstraints:!1}),(0,x.JoinColumn)(),ct("design:type",Object)],ut.prototype,"plan",void 0),dt([(0,x.Column)("varchar",{name:"subscriptionId",nullable:!0,length:50}),ct("design:type",String)],ut.prototype,"subscriptionId",void 0),dt([(0,x.Column)("varchar",{name:"platform",nullable:!0,length:25}),ct("design:type",String)],ut.prototype,"platform",void 0),dt([(0,x.Column)("varchar",{name:"status",nullable:!0,length:10}),ct("design:type",String)],ut.prototype,"status",void 0),dt([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),ct("design:type",Date)],ut.prototype,"createdAt",void 0),dt([(0,x.Column)("datetime",{name:"updatedAt",nullable:!0}),ct("design:type",Date)],ut.prototype,"updatedAt",void 0),dt([(0,x.Column)("decimal",{name:"subscriptionValue",nullable:!0,precision:19,scale:4}),ct("design:type",Number)],ut.prototype,"subscriptionValue",void 0),dt([(0,x.Column)("tinyint",{name:"subscriptionPeriodMonths",nullable:!0}),ct("design:type",Number)],ut.prototype,"subscriptionPeriodMonths",void 0),dt([(0,x.Column)("decimal",{name:"subscriptionValueMonthly",nullable:!0,precision:19,scale:4}),ct("design:type",Number)],ut.prototype,"subscriptionValueMonthly",void 0),dt([(0,x.Column)("int",{name:"clientId",nullable:!0}),ct("design:type",Number)],ut.prototype,"clientId",void 0),dt([(0,x.OneToOne)((()=>nt),{createForeignKeyConstraints:!1}),(0,x.JoinColumn)(),ct("design:type",Object)],ut.prototype,"client",void 0),ut=dt([(0,x.Index)("ixuBillingImei",["imei"],{unique:!0}),(0,x.Index)("ixBillingClientId",["clientId"],{}),(0,x.Index)("ixBillingPlanId",["planId"],{}),(0,x.Entity)("billing",{schema:"nova"})],ut);var pt=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},mt=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let yt=class{id;firstName;lastName;company;email;phone;createdAt;updatedAt;churnStatus};pt([(0,x.Column)("varchar",{primary:!0,name:"id",length:50}),mt("design:type",String)],yt.prototype,"id",void 0),pt([(0,x.Column)("varchar",{name:"firstName",nullable:!0,length:50}),mt("design:type",String)],yt.prototype,"firstName",void 0),pt([(0,x.Column)("varchar",{name:"lastName",nullable:!0,length:50}),mt("design:type",String)],yt.prototype,"lastName",void 0),pt([(0,x.Column)("varchar",{name:"company",nullable:!0,length:100}),mt("design:type",String)],yt.prototype,"company",void 0),pt([(0,x.Column)("varchar",{name:"email",nullable:!0,length:255}),mt("design:type",String)],yt.prototype,"email",void 0),pt([(0,x.Column)("varchar",{name:"phone",nullable:!0,length:150}),mt("design:type",String)],yt.prototype,"phone",void 0),pt([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),mt("design:type",Date)],yt.prototype,"createdAt",void 0),pt([(0,x.Column)("datetime",{name:"updatedAt",nullable:!0}),mt("design:type",Date)],yt.prototype,"updatedAt",void 0),pt([(0,x.Column)("varchar",{name:"churnStatus",nullable:!0,length:50}),mt("design:type",String)],yt.prototype,"churnStatus",void 0),yt=pt([(0,x.Index)("ixBillingCustomerBraintreeEmail",["email"],{}),(0,x.Entity)("billingCustomerBraintree",{schema:"nova"})],yt);var gt=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},vt=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let ft=class{id;clientId;deviceId;imei;planId;subscriptionId;platform;status;createdAt};gt([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),vt("design:type",Number)],ft.prototype,"id",void 0),gt([(0,x.Column)("int",{name:"clientId",nullable:!0}),vt("design:type",Number)],ft.prototype,"clientId",void 0),gt([(0,x.Column)("int",{name:"deviceId",nullable:!0}),vt("design:type",Number)],ft.prototype,"deviceId",void 0),gt([(0,x.Column)("varchar",{name:"imei",nullable:!0,length:15}),vt("design:type",String)],ft.prototype,"imei",void 0),gt([(0,x.Column)("varchar",{name:"planId",nullable:!0,length:50}),vt("design:type",String)],ft.prototype,"planId",void 0),gt([(0,x.Column)("varchar",{name:"subscriptionId",nullable:!0,length:50}),vt("design:type",String)],ft.prototype,"subscriptionId",void 0),gt([(0,x.Column)("varchar",{name:"platform",nullable:!0,length:25}),vt("design:type",String)],ft.prototype,"platform",void 0),gt([(0,x.Column)("varchar",{name:"status",nullable:!0,length:10}),vt("design:type",String)],ft.prototype,"status",void 0),gt([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),vt("design:type",Date)],ft.prototype,"createdAt",void 0),ft=gt([(0,x.Entity)("billingDeviceHistory",{schema:"nova"})],ft);var ht=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},It=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let bt=class{id;owner;amountPaid;bankOfIssuer;billingAddress;billingAddressCity;billingAddressCountry;billingAddressLine1;billingAddressLine2;billingAddressState;billingAddressZip;createdByUserId;currencyCode;customer;grossAmount;lastFourDigits;lineItemDiscountAmount;netAmount;objectCreateDateTime;objectId;objectLastModifiedDateTime;orderDiscountAmount;orderDiscountCode;orderDiscountPercentage;ownerAssignedDateTime;paymentDateTime;paymentId;paymentMethod;paymentSourceName;paymentType;processingFees;refunded;shippingAddress;shippingAddressCity;shippingAddressCountry;shippingAddressLine1;shippingAddressLine2;shippingAddressState;shippingAddressZip;source;sourceId;sourceUrl;status;statusUpdatedOn;totalDiscountAmount;totalFees;totalTaxes;updatedByUserId};ht([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),It("design:type",Number)],bt.prototype,"id",void 0),ht([(0,x.Column)("varchar",{name:"owner",nullable:!0,length:50}),It("design:type",String)],bt.prototype,"owner",void 0),ht([(0,x.Column)("decimal",{name:"amountPaid",nullable:!0,precision:19,scale:4}),It("design:type",Number)],bt.prototype,"amountPaid",void 0),ht([(0,x.Column)("varchar",{name:"bankOfIssuer",nullable:!0,length:50}),It("design:type",String)],bt.prototype,"bankOfIssuer",void 0),ht([(0,x.Column)("varchar",{name:"billingAddress",nullable:!0,length:255}),It("design:type",String)],bt.prototype,"billingAddress",void 0),ht([(0,x.Column)("varchar",{name:"billingAddressCity",nullable:!0,length:50}),It("design:type",String)],bt.prototype,"billingAddressCity",void 0),ht([(0,x.Column)("varchar",{name:"billingAddressCountry",nullable:!0,length:3}),It("design:type",String)],bt.prototype,"billingAddressCountry",void 0),ht([(0,x.Column)("varchar",{name:"billingAddressLine1",nullable:!0,length:255}),It("design:type",String)],bt.prototype,"billingAddressLine1",void 0),ht([(0,x.Column)("varchar",{name:"billingAddressLine2",nullable:!0,length:255}),It("design:type",String)],bt.prototype,"billingAddressLine2",void 0),ht([(0,x.Column)("varchar",{name:"billingAddressState",nullable:!0,length:50}),It("design:type",String)],bt.prototype,"billingAddressState",void 0),ht([(0,x.Column)("varchar",{name:"billingAddressZip",nullable:!0,length:50}),It("design:type",String)],bt.prototype,"billingAddressZip",void 0),ht([(0,x.Column)("varchar",{name:"createdByUserId",nullable:!0,length:50}),It("design:type",String)],bt.prototype,"createdByUserId",void 0),ht([(0,x.Column)("varchar",{name:"currencyCode",nullable:!0,length:3}),It("design:type",String)],bt.prototype,"currencyCode",void 0),ht([(0,x.Column)("varchar",{name:"customer",nullable:!0,length:50}),It("design:type",String)],bt.prototype,"customer",void 0),ht([(0,x.Column)("decimal",{name:"grossAmount",nullable:!0,precision:19,scale:4}),It("design:type",Number)],bt.prototype,"grossAmount",void 0),ht([(0,x.Column)("varchar",{name:"lastFourDigits",nullable:!0,length:4}),It("design:type",String)],bt.prototype,"lastFourDigits",void 0),ht([(0,x.Column)("decimal",{name:"lineItemDiscountAmount",nullable:!0,precision:19,scale:4}),It("design:type",Number)],bt.prototype,"lineItemDiscountAmount",void 0),ht([(0,x.Column)("decimal",{name:"netAmount",nullable:!0,precision:19,scale:4}),It("design:type",Number)],bt.prototype,"netAmount",void 0),ht([(0,x.Column)("datetime",{name:"objectCreateDateTime",nullable:!0}),It("design:type",Date)],bt.prototype,"objectCreateDateTime",void 0),ht([(0,x.Column)("varchar",{name:"objectId",nullable:!0,length:20}),It("design:type",String)],bt.prototype,"objectId",void 0),ht([(0,x.Column)("datetime",{name:"objectLastModifiedDateTime",nullable:!0}),It("design:type",Date)],bt.prototype,"objectLastModifiedDateTime",void 0),ht([(0,x.Column)("decimal",{name:"orderDiscountAmount",nullable:!0,precision:19,scale:4}),It("design:type",Number)],bt.prototype,"orderDiscountAmount",void 0),ht([(0,x.Column)("varchar",{name:"orderDiscountCode",nullable:!0,length:50}),It("design:type",String)],bt.prototype,"orderDiscountCode",void 0),ht([(0,x.Column)("smallint",{name:"orderDiscountPercentage",default:0}),It("design:type",Number)],bt.prototype,"orderDiscountPercentage",void 0),ht([(0,x.Column)("datetime",{name:"ownerAssignedDateTime",nullable:!0}),It("design:type",Date)],bt.prototype,"ownerAssignedDateTime",void 0),ht([(0,x.Column)("datetime",{name:"paymentDateTime",nullable:!0}),It("design:type",Date)],bt.prototype,"paymentDateTime",void 0),ht([(0,x.Column)("varchar",{name:"paymentId",nullable:!0,length:20}),It("design:type",String)],bt.prototype,"paymentId",void 0),ht([(0,x.Column)("varchar",{name:"paymentMethod",nullable:!0,length:10}),It("design:type",String)],bt.prototype,"paymentMethod",void 0),ht([(0,x.Column)("varchar",{name:"paymentSourceName",nullable:!0,length:255}),It("design:type",String)],bt.prototype,"paymentSourceName",void 0),ht([(0,x.Column)("varchar",{name:"paymentType",nullable:!0,length:20}),It("design:type",String)],bt.prototype,"paymentType",void 0),ht([(0,x.Column)("decimal",{name:"processingFees",nullable:!0,precision:19,scale:4}),It("design:type",Number)],bt.prototype,"processingFees",void 0),ht([(0,x.Column)("decimal",{name:"refunded",nullable:!0,precision:19,scale:4}),It("design:type",Number)],bt.prototype,"refunded",void 0),ht([(0,x.Column)("varchar",{name:"shippingAddress",nullable:!0,length:255}),It("design:type",String)],bt.prototype,"shippingAddress",void 0),ht([(0,x.Column)("varchar",{name:"shippingAddressCity",nullable:!0,length:50}),It("design:type",String)],bt.prototype,"shippingAddressCity",void 0),ht([(0,x.Column)("varchar",{name:"shippingAddressCountry",nullable:!0,length:3}),It("design:type",String)],bt.prototype,"shippingAddressCountry",void 0),ht([(0,x.Column)("varchar",{name:"shippingAddressLine1",nullable:!0,length:255}),It("design:type",String)],bt.prototype,"shippingAddressLine1",void 0),ht([(0,x.Column)("varchar",{name:"shippingAddressLine2",nullable:!0,length:255}),It("design:type",String)],bt.prototype,"shippingAddressLine2",void 0),ht([(0,x.Column)("varchar",{name:"shippingAddressState",nullable:!0,length:50}),It("design:type",String)],bt.prototype,"shippingAddressState",void 0),ht([(0,x.Column)("varchar",{name:"shippingAddressZip",nullable:!0,length:50}),It("design:type",String)],bt.prototype,"shippingAddressZip",void 0),ht([(0,x.Column)("varchar",{name:"source",nullable:!0,length:20}),It("design:type",String)],bt.prototype,"source",void 0),ht([(0,x.Column)("varchar",{name:"sourceId",nullable:!0,length:20}),It("design:type",String)],bt.prototype,"sourceId",void 0),ht([(0,x.Column)("varchar",{name:"sourceUrl",nullable:!0,length:255}),It("design:type",String)],bt.prototype,"sourceUrl",void 0),ht([(0,x.Column)("varchar",{name:"status",nullable:!0,length:10}),It("design:type",String)],bt.prototype,"status",void 0),ht([(0,x.Column)("datetime",{name:"statusUpdatedOn",nullable:!0}),It("design:type",Date)],bt.prototype,"statusUpdatedOn",void 0),ht([(0,x.Column)("decimal",{name:"totalDiscountAmount",nullable:!0,precision:19,scale:4}),It("design:type",Number)],bt.prototype,"totalDiscountAmount",void 0),ht([(0,x.Column)("decimal",{name:"totalFees",nullable:!0,precision:19,scale:4}),It("design:type",Number)],bt.prototype,"totalFees",void 0),ht([(0,x.Column)("decimal",{name:"totalTaxes",nullable:!0,precision:19,scale:4}),It("design:type",Number)],bt.prototype,"totalTaxes",void 0),ht([(0,x.Column)("varchar",{name:"updatedByUserId",nullable:!0,length:20}),It("design:type",String)],bt.prototype,"updatedByUserId",void 0),bt=ht([(0,x.Entity)("billingHubspotPaymentLog",{schema:"nova"})],bt);var Ct=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Rt=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let wt=class{id;firstName;lastName;billingEmail;shippingEmail;streetAddress;city;region;country;postalCode;phone;createdAt};Ct([(0,x.PrimaryColumn)({type:"varchar",name:"id",length:50}),Rt("design:type",String)],wt.prototype,"id",void 0),Ct([(0,x.Column)("varchar",{name:"firstName",nullable:!0,length:100}),Rt("design:type",String)],wt.prototype,"firstName",void 0),Ct([(0,x.Column)("varchar",{name:"lastName",nullable:!0,length:100}),Rt("design:type",String)],wt.prototype,"lastName",void 0),Ct([(0,x.Column)("varchar",{name:"billingEmail",nullable:!0,length:255}),Rt("design:type",String)],wt.prototype,"billingEmail",void 0),Ct([(0,x.Column)("varchar",{name:"shippingEmail",nullable:!0,length:255}),Rt("design:type",String)],wt.prototype,"shippingEmail",void 0),Ct([(0,x.Column)("varchar",{name:"streetAddress",nullable:!0,length:255}),Rt("design:type",String)],wt.prototype,"streetAddress",void 0),Ct([(0,x.Column)("varchar",{name:"city",nullable:!0,length:50}),Rt("design:type",String)],wt.prototype,"city",void 0),Ct([(0,x.Column)("varchar",{name:"region",nullable:!0,length:50}),Rt("design:type",String)],wt.prototype,"region",void 0),Ct([(0,x.Column)("varchar",{name:"country",nullable:!0,length:50}),Rt("design:type",String)],wt.prototype,"country",void 0),Ct([(0,x.Column)("varchar",{name:"postalCode",nullable:!0,length:50}),Rt("design:type",String)],wt.prototype,"postalCode",void 0),Ct([(0,x.Column)("varchar",{name:"phone",nullable:!0,length:20}),Rt("design:type",String)],wt.prototype,"phone",void 0),Ct([(0,x.Column)("datetime",{name:"createdAt",nullable:!0,precision:0}),Rt("design:type",Date)],wt.prototype,"createdAt",void 0),wt=Ct([(0,x.Entity)("billingKlarnaCustomer",{schema:"nova"})],wt);class Dt{to(e){return e||null}from(e){return e?new Date(e):null}}var St=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},At=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Tt=class{deviceId;klarnaCustomerId;orderId;planId;createdAt;subscriptionStart;subscriptionEnd;nextBillingDate;subscriptionValue;status;paymentType;discounts;addOns;nextBillingPeriodAmount;paymentMethodToken};St([(0,x.PrimaryColumn)("varchar",{name:"deviceId",length:50}),At("design:type",String)],Tt.prototype,"deviceId",void 0),St([(0,x.Column)({type:"varchar",name:"klarnaCustomerId",length:50}),At("design:type",String)],Tt.prototype,"klarnaCustomerId",void 0),St([(0,x.Column)("varchar",{name:"orderId",length:255}),At("design:type",String)],Tt.prototype,"orderId",void 0),St([(0,x.Column)("varchar",{name:"planId",nullable:!0,length:50}),At("design:type",String)],Tt.prototype,"planId",void 0),St([(0,x.Column)("datetime",{name:"createdAt",nullable:!0,precision:0}),At("design:type",Date)],Tt.prototype,"createdAt",void 0),St([(0,x.Column)("date",{name:"subscriptionStart",nullable:!0,transformer:new Dt}),At("design:type",Date)],Tt.prototype,"subscriptionStart",void 0),St([(0,x.Column)("date",{name:"subscriptionEnd",nullable:!0,transformer:new Dt}),At("design:type",Date)],Tt.prototype,"subscriptionEnd",void 0),St([(0,x.Column)("date",{name:"nextBillingDate",nullable:!0,transformer:new Dt}),At("design:type",Date)],Tt.prototype,"nextBillingDate",void 0),St([(0,x.Column)("decimal",{name:"subscriptionValue",nullable:!0,precision:19,scale:4}),At("design:type",Number)],Tt.prototype,"subscriptionValue",void 0),St([(0,x.Column)("varchar",{name:"status",nullable:!0,length:10}),At("design:type",String)],Tt.prototype,"status",void 0),St([(0,x.Column)("varchar",{name:"paymentType",nullable:!0,length:20}),At("design:type",String)],Tt.prototype,"paymentType",void 0),St([(0,x.Column)("json",{name:"discounts",nullable:!0}),At("design:type",Object)],Tt.prototype,"discounts",void 0),St([(0,x.Column)("json",{name:"addOns",nullable:!0}),At("design:type",Object)],Tt.prototype,"addOns",void 0),St([(0,x.Column)("decimal",{name:"nextBillingPeriodAmount",nullable:!0,precision:19,scale:4}),At("design:type",Number)],Tt.prototype,"nextBillingPeriodAmount",void 0),St([(0,x.Column)("varchar",{name:"paymentMethodToken",nullable:!0,length:50}),At("design:type",String)],Tt.prototype,"paymentMethodToken",void 0),Tt=St([(0,x.Entity)("billingKlarnaOrder",{schema:"nova"})],Tt);var Bt=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Nt=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ut=class{id;timestamp;status;balance;price;currencyIsoCode;planId;subscriptionId};Bt([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),Nt("design:type",Number)],Ut.prototype,"id",void 0),Bt([(0,x.Column)("varchar",{name:"timestamp",nullable:!0,length:255}),Nt("design:type",String)],Ut.prototype,"timestamp",void 0),Bt([(0,x.Column)("varchar",{name:"status",nullable:!0,length:10}),Nt("design:type",String)],Ut.prototype,"status",void 0),Bt([(0,x.Column)("decimal",{name:"balance",nullable:!0,precision:19,scale:4}),Nt("design:type",Number)],Ut.prototype,"balance",void 0),Bt([(0,x.Column)("decimal",{name:"price",nullable:!0,precision:19,scale:4}),Nt("design:type",Number)],Ut.prototype,"price",void 0),Bt([(0,x.Column)("varchar",{name:"currencyIsoCode",nullable:!0,length:3}),Nt("design:type",String)],Ut.prototype,"currencyIsoCode",void 0),Bt([(0,x.Column)("varchar",{name:"planId",nullable:!0,length:50}),Nt("design:type",String)],Ut.prototype,"planId",void 0),Bt([(0,x.Column)("varchar",{name:"subscriptionId",nullable:!0,length:25}),Nt("design:type",String)],Ut.prototype,"subscriptionId",void 0),Ut=Bt([(0,x.Index)("ixBillingStatusHistoryBraintreeSubscriptionIdTimestamp",["subscriptionId","timestamp"],{}),(0,x.Index)("ixBillingStatusHistoryBraintreeTimestamp",["timestamp"],{}),(0,x.Entity)("billingStatusHistoryBraintree",{schema:"nova"})],Ut);var Ot=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Pt=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let kt=class{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};Ot([(0,x.Column)("varchar",{primary:!0,name:"subscriptionId",length:50}),Pt("design:type",String)],kt.prototype,"subscriptionId",void 0),Ot([(0,x.Column)("varchar",{name:"customerId",nullable:!0,length:50}),Pt("design:type",String)],kt.prototype,"customerId",void 0),Ot([(0,x.Column)("varchar",{name:"planId",nullable:!0,length:50}),Pt("design:type",String)],kt.prototype,"planId",void 0),Ot([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),Pt("design:type",Date)],kt.prototype,"createdAt",void 0),Ot([(0,x.Column)("datetime",{name:"updatedAt",nullable:!0}),Pt("design:type",Date)],kt.prototype,"updatedAt",void 0),Ot([(0,x.Column)("date",{name:"subscriptionStart",nullable:!0,transformer:new Dt}),Pt("design:type",Date)],kt.prototype,"subscriptionStart",void 0),Ot([(0,x.Column)("date",{name:"subscriptionEnd",nullable:!0,transformer:new Dt}),Pt("design:type",Date)],kt.prototype,"subscriptionEnd",void 0),Ot([(0,x.Column)("date",{name:"nextBillingDate",nullable:!0,transformer:new Dt}),Pt("design:type",Date)],kt.prototype,"nextBillingDate",void 0),Ot([(0,x.Column)("decimal",{name:"subscriptionValue",nullable:!0,precision:19,scale:4}),Pt("design:type",Number)],kt.prototype,"subscriptionValue",void 0),Ot([(0,x.Column)("varchar",{name:"status",nullable:!0,length:10}),Pt("design:type",String)],kt.prototype,"status",void 0),Ot([(0,x.Column)("tinyint",{name:"subscriptionPeriodMonths",nullable:!0}),Pt("design:type",Number)],kt.prototype,"subscriptionPeriodMonths",void 0),Ot([(0,x.Column)("varchar",{name:"paymentInstrumentType",nullable:!0,length:20}),Pt("design:type",String)],kt.prototype,"paymentInstrumentType",void 0),Ot([(0,x.Column)("json",{name:"paymentInstrumentDetails",nullable:!0}),Pt("design:type",Object)],kt.prototype,"paymentInstrumentDetails",void 0),Ot([(0,x.Column)("tinyint",{name:"isPaused",nullable:!0,width:1,default:()=>"'0'",transformer:new ee}),Pt("design:type",Boolean)],kt.prototype,"isPaused",void 0),Ot([(0,x.Column)("json",{name:"discountDetails",nullable:!0}),Pt("design:type",Object)],kt.prototype,"discountDetails",void 0),Ot([(0,x.Column)("json",{name:"addons",nullable:!0}),Pt("design:type",Object)],kt.prototype,"addons",void 0),Ot([(0,x.Column)("decimal",{name:"balance",nullable:!0,precision:19,scale:4}),Pt("design:type",Number)],kt.prototype,"balance",void 0),Ot([(0,x.Column)("tinyint",{name:"currentBillingCycle",nullable:!0}),Pt("design:type",Number)],kt.prototype,"currentBillingCycle",void 0),Ot([(0,x.Column)("tinyint",{name:"daysPastDue",nullable:!0}),Pt("design:type",Number)],kt.prototype,"daysPastDue",void 0),Ot([(0,x.Column)("varchar",{name:"description",nullable:!0,length:255}),Pt("design:type",String)],kt.prototype,"description",void 0),Ot([(0,x.Column)("json",{name:"descriptor",nullable:!0}),Pt("design:type",Object)],kt.prototype,"descriptor",void 0),Ot([(0,x.Column)("tinyint",{name:"failureCount",nullable:!0}),Pt("design:type",Number)],kt.prototype,"failureCount",void 0),Ot([(0,x.Column)("date",{name:"firstBillingDate",nullable:!0,transformer:new Dt}),Pt("design:type",Date)],kt.prototype,"firstBillingDate",void 0),Ot([(0,x.Column)("varchar",{name:"merchantAccountId",nullable:!0,length:50}),Pt("design:type",String)],kt.prototype,"merchantAccountId",void 0),Ot([(0,x.Column)("decimal",{name:"nextBillingPeriodAmount",nullable:!0,precision:19,scale:4}),Pt("design:type",Number)],kt.prototype,"nextBillingPeriodAmount",void 0),Ot([(0,x.Column)("tinyint",{name:"numberOfBillingCycles",nullable:!0}),Pt("design:type",Number)],kt.prototype,"numberOfBillingCycles",void 0),Ot([(0,x.Column)("date",{name:"paidThroughDate",nullable:!0,transformer:new Dt}),Pt("design:type",Date)],kt.prototype,"paidThroughDate",void 0),Ot([(0,x.Column)("varchar",{name:"paymentMethodToken",nullable:!0,length:50}),Pt("design:type",String)],kt.prototype,"paymentMethodToken",void 0),Ot([(0,x.Column)("json",{name:"statusHistory",nullable:!0}),Pt("design:type",Object)],kt.prototype,"statusHistory",void 0),Ot([(0,x.Column)("smallint",{name:"trialDuration",nullable:!0}),Pt("design:type",Number)],kt.prototype,"trialDuration",void 0),Ot([(0,x.Column)("varchar",{name:"trialDurationUnit",nullable:!0,length:10}),Pt("design:type",String)],kt.prototype,"trialDurationUnit",void 0),Ot([(0,x.Column)("tinyint",{name:"trialPeriod",nullable:!0,width:1,transformer:new ee}),Pt("design:type",Boolean)],kt.prototype,"trialPeriod",void 0),kt=Ot([(0,x.Index)("ixBillingSubscriptionBraintreeCustomerId",["customerId"],{}),(0,x.Entity)("billingSubscriptionBraintree",{schema:"nova"})],kt);var Et=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},xt=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let jt=class{blacklistTypeId;value;notes;createdAt;createdBy;modifiedAt;modifiedBy};Et([(0,x.Column)("tinyint",{primary:!0,name:"blacklistTypeId"}),xt("design:type",Number)],jt.prototype,"blacklistTypeId",void 0),Et([(0,x.Column)("varchar",{primary:!0,name:"value",length:255}),xt("design:type",String)],jt.prototype,"value",void 0),Et([(0,x.Column)("varchar",{name:"notes",nullable:!0,length:1e3}),xt("design:type",String)],jt.prototype,"notes",void 0),Et([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),xt("design:type",Date)],jt.prototype,"createdAt",void 0),Et([(0,x.Column)("varchar",{name:"createdBy",length:255}),xt("design:type",String)],jt.prototype,"createdBy",void 0),Et([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),xt("design:type",Date)],jt.prototype,"modifiedAt",void 0),Et([(0,x.Column)("varchar",{name:"modifiedBy",nullable:!0,length:255}),xt("design:type",String)],jt.prototype,"modifiedBy",void 0),jt=Et([(0,x.Entity)("blacklist",{schema:"nova"})],jt);var Mt=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ft=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Lt=class{id;name;description};Mt([(0,x.PrimaryGeneratedColumn)({type:"tinyint",name:"id"}),Ft("design:type",Number)],Lt.prototype,"id",void 0),Mt([(0,x.Column)("varchar",{name:"name",length:50}),Ft("design:type",String)],Lt.prototype,"name",void 0),Mt([(0,x.Column)("varchar",{name:"description",nullable:!0,length:1e3}),Ft("design:type",String)],Lt.prototype,"description",void 0),Lt=Mt([(0,x.Entity)("blacklistType",{schema:"nova"})],Lt);var Qt=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},qt=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Wt=class{id;name;type;buffer;createdAt;modifiedAt;createdBy;modifiedBy;clientId;location;status;radiusDisplayUnit;dataSourceTypeId;geometry;color;isUserCreated;area;centerLat;centerLon};Qt([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),qt("design:type",Number)],Wt.prototype,"id",void 0),Qt([(0,x.Column)("varchar",{name:"name",nullable:!0,length:255}),qt("design:type",String)],Wt.prototype,"name",void 0),Qt([(0,x.Column)("char",{name:"type",nullable:!0,length:1}),qt("design:type",String)],Wt.prototype,"type",void 0),Qt([(0,x.Column)("varchar",{name:"buffer",nullable:!0,length:50}),qt("design:type",String)],Wt.prototype,"buffer",void 0),Qt([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),qt("design:type",Date)],Wt.prototype,"createdAt",void 0),Qt([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),qt("design:type",Date)],Wt.prototype,"modifiedAt",void 0),Qt([(0,x.Column)("varchar",{name:"createdBy",nullable:!0,length:50}),qt("design:type",String)],Wt.prototype,"createdBy",void 0),Qt([(0,x.Column)("varchar",{name:"modifiedBy",nullable:!0,length:50}),qt("design:type",String)],Wt.prototype,"modifiedBy",void 0),Qt([(0,x.Column)("int",{name:"clientId",default:()=>"'0'"}),qt("design:type",Number)],Wt.prototype,"clientId",void 0),Qt([(0,x.Column)("varchar",{name:"location",nullable:!0,length:255}),qt("design:type",String)],Wt.prototype,"location",void 0),Qt([(0,x.Column)("tinyint",{name:"status",default:()=>"'1'"}),qt("design:type",Number)],Wt.prototype,"status",void 0),Qt([(0,x.Column)("char",{name:"radiusDisplayUnit",nullable:!0,length:2}),qt("design:type",String)],Wt.prototype,"radiusDisplayUnit",void 0),Qt([(0,x.Column)("tinyint",{name:"dataSourceTypeId",nullable:!0}),qt("design:type",Number)],Wt.prototype,"dataSourceTypeId",void 0),Qt([(0,x.Column)("text",{name:"geometry",nullable:!0}),qt("design:type",String)],Wt.prototype,"geometry",void 0),Qt([(0,x.Column)("varchar",{name:"color",nullable:!0,length:25}),qt("design:type",String)],Wt.prototype,"color",void 0),Qt([(0,x.Column)("tinyint",{name:"isUserCreated",width:1,default:()=>"'1'",transformer:new ee}),qt("design:type",Boolean)],Wt.prototype,"isUserCreated",void 0),Qt([(0,x.Column)("float",{name:"area",nullable:!0}),qt("design:type",Number)],Wt.prototype,"area",void 0),Qt([(0,x.Column)("decimal",{name:"centerLat",nullable:!0,precision:8,scale:6}),qt("design:type",Number)],Wt.prototype,"centerLat",void 0),Qt([(0,x.Column)("decimal",{name:"centerLon",nullable:!0,precision:9,scale:6}),qt("design:type",Number)],Wt.prototype,"centerLon",void 0),Wt=Qt([(0,x.Index)("ixBoundaryClientIdStatus",["clientId","status"],{}),(0,x.Index)("ixBoundaryStatus",["status"],{}),(0,x.Entity)("boundary",{schema:"nova"})],Wt);var Vt=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Gt=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Jt=class{id;deviceId;boundaryId;inDate;inLat;inLon;inAddress;outDate;outLat;outLon;outAddress;inOutDuration;createdAt;modifiedAt;imei;userId};Vt([(0,x.PrimaryGeneratedColumn)({type:"bigint",name:"id"}),Gt("design:type",Number)],Jt.prototype,"id",void 0),Vt([(0,x.Column)("int",{name:"deviceId"}),Gt("design:type",Number)],Jt.prototype,"deviceId",void 0),Vt([(0,x.Column)("int",{name:"boundaryId"}),Gt("design:type",Number)],Jt.prototype,"boundaryId",void 0),Vt([(0,x.Column)("datetime",{name:"inDate",precision:3,nullable:!0}),Gt("design:type",Date)],Jt.prototype,"inDate",void 0),Vt([(0,x.Column)("decimal",{name:"inLat",nullable:!0,precision:8,scale:6}),Gt("design:type",Number)],Jt.prototype,"inLat",void 0),Vt([(0,x.Column)("decimal",{name:"inLon",nullable:!0,precision:9,scale:6}),Gt("design:type",Number)],Jt.prototype,"inLon",void 0),Vt([(0,x.Column)("varchar",{name:"inAddress",nullable:!0,length:255}),Gt("design:type",String)],Jt.prototype,"inAddress",void 0),Vt([(0,x.Column)("datetime",{name:"outDate",precision:3,nullable:!0}),Gt("design:type",Date)],Jt.prototype,"outDate",void 0),Vt([(0,x.Column)("decimal",{name:"outLat",nullable:!0,precision:8,scale:6}),Gt("design:type",Number)],Jt.prototype,"outLat",void 0),Vt([(0,x.Column)("decimal",{name:"outLon",nullable:!0,precision:9,scale:6}),Gt("design:type",Number)],Jt.prototype,"outLon",void 0),Vt([(0,x.Column)("varchar",{name:"outAddress",nullable:!0,length:255}),Gt("design:type",String)],Jt.prototype,"outAddress",void 0),Vt([(0,x.Column)("int",{name:"inOutDuration",nullable:!0}),Gt("design:type",Number)],Jt.prototype,"inOutDuration",void 0),Vt([(0,x.Column)("datetime",{name:"createdAt",default:()=>"CURRENT_TIMESTAMP"}),Gt("design:type",Date)],Jt.prototype,"createdAt",void 0),Vt([(0,x.Column)("datetime",{name:"modifiedAt",default:()=>"CURRENT_TIMESTAMP"}),Gt("design:type",Date)],Jt.prototype,"modifiedAt",void 0),Vt([(0,x.Column)("varchar",{name:"imei",nullable:!0,length:15}),Gt("design:type",String)],Jt.prototype,"imei",void 0),Vt([(0,x.Column)("binary",{name:"userId",nullable:!0,length:16}),Gt("design:type",Buffer)],Jt.prototype,"userId",void 0),Jt=Vt([(0,x.Index)("ixBoundaryEventDeviceId_BoundaryId_UserId_InDate",["deviceId","boundaryId","userId","inDate"],{}),(0,x.Index)("ixBoundaryEventDeviceId_BoundaryId_UserId_OutDate",["deviceId","boundaryId","userId","outDate"],{}),(0,x.Index)("ixBoundaryEventDeviceId",["deviceId"],{}),(0,x.Index)("ixBoundaryEventBoundaryId",["boundaryId"],{}),(0,x.Index)("ixBoundaryEventOutAtInAt",["outDate","inDate"],{}),(0,x.Index)("ixBoundaryEventUserId",["userId"],{}),(0,x.Entity)("boundaryEvent",{schema:"nova"})],Jt);var Ht=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Kt=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let zt=class{id;mcc;mnc;lac;radio;lat;lon;range;createdAt;updatedAt};Ht([(0,x.Column)("int",{primary:!0,name:"id"}),Kt("design:type",Number)],zt.prototype,"id",void 0),Ht([(0,x.Column)("tinyint",{name:"mcc",nullable:!0}),Kt("design:type",Number)],zt.prototype,"mcc",void 0),Ht([(0,x.Column)("tinyint",{name:"mnc",nullable:!0}),Kt("design:type",Number)],zt.prototype,"mnc",void 0),Ht([(0,x.Column)("mediumint",{name:"lac",nullable:!0}),Kt("design:type",Number)],zt.prototype,"lac",void 0),Ht([(0,x.Column)("varchar",{name:"radio",nullable:!0,length:5}),Kt("design:type",String)],zt.prototype,"radio",void 0),Ht([(0,x.Column)("decimal",{name:"lat",nullable:!0,precision:8,scale:6}),Kt("design:type",Number)],zt.prototype,"lat",void 0),Ht([(0,x.Column)("decimal",{name:"lon",nullable:!0,precision:9,scale:6}),Kt("design:type",Number)],zt.prototype,"lon",void 0),Ht([(0,x.Column)("mediumint",{name:"range",nullable:!0}),Kt("design:type",Number)],zt.prototype,"range",void 0),Ht([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),Kt("design:type",Date)],zt.prototype,"createdAt",void 0),Ht([(0,x.Column)("datetime",{name:"updatedAt",nullable:!0}),Kt("design:type",Date)],zt.prototype,"updatedAt",void 0),zt=Ht([(0,x.Entity)("cellTower",{schema:"nova"})],zt);var _t=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},$t=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Zt=class{clientId;appFeatureTypeId;appFeatureType;entityId;statusId};_t([(0,x.Column)({type:"int",name:"clientId",primary:!0}),$t("design:type",Number)],Zt.prototype,"clientId",void 0),_t([(0,x.Column)({type:"int",name:"appFeatureTypeId",primary:!0}),$t("design:type",Number)],Zt.prototype,"appFeatureTypeId",void 0),_t([(0,x.ManyToOne)((()=>fe),{createForeignKeyConstraints:!1,eager:!0,nullable:!1}),(0,x.JoinColumn)(),$t("design:type",Object)],Zt.prototype,"appFeatureType",void 0),_t([(0,x.Column)({type:"int",name:"entityId",primary:!0}),$t("design:type",Number)],Zt.prototype,"entityId",void 0),_t([(0,x.Column)("int",{name:"statusId",default:()=>"'1'"}),$t("design:type",Number)],Zt.prototype,"statusId",void 0),Zt=_t([(0,x.Entity)("clientAppFeature",{schema:"nova"})],Zt);var Xt=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Yt=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let ei=class{clientId;movementTripThreshold;stopTripThreshold;mapUpdateMode;maxUsersAllowed};Xt([(0,x.Column)("int",{primary:!0,name:"clientId"}),Yt("design:type",Number)],ei.prototype,"clientId",void 0),Xt([(0,x.Column)("double",{name:"movementTripThreshold",nullable:!0}),Yt("design:type",Number)],ei.prototype,"movementTripThreshold",void 0),Xt([(0,x.Column)("double",{name:"stopTripThreshold",nullable:!0}),Yt("design:type",Number)],ei.prototype,"stopTripThreshold",void 0),Xt([(0,x.Column)("tinyint",{name:"mapUpdateMode",nullable:!0}),Yt("design:type",Number)],ei.prototype,"mapUpdateMode",void 0),Xt([(0,x.Column)("smallint",{name:"maxUsersAllowed",default:()=>"'10'"}),Yt("design:type",Number)],ei.prototype,"maxUsersAllowed",void 0),ei=Xt([(0,x.Entity)("clientConfiguration",{schema:"nova"})],ei);var ti=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},ii=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let ri=class{id;clientId;imei;movingPingFrequency;stoppedPingFrequency;fixedStatus;generateTrips;stopThresholdMinutes;offlineThresholdMinutes;movementThresholdSpeed;externalBatteryInformation};ti([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),ii("design:type",Number)],ri.prototype,"id",void 0),ti([(0,x.Column)("int",{name:"clientId"}),ii("design:type",Number)],ri.prototype,"clientId",void 0),ti([(0,x.Column)("varchar",{name:"imei",length:15}),ii("design:type",String)],ri.prototype,"imei",void 0),ti([(0,x.Column)("mediumint",{name:"movingPingFrequency",nullable:!0}),ii("design:type",Number)],ri.prototype,"movingPingFrequency",void 0),ti([(0,x.Column)("mediumint",{name:"stoppedPingFrequency",nullable:!0}),ii("design:type",Number)],ri.prototype,"stoppedPingFrequency",void 0),ti([(0,x.Column)("varchar",{name:"fixedStatus",nullable:!0,length:3}),ii("design:type",String)],ri.prototype,"fixedStatus",void 0),ti([(0,x.Column)("tinyint",{name:"generateTrips",width:1,default:()=>"'1'",transformer:new ee}),ii("design:type",Boolean)],ri.prototype,"generateTrips",void 0),ti([(0,x.Column)("smallint",{name:"stopThresholdMinutes",nullable:!0}),ii("design:type",Number)],ri.prototype,"stopThresholdMinutes",void 0),ti([(0,x.Column)("smallint",{name:"offlineThresholdMinutes",nullable:!0}),ii("design:type",Number)],ri.prototype,"offlineThresholdMinutes",void 0),ti([(0,x.Column)("float",{name:"movementThresholdSpeed",nullable:!0}),ii("design:type",Number)],ri.prototype,"movementThresholdSpeed",void 0),ti([(0,x.Column)("tinyint",{name:"externalBatteryInformation",nullable:!0,width:1,default:()=>"'0'",transformer:new ee}),ii("design:type",Boolean)],ri.prototype,"externalBatteryInformation",void 0),ri=ti([(0,x.Index)("ixuUserDeviceSettingClientIdImei",["clientId","imei"],{unique:!0}),(0,x.Index)("ixClientDeviceSettingImei",["imei"],{}),(0,x.Entity)("clientDeviceSetting",{schema:"nova"})],ri);var ai=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},ni=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let oi=class{id;name;description};ai([(0,x.PrimaryGeneratedColumn)({type:"tinyint",name:"id"}),ni("design:type",Number)],oi.prototype,"id",void 0),ai([(0,x.Column)("varchar",{name:"name",length:50}),ni("design:type",String)],oi.prototype,"name",void 0),ai([(0,x.Column)("varchar",{name:"description",nullable:!0,length:255}),ni("design:type",String)],oi.prototype,"description",void 0),oi=ai([(0,x.Entity)("dataSourceType",{schema:"nova"})],oi);var si=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},li=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let di=class{id;imei;clientId;billingSubscriptionId;planId;billingPlatform;deactivationReason;deactivationReasonId;createdBy;createdAt;scheduledDate;displayOrder};si([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),li("design:type",Number)],di.prototype,"id",void 0),si([(0,x.Column)("varchar",{name:"imei",length:15}),li("design:type",String)],di.prototype,"imei",void 0),si([(0,x.Column)("int",{name:"clientId"}),li("design:type",Number)],di.prototype,"clientId",void 0),si([(0,x.Column)("varchar",{name:"billingSubscriptionId",length:50,nullable:!0}),li("design:type",String)],di.prototype,"billingSubscriptionId",void 0),si([(0,x.Column)("varchar",{name:"planId",length:50,nullable:!0}),li("design:type",String)],di.prototype,"planId",void 0),si([(0,x.Column)("varchar",{name:"billingPlatform",length:100,nullable:!0}),li("design:type",String)],di.prototype,"billingPlatform",void 0),si([(0,x.Column)("varchar",{name:"deactivationReason",nullable:!0,length:2e3}),li("design:type",String)],di.prototype,"deactivationReason",void 0),si([(0,x.Column)("tinyint",{name:"deactivationReasonId",nullable:!0}),li("design:type",Number)],di.prototype,"deactivationReasonId",void 0),si([(0,x.Column)("varchar",{name:"createdBy",length:50}),li("design:type",String)],di.prototype,"createdBy",void 0),si([(0,x.Column)("datetime",{name:"createdAt"}),li("design:type",Date)],di.prototype,"createdAt",void 0),si([(0,x.Column)("datetime",{name:"scheduledDate",nullable:!0}),li("design:type",Date)],di.prototype,"scheduledDate",void 0),si([(0,x.Column)("tinyint",{name:"displayOrder",nullable:!0}),li("design:type",Number)],di.prototype,"displayOrder",void 0),di=si([(0,x.Index)("ixDeactivationClientId",["clientId"],{}),(0,x.Index)("ixDeactivationDeactivationReasonId",["deactivationReasonId"],{}),(0,x.Index)("ixDeactivationImei",["imei"],{}),(0,x.Entity)("deactivation",{schema:"nova"})],di);var ci=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},ui=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let pi=class{id;text;code;customerVisible};ci([(0,x.PrimaryGeneratedColumn)({type:"tinyint",name:"id"}),ui("design:type",Number)],pi.prototype,"id",void 0),ci([(0,x.Column)("varchar",{name:"text",length:255}),ui("design:type",String)],pi.prototype,"text",void 0),ci([(0,x.Column)("varchar",{name:"code",length:50}),ui("design:type",String)],pi.prototype,"code",void 0),ci([(0,x.Column)("tinyint",{name:"customerVisible",width:1,default:()=>"'1'"}),ui("design:type",Boolean)],pi.prototype,"customerVisible",void 0),pi=ci([(0,x.Entity)("deactivationReason",{schema:"nova"})],pi);var mi=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},yi=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let gi=class{id;alertTypeId;userId;clientId;alertConfigurationId;daysOfTheWeek;startTime;endTime;imei;filter;label};mi([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),yi("design:type",Number)],gi.prototype,"id",void 0),mi([(0,x.Column)("int",{name:"alertTypeId",nullable:!0}),yi("design:type",Number)],gi.prototype,"alertTypeId",void 0),mi([(0,x.Column)("binary",{name:"userId",nullable:!0,length:16}),yi("design:type",Buffer)],gi.prototype,"userId",void 0),mi([(0,x.Column)("int",{name:"clientId",nullable:!0}),yi("design:type",Number)],gi.prototype,"clientId",void 0),mi([(0,x.Column)("int",{name:"alertConfigurationId",nullable:!0}),yi("design:type",Number)],gi.prototype,"alertConfigurationId",void 0),mi([(0,x.Column)("varchar",{name:"daysOfTheWeek",nullable:!0,length:7}),yi("design:type",String)],gi.prototype,"daysOfTheWeek",void 0),mi([(0,x.Column)("datetime",{name:"startTime",nullable:!0,precision:0}),yi("design:type",Date)],gi.prototype,"startTime",void 0),mi([(0,x.Column)("datetime",{name:"endTime",nullable:!0,precision:0}),yi("design:type",Date)],gi.prototype,"endTime",void 0),mi([(0,x.Column)("varchar",{name:"imei",nullable:!0,length:15}),yi("design:type",String)],gi.prototype,"imei",void 0),mi([(0,x.Column)("json",{name:"filter",nullable:!0}),yi("design:type",Object)],gi.prototype,"filter",void 0),mi([(0,x.Column)("varchar",{name:"label",nullable:!0,length:100}),yi("design:type",String)],gi.prototype,"label",void 0),gi=mi([(0,x.Entity)("deviceAlertConfiguration",{schema:"nova"})],gi);var vi=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},fi=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let hi=class{id;deviceTypeId;name;description;type;status;behaviorName;behaviorParams;extraParams;pendingNotes;clientId;imei;icon;confirmationNotes;ordinalPosition;stage;additionalSettings;blocking;displayType;minWebVersion;minAppVersion;minProtocolVersion;maxProtocolVersion};vi([(0,x.PrimaryGeneratedColumn)({type:"smallint",name:"id"}),fi("design:type",Number)],hi.prototype,"id",void 0),vi([(0,x.Column)("smallint",{name:"deviceTypeId"}),fi("design:type",Number)],hi.prototype,"deviceTypeId",void 0),vi([(0,x.Column)("varchar",{name:"name",length:50}),fi("design:type",String)],hi.prototype,"name",void 0),vi([(0,x.Column)("varchar",{name:"description",length:1e3}),fi("design:type",String)],hi.prototype,"description",void 0),vi([(0,x.Column)("varchar",{name:"type",nullable:!0,length:25}),fi("design:type",String)],hi.prototype,"type",void 0),vi([(0,x.Column)("varchar",{name:"status",length:10}),fi("design:type",String)],hi.prototype,"status",void 0),vi([(0,x.Column)("varchar",{name:"behaviorName",length:50}),fi("design:type",String)],hi.prototype,"behaviorName",void 0),vi([(0,x.Column)("json",{name:"behaviorParams",nullable:!0}),fi("design:type",Object)],hi.prototype,"behaviorParams",void 0),vi([(0,x.Column)("json",{name:"extraParams",nullable:!0}),fi("design:type",Object)],hi.prototype,"extraParams",void 0),vi([(0,x.Column)("varchar",{name:"pendingNotes",nullable:!0,length:1e3}),fi("design:type",String)],hi.prototype,"pendingNotes",void 0),vi([(0,x.Column)("int",{name:"clientId",nullable:!0}),fi("design:type",Number)],hi.prototype,"clientId",void 0),vi([(0,x.Column)("varchar",{name:"imei",nullable:!0,length:15}),fi("design:type",String)],hi.prototype,"imei",void 0),vi([(0,x.Column)("varchar",{name:"icon",nullable:!0,length:50}),fi("design:type",String)],hi.prototype,"icon",void 0),vi([(0,x.Column)("varchar",{name:"confirmationNotes",nullable:!0,length:1e3}),fi("design:type",String)],hi.prototype,"confirmationNotes",void 0),vi([(0,x.Column)("tinyint",{name:"ordinalPosition",default:()=>"'1'"}),fi("design:type",Number)],hi.prototype,"ordinalPosition",void 0),vi([(0,x.Column)("varchar",{name:"stage",nullable:!0,length:10}),fi("design:type",String)],hi.prototype,"stage",void 0),vi([(0,x.Column)("json",{name:"additionalSettings",nullable:!0}),fi("design:type",Object)],hi.prototype,"additionalSettings",void 0),vi([(0,x.Column)("tinyint",{name:"blocking",nullable:!0,width:1,default:()=>"'1'",transformer:new ee}),fi("design:type",Boolean)],hi.prototype,"blocking",void 0),vi([(0,x.Column)("varchar",{name:"displayType",nullable:!0,length:25}),fi("design:type",String)],hi.prototype,"displayType",void 0),vi([(0,x.Column)("varchar",{name:"minWebVersion",nullable:!0,length:20}),fi("design:type",String)],hi.prototype,"minWebVersion",void 0),vi([(0,x.Column)("varchar",{name:"minAppVersion",nullable:!0,length:20}),fi("design:type",String)],hi.prototype,"minAppVersion",void 0),vi([(0,x.Column)("varchar",{name:"minProtocolVersion",nullable:!0}),fi("design:type",String)],hi.prototype,"minProtocolVersion",void 0),vi([(0,x.Column)("varchar",{name:"maxProtocolVersion",nullable:!0}),fi("design:type",String)],hi.prototype,"maxProtocolVersion",void 0),hi=vi([(0,x.Index)("ixDeviceBehaviorDeviceTypeId",["deviceTypeId"],{}),(0,x.Index)("ixDeviceBehaviorClientId",["clientId"],{}),(0,x.Index)("ixDeviceBehaviorImei",["imei"],{}),(0,x.Index)("ixDeviceBehaviorType",["type"],{}),(0,x.Index)("ixDeviceBehaviorOrdinalPosition",["ordinalPosition"],{}),(0,x.Entity)("deviceBehavior",{schema:"nova"})],hi);var Ii=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},bi=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ci=class{id;clientId;imei;trackerName;status;createAt};Ii([(0,x.PrimaryGeneratedColumn)({type:"bigint",name:"id"}),bi("design:type",String)],Ci.prototype,"id",void 0),Ii([(0,x.Column)("int",{name:"clientId",nullable:!0}),bi("design:type",Number)],Ci.prototype,"clientId",void 0),Ii([(0,x.Column)("varchar",{name:"imei",length:15}),bi("design:type",String)],Ci.prototype,"imei",void 0),Ii([(0,x.Column)("varchar",{name:"trackerName",nullable:!0,length:255}),bi("design:type",String)],Ci.prototype,"trackerName",void 0),Ii([(0,x.Column)("varchar",{name:"status",nullable:!0,length:10}),bi("design:type",String)],Ci.prototype,"status",void 0),Ii([(0,x.Column)("datetime",{name:"createAt",nullable:!0}),bi("design:type",Date)],Ci.prototype,"createAt",void 0),Ci=Ii([(0,x.Entity)("deviceHistory",{schema:"nova"})],Ci);var Ri=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},wi=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Di=class{id;url;portNumber;protocol;deviceTypeId;status};Ri([(0,x.PrimaryGeneratedColumn)({type:"smallint",name:"id"}),wi("design:type",Number)],Di.prototype,"id",void 0),Ri([(0,x.Column)("varchar",{name:"url",nullable:!0,length:1e3}),wi("design:type",String)],Di.prototype,"url",void 0),Ri([(0,x.Column)("smallint",{name:"portNumber",nullable:!0}),wi("design:type",Number)],Di.prototype,"portNumber",void 0),Ri([(0,x.Column)("varchar",{name:"protocol",nullable:!0,length:5}),wi("design:type",String)],Di.prototype,"protocol",void 0),Ri([(0,x.Column)("smallint",{name:"deviceTypeId",nullable:!0}),wi("design:type",Number)],Di.prototype,"deviceTypeId",void 0),Ri([(0,x.Column)("varchar",{name:"status",nullable:!0,length:25}),wi("design:type",String)],Di.prototype,"status",void 0),Di=Ri([(0,x.Entity)("deviceModelListener",{schema:"nova"})],Di);var Si=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ai=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ti=class{id;imeiMain;btmacMain;imeiSecondary;btmacSecondary;pairingMode;connectionType;createdAt;modifiedAt};Si([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),Ai("design:type",Number)],Ti.prototype,"id",void 0),Si([(0,x.Column)("varchar",{name:"imeiMain",length:15}),Ai("design:type",String)],Ti.prototype,"imeiMain",void 0),Si([(0,x.Column)("varchar",{name:"btmacMain",length:20}),Ai("design:type",String)],Ti.prototype,"btmacMain",void 0),Si([(0,x.Column)("varchar",{name:"imeiSecondary",length:15}),Ai("design:type",String)],Ti.prototype,"imeiSecondary",void 0),Si([(0,x.Column)("varchar",{name:"btmacSecondary",length:20}),Ai("design:type",String)],Ti.prototype,"btmacSecondary",void 0),Si([(0,x.Column)("varchar",{name:"pairingMode",nullable:!0,length:20}),Ai("design:type",String)],Ti.prototype,"pairingMode",void 0),Si([(0,x.Column)("varchar",{name:"connectionType",nullable:!0,length:20}),Ai("design:type",String)],Ti.prototype,"connectionType",void 0),Si([(0,x.Column)("datetime",{name:"createdAt",nullable:!0,default:()=>"CURRENT_TIMESTAMP"}),Ai("design:type",Date)],Ti.prototype,"createdAt",void 0),Si([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),Ai("design:type",Date)],Ti.prototype,"modifiedAt",void 0),Ti=Si([(0,x.Index)("ixDevicePairingImeiSecondary",["imeiSecondary"],{}),(0,x.Index)("ixuDevicePairingImeiMainImeiSecondary",["imeiMain","imeiSecondary"],{unique:!0}),(0,x.Entity)("devicePairing",{schema:"nova"})],Ti);var Bi=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ni=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ui=class{imei;promotionId;promotion;clientId;client;marketPlace;asin;promotionType;promotionDiscount;promotionDiscountBillingCycles;promotionFreeServiceMonths;appliedAt};Bi([(0,x.Column)("varchar",{name:"imei",length:15,primary:!0}),Ni("design:type",String)],Ui.prototype,"imei",void 0),Bi([(0,x.Column)("bigint",{name:"promotionId",primary:!0}),Ni("design:type",Number)],Ui.prototype,"promotionId",void 0),Bi([(0,x.OneToOne)((()=>Ne),{createForeignKeyConstraints:!1}),(0,x.JoinColumn)(),Ni("design:type",Object)],Ui.prototype,"promotion",void 0),Bi([(0,x.Column)("int",{name:"clientId",nullable:!0}),Ni("design:type",Number)],Ui.prototype,"clientId",void 0),Bi([(0,x.OneToOne)((()=>nt),{createForeignKeyConstraints:!1}),(0,x.JoinColumn)(),Ni("design:type",Object)],Ui.prototype,"client",void 0),Bi([(0,x.Column)("varchar",{name:"marketPlace",length:25,comment:"The marketplace of the device at the time the promotion was applied"}),Ni("design:type",String)],Ui.prototype,"marketPlace",void 0),Bi([(0,x.Column)("varchar",{name:"asin",nullable:!0,length:25}),Ni("design:type",String)],Ui.prototype,"asin",void 0),Bi([(0,x.Column)("varchar",{name:"promotionType",length:25,comment:"The type of promotion: freeService or discount."}),Ni("design:type",String)],Ui.prototype,"promotionType",void 0),Bi([(0,x.Column)("decimal",{name:"promotionDiscount",nullable:!0,precision:19,scale:4,comment:"The discount value if the type is discount offered in US Dollars."}),Ni("design:type",Number)],Ui.prototype,"promotionDiscount",void 0),Bi([(0,x.Column)("int",{name:"promotionDiscountBillingCycles",nullable:!0,comment:"The number of billing cycles that the discount will be applied. Required when type is discount"}),Ni("design:type",Number)],Ui.prototype,"promotionDiscountBillingCycles",void 0),Bi([(0,x.Column)("int",{name:"promotionFreeServiceMonths",nullable:!0,comment:"The number of months that the service will be free. Required when type is freeService"}),Ni("design:type",Number)],Ui.prototype,"promotionFreeServiceMonths",void 0),Bi([(0,x.Column)("datetime",{name:"appliedAt",comment:"The date that the promotion was applied"}),Ni("design:type",Date)],Ui.prototype,"appliedAt",void 0),Ui=Bi([(0,x.Entity)("devicePromotion",{schema:"nova"})],Ui);var Oi=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Pi=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let ki=class{id;imeiOld;iccidOld;imeiNew;iccidNew;userId;clientId;createAt};Oi([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),Pi("design:type",Number)],ki.prototype,"id",void 0),Oi([(0,x.Column)("varchar",{name:"imeiOld",length:15}),Pi("design:type",String)],ki.prototype,"imeiOld",void 0),Oi([(0,x.Column)("varchar",{name:"iccidOld",length:25}),Pi("design:type",String)],ki.prototype,"iccidOld",void 0),Oi([(0,x.Column)("varchar",{name:"imeiNew",length:15}),Pi("design:type",String)],ki.prototype,"imeiNew",void 0),Oi([(0,x.Column)("varchar",{name:"iccidNew",length:25}),Pi("design:type",String)],ki.prototype,"iccidNew",void 0),Oi([(0,x.Column)("binary",{name:"userId",length:16}),Pi("design:type",Buffer)],ki.prototype,"userId",void 0),Oi([(0,x.Column)("int",{name:"clientId"}),Pi("design:type",Number)],ki.prototype,"clientId",void 0),Oi([(0,x.Column)("datetime",{name:"createAt"}),Pi("design:type",Date)],ki.prototype,"createAt",void 0),ki=Oi([(0,x.Index)("ixDeviceReplacementClientId",["clientId"],{}),(0,x.Entity)("deviceReplacement",{schema:"nova"})],ki);var Ei=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},xi=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let ji=class{id;clientId;title;description;repeats;dueDate;dueOdometer;dueActiveHours;intervalDays;intervalStartDate;intervalOdometer;intervalStartingOdometer;intervalActiveHours;intervalStartingActiveHours;notes;createdBy;createdAt;modifiedBy;modifiedAt;deletedBy;deletedAt;status;deviceTasks;totalDevicesCount};Ei([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),xi("design:type",Number)],ji.prototype,"id",void 0),Ei([(0,x.Column)("int",{name:"clientId"}),xi("design:type",Number)],ji.prototype,"clientId",void 0),Ei([(0,x.Column)("varchar",{name:"title",length:50}),xi("design:type",String)],ji.prototype,"title",void 0),Ei([(0,x.Column)("varchar",{name:"description",length:255}),xi("design:type",String)],ji.prototype,"description",void 0),Ei([(0,x.Column)("tinyint",{name:"repeats",width:1,default:()=>"'0'",transformer:new ee}),xi("design:type",Boolean)],ji.prototype,"repeats",void 0),Ei([(0,x.Column)("datetime",{name:"dueDate",nullable:!0}),xi("design:type",Date)],ji.prototype,"dueDate",void 0),Ei([(0,x.Column)("double",{name:"dueOdometer",nullable:!0}),xi("design:type",Number)],ji.prototype,"dueOdometer",void 0),Ei([(0,x.Column)("double",{name:"dueActiveHours",nullable:!0}),xi("design:type",Number)],ji.prototype,"dueActiveHours",void 0),Ei([(0,x.Column)("double",{name:"intervalDays",nullable:!0}),xi("design:type",Number)],ji.prototype,"intervalDays",void 0),Ei([(0,x.Column)("datetime",{name:"intervalStartDate",nullable:!0}),xi("design:type",Date)],ji.prototype,"intervalStartDate",void 0),Ei([(0,x.Column)("double",{name:"intervalOdometer",nullable:!0}),xi("design:type",Number)],ji.prototype,"intervalOdometer",void 0),Ei([(0,x.Column)("double",{name:"intervalStartingOdometer",nullable:!0}),xi("design:type",Number)],ji.prototype,"intervalStartingOdometer",void 0),Ei([(0,x.Column)("double",{name:"intervalActiveHours",nullable:!0}),xi("design:type",Number)],ji.prototype,"intervalActiveHours",void 0),Ei([(0,x.Column)("double",{name:"intervalStartingActiveHours",nullable:!0}),xi("design:type",Number)],ji.prototype,"intervalStartingActiveHours",void 0),Ei([(0,x.Column)("varchar",{name:"notes",nullable:!0}),xi("design:type",String)],ji.prototype,"notes",void 0),Ei([(0,x.Column)("varchar",{name:"createdBy",length:50}),xi("design:type",String)],ji.prototype,"createdBy",void 0),Ei([(0,x.Column)("datetime",{name:"createdAt"}),xi("design:type",Date)],ji.prototype,"createdAt",void 0),Ei([(0,x.Column)("varchar",{name:"modifiedBy",length:50,nullable:!0}),xi("design:type",String)],ji.prototype,"modifiedBy",void 0),Ei([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),xi("design:type",Date)],ji.prototype,"modifiedAt",void 0),Ei([(0,x.Column)("varchar",{name:"deletedBy",length:50,nullable:!0}),xi("design:type",String)],ji.prototype,"deletedBy",void 0),Ei([(0,x.Column)("datetime",{name:"deletedAt",nullable:!0}),xi("design:type",Date)],ji.prototype,"deletedAt",void 0),Ei([(0,x.Column)("varchar",{name:"status",length:10,default:()=>"'active'"}),xi("design:type",String)],ji.prototype,"status",void 0),Ei([(0,x.OneToMany)((()=>Li),(e=>e.taskSchedule)),xi("design:type",Array)],ji.prototype,"deviceTasks",void 0),ji=Ei([(0,x.Index)("ixTaskScheduleClientId",["clientId"],{}),(0,x.Index)("ixTaskScheduleStatus",["status"],{}),(0,x.Entity)("taskSchedule",{schema:"nova"})],ji);var Mi=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Fi=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Li=class{taskScheduleId;imei;clientId;taskSchedule};Mi([(0,x.Column)({type:"int",primary:!0,name:"taskScheduleId"}),Fi("design:type",Number)],Li.prototype,"taskScheduleId",void 0),Mi([(0,x.Column)("varchar",{name:"imei",primary:!0,length:15}),Fi("design:type",String)],Li.prototype,"imei",void 0),Mi([(0,x.Column)("int",{name:"clientId"}),Fi("design:type",Number)],Li.prototype,"clientId",void 0),Mi([(0,x.OneToOne)((()=>ji),{createForeignKeyConstraints:!1,nullable:!1}),(0,x.JoinColumn)(),Fi("design:type",Object)],Li.prototype,"taskSchedule",void 0),Li=Mi([(0,x.Index)("ixDeviceTask_TaskScheduleId",["taskScheduleId"],{}),(0,x.Index)("ixDeviceTask_ClientId",["clientId"],{}),(0,x.Index)("ixDeviceTask_Imei",["imei"],{}),(0,x.Entity)("deviceTask",{schema:"nova"})],Li);var Qi=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},qi=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Wi=class{deviceTypeId;eventKey;value};Qi([(0,x.Column)("smallint",{primary:!0,name:"deviceTypeId"}),qi("design:type",Number)],Wi.prototype,"deviceTypeId",void 0),Qi([(0,x.Column)("varchar",{primary:!0,name:"eventKey",length:50}),qi("design:type",String)],Wi.prototype,"eventKey",void 0),Qi([(0,x.Column)("varchar",{name:"value",nullable:!0,length:255}),qi("design:type",String)],Wi.prototype,"value",void 0),Wi=Qi([(0,x.Index)("ixDeviceTypeEventEventKey",["eventKey"],{}),(0,x.Entity)("deviceTypeEvent",{schema:"nova"})],Wi);var Vi=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Gi=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ji=class{deviceTypeId;featureKey;value};Vi([(0,x.Column)("smallint",{primary:!0,name:"deviceTypeId"}),Gi("design:type",Number)],Ji.prototype,"deviceTypeId",void 0),Vi([(0,x.Column)("varchar",{primary:!0,name:"featureKey",length:50}),Gi("design:type",String)],Ji.prototype,"featureKey",void 0),Vi([(0,x.Column)("varchar",{name:"value",nullable:!0,length:255}),Gi("design:type",String)],Ji.prototype,"value",void 0),Ji=Vi([(0,x.Index)("ixDeviceTypeFeatureFeatureKey",["featureKey"],{}),(0,x.Entity)("deviceTypeFeature",{schema:"nova"})],Ji);var Hi=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ki=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let zi=class{id;deviceTypeId;deviceType;sourceFirmwareVersion;firmwareVersion;firmwareCode;firmwareUrl;releaseDate;description;enabled;upgradeType;postUpgradeConfig;stage;parentId;maxDeployPercentage;qmsRate;pendingTimeout};Hi([(0,x.PrimaryGeneratedColumn)({type:"mediumint",name:"id"}),Ki("design:type",Number)],zi.prototype,"id",void 0),Hi([(0,x.Column)("smallint",{name:"deviceTypeId"}),Ki("design:type",Number)],zi.prototype,"deviceTypeId",void 0),Hi([(0,x.ManyToOne)((()=>Pe),{createForeignKeyConstraints:!1,nullable:!1}),(0,x.JoinColumn)(),Ki("design:type",Object)],zi.prototype,"deviceType",void 0),Hi([(0,x.Column)("varchar",{name:"sourceFirmwareVersion",nullable:!0,length:25}),Ki("design:type",String)],zi.prototype,"sourceFirmwareVersion",void 0),Hi([(0,x.Column)("varchar",{name:"firmwareVersion",nullable:!0,length:25}),Ki("design:type",String)],zi.prototype,"firmwareVersion",void 0),Hi([(0,x.Column)("varchar",{name:"firmwareCode",nullable:!0,length:50}),Ki("design:type",String)],zi.prototype,"firmwareCode",void 0),Hi([(0,x.Column)("varchar",{name:"firmwareUrl",nullable:!0,length:1e3}),Ki("design:type",String)],zi.prototype,"firmwareUrl",void 0),Hi([(0,x.Column)("datetime",{name:"releaseDate",nullable:!0}),Ki("design:type",Date)],zi.prototype,"releaseDate",void 0),Hi([(0,x.Column)("varchar",{name:"description",nullable:!0,length:1e3}),Ki("design:type",String)],zi.prototype,"description",void 0),Hi([(0,x.Column)("tinyint",{name:"enabled",width:1,default:()=>"'0'",transformer:new ee}),Ki("design:type",Boolean)],zi.prototype,"enabled",void 0),Hi([(0,x.Column)("varchar",{name:"upgradeType",nullable:!0,length:25}),Ki("design:type",String)],zi.prototype,"upgradeType",void 0),Hi([(0,x.Column)("varchar",{name:"postUpgradeConfig",nullable:!0,length:1e3}),Ki("design:type",String)],zi.prototype,"postUpgradeConfig",void 0),Hi([(0,x.Column)("varchar",{name:"stage",nullable:!0,length:25}),Ki("design:type",String)],zi.prototype,"stage",void 0),Hi([(0,x.Column)({type:"mediumint",name:"parentId",nullable:!0}),Ki("design:type",Number)],zi.prototype,"parentId",void 0),Hi([(0,x.Column)("smallint",{name:"maxDeployPercentage",nullable:!0}),Ki("design:type",Number)],zi.prototype,"maxDeployPercentage",void 0),Hi([(0,x.Column)({type:"smallint",name:"qmsRate",nullable:!0}),Ki("design:type",Number)],zi.prototype,"qmsRate",void 0),Hi([(0,x.Column)({type:"smallint",name:"pendingTimeout",nullable:!0}),Ki("design:type",Number)],zi.prototype,"pendingTimeout",void 0),zi=Hi([(0,x.Index)("ixDeviceTypeFirmwareDeviceTypeId",["deviceTypeId"],{}),(0,x.Entity)("deviceTypeFirmware",{schema:"nova"})],zi);var _i=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},$i=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Zi=class{id;entityTypeId;entityId;tag;tagValue;tagDate};_i([(0,x.PrimaryGeneratedColumn)({type:"bigint",name:"id"}),$i("design:type",String)],Zi.prototype,"id",void 0),_i([(0,x.Column)("int",{name:"entityTypeId"}),$i("design:type",Number)],Zi.prototype,"entityTypeId",void 0),_i([(0,x.Column)("varchar",{name:"entityId",length:15}),$i("design:type",String)],Zi.prototype,"entityId",void 0),_i([(0,x.Column)("varchar",{name:"tag",length:25}),$i("design:type",String)],Zi.prototype,"tag",void 0),_i([(0,x.Column)("varchar",{name:"tagValue",nullable:!0,length:15}),$i("design:type",String)],Zi.prototype,"tagValue",void 0),_i([(0,x.Column)("datetime",{name:"tagDate",nullable:!0}),$i("design:type",Date)],Zi.prototype,"tagDate",void 0),Zi=_i([(0,x.Index)("ixEntityTagEntityTypeId",["entityTypeId"],{}),(0,x.Index)("ixEntityTagTagId",["tag"],{}),(0,x.Entity)("entityTag",{schema:"nova"})],Zi);var Xi=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Yi=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let er=class{id;name;description};Xi([(0,x.PrimaryGeneratedColumn)({type:"tinyint",name:"id"}),Yi("design:type",Number)],er.prototype,"id",void 0),Xi([(0,x.Column)("varchar",{name:"name",length:50}),Yi("design:type",String)],er.prototype,"name",void 0),Xi([(0,x.Column)("varchar",{name:"description",length:1e3}),Yi("design:type",String)],er.prototype,"description",void 0),er=Xi([(0,x.Entity)("entityType",{schema:"nova"})],er);var tr=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},ir=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let rr=class{key;name;description;tags};tr([(0,x.Column)("varchar",{primary:!0,name:"key",length:50}),ir("design:type",String)],rr.prototype,"key",void 0),tr([(0,x.Column)("varchar",{name:"name",length:50}),ir("design:type",String)],rr.prototype,"name",void 0),tr([(0,x.Column)("varchar",{name:"description",nullable:!0,length:255}),ir("design:type",String)],rr.prototype,"description",void 0),tr([(0,x.Column)("varchar",{name:"tags",nullable:!0,length:500}),ir("design:type",String)],rr.prototype,"tags",void 0),rr=tr([(0,x.Entity)("event",{schema:"nova"})],rr);var ar=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},nr=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let or=class{key;name;description;tags};ar([(0,x.Column)("varchar",{primary:!0,name:"key",length:50}),nr("design:type",String)],or.prototype,"key",void 0),ar([(0,x.Column)("varchar",{name:"name",length:50}),nr("design:type",String)],or.prototype,"name",void 0),ar([(0,x.Column)("varchar",{name:"description",nullable:!0,length:255}),nr("design:type",String)],or.prototype,"description",void 0),ar([(0,x.Column)("varchar",{name:"tags",nullable:!0,length:500}),nr("design:type",String)],or.prototype,"tags",void 0),or=ar([(0,x.Entity)("feature",{schema:"nova"})],or);var sr=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},lr=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let dr=class{id;clientId;deviceTypeId};sr([(0,x.PrimaryGeneratedColumn)({type:"mediumint",name:"id"}),lr("design:type",Number)],dr.prototype,"id",void 0),sr([(0,x.Column)("int",{name:"clientId"}),lr("design:type",Number)],dr.prototype,"clientId",void 0),sr([(0,x.Column)("int",{name:"deviceTypeId",nullable:!0}),lr("design:type",Number)],dr.prototype,"deviceTypeId",void 0),dr=sr([(0,x.Index)("ixFirmwareAutoUpgradeBlacklistClientId",["clientId"],{}),(0,x.Index)("ixuFirmwareAutoUpgradeBlacklistClientIdDeviceTypeId",["clientId","deviceTypeId"],{unique:!0}),(0,x.Entity)("firmwareAutoUpgradeBlacklist",{schema:"nova"})],dr);var cr=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},ur=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let pr=class{id;deviceTypeFirmwareId;deviceTypeFirmware;clientId;imei;status;behaviorName;behaviorParams;createdAt;modifiedAt;preConfig;postConfig;commandsTaskId;postUpgradeCompleted;fwCompletedOn;device};cr([(0,x.Column)("binary",{primary:!0,name:"id",length:16}),ur("design:type",Buffer)],pr.prototype,"id",void 0),cr([(0,x.Column)("mediumint",{name:"deviceTypeFirmwareId"}),ur("design:type",Number)],pr.prototype,"deviceTypeFirmwareId",void 0),cr([(0,x.ManyToOne)((()=>zi),{createForeignKeyConstraints:!1,nullable:!1}),(0,x.JoinColumn)(),ur("design:type",Object)],pr.prototype,"deviceTypeFirmware",void 0),cr([(0,x.Column)("int",{name:"clientId"}),ur("design:type",Number)],pr.prototype,"clientId",void 0),cr([(0,x.Column)("varchar",{name:"imei",length:15}),ur("design:type",String)],pr.prototype,"imei",void 0),cr([(0,x.Column)("varchar",{name:"status",length:40}),ur("design:type",String)],pr.prototype,"status",void 0),cr([(0,x.Column)("varchar",{name:"behaviorName",nullable:!0,length:25}),ur("design:type",String)],pr.prototype,"behaviorName",void 0),cr([(0,x.Column)("json",{name:"behaviorParams",nullable:!0}),ur("design:type",Object)],pr.prototype,"behaviorParams",void 0),cr([(0,x.Column)("datetime",{name:"createdAt",default:()=>"CURRENT_TIMESTAMP"}),ur("design:type",Date)],pr.prototype,"createdAt",void 0),cr([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),ur("design:type",Date)],pr.prototype,"modifiedAt",void 0),cr([(0,x.Column)("text",{name:"preConfig",nullable:!0}),ur("design:type",String)],pr.prototype,"preConfig",void 0),cr([(0,x.Column)("text",{name:"postConfig",nullable:!0}),ur("design:type",String)],pr.prototype,"postConfig",void 0),cr([(0,x.Column)("varchar",{name:"commandsTaskId",nullable:!0,length:50}),ur("design:type",String)],pr.prototype,"commandsTaskId",void 0),cr([(0,x.Column)("tinyint",{name:"postUpgradeCompleted",nullable:!0,width:1,default:0,transformer:new ee}),ur("design:type",Boolean)],pr.prototype,"postUpgradeCompleted",void 0),cr([(0,x.Column)("datetime",{name:"fwCompletedOn",nullable:!0}),ur("design:type",Date)],pr.prototype,"fwCompletedOn",void 0),pr=cr([(0,x.Index)("ixFirmwareUpgradeTaskDeviceTypeFirmwareId",["deviceTypeFirmwareId"],{}),(0,x.Entity)("firmwareUpgradeTask",{schema:"nova"})],pr);var mr=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},yr=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let gr=class{iccid;status;processing;carrierFound;modifiedAt};mr([(0,x.PrimaryColumn)("varchar",{name:"iccid",length:25}),yr("design:type",String)],gr.prototype,"iccid",void 0),mr([(0,x.Column)("varchar",{name:"status",nullable:!0,length:100}),yr("design:type",String)],gr.prototype,"status",void 0),mr([(0,x.Column)("tinyint",{name:"processing",width:1,nullable:!0,transformer:new ee}),yr("design:type",Boolean)],gr.prototype,"processing",void 0),mr([(0,x.Column)("int",{name:"carrierFound",nullable:!0}),yr("design:type",Number)],gr.prototype,"carrierFound",void 0),mr([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),yr("design:type",Date)],gr.prototype,"modifiedAt",void 0),gr=mr([(0,x.Index)("ixIccidStatusProcessing",["processing"],{}),(0,x.Index)("ixIccidStatusModifiedAt",["modifiedAt"],{}),(0,x.Entity)("iccidStatus",{schema:"nova"})],gr);var vr=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},fr=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let hr=class{id;imei;iccid;carrier;phone;deviceTypeId;serviceProviderProductId;isValid;model;realModel;po;outOfInventory;apn;createdAt;modifiedAt;itsEsim;btmac;serviceProvider};vr([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),fr("design:type",Number)],hr.prototype,"id",void 0),vr([(0,x.Column)("varchar",{name:"imei",nullable:!0,length:15}),fr("design:type",String)],hr.prototype,"imei",void 0),vr([(0,x.Column)("varchar",{name:"iccid",nullable:!0,length:25}),fr("design:type",String)],hr.prototype,"iccid",void 0),vr([(0,x.Column)("tinyint",{name:"carrier",nullable:!0}),fr("design:type",Number)],hr.prototype,"carrier",void 0),vr([(0,x.Column)("varchar",{name:"phone",nullable:!0,length:25}),fr("design:type",String)],hr.prototype,"phone",void 0),vr([(0,x.Column)("smallint",{name:"deviceTypeId",nullable:!0}),fr("design:type",Number)],hr.prototype,"deviceTypeId",void 0),vr([(0,x.Column)("tinyint",{name:"serviceProviderProductId",nullable:!0}),fr("design:type",Number)],hr.prototype,"serviceProviderProductId",void 0),vr([(0,x.Column)("tinyint",{name:"isValid",width:1,default:()=>"'1'",transformer:new ee}),fr("design:type",Boolean)],hr.prototype,"isValid",void 0),vr([(0,x.Column)("varchar",{name:"model",nullable:!0,length:50}),fr("design:type",String)],hr.prototype,"model",void 0),vr([(0,x.Column)("varchar",{name:"realModel",nullable:!0,length:50}),fr("design:type",String)],hr.prototype,"realModel",void 0),vr([(0,x.Column)("varchar",{name:"po",nullable:!0,length:25}),fr("design:type",String)],hr.prototype,"po",void 0),vr([(0,x.Column)("tinyint",{name:"outOfInventory",width:1,default:()=>"'0'",transformer:new ee}),fr("design:type",Boolean)],hr.prototype,"outOfInventory",void 0),vr([(0,x.Column)("varchar",{name:"apn",nullable:!0,length:50}),fr("design:type",String)],hr.prototype,"apn",void 0),vr([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),fr("design:type",Date)],hr.prototype,"createdAt",void 0),vr([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),fr("design:type",Date)],hr.prototype,"modifiedAt",void 0),vr([(0,x.Column)("tinyint",{name:"itsEsim",width:1,nullable:!0,default:()=>"'0'",transformer:new ee}),fr("design:type",Boolean)],hr.prototype,"itsEsim",void 0),vr([(0,x.Column)("varchar",{name:"btmac",nullable:!0,length:20}),fr("design:type",String)],hr.prototype,"btmac",void 0),hr=vr([(0,x.Index)("ixImeiIccidCarrierCarrier",["carrier"],{}),(0,x.Index)("ixImeiIccidCarrierDeviceTypeId",["deviceTypeId"],{}),(0,x.Index)("ixImeiIccidCarrierIccid",["iccid"],{}),(0,x.Index)("ixImeiIccidCarrierImei",["imei"],{}),(0,x.Index)("ixImeiIccidCarrierModifiedAt",["modifiedAt"],{}),(0,x.Index)("ixImeiIccidCarrierProductId",["serviceProviderProductId"],{}),(0,x.Entity)("imeiIccidCarrier",{schema:"nova"})],hr);var Ir=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},br=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Cr=class{id;iccid;imei;carrier;lastUpdatedAt};Ir([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),br("design:type",Number)],Cr.prototype,"id",void 0),Ir([(0,x.Column)("varchar",{name:"iccid",nullable:!0,length:25}),br("design:type",String)],Cr.prototype,"iccid",void 0),Ir([(0,x.Column)("varchar",{name:"imei",length:15}),br("design:type",String)],Cr.prototype,"imei",void 0),Ir([(0,x.Column)("tinyint",{name:"carrier"}),br("design:type",Number)],Cr.prototype,"carrier",void 0),Ir([(0,x.Column)("datetime",{name:"lastUpdatedAt"}),br("design:type",Date)],Cr.prototype,"lastUpdatedAt",void 0),Cr=Ir([(0,x.Index)("ixImeiIccidHistoryIccid",["iccid"],{}),(0,x.Index)("ixImeiIccidHistoryImei",["imei"],{}),(0,x.Entity)("imeiIccidHistory",{schema:"nova"})],Cr);var Rr=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},wr=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Dr=class{id;industry;mainIndustry;group;sector;displayName};Rr([(0,x.PrimaryGeneratedColumn)({type:"smallint",name:"id"}),wr("design:type",Number)],Dr.prototype,"id",void 0),Rr([(0,x.Column)("varchar",{name:"industry",length:100}),wr("design:type",String)],Dr.prototype,"industry",void 0),Rr([(0,x.Column)("varchar",{name:"mainIndustry",length:100}),wr("design:type",String)],Dr.prototype,"mainIndustry",void 0),Rr([(0,x.Column)("varchar",{name:"group",length:100}),wr("design:type",String)],Dr.prototype,"group",void 0),Rr([(0,x.Column)("varchar",{name:"sector",length:100}),wr("design:type",String)],Dr.prototype,"sector",void 0),Rr([(0,x.Column)("varchar",{name:"displayName",nullable:!0,length:100}),wr("design:type",String)],Dr.prototype,"displayName",void 0),Dr=Rr([(0,x.Entity)("industry",{schema:"nova"})],Dr);var Sr=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ar=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Tr=class{imei;positionId;lat;lon;actualDate;speed;odometer;createdAt;messageId;batteryPercentage;clientId;address;sendTime;gpsUtcTime;externalBatteryPercentage;externalPowerVoltage};Sr([(0,x.PrimaryColumn)("varchar",{name:"imei",length:15}),Ar("design:type",String)],Tr.prototype,"imei",void 0),Sr([(0,x.Column)({type:"bigint",name:"positionId"}),Ar("design:type",Number)],Tr.prototype,"positionId",void 0),Sr([(0,x.Column)("decimal",{name:"lat",nullable:!0,precision:8,scale:6}),Ar("design:type",Number)],Tr.prototype,"lat",void 0),Sr([(0,x.Column)("decimal",{name:"lon",nullable:!0,precision:9,scale:6}),Ar("design:type",Number)],Tr.prototype,"lon",void 0),Sr([(0,x.Column)("datetime",{name:"actualDate",precision:3}),Ar("design:type",Date)],Tr.prototype,"actualDate",void 0),Sr([(0,x.Column)("float",{name:"speed",nullable:!0}),Ar("design:type",Number)],Tr.prototype,"speed",void 0),Sr([(0,x.Column)("double",{name:"odometer",nullable:!0}),Ar("design:type",Number)],Tr.prototype,"odometer",void 0),Sr([(0,x.Column)("datetime",{name:"createdAt",precision:3}),Ar("design:type",Date)],Tr.prototype,"createdAt",void 0),Sr([(0,x.Column)("binary",{name:"messageId",length:16}),Ar("design:type",Buffer)],Tr.prototype,"messageId",void 0),Sr([(0,x.Column)("smallint",{name:"batteryPercentage",nullable:!0}),Ar("design:type",Number)],Tr.prototype,"batteryPercentage",void 0),Sr([(0,x.Column)("int",{name:"clientId",nullable:!0}),Ar("design:type",Number)],Tr.prototype,"clientId",void 0),Sr([(0,x.Column)("varchar",{name:"address",nullable:!0,length:255}),Ar("design:type",String)],Tr.prototype,"address",void 0),Sr([(0,x.Column)("datetime",{name:"sendTime",nullable:!0,precision:3}),Ar("design:type",Date)],Tr.prototype,"sendTime",void 0),Sr([(0,x.Column)("datetime",{name:"gpsUtcTime",nullable:!0,precision:3}),Ar("design:type",Date)],Tr.prototype,"gpsUtcTime",void 0),Sr([(0,x.Column)("smallint",{name:"externalBatteryPercentage",nullable:!0}),Ar("design:type",Number)],Tr.prototype,"externalBatteryPercentage",void 0),Sr([(0,x.Column)("float",{name:"externalPowerVoltage",nullable:!0}),Ar("design:type",Number)],Tr.prototype,"externalPowerVoltage",void 0),Tr=Sr([(0,x.Index)("ixuLatestPositionMessageId",["messageId"],{unique:!0}),(0,x.Index)("ixLatestPositionActualDate",["actualDate"],{}),(0,x.Index)("ixLatestPositionClientId",["clientId"],{}),(0,x.Index)("ixLatestPositionId",["positionId"]),(0,x.Entity)("latestPosition",{schema:"nova"})],Tr);var Br=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Nr=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ur=class{id;customerId;email;customerUpdatedAt;createdIn;firstName;lastName;middleName;postcode;prefix;region;street;city;telephone;countryId;company;btAccountId;phoneCode;phoneCodeCountryId;pinCode;stripeCustomerId;activationCreated;imei;deviceId;deviceType;deviceColor;btSubscriptionId;servicePlanId;billingInterval;status;orderId;deviceUpdatedAt;deviceCreatedAt;importedDevice;trackerName;trackerUse;deviceStatus;planCode;platformCode;platformName;stripeCreatedAt;stripeUpdatedAt;dateCaptured;cancelationReason;cancelationCreated;cancelationReactivated;clientId;itemsForRecovery};Br([(0,x.PrimaryGeneratedColumn)({type:"smallint",name:"id"}),Nr("design:type",Number)],Ur.prototype,"id",void 0),Br([(0,x.Column)("varchar",{name:"customerId",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"customerId",void 0),Br([(0,x.Column)("varchar",{name:"email",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"email",void 0),Br([(0,x.Column)("varchar",{name:"customerUpdatedAt",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"customerUpdatedAt",void 0),Br([(0,x.Column)("varchar",{name:"createdIn",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"createdIn",void 0),Br([(0,x.Column)("varchar",{name:"firstName",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"firstName",void 0),Br([(0,x.Column)("varchar",{name:"lastName",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"lastName",void 0),Br([(0,x.Column)("varchar",{name:"middleName",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"middleName",void 0),Br([(0,x.Column)("varchar",{name:"postcode",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"postcode",void 0),Br([(0,x.Column)("varchar",{name:"prefix",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"prefix",void 0),Br([(0,x.Column)("varchar",{name:"region",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"region",void 0),Br([(0,x.Column)("varchar",{name:"street",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"street",void 0),Br([(0,x.Column)("varchar",{name:"city",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"city",void 0),Br([(0,x.Column)("varchar",{name:"telephone",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"telephone",void 0),Br([(0,x.Column)("varchar",{name:"countryId",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"countryId",void 0),Br([(0,x.Column)("varchar",{name:"company",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"company",void 0),Br([(0,x.Column)("varchar",{name:"btAccountId",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"btAccountId",void 0),Br([(0,x.Column)("varchar",{name:"phoneCode",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"phoneCode",void 0),Br([(0,x.Column)("varchar",{name:"phoneCodeCountryId",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"phoneCodeCountryId",void 0),Br([(0,x.Column)("varchar",{name:"pinCode",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"pinCode",void 0),Br([(0,x.Column)("varchar",{name:"stripeCustomerId",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"stripeCustomerId",void 0),Br([(0,x.Column)("varchar",{name:"activationCreated",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"activationCreated",void 0),Br([(0,x.Column)("varchar",{name:"imei",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"imei",void 0),Br([(0,x.Column)("varchar",{name:"deviceId",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"deviceId",void 0),Br([(0,x.Column)("varchar",{name:"deviceType",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"deviceType",void 0),Br([(0,x.Column)("varchar",{name:"deviceColor",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"deviceColor",void 0),Br([(0,x.Column)("varchar",{name:"btSubscriptionId",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"btSubscriptionId",void 0),Br([(0,x.Column)("varchar",{name:"servicePlanId",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"servicePlanId",void 0),Br([(0,x.Column)("varchar",{name:"billingInterval",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"billingInterval",void 0),Br([(0,x.Column)("varchar",{name:"status",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"status",void 0),Br([(0,x.Column)("varchar",{name:"orderId",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"orderId",void 0),Br([(0,x.Column)("varchar",{name:"deviceUpdatedAt",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"deviceUpdatedAt",void 0),Br([(0,x.Column)("varchar",{name:"deviceCreatedAt",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"deviceCreatedAt",void 0),Br([(0,x.Column)("varchar",{name:"importedDevice",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"importedDevice",void 0),Br([(0,x.Column)("varchar",{name:"trackerName",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"trackerName",void 0),Br([(0,x.Column)("varchar",{name:"trackerUse",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"trackerUse",void 0),Br([(0,x.Column)("varchar",{name:"deviceStatus",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"deviceStatus",void 0),Br([(0,x.Column)("varchar",{name:"planCode",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"planCode",void 0),Br([(0,x.Column)("varchar",{name:"platformCode",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"platformCode",void 0),Br([(0,x.Column)("varchar",{name:"platformName",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"platformName",void 0),Br([(0,x.Column)("varchar",{name:"stripeCreatedAt",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"stripeCreatedAt",void 0),Br([(0,x.Column)("varchar",{name:"stripeUpdatedAt",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"stripeUpdatedAt",void 0),Br([(0,x.Column)("varchar",{name:"dateCaptured",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"dateCaptured",void 0),Br([(0,x.Column)("varchar",{name:"cancelationReason",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"cancelationReason",void 0),Br([(0,x.Column)("varchar",{name:"cancelationCreated",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"cancelationCreated",void 0),Br([(0,x.Column)("varchar",{name:"cancelationReactivated",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"cancelationReactivated",void 0),Br([(0,x.Column)("varchar",{name:"clientId",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"clientId",void 0),Br([(0,x.Column)("varchar",{name:"itemsForRecovery",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"itemsForRecovery",void 0),Ur=Br([(0,x.Entity)("magento2Gps",{schema:"nova"})],Ur);var Or=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Pr=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let kr=class{magentoPlanCode;magentoBillingInterval;planAnnual;planId};Or([(0,x.Column)("varchar",{primary:!0,name:"magentoPlanCode",length:100}),Pr("design:type",String)],kr.prototype,"magentoPlanCode",void 0),Or([(0,x.Column)("varchar",{primary:!0,name:"magentoBillingInterval",length:50}),Pr("design:type",String)],kr.prototype,"magentoBillingInterval",void 0),Or([(0,x.Column)("tinyint",{name:"planAnnual",width:1,transformer:new ee}),Pr("design:type",Boolean)],kr.prototype,"planAnnual",void 0),Or([(0,x.Column)("varchar",{name:"planId",length:100}),Pr("design:type",String)],kr.prototype,"planId",void 0),kr=Or([(0,x.Entity)("magento2Plan",{schema:"nova"})],kr);var Er=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},xr=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let jr=class{id;mcc;mnc;networkName;operatorName;countryCode;countryName};Er([(0,x.PrimaryGeneratedColumn)({type:"smallint",name:"id"}),xr("design:type",Number)],jr.prototype,"id",void 0),Er([(0,x.Column)("smallint",{name:"mcc"}),xr("design:type",Number)],jr.prototype,"mcc",void 0),Er([(0,x.Column)("smallint",{name:"mnc"}),xr("design:type",Number)],jr.prototype,"mnc",void 0),Er([(0,x.Column)("varchar",{name:"networkName",nullable:!0,length:255}),xr("design:type",String)],jr.prototype,"networkName",void 0),Er([(0,x.Column)("varchar",{name:"operatorName",nullable:!0,length:100}),xr("design:type",String)],jr.prototype,"operatorName",void 0),Er([(0,x.Column)("varchar",{name:"countryCode",nullable:!0,length:50}),xr("design:type",String)],jr.prototype,"countryCode",void 0),Er([(0,x.Column)("varchar",{name:"countryName",nullable:!0,length:100}),xr("design:type",String)],jr.prototype,"countryName",void 0),jr=Er([(0,x.Entity)("mobileNetwork",{schema:"nova"})],jr);var Mr=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Fr=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Lr=class{id;clientId;notificationType;recipient;isEnabled;isUserProfile;createdAt;modifiedAt;dataSourceTypeId;unsubscribed;unsubscribedInfo;userId};Mr([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),Fr("design:type",Number)],Lr.prototype,"id",void 0),Mr([(0,x.Column)("int",{name:"clientId"}),Fr("design:type",Number)],Lr.prototype,"clientId",void 0),Mr([(0,x.Column)("tinyint",{name:"notificationType"}),Fr("design:type",Number)],Lr.prototype,"notificationType",void 0),Mr([(0,x.Column)("varchar",{name:"recipient",length:100}),Fr("design:type",String)],Lr.prototype,"recipient",void 0),Mr([(0,x.Column)("tinyint",{name:"isEnabled",width:1,transformer:new ee}),Fr("design:type",Boolean)],Lr.prototype,"isEnabled",void 0),Mr([(0,x.Column)("tinyint",{name:"isUserProfile",width:1,transformer:new ee}),Fr("design:type",Boolean)],Lr.prototype,"isUserProfile",void 0),Mr([(0,x.Column)("datetime",{name:"createdAt",default:()=>"CURRENT_TIMESTAMP"}),Fr("design:type",Date)],Lr.prototype,"createdAt",void 0),Mr([(0,x.Column)("datetime",{name:"modifiedAt",default:()=>"CURRENT_TIMESTAMP"}),Fr("design:type",Date)],Lr.prototype,"modifiedAt",void 0),Mr([(0,x.Column)("tinyint",{name:"dataSourceTypeId",nullable:!0}),Fr("design:type",Number)],Lr.prototype,"dataSourceTypeId",void 0),Mr([(0,x.Column)("tinyint",{name:"unsubscribed",width:1,default:()=>"'0'",transformer:new ee}),Fr("design:type",Boolean)],Lr.prototype,"unsubscribed",void 0),Mr([(0,x.Column)("varchar",{name:"unsubscribedInfo",nullable:!0,length:256}),Fr("design:type",String)],Lr.prototype,"unsubscribedInfo",void 0),Mr([(0,x.Column)("binary",{name:"userId",nullable:!0,length:16}),Fr("design:type",Buffer)],Lr.prototype,"userId",void 0),Lr=Mr([(0,x.Index)("ixuNotificationRecipientClientIdRecipientUserId",["clientId","recipient","userId"],{unique:!0}),(0,x.Index)("ixNotificationRecipientClientId",["clientId"],{}),(0,x.Index)("ixNotificationRecipientIsEnabled",["isEnabled"],{}),(0,x.Index)("ixNotificationRecipientIsUserProfile",["isUserProfile"],{}),(0,x.Index)("ixNotificationRecipientNotificationType",["notificationType"],{}),(0,x.Entity)("notificationRecipient",{schema:"nova"})],Lr);var Qr=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},qr=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Wr=class{id;imei;lat;lon;actualDate;speed;odometer;createdAt;messageId;batteryPercentage;clientId;address;sendTime;gpsUtcTime;externalBatteryPercentage;externalPowerVoltage};Qr([(0,x.PrimaryGeneratedColumn)({type:"bigint",name:"id"}),qr("design:type",Number)],Wr.prototype,"id",void 0),Qr([(0,x.Column)("varchar",{name:"imei",length:15}),qr("design:type",String)],Wr.prototype,"imei",void 0),Qr([(0,x.Column)("decimal",{name:"lat",nullable:!0,precision:8,scale:6}),qr("design:type",Number)],Wr.prototype,"lat",void 0),Qr([(0,x.Column)("decimal",{name:"lon",nullable:!0,precision:9,scale:6}),qr("design:type",Number)],Wr.prototype,"lon",void 0),Qr([(0,x.Column)("datetime",{name:"actualDate",precision:3}),qr("design:type",Date)],Wr.prototype,"actualDate",void 0),Qr([(0,x.Column)("float",{name:"speed",nullable:!0}),qr("design:type",Number)],Wr.prototype,"speed",void 0),Qr([(0,x.Column)("double",{name:"odometer",nullable:!0}),qr("design:type",Number)],Wr.prototype,"odometer",void 0),Qr([(0,x.Column)("datetime",{name:"createdAt",precision:3}),qr("design:type",Date)],Wr.prototype,"createdAt",void 0),Qr([(0,x.Column)("binary",{name:"messageId",length:16}),qr("design:type",Buffer)],Wr.prototype,"messageId",void 0),Qr([(0,x.Column)("smallint",{name:"batteryPercentage",nullable:!0}),qr("design:type",Number)],Wr.prototype,"batteryPercentage",void 0),Qr([(0,x.Column)("int",{name:"clientId"}),qr("design:type",Number)],Wr.prototype,"clientId",void 0),Qr([(0,x.Column)("varchar",{name:"address",nullable:!0,length:255}),qr("design:type",String)],Wr.prototype,"address",void 0),Qr([(0,x.Column)("datetime",{name:"sendTime",nullable:!0,precision:3}),qr("design:type",Date)],Wr.prototype,"sendTime",void 0),Qr([(0,x.Column)("datetime",{name:"gpsUtcTime",nullable:!0,precision:3}),qr("design:type",Date)],Wr.prototype,"gpsUtcTime",void 0),Qr([(0,x.Column)("smallint",{name:"externalBatteryPercentage",nullable:!0}),qr("design:type",Number)],Wr.prototype,"externalBatteryPercentage",void 0),Qr([(0,x.Column)("float",{name:"externalPowerVoltage",nullable:!0}),qr("design:type",Number)],Wr.prototype,"externalPowerVoltage",void 0),Wr=Qr([(0,x.Index)("ixuPositionMessageId",["messageId"],{unique:!0}),(0,x.Index)("ixPositionActualDate",["actualDate"],{}),(0,x.Index)("ixPositionClientId",["clientId"],{}),(0,x.Index)("ixPositionImei",["imei"],{}),(0,x.Index)("ixPositionClientId_ActualDate",["clientId","actualDate"],{}),(0,x.Index)("ixPositionClientId_Imei_ActualDate",["clientId","imei","actualDate"],{}),(0,x.Entity)("position",{schema:"nova"})],Wr);var Vr=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Gr=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Jr=class{id;imei;lat;lon;actualDate;speed;odometer;createdAt;messageId;batteryPercentage;clientId;address;sendTime;gpsUtcTime;externalBatteryPercentage;externalPowerVoltage};Vr([(0,x.PrimaryColumn)({type:"bigint",name:"id"}),Gr("design:type",Number)],Jr.prototype,"id",void 0),Vr([(0,x.Column)("varchar",{name:"imei",length:15}),Gr("design:type",String)],Jr.prototype,"imei",void 0),Vr([(0,x.Column)("decimal",{name:"lat",nullable:!0,precision:8,scale:6}),Gr("design:type",Number)],Jr.prototype,"lat",void 0),Vr([(0,x.Column)("decimal",{name:"lon",nullable:!0,precision:9,scale:6}),Gr("design:type",Number)],Jr.prototype,"lon",void 0),Vr([(0,x.Column)("datetime",{name:"actualDate",precision:3}),Gr("design:type",Date)],Jr.prototype,"actualDate",void 0),Vr([(0,x.Column)("float",{name:"speed",nullable:!0}),Gr("design:type",Number)],Jr.prototype,"speed",void 0),Vr([(0,x.Column)("double",{name:"odometer",nullable:!0}),Gr("design:type",Number)],Jr.prototype,"odometer",void 0),Vr([(0,x.Column)("datetime",{name:"createdAt",precision:3}),Gr("design:type",Date)],Jr.prototype,"createdAt",void 0),Vr([(0,x.Column)("binary",{name:"messageId",length:16}),Gr("design:type",Buffer)],Jr.prototype,"messageId",void 0),Vr([(0,x.Column)("smallint",{name:"batteryPercentage",nullable:!0}),Gr("design:type",Number)],Jr.prototype,"batteryPercentage",void 0),Vr([(0,x.Column)("int",{name:"clientId"}),Gr("design:type",Number)],Jr.prototype,"clientId",void 0),Vr([(0,x.Column)("varchar",{name:"address",nullable:!0,length:255}),Gr("design:type",String)],Jr.prototype,"address",void 0),Vr([(0,x.Column)("datetime",{name:"sendTime",nullable:!0,precision:3}),Gr("design:type",Date)],Jr.prototype,"sendTime",void 0),Vr([(0,x.Column)("datetime",{name:"gpsUtcTime",nullable:!0,precision:3}),Gr("design:type",Date)],Jr.prototype,"gpsUtcTime",void 0),Vr([(0,x.Column)("smallint",{name:"externalBatteryPercentage",nullable:!0}),Gr("design:type",Number)],Jr.prototype,"externalBatteryPercentage",void 0),Vr([(0,x.Column)("float",{name:"externalPowerVoltage",nullable:!0}),Gr("design:type",Number)],Jr.prototype,"externalPowerVoltage",void 0),Jr=Vr([(0,x.Entity)("positionMigration",{schema:"nova"})],Jr);var Hr=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o};let Kr=class{id};Hr([(0,x.PrimaryColumn)({type:"bigint",name:"id"}),function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}("design:type",Number)],Kr.prototype,"id",void 0),Kr=Hr([(0,x.Entity)("positionMigrationBatch",{schema:"nova"})],Kr);var zr=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},_r=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let $r=class{id;key;name;description;ordinalPosition};zr([(0,x.PrimaryGeneratedColumn)({type:"tinyint",name:"id"}),_r("design:type",Number)],$r.prototype,"id",void 0),zr([(0,x.Column)("varchar",{name:"key",length:25}),_r("design:type",String)],$r.prototype,"key",void 0),zr([(0,x.Column)("varchar",{name:"name",length:50}),_r("design:type",String)],$r.prototype,"name",void 0),zr([(0,x.Column)("varchar",{name:"description",length:100}),_r("design:type",String)],$r.prototype,"description",void 0),zr([(0,x.Column)("tinyint",{name:"ordinalPosition"}),_r("design:type",Number)],$r.prototype,"ordinalPosition",void 0),$r=zr([(0,x.Entity)("securityRole",{schema:"nova"})],$r);var Zr=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Xr=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Yr=class{id;name;description;loginUrl;apn};Zr([(0,x.PrimaryGeneratedColumn)({type:"smallint",name:"id"}),Xr("design:type",Number)],Yr.prototype,"id",void 0),Zr([(0,x.Column)("varchar",{name:"name",length:100}),Xr("design:type",String)],Yr.prototype,"name",void 0),Zr([(0,x.Column)("varchar",{name:"description",length:1e3}),Xr("design:type",String)],Yr.prototype,"description",void 0),Zr([(0,x.Column)("varchar",{name:"loginUrl",nullable:!0,length:1e3}),Xr("design:type",String)],Yr.prototype,"loginUrl",void 0),Zr([(0,x.Column)("varchar",{name:"apn",nullable:!0,length:50}),Xr("design:type",String)],Yr.prototype,"apn",void 0),Yr=Zr([(0,x.Entity)("serviceProvider",{schema:"nova"})],Yr);var ea=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},ta=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let ia=class{id;productId;name;serviceProviderProductTypeId;serviceProviderProductNetworkId;mbIncluded;bundleCost};ea([(0,x.PrimaryGeneratedColumn)({type:"tinyint",name:"id"}),ta("design:type",Number)],ia.prototype,"id",void 0),ea([(0,x.Column)("varchar",{name:"productId",length:100}),ta("design:type",String)],ia.prototype,"productId",void 0),ea([(0,x.Column)("varchar",{name:"name",length:100}),ta("design:type",String)],ia.prototype,"name",void 0),ea([(0,x.Column)("tinyint",{name:"serviceProviderProductTypeId",nullable:!0}),ta("design:type",Number)],ia.prototype,"serviceProviderProductTypeId",void 0),ea([(0,x.Column)("tinyint",{name:"serviceProviderProductNetworkId",nullable:!0}),ta("design:type",Number)],ia.prototype,"serviceProviderProductNetworkId",void 0),ea([(0,x.Column)("smallint",{name:"mbIncluded",nullable:!0}),ta("design:type",Number)],ia.prototype,"mbIncluded",void 0),ea([(0,x.Column)("decimal",{name:"bundleCost",nullable:!0,precision:19,scale:4}),ta("design:type",String)],ia.prototype,"bundleCost",void 0),ia=ea([(0,x.Index)("ixServiceProviderProductServiceProviderProductNetworkId",["serviceProviderProductNetworkId"],{}),(0,x.Index)("ixServiceProviderProductServiceProviderProductTypeId",["serviceProviderProductTypeId"],{}),(0,x.Entity)("serviceProviderProduct",{schema:"nova"})],ia);var ra=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},aa=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let na=class{id;name;description};ra([(0,x.PrimaryGeneratedColumn)({type:"tinyint",name:"id"}),aa("design:type",Number)],na.prototype,"id",void 0),ra([(0,x.Column)("varchar",{name:"name",length:100}),aa("design:type",String)],na.prototype,"name",void 0),ra([(0,x.Column)("varchar",{name:"description",length:100}),aa("design:type",String)],na.prototype,"description",void 0),na=ra([(0,x.Entity)("serviceProviderProductNetwork",{schema:"nova"})],na);var oa=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},sa=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let la=class{id;name;description};oa([(0,x.PrimaryGeneratedColumn)({type:"tinyint",name:"id"}),sa("design:type",Number)],la.prototype,"id",void 0),oa([(0,x.Column)("varchar",{name:"name",length:100}),sa("design:type",String)],la.prototype,"name",void 0),oa([(0,x.Column)("varchar",{name:"description",length:100}),sa("design:type",String)],la.prototype,"description",void 0),la=oa([(0,x.Entity)("serviceProviderProductType",{schema:"nova"})],la);var da=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},ca=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let ua=class{id;imei;iccid;carrier;phone;deviceTypeId;serviceProviderProductId;isValid;realModel;po;outOfInventory;apn;createdAt;modifiedAt};da([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),ca("design:type",Number)],ua.prototype,"id",void 0),da([(0,x.Column)("varchar",{name:"imei",nullable:!0,length:15}),ca("design:type",String)],ua.prototype,"imei",void 0),da([(0,x.Column)("varchar",{name:"iccid",nullable:!0,length:25}),ca("design:type",String)],ua.prototype,"iccid",void 0),da([(0,x.Column)("tinyint",{name:"carrier",nullable:!0}),ca("design:type",Number)],ua.prototype,"carrier",void 0),da([(0,x.Column)("varchar",{name:"phone",nullable:!0,length:25}),ca("design:type",String)],ua.prototype,"phone",void 0),da([(0,x.Column)("smallint",{name:"deviceTypeId",nullable:!0}),ca("design:type",Number)],ua.prototype,"deviceTypeId",void 0),da([(0,x.Column)("tinyint",{name:"serviceProviderProductId",nullable:!0}),ca("design:type",Number)],ua.prototype,"serviceProviderProductId",void 0),da([(0,x.Column)("tinyint",{name:"isValid",width:1,default:()=>"'1'"}),ca("design:type",Boolean)],ua.prototype,"isValid",void 0),da([(0,x.Column)("varchar",{name:"realModel",nullable:!0,length:50}),ca("design:type",String)],ua.prototype,"realModel",void 0),da([(0,x.Column)("varchar",{name:"po",nullable:!0,length:25}),ca("design:type",String)],ua.prototype,"po",void 0),da([(0,x.Column)("tinyint",{name:"outOfInventory",width:1,default:()=>"'0'"}),ca("design:type",Boolean)],ua.prototype,"outOfInventory",void 0),da([(0,x.Column)("varchar",{name:"apn",nullable:!0,length:50}),ca("design:type",String)],ua.prototype,"apn",void 0),da([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),ca("design:type",Date)],ua.prototype,"createdAt",void 0),da([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),ca("design:type",Date)],ua.prototype,"modifiedAt",void 0),ua=da([(0,x.Index)("ixImeiIccidCarrierCarrier",["carrier"],{}),(0,x.Index)("ixImeiIccidCarrierDeviceTypeId",["deviceTypeId"],{}),(0,x.Index)("ixImeiIccidCarrierIccid",["iccid"],{}),(0,x.Index)("ixImeiIccidCarrierImei",["imei"],{}),(0,x.Index)("ixImeiIccidCarrierModifiedAt",["modifiedAt"],{}),(0,x.Index)("ixImeiIccidCarrierProductId",["serviceProviderProductId"],{}),(0,x.Entity)("sim",{schema:"nova"})],ua);var pa=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},ma=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let ya=class{id;taskScheduleId;taskSchedule;imei;clientId;dueDate;dueOdometer;dueActiveHours;startDate;startingOdometer;startingActiveHours;status;createdAt;pastDueAt;completedAt;completionNotes;completionOdometer;completionActiveHours;completedBy;modifiedAt;modifiedBy;queuedAt;predictedDueDate;deletedAt;deletedBy};pa([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),ma("design:type",Number)],ya.prototype,"id",void 0),pa([(0,x.Column)({type:"int",name:"taskScheduleId"}),ma("design:type",Number)],ya.prototype,"taskScheduleId",void 0),pa([(0,x.ManyToOne)((()=>ji),{createForeignKeyConstraints:!1}),ma("design:type",Object)],ya.prototype,"taskSchedule",void 0),pa([(0,x.Column)("varchar",{name:"imei",length:15}),ma("design:type",String)],ya.prototype,"imei",void 0),pa([(0,x.Column)("int",{name:"clientId"}),ma("design:type",Number)],ya.prototype,"clientId",void 0),pa([(0,x.Column)("datetime",{name:"dueDate",nullable:!0}),ma("design:type",Date)],ya.prototype,"dueDate",void 0),pa([(0,x.Column)("double",{name:"dueOdometer",nullable:!0}),ma("design:type",Number)],ya.prototype,"dueOdometer",void 0),pa([(0,x.Column)("double",{name:"dueActiveHours",nullable:!0}),ma("design:type",Number)],ya.prototype,"dueActiveHours",void 0),pa([(0,x.Column)("datetime",{name:"startDate",nullable:!0}),ma("design:type",Date)],ya.prototype,"startDate",void 0),pa([(0,x.Column)("double",{name:"startingOdometer",nullable:!0}),ma("design:type",Number)],ya.prototype,"startingOdometer",void 0),pa([(0,x.Column)("double",{name:"startingActiveHours",nullable:!0}),ma("design:type",Number)],ya.prototype,"startingActiveHours",void 0),pa([(0,x.Column)("varchar",{name:"status",length:10,default:()=>"'pending'"}),ma("design:type",String)],ya.prototype,"status",void 0),pa([(0,x.Column)("datetime",{name:"createdAt"}),ma("design:type",Date)],ya.prototype,"createdAt",void 0),pa([(0,x.Column)("datetime",{name:"pastDueAt",nullable:!0}),ma("design:type",Date)],ya.prototype,"pastDueAt",void 0),pa([(0,x.Column)("datetime",{name:"completedAt",nullable:!0}),ma("design:type",Date)],ya.prototype,"completedAt",void 0),pa([(0,x.Column)("varchar",{name:"completionNotes",nullable:!0}),ma("design:type",String)],ya.prototype,"completionNotes",void 0),pa([(0,x.Column)("double",{name:"completionOdometer",nullable:!0}),ma("design:type",Number)],ya.prototype,"completionOdometer",void 0),pa([(0,x.Column)("double",{name:"completionActiveHours",nullable:!0}),ma("design:type",Number)],ya.prototype,"completionActiveHours",void 0),pa([(0,x.Column)("varchar",{name:"completedBy",length:50,nullable:!0}),ma("design:type",String)],ya.prototype,"completedBy",void 0),pa([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),ma("design:type",Date)],ya.prototype,"modifiedAt",void 0),pa([(0,x.Column)("varchar",{name:"modifiedBy",length:50,nullable:!0}),ma("design:type",String)],ya.prototype,"modifiedBy",void 0),pa([(0,x.Column)("datetime",{name:"queuedAt",nullable:!0}),ma("design:type",Date)],ya.prototype,"queuedAt",void 0),pa([(0,x.Column)("datetime",{name:"predictedDueDate",nullable:!0}),ma("design:type",Date)],ya.prototype,"predictedDueDate",void 0),pa([(0,x.Column)("datetime",{name:"deletedAt",nullable:!0}),ma("design:type",Date)],ya.prototype,"deletedAt",void 0),pa([(0,x.Column)("varchar",{name:"deletedBy",length:50,nullable:!0}),ma("design:type",String)],ya.prototype,"deletedBy",void 0),ya=pa([(0,x.Index)("ixTask_TaskScheduleId",["taskScheduleId"],{}),(0,x.Index)("ixTask_Imei",["imei"],{}),(0,x.Index)("ixTask_ClientId",["clientId"],{}),(0,x.Index)("ixTask_Status",["status"],{}),(0,x.Entity)("task",{schema:"nova"})],ya);var ga=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},va=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let fa=class{id;tripGuid;imei;startDate;endDate;distance;startLat;startLon;endLat;endLon;createdAt;startAddress;endAddress;positionStart;positionEnd;tripCompletionStatusId;clientId;duration;tripType;startMessageId;endMessageId};ga([(0,x.PrimaryGeneratedColumn)({type:"bigint",name:"id"}),va("design:type",Number)],fa.prototype,"id",void 0),ga([(0,x.Column)("binary",{name:"tripGuid",length:16}),va("design:type",Buffer)],fa.prototype,"tripGuid",void 0),ga([(0,x.Column)("varchar",{name:"imei",length:15}),va("design:type",String)],fa.prototype,"imei",void 0),ga([(0,x.Column)("datetime",{name:"startDate"}),va("design:type",Date)],fa.prototype,"startDate",void 0),ga([(0,x.Column)("datetime",{name:"endDate",nullable:!0}),va("design:type",Date)],fa.prototype,"endDate",void 0),ga([(0,x.Column)("float",{name:"distance"}),va("design:type",Number)],fa.prototype,"distance",void 0),ga([(0,x.Column)("decimal",{name:"startLat",precision:8,scale:6}),va("design:type",Number)],fa.prototype,"startLat",void 0),ga([(0,x.Column)("decimal",{name:"startLon",precision:9,scale:6}),va("design:type",Number)],fa.prototype,"startLon",void 0),ga([(0,x.Column)("decimal",{name:"endLat",nullable:!0,precision:8,scale:6}),va("design:type",Number)],fa.prototype,"endLat",void 0),ga([(0,x.Column)("decimal",{name:"endLon",nullable:!0,precision:9,scale:6}),va("design:type",Number)],fa.prototype,"endLon",void 0),ga([(0,x.Column)("datetime",{name:"createdAt"}),va("design:type",Date)],fa.prototype,"createdAt",void 0),ga([(0,x.Column)("varchar",{name:"startAddress",length:255}),va("design:type",String)],fa.prototype,"startAddress",void 0),ga([(0,x.Column)("varchar",{name:"endAddress",nullable:!0,length:255}),va("design:type",String)],fa.prototype,"endAddress",void 0),ga([(0,x.Column)("varchar",{name:"positionStart",length:255}),va("design:type",String)],fa.prototype,"positionStart",void 0),ga([(0,x.Column)("varchar",{name:"positionEnd",nullable:!0,length:255}),va("design:type",String)],fa.prototype,"positionEnd",void 0),ga([(0,x.Column)("tinyint",{name:"tripCompletionStatusId",default:()=>"'1'"}),va("design:type",Number)],fa.prototype,"tripCompletionStatusId",void 0),ga([(0,x.Column)("int",{name:"clientId"}),va("design:type",Number)],fa.prototype,"clientId",void 0),ga([(0,x.Column)("int",{name:"duration"}),va("design:type",Number)],fa.prototype,"duration",void 0),ga([(0,x.Column)("tinyint",{name:"tripType"}),va("design:type",Number)],fa.prototype,"tripType",void 0),ga([(0,x.Column)("binary",{name:"startMessageId",length:16}),va("design:type",Buffer)],fa.prototype,"startMessageId",void 0),ga([(0,x.Column)("binary",{name:"endMessageId",nullable:!0,length:16}),va("design:type",Buffer)],fa.prototype,"endMessageId",void 0),fa=ga([(0,x.Index)("ixuTripGuid",["tripGuid"],{unique:!0}),(0,x.Index)("ixTripClientId",["clientId"],{}),(0,x.Index)("ixTripImei",["imei"],{}),(0,x.Index)("ixTripStartDate",["startDate"],{}),(0,x.Index)("ixTripEndDate",["endDate"],{}),(0,x.Index)("ixCreatedAt",["createdAt"],{}),(0,x.Entity)("trip",{schema:"nova"})],fa);var ha=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ia=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let ba=class{id;name;description;statusId};ha([(0,x.PrimaryGeneratedColumn)({type:"tinyint",name:"id"}),Ia("design:type",Number)],ba.prototype,"id",void 0),ha([(0,x.Column)("varchar",{name:"name",length:50}),Ia("design:type",String)],ba.prototype,"name",void 0),ha([(0,x.Column)("varchar",{name:"description",length:500}),Ia("design:type",String)],ba.prototype,"description",void 0),ha([(0,x.Column)("tinyint",{name:"statusId",width:1,default:()=>"'1'"}),Ia("design:type",Boolean)],ba.prototype,"statusId",void 0),ba=ha([(0,x.Entity)("tripCompletionStatus",{schema:"nova"})],ba);var Ca=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ra=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let wa=class{tripId;positionId};Ca([(0,x.Column)("bigint",{primary:!0,name:"tripId"}),Ra("design:type",String)],wa.prototype,"tripId",void 0),Ca([(0,x.Column)("bigint",{primary:!0,name:"positionId"}),Ra("design:type",String)],wa.prototype,"positionId",void 0),wa=Ca([(0,x.Entity)("tripPosition",{schema:"nova"})],wa);var Da=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Sa=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Aa=class{id;createdAt;status;userId;legacyCreatedAt;clientId};Da([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),Sa("design:type",Number)],Aa.prototype,"id",void 0),Da([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),Sa("design:type",Date)],Aa.prototype,"createdAt",void 0),Da([(0,x.Column)("char",{name:"status",nullable:!0,length:1,default:()=>"'A'"}),Sa("design:type",String)],Aa.prototype,"status",void 0),Da([(0,x.Column)("binary",{name:"userId",length:16}),Sa("design:type",Buffer)],Aa.prototype,"userId",void 0),Da([(0,x.Column)("datetime",{name:"legacyCreatedAt",nullable:!0}),Sa("design:type",Date)],Aa.prototype,"legacyCreatedAt",void 0),Da([(0,x.Column)("int",{name:"clientId"}),Sa("design:type",Number)],Aa.prototype,"clientId",void 0),Aa=Da([(0,x.Index)("ixUserActivationUserId",["userId"],{}),(0,x.Entity)("userActivation",{schema:"nova"})],Aa);var Ta=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ba=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Na=class{id;userActivation;userActivationId;device;deviceId;imei;model;billingInterval;deviceName;createdAt;modifiedAt;status;trackingReason;deviceColor;notificationByEmail;notificationBySms;planAnnual;dataSourceTypeId;subscriptionId;platform;eventType;planCode;servicePlan};Ta([(0,x.Column)("int",{primary:!0,name:"id"}),Ba("design:type",Number)],Na.prototype,"id",void 0),Ta([(0,x.OneToOne)((()=>Aa),{createForeignKeyConstraints:!1}),(0,x.JoinColumn)(),Ba("design:type",Object)],Na.prototype,"userActivation",void 0),Ta([(0,x.Column)("int",{name:"userActivationId"}),Ba("design:type",Number)],Na.prototype,"userActivationId",void 0),Ta([(0,x.OneToOne)((()=>xe),{createForeignKeyConstraints:!1}),(0,x.JoinColumn)(),Ba("design:type",Object)],Na.prototype,"device",void 0),Ta([(0,x.Column)("int",{name:"deviceId"}),Ba("design:type",Number)],Na.prototype,"deviceId",void 0),Ta([(0,x.Column)("varchar",{name:"imei",length:15}),Ba("design:type",String)],Na.prototype,"imei",void 0),Ta([(0,x.Column)("varchar",{name:"model",nullable:!0,length:50}),Ba("design:type",String)],Na.prototype,"model",void 0),Ta([(0,x.Column)("varchar",{name:"billingInterval",nullable:!0,length:25}),Ba("design:type",String)],Na.prototype,"billingInterval",void 0),Ta([(0,x.Column)("varchar",{name:"deviceName",nullable:!0,length:255}),Ba("design:type",String)],Na.prototype,"deviceName",void 0),Ta([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),Ba("design:type",Date)],Na.prototype,"createdAt",void 0),Ta([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),Ba("design:type",Date)],Na.prototype,"modifiedAt",void 0),Ta([(0,x.Column)("char",{name:"status",nullable:!0,length:1,default:()=>"'A'"}),Ba("design:type",String)],Na.prototype,"status",void 0),Ta([(0,x.Column)("varchar",{name:"trackingReason",nullable:!0,length:500}),Ba("design:type",String)],Na.prototype,"trackingReason",void 0),Ta([(0,x.Column)("varchar",{name:"deviceColor",nullable:!0,length:25}),Ba("design:type",String)],Na.prototype,"deviceColor",void 0),Ta([(0,x.Column)("tinyint",{name:"notificationByEmail",nullable:!0,width:1,transformer:new ee}),Ba("design:type",Boolean)],Na.prototype,"notificationByEmail",void 0),Ta([(0,x.Column)("tinyint",{name:"notificationBySms",nullable:!0,width:1,transformer:new ee}),Ba("design:type",Boolean)],Na.prototype,"notificationBySms",void 0),Ta([(0,x.Column)("tinyint",{name:"planAnnual",nullable:!0,width:1,transformer:new ee}),Ba("design:type",Boolean)],Na.prototype,"planAnnual",void 0),Ta([(0,x.Column)("tinyint",{name:"dataSourceTypeId",nullable:!0}),Ba("design:type",Number)],Na.prototype,"dataSourceTypeId",void 0),Ta([(0,x.Column)("varchar",{name:"subscriptionId",nullable:!0,length:50}),Ba("design:type",String)],Na.prototype,"subscriptionId",void 0),Ta([(0,x.Column)("varchar",{name:"platform",nullable:!0,length:25}),Ba("design:type",String)],Na.prototype,"platform",void 0),Ta([(0,x.Column)("varchar",{name:"eventType",nullable:!0,length:50}),Ba("design:type",String)],Na.prototype,"eventType",void 0),Ta([(0,x.Column)("varchar",{name:"planCode",nullable:!0,length:50}),Ba("design:type",String)],Na.prototype,"planCode",void 0),Ta([(0,x.Column)("varchar",{name:"servicePlan",nullable:!0,length:50}),Ba("design:type",String)],Na.prototype,"servicePlan",void 0),Na=Ta([(0,x.Index)("ixUserActivationDeviceCreatedAt",["createdAt"],{}),(0,x.Index)("ixUserActivationDeviceDeviceId",["deviceId"],{}),(0,x.Index)("ixUserActivationDeviceImei",["imei"],{}),(0,x.Index)("ixUserActivationDeviceActivationId",["userActivationId"],{}),(0,x.Entity)("userActivationDevice",{schema:"nova"})],Na);var Ua=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Oa=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Pa=class{userId;eventId;eventName;eventValue;eventMetadata;createdAt;platform;ip;userAgent};Ua([(0,x.Column)("binary",{primary:!0,name:"userId",length:16}),Oa("design:type",Buffer)],Pa.prototype,"userId",void 0),Ua([(0,x.Column)("binary",{primary:!0,name:"eventId",length:16}),Oa("design:type",Buffer)],Pa.prototype,"eventId",void 0),Ua([(0,x.Column)("text",{name:"eventName"}),Oa("design:type",String)],Pa.prototype,"eventName",void 0),Ua([(0,x.Column)("text",{name:"eventValue",nullable:!0}),Oa("design:type",String)],Pa.prototype,"eventValue",void 0),Ua([(0,x.Column)("text",{name:"eventMetadata",nullable:!0}),Oa("design:type",String)],Pa.prototype,"eventMetadata",void 0),Ua([(0,x.Column)("datetime",{name:"createdAt"}),Oa("design:type",Date)],Pa.prototype,"createdAt",void 0),Ua([(0,x.Column)("varchar",{name:"platform",nullable:!0,length:25}),Oa("design:type",String)],Pa.prototype,"platform",void 0),Ua([(0,x.Column)("text",{name:"ip",nullable:!0}),Oa("design:type",String)],Pa.prototype,"ip",void 0),Ua([(0,x.Column)("text",{name:"userAgent",nullable:!0}),Oa("design:type",String)],Pa.prototype,"userAgent",void 0),Pa=Ua([(0,x.Entity)("userActivationEvent",{schema:"nova"})],Pa);var ka=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ea=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let xa=class{id;userId;firstName;lastName;email;phone;trackingReason;companyName;role;industry;devicesActivatingCategory;assetsCountRange;devicesActivatingCount;plan;usersInvitedCount;meetingScheduled;createdAt;modifiedAt;planAnnual;planId;spyEnvironment;jarvisScore;enrichmentCompanyDescription;jarvisEnrichmentCompanyEin;enrichmentCompanyEmployees;enrichmentCompanyIndustry;enrichmentCompanyLocation;enrichmentCompanyName;enrichmentCompanyRevenue;enrichmentPrivateDomain;enrichmentPublicTicker;enrichmentRole;enrichmentTags;jenrichmentTitle;enrichmentVerifiedEmployment};ka([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),Ea("design:type",Number)],xa.prototype,"id",void 0),ka([(0,x.Column)("binary",{name:"userId",length:16}),Ea("design:type",Buffer)],xa.prototype,"userId",void 0),ka([(0,x.Column)("text",{name:"firstName"}),Ea("design:type",String)],xa.prototype,"firstName",void 0),ka([(0,x.Column)("text",{name:"lastName"}),Ea("design:type",String)],xa.prototype,"lastName",void 0),ka([(0,x.Column)("text",{name:"email"}),Ea("design:type",String)],xa.prototype,"email",void 0),ka([(0,x.Column)("text",{name:"phone",nullable:!0}),Ea("design:type",String)],xa.prototype,"phone",void 0),ka([(0,x.Column)("text",{name:"trackingReason",nullable:!0}),Ea("design:type",String)],xa.prototype,"trackingReason",void 0),ka([(0,x.Column)("text",{name:"companyName",nullable:!0}),Ea("design:type",String)],xa.prototype,"companyName",void 0),ka([(0,x.Column)("text",{name:"role",nullable:!0}),Ea("design:type",String)],xa.prototype,"role",void 0),ka([(0,x.Column)("text",{name:"industry",nullable:!0}),Ea("design:type",String)],xa.prototype,"industry",void 0),ka([(0,x.Column)("text",{name:"devicesActivatingCategory",nullable:!0}),Ea("design:type",String)],xa.prototype,"devicesActivatingCategory",void 0),ka([(0,x.Column)("text",{name:"assetsCountRange",nullable:!0}),Ea("design:type",String)],xa.prototype,"assetsCountRange",void 0),ka([(0,x.Column)("decimal",{name:"devicesActivatingCount",nullable:!0,precision:10,scale:0}),Ea("design:type",Number)],xa.prototype,"devicesActivatingCount",void 0),ka([(0,x.Column)("text",{name:"plan",nullable:!0}),Ea("design:type",String)],xa.prototype,"plan",void 0),ka([(0,x.Column)("decimal",{name:"usersInvitedCount",nullable:!0,precision:10,scale:0}),Ea("design:type",Number)],xa.prototype,"usersInvitedCount",void 0),ka([(0,x.Column)("tinyint",{name:"meetingScheduled",nullable:!0,width:1,transformer:new ee}),Ea("design:type",Boolean)],xa.prototype,"meetingScheduled",void 0),ka([(0,x.Column)("datetime",{name:"createdAt"}),Ea("design:type",Date)],xa.prototype,"createdAt",void 0),ka([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),Ea("design:type",Date)],xa.prototype,"modifiedAt",void 0),ka([(0,x.Column)("text",{name:"planAnnual",nullable:!0}),Ea("design:type",String)],xa.prototype,"planAnnual",void 0),ka([(0,x.Column)("text",{name:"planId",nullable:!0}),Ea("design:type",String)],xa.prototype,"planId",void 0),ka([(0,x.Column)("text",{name:"spyEnvironment",nullable:!0}),Ea("design:type",String)],xa.prototype,"spyEnvironment",void 0),ka([(0,x.Column)("int",{name:"jarvisScore",nullable:!0}),Ea("design:type",Number)],xa.prototype,"jarvisScore",void 0),ka([(0,x.Column)("text",{name:"enrichmentCompanyDescription",nullable:!0}),Ea("design:type",String)],xa.prototype,"enrichmentCompanyDescription",void 0),ka([(0,x.Column)("text",{name:"jarvisEnrichmentCompanyEin",nullable:!0}),Ea("design:type",String)],xa.prototype,"jarvisEnrichmentCompanyEin",void 0),ka([(0,x.Column)("text",{name:"enrichmentCompanyEmployees",nullable:!0}),Ea("design:type",String)],xa.prototype,"enrichmentCompanyEmployees",void 0),ka([(0,x.Column)("text",{name:"enrichmentCompanyIndustry",nullable:!0}),Ea("design:type",String)],xa.prototype,"enrichmentCompanyIndustry",void 0),ka([(0,x.Column)("text",{name:"enrichmentCompanyLocation",nullable:!0}),Ea("design:type",String)],xa.prototype,"enrichmentCompanyLocation",void 0),ka([(0,x.Column)("text",{name:"enrichmentCompanyName",nullable:!0}),Ea("design:type",String)],xa.prototype,"enrichmentCompanyName",void 0),ka([(0,x.Column)("text",{name:"enrichmentCompanyRevenue",nullable:!0}),Ea("design:type",String)],xa.prototype,"enrichmentCompanyRevenue",void 0),ka([(0,x.Column)("text",{name:"enrichmentPrivateDomain",nullable:!0}),Ea("design:type",String)],xa.prototype,"enrichmentPrivateDomain",void 0),ka([(0,x.Column)("text",{name:"enrichmentPublicTicker",nullable:!0}),Ea("design:type",String)],xa.prototype,"enrichmentPublicTicker",void 0),ka([(0,x.Column)("text",{name:"enrichmentRole",nullable:!0}),Ea("design:type",String)],xa.prototype,"enrichmentRole",void 0),ka([(0,x.Column)("text",{name:"enrichmentTags",nullable:!0}),Ea("design:type",String)],xa.prototype,"enrichmentTags",void 0),ka([(0,x.Column)("text",{name:"jenrichmentTitle",nullable:!0}),Ea("design:type",String)],xa.prototype,"jenrichmentTitle",void 0),ka([(0,x.Column)("text",{name:"enrichmentVerifiedEmployment",nullable:!0}),Ea("design:type",String)],xa.prototype,"enrichmentVerifiedEmployment",void 0),xa=ka([(0,x.Index)("ixuUserActivationMetricUserId",["userId"],{unique:!0}),(0,x.Entity)("userActivationMetric",{schema:"nova"})],xa);var ja=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ma=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Fa=class{id;userId;platform;appVersion;feedback;createdAt;amazonReviewDate};ja([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),Ma("design:type",Number)],Fa.prototype,"id",void 0),ja([(0,x.Column)("binary",{name:"userId",length:16}),Ma("design:type",Buffer)],Fa.prototype,"userId",void 0),ja([(0,x.Column)("varchar",{name:"platform",length:25}),Ma("design:type",String)],Fa.prototype,"platform",void 0),ja([(0,x.Column)("varchar",{name:"appVersion",length:20}),Ma("design:type",String)],Fa.prototype,"appVersion",void 0),ja([(0,x.Column)("varchar",{name:"feedback",nullable:!0,length:2e3}),Ma("design:type",String)],Fa.prototype,"feedback",void 0),ja([(0,x.Column)("datetime",{name:"createdAt",default:()=>"CURRENT_TIMESTAMP"}),Ma("design:type",Date)],Fa.prototype,"createdAt",void 0),ja([(0,x.Column)("datetime",{name:"amazonReviewDate",nullable:!0}),Ma("design:type",Date)],Fa.prototype,"amazonReviewDate",void 0),Fa=ja([(0,x.Index)("ixUserAppFeedbackUserId",["userId"],{}),(0,x.Entity)("userAppFeedback",{schema:"nova"})],Fa);var La=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Qa=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let qa=class{id;userId;userName;userEmail;deviceOs;deviceManufacturer;deviceModel;stage;appVersion;createdAt;errorMessage;errorFirstReceivedAt;errorReceivedAt;deviceJailbroken;deviceOsVersion;deviceFreeMemory;deviceTotalMemory;deviceCharging;deviceBatteryLevel;deviceNetworkAccess;appActiveScreen;appInForeground;appDurationInForeground;appBundleId;incidentUrl;errorId};La([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),Qa("design:type",Number)],qa.prototype,"id",void 0),La([(0,x.Column)("binary",{name:"userId",length:16}),Qa("design:type",Buffer)],qa.prototype,"userId",void 0),La([(0,x.Column)("varchar",{name:"userName",nullable:!0,length:50}),Qa("design:type",String)],qa.prototype,"userName",void 0),La([(0,x.Column)("varchar",{name:"userEmail",nullable:!0,length:255}),Qa("design:type",String)],qa.prototype,"userEmail",void 0),La([(0,x.Column)("varchar",{name:"deviceOs",length:15}),Qa("design:type",String)],qa.prototype,"deviceOs",void 0),La([(0,x.Column)("varchar",{name:"deviceManufacturer",nullable:!0,length:100}),Qa("design:type",String)],qa.prototype,"deviceManufacturer",void 0),La([(0,x.Column)("varchar",{name:"deviceModel",nullable:!0,length:100}),Qa("design:type",String)],qa.prototype,"deviceModel",void 0),La([(0,x.Column)("varchar",{name:"stage",length:25}),Qa("design:type",String)],qa.prototype,"stage",void 0),La([(0,x.Column)("varchar",{name:"appVersion",length:25}),Qa("design:type",String)],qa.prototype,"appVersion",void 0),La([(0,x.Column)("datetime",{name:"createdAt"}),Qa("design:type",Date)],qa.prototype,"createdAt",void 0),La([(0,x.Column)("text",{name:"errorMessage",nullable:!0}),Qa("design:type",String)],qa.prototype,"errorMessage",void 0),La([(0,x.Column)("datetime",{name:"errorFirstReceivedAt",nullable:!0}),Qa("design:type",Date)],qa.prototype,"errorFirstReceivedAt",void 0),La([(0,x.Column)("datetime",{name:"errorReceivedAt",nullable:!0}),Qa("design:type",Date)],qa.prototype,"errorReceivedAt",void 0),La([(0,x.Column)("tinyint",{name:"deviceJailbroken",nullable:!0,width:1,transformer:new ee}),Qa("design:type",Boolean)],qa.prototype,"deviceJailbroken",void 0),La([(0,x.Column)("varchar",{name:"deviceOsVersion",nullable:!0,length:20}),Qa("design:type",String)],qa.prototype,"deviceOsVersion",void 0),La([(0,x.Column)("int",{name:"deviceFreeMemory",nullable:!0}),Qa("design:type",Number)],qa.prototype,"deviceFreeMemory",void 0),La([(0,x.Column)("int",{name:"deviceTotalMemory",nullable:!0}),Qa("design:type",Number)],qa.prototype,"deviceTotalMemory",void 0),La([(0,x.Column)("tinyint",{name:"deviceCharging",nullable:!0,width:1,transformer:new ee}),Qa("design:type",Boolean)],qa.prototype,"deviceCharging",void 0),La([(0,x.Column)("smallint",{name:"deviceBatteryLevel",nullable:!0}),Qa("design:type",Number)],qa.prototype,"deviceBatteryLevel",void 0),La([(0,x.Column)("varchar",{name:"deviceNetworkAccess",nullable:!0,length:100}),Qa("design:type",String)],qa.prototype,"deviceNetworkAccess",void 0),La([(0,x.Column)("varchar",{name:"appActiveScreen",nullable:!0,length:50}),Qa("design:type",String)],qa.prototype,"appActiveScreen",void 0),La([(0,x.Column)("tinyint",{name:"appInForeground",nullable:!0,width:1,transformer:new ee}),Qa("design:type",Boolean)],qa.prototype,"appInForeground",void 0),La([(0,x.Column)("int",{name:"appDurationInForeground",nullable:!0}),Qa("design:type",Number)],qa.prototype,"appDurationInForeground",void 0),La([(0,x.Column)("varchar",{name:"appBundleId",nullable:!0,length:500}),Qa("design:type",String)],qa.prototype,"appBundleId",void 0),La([(0,x.Column)("varchar",{name:"incidentUrl",nullable:!0,length:1e3}),Qa("design:type",String)],qa.prototype,"incidentUrl",void 0),La([(0,x.Column)("varchar",{name:"errorId",nullable:!0,length:100}),Qa("design:type",String)],qa.prototype,"errorId",void 0),qa=La([(0,x.Index)("ixUserAppIncidentCreatedAt",["createdAt"],{}),(0,x.Index)("ixUserAppIncidentErrorId",["errorId"],{}),(0,x.Index)("ixUserAppIncidentUserId",["userId"],{}),(0,x.Index)("ixuUserAppIncidentUserIdErrorId",["userId","errorId"],{unique:!0}),(0,x.Entity)("userAppIncident",{schema:"nova"})],qa);var Wa=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Va=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ga=class{id;userId;clientId;userSecurityRoleName;email;status;createdAt;modifiedAt};Wa([(0,x.PrimaryGeneratedColumn)({type:"smallint",name:"id"}),Va("design:type",Number)],Ga.prototype,"id",void 0),Wa([(0,x.Column)("binary",{name:"userId",length:16}),Va("design:type",Buffer)],Ga.prototype,"userId",void 0),Wa([(0,x.Column)("int",{name:"clientId"}),Va("design:type",Number)],Ga.prototype,"clientId",void 0),Wa([(0,x.Column)("varchar",{name:"userSecurityRoleName",length:50}),Va("design:type",String)],Ga.prototype,"userSecurityRoleName",void 0),Wa([(0,x.Column)("varchar",{name:"email",length:255}),Va("design:type",String)],Ga.prototype,"email",void 0),Wa([(0,x.Column)("varchar",{name:"status",nullable:!0,length:25}),Va("design:type",String)],Ga.prototype,"status",void 0),Wa([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),Va("design:type",Date)],Ga.prototype,"createdAt",void 0),Wa([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),Va("design:type",Date)],Ga.prototype,"modifiedAt",void 0),Ga=Wa([(0,x.Entity)("userDataDeletionRequest",{schema:"nova"})],Ga);var Ja=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ha=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ka=class{id;deviceBehaviorId;clientId;userId;imei;behaviorName;behaviorParams;status;createdAt;modifiedAt;extraParams;commandTaskId};Ja([(0,x.Column)("binary",{primary:!0,name:"id",length:16}),Ha("design:type",Buffer)],Ka.prototype,"id",void 0),Ja([(0,x.Column)("smallint",{name:"deviceBehaviorId"}),Ha("design:type",Number)],Ka.prototype,"deviceBehaviorId",void 0),Ja([(0,x.Column)("int",{name:"clientId"}),Ha("design:type",Number)],Ka.prototype,"clientId",void 0),Ja([(0,x.Column)("binary",{name:"userId",length:16}),Ha("design:type",Buffer)],Ka.prototype,"userId",void 0),Ja([(0,x.Column)("varchar",{name:"imei",length:15}),Ha("design:type",String)],Ka.prototype,"imei",void 0),Ja([(0,x.Column)("varchar",{name:"behaviorName",length:50}),Ha("design:type",String)],Ka.prototype,"behaviorName",void 0),Ja([(0,x.Column)("json",{name:"behaviorParams",nullable:!0}),Ha("design:type",Object)],Ka.prototype,"behaviorParams",void 0),Ja([(0,x.Column)("varchar",{name:"status",length:10}),Ha("design:type",String)],Ka.prototype,"status",void 0),Ja([(0,x.Column)("datetime",{name:"createdAt"}),Ha("design:type",Date)],Ka.prototype,"createdAt",void 0),Ja([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),Ha("design:type",Date)],Ka.prototype,"modifiedAt",void 0),Ja([(0,x.Column)("json",{name:"extraParams",nullable:!0}),Ha("design:type",Object)],Ka.prototype,"extraParams",void 0),Ja([(0,x.Column)("binary",{name:"commandTaskId",length:16,nullable:!0}),Ha("design:type",Buffer)],Ka.prototype,"commandTaskId",void 0),Ka=Ja([(0,x.Index)("ixUserDeviceBehaviorTaskImei",["imei"],{}),(0,x.Index)("ixUserDeviceBehaviorTaskClientId",["clientId"],{}),(0,x.Index)("ixUserDeviceBehaviorTaskDeviceBehaviorId",["deviceBehaviorId"],{}),(0,x.Index)("ixUserDeviceBehaviorTaskModifiedAt",["modifiedAt"],{}),(0,x.Entity)("userDeviceBehaviorTask",{schema:"nova"})],Ka);var za=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},_a=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let $a=class{id;inviterClientId;inviterUserId;inviteeEmail;inviteeSecurityRoleId;statusId;createdAt;modifiedAt;inviteeUserId;trackerImeis;trackerAccess;minAccessDate;boundaries;boundaryAccess};za([(0,x.Column)("binary",{primary:!0,name:"id",length:16}),_a("design:type",Buffer)],$a.prototype,"id",void 0),za([(0,x.Column)("int",{name:"inviterClientId"}),_a("design:type",Number)],$a.prototype,"inviterClientId",void 0),za([(0,x.Column)("binary",{name:"inviterUserId",length:16}),_a("design:type",Buffer)],$a.prototype,"inviterUserId",void 0),za([(0,x.Column)("varchar",{name:"inviteeEmail",length:255}),_a("design:type",String)],$a.prototype,"inviteeEmail",void 0),za([(0,x.Column)("tinyint",{name:"inviteeSecurityRoleId"}),_a("design:type",Number)],$a.prototype,"inviteeSecurityRoleId",void 0),za([(0,x.Column)("tinyint",{name:"statusId"}),_a("design:type",Number)],$a.prototype,"statusId",void 0),za([(0,x.Column)("datetime",{name:"createdAt"}),_a("design:type",Date)],$a.prototype,"createdAt",void 0),za([(0,x.Column)("datetime",{name:"modifiedAt"}),_a("design:type",Date)],$a.prototype,"modifiedAt",void 0),za([(0,x.Column)("binary",{name:"inviteeUserId",nullable:!0,length:16}),_a("design:type",Buffer)],$a.prototype,"inviteeUserId",void 0),za([(0,x.Column)("mediumtext",{name:"trackerImeis",nullable:!0}),_a("design:type",String)],$a.prototype,"trackerImeis",void 0),za([(0,x.Column)("text",{name:"trackerAccess",nullable:!0}),_a("design:type",String)],$a.prototype,"trackerAccess",void 0),za([(0,x.Column)("datetime",{name:"minAccessDate",nullable:!0}),_a("design:type",Date)],$a.prototype,"minAccessDate",void 0),za([(0,x.Column)("text",{name:"boundaries",nullable:!0}),_a("design:type",String)],$a.prototype,"boundaries",void 0),za([(0,x.Column)("text",{name:"boundaryAccess",nullable:!0}),_a("design:type",String)],$a.prototype,"boundaryAccess",void 0),$a=za([(0,x.Index)("ixUserInvtationInviteeEmail",["inviteeEmail"],{}),(0,x.Index)("ixUserInvtationInviterClientId",["inviterClientId"],{}),(0,x.Index)("ixUserInvtationInviteeSecurityRoleId",["inviteeSecurityRoleId"],{}),(0,x.Entity)("userInvitation",{schema:"nova"})],$a);var Za=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Xa=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ya=class{id;userId;clientId;deviceManufacturer;deviceOs;deviceOsVersion;appVersion;requestDate;amazonRequestDate;deviceIdentifierKey};Za([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),Xa("design:type",Number)],Ya.prototype,"id",void 0),Za([(0,x.Column)("binary",{name:"userId",length:16}),Xa("design:type",Buffer)],Ya.prototype,"userId",void 0),Za([(0,x.Column)("int",{name:"clientId"}),Xa("design:type",Number)],Ya.prototype,"clientId",void 0),Za([(0,x.Column)("varchar",{name:"deviceManufacturer",length:500}),Xa("design:type",String)],Ya.prototype,"deviceManufacturer",void 0),Za([(0,x.Column)("varchar",{name:"deviceOs",length:50}),Xa("design:type",String)],Ya.prototype,"deviceOs",void 0),Za([(0,x.Column)("varchar",{name:"deviceOsVersion",length:20}),Xa("design:type",String)],Ya.prototype,"deviceOsVersion",void 0),Za([(0,x.Column)("varchar",{name:"appVersion",length:10}),Xa("design:type",String)],Ya.prototype,"appVersion",void 0),Za([(0,x.Column)("datetime",{name:"requestDate",nullable:!0}),Xa("design:type",Date)],Ya.prototype,"requestDate",void 0),Za([(0,x.Column)("datetime",{name:"amazonRequestDate",nullable:!0}),Xa("design:type",Date)],Ya.prototype,"amazonRequestDate",void 0),Za([(0,x.Column)("varchar",{name:"deviceIdentifierKey",nullable:!0,length:255}),Xa("design:type",String)],Ya.prototype,"deviceIdentifierKey",void 0),Ya=Za([(0,x.Index)("ixUserRatingRequestAmazonRequestDate",["amazonRequestDate"],{}),(0,x.Index)("ixUserRatingRequestClientId",["clientId"],{}),(0,x.Index)("ixUserRatingRequestUserId",["userId"],{}),(0,x.Index)("ixUserRatingRequestRequestDate",["requestDate"],{}),(0,x.Index)("ixUserRatingRequestUserId_RequestDate",["userId","requestDate"],{}),(0,x.Entity)("userRatingRequest",{schema:"nova"})],Ya);var en=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},tn=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let rn=class{id;firstName;lastName;email;phoneNumber;phoneCode;phoneCodeCountryId;companyName;street;state;postalCode;country;pin;imei;deviceType;deviceName;orderId;trackingReason;userName;plan;billingFrequency;planId;subscriptionSource;subscriptionId;platform;status;createdAt;lastUpdatedAt;city;clientId;countryCode;tempUserId};en([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),tn("design:type",Number)],rn.prototype,"id",void 0),en([(0,x.Column)("varchar",{name:"firstName",nullable:!0,length:100}),tn("design:type",String)],rn.prototype,"firstName",void 0),en([(0,x.Column)("varchar",{name:"lastName",nullable:!0,length:100}),tn("design:type",String)],rn.prototype,"lastName",void 0),en([(0,x.Column)("varchar",{name:"email",nullable:!0,length:255}),tn("design:type",String)],rn.prototype,"email",void 0),en([(0,x.Column)("varchar",{name:"phoneNumber",nullable:!0,length:20}),tn("design:type",String)],rn.prototype,"phoneNumber",void 0),en([(0,x.Column)("varchar",{name:"phoneCode",nullable:!0,length:10}),tn("design:type",String)],rn.prototype,"phoneCode",void 0),en([(0,x.Column)("varchar",{name:"phoneCodeCountryId",nullable:!0,length:10}),tn("design:type",String)],rn.prototype,"phoneCodeCountryId",void 0),en([(0,x.Column)("varchar",{name:"companyName",nullable:!0,length:255}),tn("design:type",String)],rn.prototype,"companyName",void 0),en([(0,x.Column)("varchar",{name:"street",nullable:!0,length:255}),tn("design:type",String)],rn.prototype,"street",void 0),en([(0,x.Column)("varchar",{name:"state",nullable:!0,length:100}),tn("design:type",String)],rn.prototype,"state",void 0),en([(0,x.Column)("varchar",{name:"postalCode",nullable:!0,length:20}),tn("design:type",String)],rn.prototype,"postalCode",void 0),en([(0,x.Column)("varchar",{name:"country",nullable:!0,length:100}),tn("design:type",String)],rn.prototype,"country",void 0),en([(0,x.Column)("int",{name:"pin",nullable:!0}),tn("design:type",Number)],rn.prototype,"pin",void 0),en([(0,x.Column)("varchar",{name:"imei",nullable:!0,length:15}),tn("design:type",String)],rn.prototype,"imei",void 0),en([(0,x.Column)("varchar",{name:"deviceType",nullable:!0,length:50}),tn("design:type",String)],rn.prototype,"deviceType",void 0),en([(0,x.Column)("varchar",{name:"deviceName",nullable:!0,length:255}),tn("design:type",String)],rn.prototype,"deviceName",void 0),en([(0,x.Column)("varchar",{name:"orderId",nullable:!0,length:255}),tn("design:type",String)],rn.prototype,"orderId",void 0),en([(0,x.Column)("varchar",{name:"trackingReason",nullable:!0,length:255}),tn("design:type",String)],rn.prototype,"trackingReason",void 0),en([(0,x.Column)("varchar",{name:"userName",nullable:!0,length:50}),tn("design:type",String)],rn.prototype,"userName",void 0),en([(0,x.Column)("varchar",{name:"plan",nullable:!0,length:50}),tn("design:type",String)],rn.prototype,"plan",void 0),en([(0,x.Column)("varchar",{name:"billingFrequency",nullable:!0,length:50}),tn("design:type",String)],rn.prototype,"billingFrequency",void 0),en([(0,x.Column)("varchar",{name:"planId",nullable:!0,length:50}),tn("design:type",String)],rn.prototype,"planId",void 0),en([(0,x.Column)("varchar",{name:"subscriptionSource",nullable:!0,length:50}),tn("design:type",String)],rn.prototype,"subscriptionSource",void 0),en([(0,x.Column)("varchar",{name:"subscriptionId",nullable:!0,length:50}),tn("design:type",String)],rn.prototype,"subscriptionId",void 0),en([(0,x.Column)("varchar",{name:"platform",nullable:!0,length:25}),tn("design:type",String)],rn.prototype,"platform",void 0),en([(0,x.Column)("varchar",{name:"status",nullable:!0,length:10}),tn("design:type",String)],rn.prototype,"status",void 0),en([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),tn("design:type",Date)],rn.prototype,"createdAt",void 0),en([(0,x.Column)("datetime",{name:"lastUpdatedAt",nullable:!0}),tn("design:type",Date)],rn.prototype,"lastUpdatedAt",void 0),en([(0,x.Column)("varchar",{name:"city",nullable:!0,length:255}),tn("design:type",String)],rn.prototype,"city",void 0),en([(0,x.Column)("int",{name:"clientId",nullable:!0}),tn("design:type",Number)],rn.prototype,"clientId",void 0),en([(0,x.Column)("varchar",{name:"countryCode",nullable:!0,length:3}),tn("design:type",String)],rn.prototype,"countryCode",void 0),en([(0,x.Column)("binary",{name:"tempUserId",nullable:!0,length:16}),tn("design:type",Buffer)],rn.prototype,"tempUserId",void 0),rn=en([(0,x.Index)("ixUserRegistrationAttemptTempUserId",["tempUserId"],{}),(0,x.Entity)("userRegistrationAttempt",{schema:"nova"})],rn);var an=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},nn=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let on=class{clientId;userId;securityRoleId};an([(0,x.Column)("int",{name:"clientId"}),nn("design:type",Number)],on.prototype,"clientId",void 0),an([(0,x.Column)("binary",{primary:!0,name:"userId",length:16}),nn("design:type",Buffer)],on.prototype,"userId",void 0),an([(0,x.Column)("tinyint",{primary:!0,name:"securityRoleId"}),nn("design:type",Number)],on.prototype,"securityRoleId",void 0),on=an([(0,x.Index)("ixUserSecurityRoleClientId",["clientId"],{}),(0,x.Index)("ixUserSecurityRoleSecurityRoleId",["securityRoleId"],{}),(0,x.Entity)("userSecurityRole",{schema:"nova"})],on);const sn=["Device","Billing"];let ln=class{afterRemove(e){const t=e.metadata.name,i=`ENTITY OF TYPE ${t} REMOVED`;sn.includes(t)&&console.error(i,{entityId:e.entityId,entity:e.entity,databaseEntity:e.databaseEntity})}};ln=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o}([(0,x.EventSubscriber)()],ln);const dn=["commit","start transaction","select version()"];class cn{logger;logging;constructor(e,t){this.logger=e,this.logging=null!=t&&t}logQuery(e,t,i){try{if(!this.logging||this.logging instanceof Array&&!this.logging.includes("query"))return;const i=e.toLowerCase();for(const e of dn)if(i.includes(e))return;this.logger?.trace({query:e,parameters:t},"SQL QUERY")}catch{}}logQueryError(e,t,i,r){}logQuerySlow(e,t,i,r){this.logger?.warn({query:t,parameters:i,time:e},"SQL QUERY SLOW")}logSchemaBuild(e,t){this.logger?.trace({message:e},"SQL SCHEMA BUILD")}logMigration(e,t){this.logger?.trace({message:e},"SQL MIGRATION: ")}log(e,t,i){"warn"===e?this.logger?.warn({message:t},"SQL LOG:"):"info"===e?this.logger?.info({message:t},"SQL LOG:"):this.logger?.trace({message:t},"SQL LOG:")}}class un{dataSource;logger;constructor(e,t){this.logger=t;const a=[];for(const e in i)if(i.hasOwnProperty(e)){const t=i[e];a.push(t)}const n=[];for(const e in r)if(r.hasOwnProperty(e)){const t=r[e];n.push(t)}this.dataSource=new x.DataSource({type:"mysql",host:"aws.connect.psdb.cloud",port:3306,database:"nova",ssl:{rejectUnauthorized:!0},synchronize:!1,logging:!0,logger:new cn(this.logger,e.logging),entities:a,subscribers:n,supportBigNumbers:!0,bigNumberStrings:!1,extra:{decimalNumbers:!0},...e})}async connect(){await this.dataSource.initialize()}async disconnect(){try{this.dataSource.isInitialized&&await this.dataSource.destroy()}catch(e){this.logger.error({error:e},"Failed to close connection to database")}}getRepository(e){return this.dataSource.getRepository(e)}async query(e,t){return this.dataSource.query(e,t,null)}async createQueryBuilder(e,t){return this.dataSource.createQueryBuilder(e,t,null)}createQueryRunner(e){return this.dataSource.createQueryRunner(e)}async safeQuery(e,t){try{return await this.connect(),await e(this)}catch(e){throw this.logger.error({error:e},t?t+" ":"Error while executing query"),e}finally{await this.disconnect()}}}var pn;!function(e){e.FATAL="fatal",e.ERROR="error",e.WARN="warn",e.INFO="info",e.DEBUG="debug",e.TRACE="trace"}(pn||(pn={}));class mn{fatal=(e,t,...i)=>{this.log(pn.FATAL,e,t,...i)};error=(e,t,...i)=>{this.log(pn.FATAL,e,t,...i)};warn=(e,t,...i)=>{this.log(pn.WARN,e,t,...i)};info=(e,t,...i)=>{this.log(pn.INFO,e,t,...i)};debug=(e,t,...i)=>{this.log(pn.DEBUG,e,t,...i)};trace=(e,t,...i)=>{this.log(pn.TRACE,e,t,...i)};log=(e,t,i,...r)=>{switch(e){case pn.FATAL:case pn.ERROR:"string"==typeof t?console.error(t,...r):console.error(i,t,...r);break;default:"string"==typeof t?console.log(t,...r):console.log(i,t,...r)}}}class yn{novaDataSourceConfig;logger;constructor(e,t){this.novaDataSourceConfig=e,this.logger=t??new mn}}class gn extends yn{async getAcumaticaImeiIccidData(e){this.logger.trace(e,"AcumaticaRepository::getAcumaticaImeiIccidData started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t.filters.imei||null!=t.filters.excludeNullAsin||null!=t.filters.excludeNullCountyCode||t.filters.excludeCountries?.length?e.safeQuery((async e=>{const i=e.getRepository(q).createQueryBuilder("acumaticaImeiIccidData");return t.filters.imei&&i.where("acumaticaImeiIccidData.imei = :imei",{imei:t.filters.imei}),t.filters.excludeNullAsin&&i.andWhere("acumaticaImeiIccidData.asin IS NOT NULL"),t.filters.excludeNullCountyCode&&i.andWhere("acumaticaImeiIccidData.countryCode IS NOT NULL"),t.filters.excludeCountries?.length&&i.andWhere("acumaticaImeiIccidData.countryCode NOT IN (:...excludeCountries)",{excludeCountries:t.filters.excludeCountries}),t.sortOptions?.sortField&&i.orderBy(`acumaticaImeiIccidData.${t.sortOptions.sortField}`,"ASC"===t.sortOptions.sortOrder?"ASC":"DESC"),await i.getMany()}),"AcumaticaRepository::getAcumaticaImeiIccidData"):(i.warn({params:t},"AcumaticaRepository::getAcumaticaImeiIccidData - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"AcumaticaRepository::getAcumaticaImeiIccidData result"),i}async getLastAcumaticaShipmentDetails(e){this.logger.trace(e,"AcumaticaRepository::getLastAcumaticaShipmentDetails started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t.filters.clientId?e.safeQuery((async e=>{const i=e.getRepository(q).createQueryBuilder("acumaticaImeiIccidData").innerJoin(xe,"device","device.imei = acumaticaImeiIccidData.imei").where("device.clientId = :clientId",{clientId:t.filters.clientId}).orderBy("acumaticaImeiIccidData.shipDate","DESC").limit(1),r=await i.getOne();return r?{imei:r.imei,iccid:r.iccid,shipmentDate:new Date(r.shipDate),orderType:"AZ",reviewUrl:null,productUrl:null}:null}),"AcumaticaRepository::getLastAcumaticaShipmentDetails"):(i.warn({params:t},"AcumaticaRepository::getLastAcumaticaShipmentDetails - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"AcumaticaRepository::getLastAcumaticaShipmentDetails result"),i}async getAcumaticaShipmentDetails(e){this.logger.trace(e,"AcumaticaRepository::getAcumaticaShipmentDetails started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t.filters.imeiList?.length?e.safeQuery((async e=>{const i=e.getRepository(G),r=i.createQueryBuilder("acumaticaOrderShipmentDetails").where("acumaticaOrderShipmentDetails.imei IN (:imeiList)",{imeiList:t.filters.imeiList}).select(["acumaticaOrderShipmentDetails.imei as imei","acumaticaOrderShipmentDetails.iccid as iccid","acumaticaOrderShipmentDetails.orderType as orderType","acumaticaOrderShipmentDetails.shipmentDate as shipmentDate","NULL as reviewUrl","NULL as productUrl"]).getQueryAndParameters(),a=e.getRepository(q).createQueryBuilder("acumaticaImeiIccidData").leftJoin(F,"acumaticaAmazonProduct","acumaticaAmazonProduct.asin = acumaticaImeiIccidData.asin").where("acumaticaImeiIccidData.imei IN (:imeiList)",{imeiList:t.filters.imeiList}).select(["acumaticaImeiIccidData.imei as imei","acumaticaImeiIccidData.iccid as iccid","'AZ' as orderType","acumaticaImeiIccidData.shipDate as shipmentDate","acumaticaAmazonProduct.reviewUrl as reviewUrl","acumaticaAmazonProduct.productUrl as productUrl"]).getQueryAndParameters(),n=[...r[1],...a[1]];return(await i.query(`(${r[0]}) UNION (${a[0]})`,n)).map((e=>({imei:e.imei,iccid:e.iccid,shipmentDate:e.shipmentDate instanceof Date?e.shipmentDate:new Date(e.shipmentDate),orderType:e.orderType,reviewUrl:e.reviewUrl,productUrl:e.productUrl})))}),"AcumaticaRepository::getAcumaticaShipmentDetails"):(i.warn({params:t},"AcumaticaRepository::getAcumaticaShipmentDetails - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"AcumaticaRepository::getAcumaticaShipmentDetails result"),i}}const vn=e=>{if(!e)return null;if(!/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(e))return null;try{return Buffer.from(e.replace(/-/g,""),"hex")}catch(e){return null}},fn=e=>{if(!e)return null;const t=e.toString("hex"),i=/^(\w{8})(\w{4})(\w{4})(\w{4})(\w{12})$/.exec(t);return i?`${i[1]}-${i[2]}-${i[3]}-${i[4]}-${i[5]}`:null};class hn extends yn{async getAempTokens(e){this.logger.trace(e,"AempTokenRepository::getAempTokens started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.clientId&&!t?.filters?.token)return i.warn({params:t},"AempTokenRepository::getAempTokens - missing required parameters"),[];const r=vn(t?.filters?.token);return t?.filters?.token&&!r?.length?(i.warn({params:t},"AempTokenRepository::getClientIdForToken - token should be a valid UUID"),null):e.safeQuery((async e=>{let i=e.getRepository(Y).createQueryBuilder("AempToken");return t?.filters?.clientId&&(i=i.where("AempToken.clientId = :clientId",{clientId:t?.filters?.clientId})),t?.filters?.token&&(i=i.where("AempToken.token = :token",{token:r})),await i.getMany()}),"AempTokenRepository::getAempTokens")})(t,e,this.logger);return this.logger.trace(i,"AempTokenRepository::getAempTokens result"),i}async createAempToken(e){this.logger.trace(e,"AempTokenRepository::createAempToken started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.clientId||!t?.token)return i.warn({params:t},"AempTokenRepository::createAempToken - missing required parameters"),null;const r=vn(t?.token);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(Y),a=new Date,n={id:t?.id,clientId:t?.clientId,token:r,createdAt:a,updatedAt:a,expiresAt:t?.expiresAt};return await i.save(n)}),"AempTokenRepository::createAempToken"):(i.warn({params:t},"AempTokenRepository::createAempToken - token should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"AempTokenRepository::createAempToken result"),i}async deleteAempTokens(e){this.logger.trace(e,"AempTokenRepository::deleteAempTokens started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.id&&!t?.filters?.clientId&&!t?.filters?.token)return i.warn({params:t},"AempTokenRepository::deleteAempTokens - missing required parameters"),null;const r=vn(t?.filters?.token);return t?.filters?.token&&!r?.length?(i.warn({params:t},"AempTokenRepository::deleteAempTokens - token should be a valid UUID"),null):e.safeQuery((async e=>{let i=e.getRepository(Y).createQueryBuilder().delete();return t.filters.id&&(i=i.where("id = :id",{id:t.filters.id})),t.filters.clientId&&(i=i.where("clientId = :clientId",{clientId:t.filters.clientId})),t.filters.token&&(i=i.where("token = :token",{token:r})),(await i.execute()).affected>0}),"AempTokenRepository::deleteAempTokens")})(t,e,this.logger);return this.logger.trace({result:i},"AempTokenRepository::deleteAempTokens result"),i}}class In extends yn{async createAlert(e){this.logger.trace(e,"AlertRepository::createAlert started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.clientId&&0!==t.clientId&&t?.alertTypeId&&0!==t.alertTypeId&&t?.messageId&&t?.imei&&t?.sendTime))return null;try{await e.connect();const i=e.getRepository(oe),r=new Date,a={id:t.id,alertTypeId:t.alertTypeId,value:t.value,userId:vn(t.userId),messageId:vn(t.messageId),imei:t.imei,sendTime:t.sendTime,lat:t.lat,lon:t.lon,address:t.address,clientId:t.clientId,isBuffer:t.isBuffer,isNotification:t.isNotification,gpsUtcTime:t.gpsUtcTime,relevantAddress:t.relevantAddress,gpsMessageId:vn(t.gpsMessageId),cellTowerRelevantAddress:t.cellTowerRelevantAddress,createdAt:t.createdAt??r};return await i.save(a)}catch(e){throw i.error(e,"AlertRepository::createAlert error"),e}finally{await e.disconnect()}})(t,e,this.logger);return this.logger.trace(i,"AlertRepository::createAlert result"),i}async createAlerts(e){this.logger.trace(e,"AlertRepository::createAlerts started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{try{await e.connect();const i=e.getRepository(oe),r=[];return t.forEach((e=>{if(!(e?.clientId&&0!==e.clientId&&e?.alertTypeId&&0!==e.alertTypeId&&e?.messageId&&e?.imei&&e?.sendTime))return null;const t=new Date,i={id:e.id,alertTypeId:e.alertTypeId,value:e.value,userId:vn(e.userId),messageId:vn(e.messageId),imei:e.imei,sendTime:e.sendTime,lat:e.lat,lon:e.lon,address:e.address,clientId:e.clientId,isBuffer:e.isBuffer,isNotification:e.isNotification,gpsUtcTime:e.gpsUtcTime,relevantAddress:e.relevantAddress,gpsMessageId:vn(e.gpsMessageId),cellTowerRelevantAddress:e.cellTowerRelevantAddress,createdAt:e.createdAt??t};r.push(i)})),await i.save(r)}catch(e){throw i.error(e,"AlertRepository::createAlert error"),e}finally{await e.disconnect()}})(t,e,this.logger);return this.logger.trace(i,"AlertRepository::createAlerts result"),i}async getAlertsReportByUser(e){this.logger.trace(e,"AlertRepository::getAlertsReportByUserId started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.userId)return i.warn({params:t},"AlertRepository::getAlertsReportByUser - missing required parameters"),[];const r=vn(t?.filters?.userId);if(!r?.length)return i.warn({params:t},"AlertRepository::getAlertsReportByUser - user id should be a valid UUID"),[];try{await e.connect();const i=e.getRepository(oe).createQueryBuilder("a").innerJoin("a.alertType","aty").where("a.userId = :userId",{userId:vn(t.filters.userId)});t.filters.isTestEnvironment?i.andWhere("( aty.stage = :stage_test or aty.stage = :stage )",{stage:"prod",stage_test:"test"}):i.andWhere("aty.stage = :stage",{stage:"prod"}),t.filters.imeis?.length&&i.andWhere("a.imei IN (:...imeis)",{imeis:t.filters.imeis}),t.filters.clientId&&i.andWhere("a.clientId = :clientId",{clientId:t.filters.clientId});let r=t.filters.alertTypeIds;if(!r?.length&&t.filters.alertTypeNames?.length){const i=e.getRepository(re),a=await i.createQueryBuilder("aty").where("LOWER(aty.name) IN (:...alertTypeNames)",{alertTypeNames:t.filters.alertTypeNames.map((e=>e.toLowerCase()))}).select("aty.id").getMany();a?.length&&(r=a.map((e=>e.id)))}r?.length&&i.andWhere("a.alertTypeId IN (:alertTypeIds)",{alertTypeIds:r}),t.filters.boundaryId&&i.andWhere("a.boundaryId = :boundaryId",{boundaryId:t.filters.boundaryId}),t.filters.sendTimeFrom&&i.andWhere("a.sendTime >= :sendTimeFrom",{sendTimeFrom:t.filters.sendTimeFrom}),t.filters.sendTimeTo&&i.andWhere("a.sendTime <= :sendTimeTo",{sendTimeTo:t.filters.sendTimeTo}),t.filters.createdFrom&&i.andWhere("a.createdAt >= :createdFrom",{createdFrom:t.filters.createdFrom}),t.filters.createdTo&&i.andWhere("a.createdAt <= :createdTo",{createdTo:t.filters.createdTo});const a=i.clone().select("COUNT(a.id)","totalCount");return t.filters.imeis?.length?(i.useIndex("ixAlertUserId_Imei_AlertTypeId_SendTime"),a.useIndex("ixAlertUserId_Imei_AlertTypeId_SendTime")):r?.length&&(i.useIndex("ixAlertUserId_AlertTypeId_SendTime"),a.useIndex("ixAlertUserId_AlertTypeId_SendTime")),i.innerJoin(`(${a.getQuery()})`,"sub"),t.sortOptions?.sortField&&i.orderBy(t.sortOptions.sortField,t.sortOptions.sortOrder),await i.select(["a.id as id","a.alertTypeId as alertTypeId","aty.name as alertTypeName","a.value as value","a.createdAt as createdAt","a.userId as userId","a.clientId as clientId","a.messageId as messageId","a.boundaryId as boundaryId","a.imei as imei","a.sendTime as sendTime","a.lat as lat","a.lon as lon","a.address as address","a.isBuffer as isBuffer","a.isNotification as isNotification","a.gpsMessageId as gpsMessageId","a.gpsUTCTime as gpsUTCTime","aty.stage as stage","sub.totalCount as totalCount"]).limit(t.pagingOptions.pageSize).offset(t.pagingOptions.pageSize*t.pagingOptions.pageIndex).getRawMany()}catch(e){throw i.error(e,"AlertRepository::getAlertsReportByUserId error"),e}finally{await e.disconnect()}})(t,e,this.logger);return this.logger.trace(i,"AlertRepository::getAlertsReportByUserId result"),i}async createUserAlertComplain(e){this.logger.trace(e,"AlertRepository::createUserAlertComplain started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t)=>t?.clientId&&0!==t.clientId&&t?.alertTypeId&&0!==t.alertTypeId&&t?.userId&&t?.email&&t?.reason?e.safeQuery((async e=>{const i=e.getRepository(Ke),r=new Date,a={alertTypeId:t.alertTypeId,userId:vn(t.userId),clientId:t.clientId,createdAt:t.createdAt??r,email:t.email,reason:t.reason};return await i.save(a)}),"AlertRepository::createUserAlertComplain"):null)(t,e);return this.logger.trace(i,"AlertRepository::createUserAlertComplain result"),i}}class bn extends yn{async getAlertTypes(e){this.logger.trace(e,"AlertTypesRepository::getAlertTypes started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t)=>e.safeQuery((async e=>{let i=e.getRepository(re).createQueryBuilder("alertType");return t?.filters?.includeBeta||(i=i.where("alertType.stage = 'prod'")),await i.getMany()}),"AlertTypesRepository::getAlertTypes"))(t,e);return this.logger.trace(i,"AlertTypesRepository::getAlertTypes result"),i}}class Cn extends yn{async createAppFeatureType(e){this.logger.trace("AppFeaturesRepository::createAppFeatureType started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.description&&t?.name?e.safeQuery((async e=>{const i=e.getRepository(fe),r={...t,statusId:t.statusId??1};return await i.save(r)}),"AppFeaturesRepository::createAppFeatureType"):(i.warn({params:t},"AppFeaturesRepository::createAppFeatureType - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"AppFeaturesRepository::createAppFeatureType result"),i}async createClientAppFeature(e){this.logger.trace("AppFeaturesRepository::createClientAppFeature started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.clientId&&t?.appFeatureTypeId&&t.entityId?e.safeQuery((async e=>{const i=e.getRepository(Zt),r={...t,statusId:t.statusId??1};return await i.save(r)}),"AppFeaturesRepository::createClientAppFeature"):(i.warn({params:t},"AppFeaturesRepository::createClientAppFeature - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"AppFeaturesRepository::createClientAppFeature result"),i}async getClientAppFeatures(e){this.logger.trace("AppFeaturesRepository::getClientAppFeatures started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.clientId||t?.filters?.appFeatureTypeId||t.filters?.entityId||t.filters?.statusId?e.safeQuery((async e=>{let i=e.getRepository(Zt).createQueryBuilder("clientAppFeature");return t.projectionOptions?.withAppFeatureType&&(i=i.leftJoinAndSelect("clientAppFeature.appFeatureType","appFeatureType")),t.filters.clientId&&(i=i.andWhere("clientAppFeature.clientId = :clientId",{clientId:t.filters.clientId})),t.filters.appFeatureTypeId&&(i=i.andWhere("clientAppFeature.appFeatureTypeId = :appFeatureTypeId",{appFeatureTypeId:t.filters.appFeatureTypeId})),t.filters.entityId&&(i=i.andWhere("clientAppFeature.entityId = :entityId",{entityId:t.filters.entityId})),t.filters.statusId&&(i=i.andWhere("clientAppFeature.statusId = :statusId",{statusId:t.filters.statusId})),await i.getMany()}),"AppFeaturesRepository::getClientAppFeatures"):(i.warn({params:t},"AppFeaturesRepository::getClientAppFeatures - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"AppFeaturesRepository::getClientAppFeatures result"),i}}class Rn extends yn{async getAssetCategories(){this.logger.trace("AssetCategoriesRepository::getAssetCategories started with params");const e=new un(this.novaDataSourceConfig,this.logger),t=await(async e=>e.safeQuery((async e=>{const t=e.getRepository(be);return await t.find()}),"AssetcategoriesRepository::getAssetCategories"))(e);return this.logger.trace(t,"AssetCategoriesRepository::getAssetCategories result"),t}}class wn extends yn{async getBillings(e){this.logger.trace(e,"BillingRepository::getBillings started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imei||t?.filters?.clientId||t?.filters?.subscriptionId||t?.filters?.status?e.safeQuery((async e=>{let i=e.getRepository(ut).createQueryBuilder("billing");return t.projectionOptions?.withClient&&(i=i.innerJoinAndSelect("billing.client","client")),t.projectionOptions?.withPlan&&(i=i.leftJoinAndSelect("billing.plan","plan")),t.filters.imei&&(i=i.where("billing.imei = :imei",{imei:t.filters.imei})),t.filters.clientId&&(i=i.where("billing.clientId = :clientId",{clientId:t.filters.clientId})),t.filters.subscriptionId&&(i=i.where("billing.subscriptionId = :subscriptionId",{subscriptionId:t.filters.subscriptionId})),t.filters.status&&(i=i.where("billing.status = :status",{status:t.filters.status})),await i.getMany()}),"BillingRepository::getBillings"):(i.warn({params:t},"BillingRepository::getBillings - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::getBillings result"),i}async createBilling(e){this.logger.trace(e,"BillingRepository::createBilling started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.id||t?.deviceId||t?.clientId||t?.subscriptionId||t?.imei||t?.planId||t?.platform||t?.status||t?.subscriptionValue||t?.subscriptionPeriodMonths||t?.subscriptionValueMonthly?e.safeQuery((async e=>{const i=e.getRepository(ut),r=new Date,a={id:t.id,deviceId:t.deviceId,imei:t.imei,planId:t.planId,subscriptionId:t.subscriptionId,platform:t.platform,status:t.status,subscriptionValue:t.subscriptionValue,subscriptionPeriodMonths:t.subscriptionPeriodMonths,subscriptionValueMonthly:t.subscriptionValueMonthly,clientId:t.clientId,createdAt:r,updatedAt:r};return await i.save(a)}),"BillingRepository::createBilling"):(i.warn({params:t},"BillingRepository::createBilling - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::createBilling result"),i}async updateBilling(e){this.logger.trace(e,"BillingRepository::updateBilling started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imei&&(t?.values?.deviceId||t?.values?.clientId||t?.values?.subscriptionId||t?.values?.planId||t?.values?.platform||t?.values?.status||t?.values?.subscriptionValue||t?.values?.subscriptionPeriodMonths||t?.values?.subscriptionValueMonthly)?e.safeQuery((async e=>{const i=e.getRepository(ut),r=new Date;return(await i.createQueryBuilder().update(ut).set({deviceId:t.values.deviceId,clientId:t.values.clientId,subscriptionId:t.values.subscriptionId,planId:t.values.planId,platform:t.values.platform,status:t.values.status,subscriptionValue:t.values.subscriptionValue,subscriptionPeriodMonths:t.values.subscriptionPeriodMonths,subscriptionValueMonthly:t.values.subscriptionValueMonthly,updatedAt:r}).where("imei = :imei",{imei:t.filters.imei}).execute()).affected>0}),"BillingRepository::updateBilling"):(i.warn({params:t},"BillingRepository::updateBilling - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"BillingRepository::updateBilling result"),i}async getClientIdFromBraintreeCustomer(e){this.logger.trace(e,"BillingRepository::getClientIdFromBraintreeCustomer started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.customerId?e.safeQuery((async e=>{const i=e.getRepository(ut).createQueryBuilder("billing").innerJoin(kt,"billingSubscriptionBraintree","billing.subscriptionId = billingSubscriptionBraintree.subscriptionId").where("billingSubscriptionBraintree.customerId = :customerId",{customerId:t.filters.customerId}).select("distinct billing.clientId","clientId").limit(1),r=await i.getRawOne();return r?.clientId??null}),"BillingRepository::getClientIdFromBraintreeCustomer"):(i.warn({params:t},"BillingRepository::getClientIdFromBraintreeCustomer - missing required parameters"),null))(t,e,this.logger);return this.logger.trace({result:i},"BillingRepository::getClientIdFromBraintreeCustomer result"),i}async getBillingCustomerBraintreeById(e){this.logger.trace(e,"BillingRepository::getBillingCustomerBraintreeById started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.id?e.safeQuery((async e=>{const i=e.getRepository(yt).createQueryBuilder("billingCustomerBraintree").where("billingCustomerBraintree.id = :id",{id:t.filters.id}).limit(1);return await i.getOne()}),"BillingRepository::getBillingCustomerBraintreeById"):(i.warn({params:t},"BillingRepository::getBillingCustomerBraintreeById - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::getBillingCustomerBraintreeById result"),i}async updateBillingCustomerBraintree(e){this.logger.trace(e,"BillingRepository::updateBillingCustomerBraintree started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.id&&(t?.values?.firstName||t?.values?.lastName||t?.values?.company||t?.values?.email||t?.values?.phone||t?.values?.churnStatus)?e.safeQuery((async e=>{const i=e.getRepository(yt),r=new Date;return(await i.createQueryBuilder().update(yt).set({firstName:t.values.firstName,lastName:t.values.lastName,company:t.values.company,email:t.values.email,phone:t.values.phone,churnStatus:t.values.churnStatus,updatedAt:r}).where("id = :id",{id:t.filters.id}).execute()).affected>0}),"BillingRepository::updateBillingCustomerBraintree"):(i.warn({params:t},"BillingRepository::updateBillingCustomerBraintree - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"BillingRepository::updateBillingCustomerBraintree result"),i}async upsertBillingCustomerBraintree(e){this.logger.trace(e,"BillingRepository::upsertBillingCustomerBraintree started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.id&&(t?.firstName||t?.lastName||t?.company||t?.email||t?.phone)?e.safeQuery((async e=>{const i=e.getRepository(yt),r=await i.findOne({where:{id:t.id}}),a=new Date,n={id:t.id,firstName:t.firstName,lastName:t.lastName,company:t.company,email:t.email,phone:t.phone,churnStatus:r?.churnStatus,createdAt:r?.createdAt??a,updatedAt:a};return await i.save(n)}),"BillingRepository::upsertBillingCustomerBraintree"):(i.warn({params:t},"BillingRepository::upsertBillingCustomerBraintree - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::upsertBillingCustomerBraintree result"),i}async createBillingStatusHistoryBraintree(e){this.logger.trace(e,"BillingRepository::createBillingStatusHistoryBraintree started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.subscriptionId&&t?.subscriptionHistories?.length?e.safeQuery((async e=>{const i=e.getRepository(Ut),r=(await i.createQueryBuilder("billingStatusHistoryBraintree").where("billingStatusHistoryBraintree.subscriptionId = :subscriptionId",{subscriptionId:t.subscriptionId}).andWhere("billingStatusHistoryBraintree.timestamp IN (:...timestamps)",{timestamps:t.subscriptionHistories.map((e=>e.timestamp))}).select("billingStatusHistoryBraintree.timestamp","timestamp").getRawMany()).map((e=>e.timestamp)),a=[];for(const e of t.subscriptionHistories)r.find((t=>t===e.timestamp))||a.push({...e,subscriptionId:t.subscriptionId});return await i.save(a)}),"BillingRepository::createBillingStatusHistoryBraintree"):(i.warn({params:t},"BillingRepository::createBillingStatusHistoryBraintree - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::createBillingStatusHistoryBraintree result"),i}async createBillingDeviceHistory(e){this.logger.trace(e,"BillingRepository::createBillingDeviceHistory started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.id||t?.clientId||t?.deviceId||t?.subscriptionId||t?.imei||t?.planId||t?.platform||t?.status?e.safeQuery((async e=>{const i=e.getRepository(ft),r=new Date,a={id:t.id,deviceId:t.deviceId,clientId:t.clientId,imei:t.imei,planId:t.planId,subscriptionId:t.subscriptionId,platform:t.platform,status:t.status,createAt:r};return await i.save(a)}),"BillingRepository::createBillingDeviceHistory"):(i.warn({params:t},"BillingRepository::createBillingDeviceHistory - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::createBillingDeviceHistory result"),i}async getUserByBraintreeCustomerId(e){this.logger.trace(e,"BillingRepository::getUserByBraintreeCustomerId started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.customerId?e.safeQuery((async e=>{const i=e.getRepository(it).createQueryBuilder("user").innerJoin(yt,"billingCustomerBraintree","LOWER(TRIM(billingCustomerBraintree.email)) = LOWER(TRIM(user.email))").innerJoin(kt,"billingSubscriptionBraintree","billingCustomerBraintree.id = billingSubscriptionBraintree.customerId").innerJoin(ut,"billing","billing.subscriptionId = billingSubscriptionBraintree.subscriptionId").where("billingCustomerBraintree.id = :id",{id:t.filters.customerId}).orderBy("billingCustomerBraintree.createdAt","ASC").limit(1);return await i.getOne()}),"BillingRepository::getUserByBraintreeCustomerId"):(i.warn({params:t},"BillingRepository::getUserByBraintreeCustomerId - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::getUserByBraintreeCustomerId result"),i}async getBillingSubscriptionsBraintree(e){this.logger.trace(e,"BillingRepository::getBillingSubscriptionsBraintree started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.subscriptionId||t?.filters?.clientId?e.safeQuery((async e=>{let i=e.getRepository(kt).createQueryBuilder("billingSubscriptionBraintree");return t?.filters?.subscriptionId&&(i=i.where("billingSubscriptionBraintree.subscriptionId = :subscriptionId",{subscriptionId:t.filters.subscriptionId})),t?.filters?.clientId&&(i=i.innerJoin(ut,"billing","billingSubscriptionBraintree.subscriptionId = billing.subscriptionId").where("billing.clientId = :clientId",{clientId:t.filters.clientId})),await i.getMany()}),"BillingRepository::getBillingSubscriptionsBraintree"):(i.warn({params:t},"BillingRepository::getBillingSubscriptionsBraintree - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::getBillingSubscriptionsBraintree result"),i}async getChurnStatusByClientId(e){this.logger.trace(e,"BillingRepository::getChurnStatusByClientId started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.clientId?e.safeQuery((async e=>{const i=e.getRepository(ut).createQueryBuilder("billing").where("billing.clientId = :clientId",{clientId:t.filters.clientId}).innerJoinAndSelect(kt,"billingSubscriptionBraintree","billingSubscriptionBraintree.subscriptionId = billing.subscriptionId").innerJoinAndSelect(yt,"billingCustomerBraintree","billingCustomerBraintree.id = billingSubscriptionBraintree.customerId").groupBy("billingCustomerBraintree.id, billingSubscriptionBraintree.status, billingSubscriptionBraintree.subscriptionId").select(["billingCustomerBraintree.id as braintreeCustomerId","billingSubscriptionBraintree.status as braintreeSubscriptionStatus","billingSubscriptionBraintree.subscriptionId as subscriptionId","billingCustomerBraintree.churnStatus as churnStatus"]).distinct();return await i.getRawMany()}),"BillingRepository::getChurnStatusByClientId"):(i.warn({params:t},"BillingRepository::getChurnStatusByClientId - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::getChurnStatusByClientId result"),i}async upsertBillingSubscriptionBraintree(e){this.logger.trace(e,"BillingRepository::upsertBillingSubscriptionBraintree started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.subscriptionId?e.safeQuery((async e=>{const i=e.getRepository(kt),r=new Date,a={...t,createdAt:t.createdAt??r},n=await i.upsert(a,{conflictPaths:["subscriptionId"]});return n?.raw?.affectedRows>0}),"BillingRepository::upsertBillingSubscriptionBraintree"):(i.warn({params:t},"BillingRepository::upsertBillingSubscriptionBraintree - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"BillingRepository::upsertBillingSubscriptionBraintree result"),i}async getCanceledImeis(e){this.logger.trace(e,"BillingRepository::getCanceledImeis started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.minCancellationDate&&t?.filters?.maxCancellationDate&&t?.filters?.canceledIn&&null!=t?.filters?.excludeB2B&&null!=t?.filters?.excludeTest?e.safeQuery((async e=>{let i=e.getRepository(ut).createQueryBuilder("billing").innerJoin(kt,"billingSubscriptionBraintree","billingSubscriptionBraintree.subscriptionId = billing.subscriptionId").innerJoin(hr,"imeiIccidCarrier","imeiIccidCarrier.imei = billing.imei").innerJoin(xe,"device","device.imei = billing.imei").innerJoin(nt,"client","client.id = device.clientId").innerJoin(gr,"iccidStatus","iccidStatus.iccid = imeiIccidCarrier.iccid").where("iccidStatus.processing = :processing",{processing:!1}).andWhere("billingSubscriptionBraintree.updatedAt > :minCancellationDate",{minCancellationDate:t.filters.minCancellationDate}).andWhere("billingSubscriptionBraintree.updatedAt < :maxCancellationDate",{maxCancellationDate:t.filters.maxCancellationDate}).andWhere("billingSubscriptionBraintree.status = :subscriptionStatus",{subscriptionStatus:"Canceled"}).andWhere("billingSubscriptionBraintree.nextBillingDate < :nextBillingDate",{nextBillingDate:new Date});switch(t.filters.canceledIn){case"carrier":i=i.andWhere("iccidStatus.status = :iccidStatus",{iccidStatus:"active"});break;case"device":i=i.andWhere("device.status = :deviceStatus",{deviceStatus:"A"});break;default:i=i.andWhere("(iccidStatus.status = :iccidStatus OR device.status = :deviceStatus)",{iccidStatus:"active",deviceStatus:"A"})}return t.filters.excludeB2B&&(i=i.andWhere("client.clientTypeId != :b2bClientTypeId",{b2bClientTypeId:Bn.b2b})),t.filters.excludeTest&&(i=i.andWhere("client.clientTypeId != :testClientTypeId",{testClientTypeId:Bn.test})),await i.orderBy("billingSubscriptionBraintree.updatedAt","ASC").limit(t.pagingOptions?.pageSize??100).select(["billing.imei as imei","imeiIccidCarrier.iccid as iccid","client.id as clientId","client.clientTypeId as clientTypeId","billing.subscriptionId as subscriptionId","billingSubscriptionBraintree.createdAt as createdAt","billingSubscriptionBraintree.updatedAt as updatedAt","billingSubscriptionBraintree.status as status","imeiIccidCarrier.carrier as carrier"]).getRawMany()}),"BillingRepository::getCanceledImeis"):(i.warn({params:t},"BillingRepository::getCanceledImeis - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::getCanceledImeis result"),i}async getCanceledImeisMatchingMagentoData(e){this.logger.trace(e,"BillingRepository::getCanceledImeis started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.minCancellationDate&&t?.filters?.maxCancellationDate&&t?.filters?.canceledIn&&null!=t?.filters?.excludeB2B&&null!=t?.filters?.excludeTest?e.safeQuery((async e=>{const i=e.getRepository(ut);let r="";switch(t.filters.canceledIn){case"carrier":r=" AND iccidStatus.status = 'active' ";break;case"device":r=" AND device.status = 'A' ";break;default:r=" AND (iccidStatus.status = 'active' OR device.status = 'A') "}const a=`SELECT \n billing.imei, \n imeiIccidCarrier.iccid,\n client.id as clientId,\n client.clientTypeId,\n client.email,\n billing.subscriptionId,\n billingSubscriptionBraintree.createdAt,\n billingSubscriptionBraintree.updatedAt,\n billingSubscriptionBraintree.status,\n imeiIccidCarrier.carrier\n FROM \n billing \n INNER JOIN \n billingSubscriptionBraintree ON billing.subscriptionId = billingSubscriptionBraintree.subscriptionId\n INNER JOIN \n imeiIccidCarrier ON imeiIccidCarrier.imei = billing.imei\n INNER JOIN \n device ON device.imei = billing.imei\n INNER JOIN \n client ON client.id = device.clientId\n INNER JOIN \n iccidStatus ON iccidStatus.iccid = imeiIccidCarrier.iccid\n WHERE \n iccidStatus.processing = false AND\n billingSubscriptionBraintree.updatedAt > ? AND\n billingSubscriptionBraintree.updatedAt < ? AND\n billingSubscriptionBraintree.status = 'Canceled' AND \n billingSubscriptionBraintree.nextBillingDate < ? AND \n client.id NOT IN (128, 686142) AND\n (EXISTS (SELECT 1 FROM \n (SELECT\n magento2Gps1.imei, \n billingSubscriptionBraintree2.subscriptionId,\n row_number() OVER (PARTITION BY magento2Gps1.imei ORDER BY billingSubscriptionBraintree2.subscriptionStart DESC) AS row_rank\n FROM magento2Gps magento2Gps1\n INNER JOIN billingSubscriptionBraintree billingSubscriptionBraintree2 ON billingSubscriptionBraintree2.subscriptionId = magento2Gps1.btSubscriptionId) ls\n WHERE ls.imei = billing.imei AND billing.subscriptionId = ls.subscriptionId AND ls.row_rank = 1) \n OR \n NOT EXISTS (SELECT 1 FROM magento2Gps magento2Gps2 WHERE magento2Gps2.imei = billing.imei) \n OR \n EXISTS (SELECT 1 FROM magento2Gps magento2Gps3 WHERE magento2Gps3.imei = billing.imei AND magento2Gps3.btSubscriptionId IS NULL)) \n ${r}\n ${t.filters.excludeB2B?`AND client.clientTypeId != ${Bn.b2b} `:""}\n ${t.filters.excludeTest?`AND client.clientTypeId != ${Bn.test} `:""}\n ORDER BY billingSubscriptionBraintree.updatedAt ASC\n LIMIT ?`;return(await i.query(a,[t.filters.minCancellationDate,t.filters.maxCancellationDate,new Date,t.pagingOptions.pageSize??100])).map((e=>({imei:e.imei,iccid:e.iccid,clientId:e.clientId,clientTypeId:e.clientTypeId,subscriptionId:e.subscriptionId,createdAt:e.createdAt,updatedAt:e.updatedAt,status:e.status,carrier:e.carrier})))}),"BillingRepository::getCanceledImeisMatchingMagentoData"):(i.warn({params:t},"BillingRepository::getCanceledImeisMatchingMagentoData - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::getCanceledImeisMatchingMagentoData result"),i}async getMagentoPlan(e){this.logger.trace(e,"BillingRepository::getMagentoPlan started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>null!=t?.filters?.annual&&t?.filters?.code?e.safeQuery((async e=>{const i=e.getRepository(kr).createQueryBuilder("plan").where("plan.planAnnual = :planAnnual",{planAnnual:t.filters.annual}).andWhere("plan.magentoPlanCode = :magentoPlanCode",{magentoPlanCode:t.filters.code}).limit(1);return await i.getOne()}),"BillingRepository::getMagentoPlan"):(i.warn({params:t},"BillingRepository::getMagentoPlan - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::getMagentoPlan result"),i}async createBillingHubspotPaymentLog(e){this.logger.trace(e,"BillingRepository::createBillingHubspotPaymentLog started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.amountPaid?e.safeQuery((async e=>{const i=e.getRepository(bt),r={id:t.id,amountPaid:t.amountPaid,owner:t.owner,bankOfIssuer:t.bankOfIssuer,billingAddress:t.billingAddress,billingAddressCity:t.billingAddressCity,billingAddressCountry:t.billingAddressCountry,billingAddressLine1:t.billingAddressLine1,billingAddressLine2:t.billingAddressLine2,billingAddressState:t.billingAddressState,billingAddressZip:t.billingAddressZip,createdByUserId:t.createdByUserId,currencyCode:t.currencyCode,customer:t.customer,grossAmount:t.grossAmount,lastFourDigits:t.lastFourDigits,lineItemDiscountAmount:t.lineItemDiscountAmount,netAmount:t.netAmount,objectCreateDateTime:t.objectCreateDateTime,objectId:t.objectId,objectLastModifiedDateTime:t.objectLastModifiedDateTime,orderDiscountAmount:t.orderDiscountAmount,orderDiscountCode:t.orderDiscountCode,orderDiscountPercentage:t.orderDiscountPercentage,ownerAssignedDateTime:t.ownerAssignedDateTime,paymentDateTime:t.paymentDateTime,paymentId:t.paymentId,paymentMethod:t.paymentMethod,paymentSourceName:t.paymentSourceName,paymentType:t.paymentType,processingFees:t.processingFees,refunded:t.refunded,shippingAddress:t.shippingAddress,shippingAddressCity:t.shippingAddressCity,shippingAddressCountry:t.shippingAddressCountry,shippingAddressLine1:t.shippingAddressLine1,shippingAddressLine2:t.shippingAddressLine2,shippingAddressState:t.shippingAddressState,shippingAddressZip:t.shippingAddressZip,source:t.source,sourceId:t.sourceId,sourceUrl:t.sourceUrl,status:t.status,statusUpdatedOn:t.statusUpdatedOn,totalDiscountAmount:t.totalDiscountAmount,totalFees:t.totalFees,totalTaxes:t.totalTaxes,updatedByUserId:t.updatedByUserId};return await i.save(r)}),"BillingRepository::createBillingHubspotPaymentLog"):(i.warn({params:t},"BillingRepository::createBillingHubspotPaymentLog - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::createBillingHubspotPaymentLog result"),i}async upsertBillingKlarnaCustomer(e){this.logger.trace(e,"BillingRepository::upsertBillingKlarnaCustomer started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.id&&(t?.firstName||t?.lastName||t?.billingEmail||t?.shippingEmail||t?.streetAddress||t?.city||t?.region||t?.country||t?.postalCode||t?.phone||t?.createdAt)?e.safeQuery((async e=>{const i=e.getRepository(wt),r=new Date,a={id:t.id?t.id:void 0,firstName:t.firstName?t.firstName:void 0,lastName:t.lastName?t.lastName:void 0,billingEmail:t.billingEmail?t.billingEmail:void 0,shippingEmail:t.shippingEmail?t.shippingEmail:void 0,streetAddress:t.streetAddress?t.streetAddress:void 0,city:t.city?t.city:void 0,region:t.region?t.region:void 0,country:t.country?t.country:void 0,postalCode:t.postalCode?t.postalCode:void 0,phone:t.phone?t.phone:void 0,createdAt:t.createdAt??r},n=await i.upsert(a,{conflictPaths:["id"]});return n?.raw?.affectedRows>0?await i.findOne({where:{id:t.id}}):null}),"BillingRepository::upsertBillingKlarnaCustomer"):(i.warn({params:t},"BillingRepository::upsertBillingKlarnaCustomer - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::upsertBillingKlarnaCustomer result"),i}async upsertBillingKlarnaOrder(e){this.logger.trace(e,"BillingRepository::upsertBillingKlarnaOrder started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.deviceId&&t?.klarnaCustomerId&&t?.orderId&&(t?.planId||t?.createdAt||t?.subscriptionStart||t?.subscriptionEnd||t?.nextBillingDate||t?.subscriptionValue||t?.status||t?.paymentType||t?.discounts||t?.addOns||t?.nextBillingPeriodAmount||t?.paymentMethodToken)?e.safeQuery((async e=>{const i=e.getRepository(Tt),r=new Date,a={deviceId:t.deviceId?t.deviceId:void 0,klarnaCustomerId:t.klarnaCustomerId?t.klarnaCustomerId:void 0,orderId:t.orderId?t.orderId:void 0,planId:t.planId?t.planId:void 0,createdAt:t.createdAt??r,subscriptionStart:t.subscriptionStart?t.subscriptionStart:void 0,subscriptionEnd:t.subscriptionEnd?t.subscriptionEnd:void 0,nextBillingDate:t.nextBillingDate?t.nextBillingDate:void 0,subscriptionValue:t.subscriptionValue?t.subscriptionValue:void 0,status:t.status?t.status:void 0,paymentType:t.paymentType?t.paymentType:void 0,discounts:t.discounts?t.discounts:void 0,addOns:t.addOns?t.addOns:void 0,nextBillingPeriodAmount:t.nextBillingPeriodAmount?t.nextBillingPeriodAmount:void 0,paymentMethodToken:t.paymentMethodToken?t.paymentMethodToken:void 0},n=await i.upsert(a,{conflictPaths:["deviceId"]});return n?.raw?.affectedRows>0?await i.findOne({where:{deviceId:t.deviceId}}):null}),"BillingRepository::upsertBillingKlarnaOrder"):(i.warn({params:t},"BillingRepository::upsertBillingKlarnaOrder - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::upsertBillingKlarnaOrder result"),i}async getBillingSubscriptionsBraintreeByImei(e){this.logger.trace(e,"BillingRepository::getBillingSubscriptionsBraintreeByImei started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.imei?e.safeQuery((async e=>{const i=e.getRepository(kt).createQueryBuilder("billingSubscriptionBraintree").innerJoin(ut,"billing","billingSubscriptionBraintree.subscriptionId = billing.subscriptionId").where("billing.imei = :imei",{imei:t.imei});return await i.getOne()}),"BillingRepository::getBillingSubscriptionsBraintreeByImei"):(i.warn({params:t},"BillingRepository::getBillingSubscriptionsBraintreeByImei - missing imei parameter"),null))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::getBillingSubscriptionsBraintreeByImei result"),i}async getBillingKlarnaOrderByImei(e){this.logger.trace(e,"BillingRepository::getBillingKlarnaOrderByImei started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.imei?e.safeQuery((async e=>{const i=e.getRepository(Tt).createQueryBuilder("billingKlarnaOrder").innerJoin(ut,"billing","billingKlarnaOrder.orderId = billing.subscriptionId").where("billing.imei = :imei",{imei:t.imei});return await i.getOne()}),"BillingRepository::getBillingKlarnaOrderByImei"):(i.warn({params:t},"BillingRepository::getBillingKlarnaOrderByImei - missing imei parameter"),null))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::getBillingKlarnaOrderByImei result"),i}}class Dn extends yn{async getBlacklists(e){this.logger.trace(e,"BlacklistRepository::getBlacklists started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.blacklistType||t?.filters?.value?e.safeQuery((async e=>{const i=e.getRepository(jt).createQueryBuilder("blacklist").innerJoin(Lt,"blacklistType","blacklistType.id = blacklist.blacklistTypeId").where("blacklist.blacklistTypeId = :blacklistType",{blacklistType:t.filters.blacklistType}).andWhere("LOWER(blacklist.value) = LOWER(:value)",{value:t.filters.value});return await i.getMany()}),"BlacklistRepository::getBlacklists"):(i.warn({params:t},"BlacklistRepository::getBlacklists - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"BlacklistRepository::getBlacklists result"),i}}var Sn,An,Tn,Bn,Nn,Un,On,Pn,kn,En,xn,jn;!function(e){e[e.Admin=1]="Admin",e[e.Collaborator=2]="Collaborator",e[e.Owner=3]="Owner"}(Sn||(Sn={})),function(e){e.Active="A",e.Deleted="D"}(An||(An={})),function(e){e[e.Active=1]="Active",e[e.Inactive=2]="Inactive",e[e.Deleted=3]="Deleted"}(Tn||(Tn={})),function(e){e[e.b2c=1]="b2c",e[e.b2b=2]="b2b",e[e.test=3]="test"}(Bn||(Bn={})),function(e){e.ReportingFrequency="ReportingFrequency",e.Advanced="Advanced",e.Query="Query",e.General="General"}(Nn||(Nn={})),function(e){e.Active="active",e.Inactive="inactive"}(Un||(Un={})),function(e){e.InProgress="InProgress",e.Completed="Completed",e.Canceled="Canceled",e.Failed="Failed"}(On||(On={})),function(e){e[e.Email=1]="Email",e[e.Phone=2]="Phone"}(Pn||(Pn={})),function(e){e[e.CreditCard=1]="CreditCard",e[e.Email=2]="Email",e[e.Address=3]="Address",e[e.Ip=4]="Ip",e[e.Imei=5]="Imei",e[e.ClientId=6]="ClientId"}(kn||(kn={})),function(e){e[e.Trip=1]="Trip",e[e.Stop=2]="Stop"}(En||(En={})),function(e){e[e.Current=1]="Current",e[e.Completed=2]="Completed",e[e.Deleted=3]="Deleted",e[e.TempCurrent=10]="TempCurrent",e[e.TempCompleted=20]="TempCompleted"}(xn||(xn={})),function(e){e.Enter="boundaryEnter",e.Exit="boundaryExit"}(jn||(jn={}));const Mn=async(e,t,i)=>{const r=e.getRepository(Jt),a={deviceId:i,boundaryId:t.boundaryId,userId:vn(t.userId),inDate:t.eventType===jn.Enter?t.sendTime:null,inLat:t.eventType===jn.Enter?t.lat:null,inLon:t.eventType===jn.Enter?t.lon:null,inAddress:t.eventType===jn.Enter?t.address:null,outDate:t.eventType===jn.Exit?t.sendTime:null,outLat:t.eventType===jn.Exit?t.lat:null,outLon:t.eventType===jn.Exit?t.lon:null,outAddress:t.eventType===jn.Exit?t.address:null},n=await r.insert(a);return n?.raw.affectedRows>0},Fn=(e,t)=>{const i=e.getTime(),r=t.getTime();return Math.abs(r-i)/1e3};class Ln extends yn{async getBoundariesByClientId(e){this.logger.trace(e,"BoundariesRepository::getBoundariesByClientId started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t.filters.clientId?e.safeQuery((async e=>{const i=e.getRepository(Wt),r=t.filters.status?{where:{clientId:t.filters.clientId,status:t.filters.status}}:{where:{clientId:t.filters.clientId}};return await i.find(r)}),"BoundariesRepository::getBoundariesByClientId"):(i.warn({params:t},"BoundariesRepository::getBoundariesByClientId - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace({result:i.map((e=>e.id))},"BoundariesRepository::getBoundariesByClientId result"),i}async getBoundariesIdsByClientId(e){this.logger.trace(e,"BoundariesRepository::getBoundariesIdsByClientId started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t.filters.clientId?e.safeQuery((async e=>{const i=e.getRepository(Wt),r=t.filters.status?{clientId:t.filters.clientId,status:t.filters.status}:{clientId:t.filters.clientId};return(await i.createQueryBuilder().where(r).select("id").getRawMany()).map((e=>e.id))}),"BoundariesRepository::getBoundariesIdsByClientId"):(i.warn({params:t},"BoundariesRepository::getBoundariesIdsByClientId - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"BoundariesRepository::getBoundariesIdsByClientId result"),i}async getBoundaryById(e){this.logger.trace(e,"BoundariesRepository::getBoundaryById started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t.filters.boundaryId?e.safeQuery((async e=>{const i=e.getRepository(Wt);return await i.findOne({where:{id:t.filters.boundaryId}})}),"BoundariesRepository::getBoundaryById"):(i.warn({params:t},"BoundariesRepository::getBoundaryById - missing required parameters"),null))(t,e,this.logger);return this.logger.trace({result:{...i,geometry:void 0}},"BoundariesRepository::getBoundaryById result"),i}async createBoundary(e){this.logger.trace(e,"BoundariesRepository::createBoundary started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.clientId&&0!==t.clientId&&t?.name&&t?.type&&t?.location&&t?.geometry?e.safeQuery((async e=>{const i=e.getRepository(Wt),r=new Date;let a=parseFloat(t.buffer);Number.isNaN(a)&&(a=0);const n=Math.max(a,50),o=t.radiusDisplayUnit||"m",s=t.color||"#e74c3c",l=t.status>0&&t.status<4?t.status:Tn.Active,d={id:t.boundaryId,name:t.name,type:t.type,buffer:`${n}`,radiusDisplayUnit:o,clientId:t.clientId,createdAt:r,modifiedAt:r,createdBy:t.createdBy,modifiedBy:t.createdBy,location:t.location,color:s,geometry:t.geometry,isUserCreated:t.isUserCreated??!0,status:l,area:t.area,dataSourceTypeId:t.dataSourceTypeId};return await i.save(d)}),"BoundariesRepository::createBoundary"):(i.warn({params:t},"BoundariesRepository::createBoundary - missing required parameters"),null))(t,e,this.logger);return this.logger.trace({result:{...i,geometry:void 0}},"BoundariesRepository::createBoundary result"),i}async updateBoundary(e){this.logger.trace(e,"BoundariesRepository::updateBoundary started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.boundaryId)return i.warn({params:t},"BoundariesRepository::updateBoundary - missing required parameters"),!1;const r=t?.values?.status>0&&t?.values?.status<4?t.values.status:void 0;let a=t?.values?.buffer;if(a){const e=parseFloat(t.values.buffer);Number.isNaN(e)&&(a=void 0)}return t?.values?.name||t?.values?.type||t?.values?.location||a||t?.values?.radiusDisplayUnit||t?.values?.color||t?.values?.geometry||r||t?.values?.area?e.safeQuery((async e=>{const i=e.getRepository(Wt),n=new Date;return(await i.createQueryBuilder().update(Wt).set({name:t.values.name,type:t.values.type,modifiedBy:t.values.modifiedBy,location:t.values.location,buffer:a,radiusDisplayUnit:t.values.radiusDisplayUnit,color:t.values.color,geometry:t.values.geometry,status:r,modifiedAt:n}).where("id = :id",{id:t.filters.boundaryId}).execute()).affected>0}),"BoundariesRepository::updateBoundary"):(i.warn({params:t},"BoundariesRepository::updateBoundary - missing required parameters"),!1)})(t,e,this.logger);return this.logger.trace({result:i},"BoundariesRepository::updateBoundary result"),i}async deleteBoundary(e){this.logger.trace(e,"BoundariesRepository::deleteBoundary started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.boundaryId?e.safeQuery((async e=>{const i=e.getRepository(Wt),r=new Date;return(await i.createQueryBuilder().update(Wt).set({status:Tn.Deleted,modifiedBy:t.values.modifiedBy,modifiedAt:r}).where("id = :id",{id:t.filters.boundaryId}).execute()).affected>0}),"BoundariesRepository::deleteBoundary"):(i.warn({params:t},"BoundariesRepository::deleteBoundary - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"BoundariesRepository::deleteBoundary result"),i}async getBoundariesReport(e){this.logger.trace(e,"BoundariesRepository::getBoundariesReport started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.userId)return i.warn({params:t},"BoundariesRepository::getBoundariesReport - missing required parameters"),[];const r=vn(t?.filters?.userId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(Jt).createQueryBuilder("boundaryEvent").innerJoin(xe,"device","device.id = boundaryEvent.deviceId").innerJoin(Wt,"boundary","boundary.id = boundaryEvent.boundaryId").where("boundaryEvent.userId = :userId",{userId:r}).andWhere("device.status = :deviceStatus",{deviceStatus:An.Active});t.filters.boundaryId&&i.andWhere("boundaryEvent.boundaryId = :boundaryId",{boundaryId:t.filters.boundaryId}),t.filters.boundaryName&&i.andWhere("boundary.name LIKE :boundaryName",{boundaryName:`%${t.filters.boundaryName}%`}),t.filters.imeis?.length&&i.andWhere("device.imei IN (:...imeis)",{imeis:t.filters.imeis}),t.filters.boundaryInStartDate&&i.andWhere("boundaryEvent.inDate >= :boundaryInStartDate",{boundaryInStartDate:t.filters.boundaryInStartDate}),t.filters.boundaryInEndDate&&i.andWhere("boundaryEvent.inDate <= :boundaryInEndDate",{boundaryInEndDate:t.filters.boundaryInEndDate}),t.filters.boundaryOutStartDate&&i.andWhere("boundaryEvent.outDate >= :boundaryOutStartDate",{boundaryOutStartDate:t.filters.boundaryOutStartDate}),t.filters.boundaryOutEndDate&&i.andWhere("boundaryEvent.outDate <= :boundaryOutEndDate",{boundaryOutEndDate:t.filters.boundaryOutEndDate}),t.filters.minDuration&&i.andWhere("((boundaryEvent.inOutDuration IS NOT NULL AND boundaryEvent.inOutDuration >= :minDuration) OR \n (boundaryEvent.inOutDuration IS NULL AND boundaryEvent.inDate IS NOT NULL AND boundaryEvent.outDate IS NULL AND \n UNIX_TIMESTAMP(CONVERT_TZ(NOW(), @@session.time_zone, '+00:00')) - UNIX_TIMESTAMP(boundaryEvent.inDate) >= :minDuration\n ))",{minDuration:t.filters.minDuration}),t.filters.maxDuration&&i.andWhere("((boundaryEvent.inOutDuration IS NOT NULL AND boundaryEvent.inOutDuration <= :maxDuration) OR \n (boundaryEvent.inOutDuration IS NULL AND boundaryEvent.inDate IS NOT NULL AND boundaryEvent.outDate IS NULL AND \n UNIX_TIMESTAMP(CONVERT_TZ(NOW(), @@session.time_zone, '+00:00')) - UNIX_TIMESTAMP(boundaryEvent.inDate) <= :maxDuration\n ))",{maxDuration:t.filters.maxDuration});const a=i.clone().select("COUNT(boundaryEvent.id)","totalCount");if(i.innerJoin(`(${a.getQuery()})`,"sub"),t.sortOptions?.sortField){let e=null;switch(t.sortOptions.sortField){case"inDateTime":e="boundaryEvent.inDate";break;case"outDateTime":e="boundaryEvent.outDate";break;case"inOutDuration":e='CASE WHEN boundaryEvent.inOutDuration IS NOT NULL \n THEN boundaryEvent.inOutDuration \n WHEN boundaryEvent.inOutDuration IS NULL AND boundaryEvent.inDate IS NOT NULL AND boundaryEvent.outDate IS NULL \n THEN UNIX_TIMESTAMP(CONVERT_TZ(NOW(), @@session.time_zone, "+00:00")) - UNIX_TIMESTAMP(boundaryEvent.inDate) \n ELSE NULL\n END';break;case"name":e="boundary.name"}i.orderBy(e||"boundaryEvent.inDate",t.sortOptions.sortOrder||"DESC")}return(await i.select(["device.id AS deviceId","device.imei AS imei","device.name AS deviceName","boundary.id AS boundaryId","boundary.name AS boundaryName","boundaryEvent.inDate AS inDate","boundaryEvent.inLat AS inLat","boundaryEvent.inLon AS inLon","boundaryEvent.inAddress AS inAddress","boundaryEvent.outDate AS outDate","boundaryEvent.outLat AS outLat","boundaryEvent.outLon AS outLon","boundaryEvent.outAddress AS outAddress","CASE \n WHEN boundaryEvent.inOutDuration IS NOT NULL\n THEN boundaryEvent.inOutDuration\n WHEN boundaryEvent.inOutDuration IS NULL AND boundaryEvent.inDate IS NOT NULL AND boundaryEvent.outDate IS NULL \n THEN UNIX_TIMESTAMP(CONVERT_TZ(NOW(), @@session.time_zone, '+00:00')) - UNIX_TIMESTAMP(boundaryEvent.inDate)\n ELSE NULL\n END AS duration","sub.totalCount AS totalCount"]).limit(t.pagingOptions.pageSize).offset(t.pagingOptions.pageSize*t.pagingOptions.pageIndex).getRawMany()).map((e=>({deviceId:e.deviceId,imei:e.imei,deviceName:e.deviceName,boundaryId:e.boundaryId,boundaryName:e.boundaryName,inDate:e.inDate,inLat:e.inLat,inLon:e.inLon,inAddress:e.inAddress,outDate:e.outDate,outLat:e.outLat,outLon:e.outLon,outAddress:e.outAddress,inOutDuration:e.duration,totalCount:e.totalCount})))}),"BoundariesRepository::getBoundariesReport"):(i.warn({params:t},"BoundariesRepository::getBoundariesReport - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"BoundariesRepository::getBoundariesReport result"),i}async processBoundaryEvent(e){this.logger.trace(e,"BoundariesRepository::processBoundaryEvent started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.imei&&t?.boundaryId&&t?.userId&&t?.sendTime&&t?.lat&&t?.lon&&t?.address&&t?.eventType))return i.warn({params:t},"BoundariesRepository::processBoundaryEvent - missing required parameters"),!1;const r=vn(t.userId);return r?e.safeQuery((async e=>{const a=e.getRepository(xe),n=await a.findOne({where:{imei:t.imei}});if(!n)return i.warn({params:t},"BoundariesRepository::processBoundaryEvent - device not found"),!1;const o=e.getRepository(Jt);if(!await o.findOne({where:{deviceId:n.id,boundaryId:t.boundaryId,userId:r}}))return await Mn(e,t,n.id);const s=await(async(e,t,i)=>{let r=null;const a=e.getRepository(Jt).createQueryBuilder("boundaryEvent").where("boundaryEvent.deviceId = :deviceId",{deviceId:i}).andWhere("boundaryEvent.boundaryId = :boundaryId",{boundaryId:t.boundaryId}).andWhere("boundaryEvent.userId = :userId",{userId:vn(t.userId)});return r=t.eventType===jn.Enter?(await a.andWhere("boundaryEvent.inDate < :sendTime",{sendTime:t.sendTime}).orderBy("boundaryEvent.inDate","DESC").select("boundaryEvent.inDate").limit(1).getOne())?.inDate:(await a.andWhere("boundaryEvent.outDate < :sendTime",{sendTime:t.sendTime}).orderBy("boundaryEvent.outDate","DESC").select("boundaryEvent.outDate").limit(1).getOne())?.outDate,r})(e,t,n.id),l=await(async(e,t,i)=>{let r=null;const a=e.getRepository(Jt).createQueryBuilder("boundaryEvent").where("boundaryEvent.deviceId = :deviceId",{deviceId:i}).andWhere("boundaryEvent.boundaryId = :boundaryId",{boundaryId:t.boundaryId}).andWhere("boundaryEvent.userId = :userId",{userId:vn(t.userId)});return r=t.eventType===jn.Enter?(await a.andWhere("boundaryEvent.inDate > :sendTime",{sendTime:t.sendTime}).orderBy("boundaryEvent.inDate","ASC").select("boundaryEvent.inDate").limit(1).getOne())?.inDate:(await a.andWhere("boundaryEvent.outDate > :sendTime",{sendTime:t.sendTime}).orderBy("boundaryEvent.outDate","ASC").select("boundaryEvent.outDate").limit(1).getOne())?.outDate,r})(e,t,n.id);i.trace({previousEventDate:s,nextEventDate:l},"BoundariesRepository::processBoundaryEvent - previousEventDate, nextEventDate");const d=await(async(e,t,i,r,a)=>{let n=null;const o=e.getRepository(Jt).createQueryBuilder("boundaryEvent").where("boundaryEvent.deviceId = :deviceId",{deviceId:i}).andWhere("boundaryEvent.boundaryId = :boundaryId",{boundaryId:t.boundaryId}).andWhere("boundaryEvent.userId = :userId",{userId:vn(t.userId)});return t.eventType===jn.Enter?(o.andWhere("boundaryEvent.inDate IS NULL").andWhere("boundaryEvent.outDate > :sendTime",{sendTime:t.sendTime}),a&&o.andWhere("boundaryEvent.outDate <= :nextEventDate",{nextEventDate:a}),o.orderBy("boundaryEvent.outDate","ASC")):(o.andWhere("boundaryEvent.outDate IS NULL").andWhere("boundaryEvent.inDate < :sendTime",{sendTime:t.sendTime}),r&&o.andWhere("boundaryEvent.inDate >= :previousEventDate",{previousEventDate:r}),r||a?o.orderBy("boundaryEvent.inDate","ASC"):o.orderBy("boundaryEvent.inDate","DESC")),n=await o.limit(1).getOne(),n})(e,t,n.id,s,l);return i.trace({existingOrphanEventId:d?.id},"BoundariesRepository::processBoundaryEvent - existingOrphanEventId"),null!=d?(await o.update({id:d.id},{inDate:t.eventType===jn.Enter?t.sendTime:void 0,inLat:t.eventType===jn.Enter?t.lat:void 0,inLon:t.eventType===jn.Enter?t.lon:void 0,inAddress:t.eventType===jn.Enter?t.address:void 0,outDate:t.eventType===jn.Exit?t.sendTime:void 0,outLat:t.eventType===jn.Exit?t.lat:void 0,outLon:t.eventType===jn.Exit?t.lon:void 0,outAddress:t.eventType===jn.Exit?t.address:void 0,modifiedAt:new Date,inOutDuration:t.eventType===jn.Enter?Fn(t.sendTime,d.outDate):Fn(d.inDate,t.sendTime)})).affected>0:await Mn(e,t,n.id)}),"BoundariesRepository::processBoundaryEvent"):(i.warn({params:t},"BoundariesRepository::processBoundaryEvent - userId should be a valid uuid"),!1)})(t,e,this.logger);return this.logger.trace({result:i},"BoundariesRepository::processBoundaryEvent result"),i}async upsertBoundaryEvent(e){this.logger.trace(e,"BoundariesRepository::upsertBoundaryEvent started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.id&&t?.boundaryId&&t?.deviceId&&t?.imei))return i.warn({params:t},"BoundariesRepository::upsertBoundaryEvent missing required parameters"),!1;const r=vn(t.userId);return e.safeQuery((async e=>{const i=e.getRepository(Jt),a=new Date,n={...t,userId:r,createdAt:t.createdAt??a,modifiedAt:t.modifiedAt??a},o=await i.upsert(n,{conflictPaths:["id"]});return o?.raw?.affectedRows>0}),"BoundariesRepository::upsertBoundaryEvent")})(t,e,this.logger);return this.logger.trace({result:i},"BoundariesRepository::upsertBoundaryEvent result"),i}}class Qn extends yn{async getClient(e){this.logger.trace(e,"ClientsRepository::getClient started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t.filters.clientId||t.filters.email?e.safeQuery((async e=>{let i=e.getRepository(nt).createQueryBuilder("client").comment("test=value");return t.projectionOptions?.withCustomerAttribute&&(i=i.leftJoinAndSelect("client.customerAttribute","customerAttribute")),t.projectionOptions?.withOrganization&&(i=i.leftJoinAndSelect("client.organization","organization")),t.filters.clientId&&(i=i.where("client.id = :id",{id:t.filters.clientId})),t.filters.email&&(i=i.andWhere("LOWER(client.email) = LOWER(:email)",{email:t.filters.email})),await i.leftJoinAndSelect("client.clientType","clientType").select().getOne()}),"ClientsRepository::getClient"):(i.warn({params:t},"ClientsRepository::getClient - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"ClientsRepository::getClient result"),i}async getClients(e){this.logger.trace(e,"ClientsRepository::getClients started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t.filters.email?e.safeQuery((async e=>{let i=e.getRepository(nt).createQueryBuilder("client").where("LOWER(client.email) = LOWER(:email)",{email:t.filters.email});return t.projectionOptions?.withCustomerAttribute&&(i=i.leftJoinAndSelect("client.customerAttribute","customerAttribute")),t.projectionOptions?.withOrganization&&(i=i.leftJoinAndSelect("client.organization","organization")),await i.leftJoinAndSelect("client.clientType","clientType").select().getMany()}),"ClientsRepository::getClients"):(i.warn({params:t},"ClientsRepository::getClients - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"ClientsRepository::getClients result"),i}async createClient(e){this.logger.trace(e,"ClientsRepository::createClient started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.name&&t?.email&&t?.uuid?e.safeQuery((async e=>{const i=e.getRepository(nt),r=new Date,a={id:t.clientId,name:t.name,email:t.email,clientTypeId:t.clientTypeId??Bn.b2c,createdAt:r,modifiedAt:r,createdBy:0,modifiedBy:0,uuid:vn(t.uuid),dataSourceTypeId:t.dataSourceTypeId,sievaUserName:t.sievaUserName,sievaBatchId:t.sievaBatchId,salesforceId:t.salesforceId,accumaticaId:t.accumaticaId,expirationDate:t.expirationDate,useType:t.useType,btCustomerId:t.btCustomerId,activationCampaign:t.activationCampaign,organizationId:t.organizationId};return await i.save(a)}),"ClientsRepository::createClient"):(i.warn({params:t},"ClientsRepository::createClient - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"ClientsRepository::createClient result"),i}async updateClient(e){this.logger.trace(e,"ClientsRepository::updateClient started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.clientId&&(t?.values?.name||t?.values?.uuid||t?.values?.email||t?.values?.clientTypeId||t?.values?.dataSourceTypeId||t?.values?.sievaUserName||t?.values?.sievaBatchId||t?.values?.salesforceId||t?.values?.accumaticaId||t?.values?.expirationDate||t?.values?.useType||t?.values?.btCustomerId||t?.values?.activationCampaign||t?.values?.organizationId)?e.safeQuery((async e=>{const i=e.getRepository(nt),r=new Date;return(await i.createQueryBuilder().update(nt).set({name:t.values.name,uuid:t.values.uuid?vn(t.values.uuid):void 0,email:t.values.email,clientTypeId:t.values.clientTypeId,dataSourceTypeId:t.values.dataSourceTypeId,salesforceId:t.values.salesforceId,accumaticaId:t.values.accumaticaId,expirationDate:t.values.expirationDate,useType:t.values.useType,btCustomerId:t.values.btCustomerId,activationCampaign:t.values.activationCampaign,organizationId:t.values.organizationId,modifiedAt:r}).where("id = :id",{id:t.filters.clientId}).execute()).affected>0}),"ClientsRepository::updateClient"):(i.warn({params:t},"ClientsRepository::updateClient - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"ClientsRepository::updateClient result"),i}async deleteClientAndConfigurations(e){this.logger.trace(e,"ClientsRepository::deleteClientAndConfigurations started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t.filters.clientId)return i.warn({params:t},"ClientsRepository::deleteClientAndConfiguration - missing required parameters"),!1;await e.connect();const r=e.createQueryRunner();try{await r.startTransaction(),await r.manager.delete(ei,t.filters.clientId);const e=await r.manager.delete(nt,t.filters.clientId);return await r.commitTransaction(),e.affected>0}catch(e){throw await r.rollbackTransaction(),i.error({error:e},"ClientsRepository::deleteClientAndConfigurations error"),e}finally{await r.release(),await e.disconnect()}})(t,e,this.logger);return this.logger.trace({result:i},"ClientsRepository::deleteClientAndConfigurations result"),i}async getClientConfiguration(e){this.logger.trace(e,"ClientsRepository::getClientConfiguration started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t.filters.clientId?e.safeQuery((async e=>{const i=e.getRepository(ei);return await i.findOne({where:{clientId:t.filters.clientId}})}),"ClientsRepository::getClientConfiguration"):(i.warn({params:t},"ClientsRepository::getClientConfiguration - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"ClientsRepository::getClientConfiguration result"),i}async createClientConfiguration(e){this.logger.trace(e,"ClientsRepository::createClientConfiguration started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.clientId?e.safeQuery((async e=>{const i=e.getRepository(ei),r={clientId:t.clientId,movementTripThreshold:t.movementTripThreshold,stopTripThreshold:t.stopTripThreshold,mapUpdateMode:t.mapUpdateMode,maxUsersAllowed:t.maxUsersAllowed};return await i.save(r)}),"ClientsRepository::createClientConfiguration"):(i.warn({params:t},"ClientsRepository::createClientConfiguration - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"ClientsRepository::createClientConfiguration result"),i}async updateClientConfiguration(e){this.logger.trace(e,"ClientsRepository::updateClientConfiguration started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.clientId&&(t?.values?.movementTripThreshold||t?.values?.stopTripThreshold||t?.values?.mapUpdateMode||t?.values?.maxUsersAllowed)?e.safeQuery((async e=>{const i=e.getRepository(ei);return(await i.createQueryBuilder().update(ei).set({movementTripThreshold:t.values.movementTripThreshold,stopTripThreshold:t.values.stopTripThreshold,mapUpdateMode:t.values.mapUpdateMode,maxUsersAllowed:t.values.maxUsersAllowed}).where("clientId = :clientId",{clientId:t.filters.clientId}).execute()).affected>0}),"ClientsRepository::updateClientConfiguration"):(i.warn({params:t},"ClientsRepository::updateClientConfiguration - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"ClientsRepository::updateClientConfiguration result"),i}async createCustomerAttribute(e){this.logger.trace(e,"ClientsRepository::createCustomerAttribute started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.clientId?e.safeQuery((async e=>{const i=e.getRepository(Ae),r={clientId:t.clientId,enterprise:t.enterprise,maintenanceModule:t.maintenanceModule};return await i.save(r)}),"ClientsRepository::createCustomerAttribute"):(i.warn({params:t},"ClientsRepository::createCustomerAttribute - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"ClientsRepository::createCustomerAttribute result"),i}async updateCustomerAttribute(e){this.logger.trace(e,"ClientsRepository::updateCustomerAttribute started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.clientId?null==t?.values?.enterprise&&null==t?.values?.maintenanceModule?(i.warn({params:t},"ClientsRepository::updateClientConfiguration - missing required parameters"),!1):e.safeQuery((async e=>{const i=e.getRepository(ei);return(await i.createQueryBuilder().update(Ae).set({enterprise:t.values.enterprise,maintenanceModule:t.values.maintenanceModule}).where("clientId = :clientId",{clientId:t.filters.clientId}).execute()).affected>0}),"ClientsRepository::updateCustomerAttribute"):(i.warn({params:t},"ClientsRepository::updateClientConfiguration - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"ClientsRepository::updateCustomerAttribute result"),i}async getCustomerAttribute(e){this.logger.trace(e,"ClientsRepository::getCustomerAttribute started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t.filters.clientId?e.safeQuery((async e=>{const i=e.getRepository(Ae);return await i.findOne({where:{clientId:t.filters.clientId}})}),"ClientsRepository::getCustomerAttribute"):(i.warn({params:t},"ClientsRepository::getCustomerAttribute - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"ClientsRepository::getCustomerAttribute result"),i}}const qn=async(e,t,i)=>t?.filters?.id||t?.filters?.alpha2Code?e.safeQuery((async e=>{let i=e.getRepository(Ge).createQueryBuilder("country");return t.filters.id&&(i=i.where("country.id = :id",{id:t.filters.id})),t.filters.alpha2Code&&(i=i.where("country.alpha2Code = :alpha2Code",{alpha2Code:t.filters.alpha2Code})),await i.getOne()}),"CountriesRepository::getCountry"):(i.warn({params:t},"CountriesRepository::getCountry - missing required parameters"),null);class Wn extends yn{async getCountry(e){this.logger.trace(e,"CountriesRepository::getCountry started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await qn(t,e,this.logger);return this.logger.trace(i,"CountriesRepository::getCountry result"),i}async getCountries(e){this.logger.trace(e,"CountriesRepository::getCountries started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t)=>e.safeQuery((async e=>{let i=e.getRepository(Ge).createQueryBuilder("country");return t?.filters?.idList?.length&&(i=i.where("country.id IN (:...idList)",{idList:t.filters.idList})),await i.getMany()}),"CountriesRepository::getCountries"))(t,e);return this.logger.trace(i,"CountriesRepository::getCountries result"),i}}class Vn extends yn{async getDeactivationReasons(e){this.logger.trace(e,"DeactivationsRepository::getDeactivationReasons started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.code||null!=t?.filters?.customerVisible?e.safeQuery((async e=>{let i=e.getRepository(pi).createQueryBuilder("deactivationReason");return t.filters.code&&(i=i.andWhere("deactivationReason.code = :code",{code:t.filters.code})),null!=t.filters.customerVisible&&(i=i.andWhere("deactivationReason.customerVisible = :customerVisible",{customerVisible:t.filters.customerVisible})),i=i.orderBy("deactivationReason.id"),await i.getMany()}),"DeactivationsRepository::getDeactivationReasons"):(i.warn({params:t},"DeactivationsRepository::getDeactivationReasons - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DeactivationsRepository::getDeactivationReasons result"),i}async getLatestDeactivationByImei(e){this.logger.trace(e,"DeactivationsRepository::getLatestDeactivationByImei started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imei?e.safeQuery((async e=>{const i=e.getRepository(di).createQueryBuilder("deactivation").where("deactivation.imei = :imei",{imei:t.filters.imei}).orderBy("deactivation.createdAt","DESC").limit(1);return await i.getOne()}),"DeactivationsRepository::getLatestDeactivationByImei"):(i.warn({params:t},"DeactivationsRepository::getLatestDeactivationByImei - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"DeactivationsRepository::getLatestDeactivationByImei result"),i}async createDeactivation(e){this.logger.trace(e,"DeactivationsRepository::createDeactivation started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.imei&&t?.clientId&&t?.createdBy?e.safeQuery((async e=>{const i=e.getRepository(di),r=new Date,a={...t,createdAt:r};return await i.save(a)}),"DeactivationsRepository::createDeactivation"):(i.warn({params:t},"DeactivationsRepository::createDeactivation - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"DeactivationsRepository::createDeactivation result"),i}}class Gn extends yn{async getDeviceBehaviors(e){this.logger.trace(e,"DeviceBehaviorsRepository::getDeviceBehaviors started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.status&&t?.filters?.imeiList?.length&&t?.filters?.deviceTypeIdList?.length?e.safeQuery((async e=>{let i=e.getRepository(hi).createQueryBuilder("deviceBehavior");return i=i.andWhere("deviceBehavior.status = :status",{status:t.filters.status}),i=i.andWhere("deviceBehavior.imei IN (:...imeiList)",{imeiList:t.filters.imeiList}),i=i.andWhere("deviceBehavior.deviceTypeId IN (:...deviceTypeIdList)",{deviceTypeIdList:t.filters.deviceTypeIdList}),i=i.andWhere("(deviceBehavior.stage IS NULL OR deviceBehavior.stage = '' OR deviceBehavior.stage = :stage)",{stage:t.filters.stage}),i=t.filters.clientId?i.andWhere("(deviceBehavior.clientId IS NULL OR deviceBehavior.clientId <= 0 OR deviceBehavior.clientId = :clientId)",{clientId:t.filters.clientId}):i.andWhere("(deviceBehavior.clientId IS NULL OR deviceBehavior.clientId <= 0)"),t.filters.type&&(i=i.andWhere("deviceBehavior.type = :type",{type:t.filters.type})),i=i.orderBy("deviceBehavior.ordinalPosition"),await i.getMany()}),"DeviceBehaviorsRepository::getDeviceBehaviors"):(i.warn({params:t},"DeviceBehaviorsRepository::getDeviceBehaviors - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DeviceBehaviorsRepository::getDeviceBehaviors result"),i}async getDeviceBehaviorsByIds(e){this.logger.trace(e,"DeviceBehaviorsRepository::getDeviceBehaviorsByIds started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.deviceBehaviorIdList?.length?e.safeQuery((async e=>{let i=e.getRepository(hi).createQueryBuilder("deviceBehavior");return i=i.andWhere("deviceBehavior.id IN (:...deviceBehaviorIdList)",{deviceBehaviorIdList:t.filters.deviceBehaviorIdList}),await i.getMany()}),"DeviceBehaviorsRepository::getDeviceBehaviorsByIds"):(i.warn({params:t},"DeviceBehaviorsRepository::getDeviceBehaviorsByIds - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DeviceBehaviorsRepository::getDeviceBehaviorsByIds result"),i}async getDeviceBehaviorTasks(e){this.logger.trace(e,"DeviceBehaviorsRepository::getDeviceBehaviorTasks started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.taskId||t?.filters?.imeiList?.length?e.safeQuery((async e=>{let i=e.getRepository(Ka).createQueryBuilder("userDeviceBehaviorTask");if(t.filters.taskId){const e=vn(t?.filters?.taskId);i=i.andWhere("userDeviceBehaviorTask.id = :taskId",{taskId:e})}return t.filters.imeiList?.length&&(i=i.andWhere("userDeviceBehaviorTask.imei IN (:...imeiList)",{imeiList:t.filters.imeiList})),t.filters.status&&(i=i.andWhere("userDeviceBehaviorTask.status = :status",{status:t.filters.status})),t.filters.deviceBehaviorIdList?.length&&(i=i.andWhere("userDeviceBehaviorTask.deviceBehaviorId IN (:...deviceBehaviorIdList)",{deviceBehaviorIdList:t.filters.deviceBehaviorIdList})),i=i.orderBy("userDeviceBehaviorTask.modifiedAt","DESC"),t?.pagingOptions?.offset&&(i=i.offset(t?.pagingOptions?.offset)),i=i.limit(t?.pagingOptions?.limit??100),await i.getMany()}),"DeviceBehaviorsRepository::getDeviceBehaviorTasks"):(i.warn({params:t},"DeviceBehaviorsRepository::getDeviceBehaviorTasks - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DeviceBehaviorsRepository::getDeviceBehaviorTasks result"),i}async getDevicesLastBehaviorTask(e){this.logger.trace(e,"DeviceBehaviorsRepository::getDevicesLastBehaviorTask started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imeiList?.length?e.safeQuery((async e=>{let i=e.getRepository(Ka).createQueryBuilder("userDeviceBehaviorTask");return t.filters.imeiList?.length&&(i=i.andWhere("userDeviceBehaviorTask.imei IN (:...imeiList)",{imeiList:t.filters.imeiList})),t.filters.status&&(i=i.andWhere("userDeviceBehaviorTask.status = :status",{status:t.filters.status})),t.filters.deviceBehaviorIdList?.length&&(i=i.andWhere("userDeviceBehaviorTask.deviceBehaviorId IN (:...deviceBehaviorIdList)",{deviceBehaviorIdList:t.filters.deviceBehaviorIdList})),i.andWhere((e=>`userDeviceBehaviorTask.modifiedAt = (${e.subQuery().select("MAX(modifiedAt)").from(Ka,"subTask").where("subTask.imei = userDeviceBehaviorTask.imei").getQuery()})`)),i=i.orderBy("userDeviceBehaviorTask.modifiedAt","DESC"),t?.pagingOptions?.offset&&(i=i.offset(t?.pagingOptions?.offset)),i=i.limit(t?.pagingOptions?.limit??100),await i.getMany()}),"DeviceBehaviorsRepository::getDevicesLastBehaviorTask"):(i.warn({params:t},"DeviceBehaviorsRepository::getDevicesLastBehaviorTask - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DeviceBehaviorsRepository::getDevicesLastBehaviorTask result"),i}async createDeviceBehaviorTask(e){this.logger.trace(e,"DeviceBehaviorsRepository::createDeviceBehaviorTasks started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.taskId&&t?.deviceBehaviorId&&t?.clientId&&t?.userId&&t?.imei&&t?.behaviorName&&t?.status))return i.warn({params:t},"DeviceBehaviorsRepository::createDeviceBehaviorTask - missing required parameters"),null;const r=vn(t?.taskId);if(!r?.length)return i.warn({params:t},"DeviceBehaviorsRepository::createDeviceBehaviorTask - taskId should be a valid UUID"),null;const a=vn(t?.userId);if(!a?.length)return i.warn({params:t},"DeviceBehaviorsRepository::createDeviceBehaviorTask - user id should be a valid UUID"),null;const n=vn(t?.commandTaskId);return t.commandTaskId&&!n?(i.warn({params:t},"DeviceBehaviorsRepository::createDeviceBehaviorTask - command task id should be a valid UUID"),null):e.safeQuery((async e=>{const i=e.getRepository(Ka),o=new Date,s={id:r,deviceBehaviorId:t.deviceBehaviorId,clientId:t.clientId,userId:a,imei:t.imei,behaviorName:t.behaviorName,behaviorParams:t.behaviorParams,status:t.status,extraParams:t.extraParams,commandTaskId:n,createdAt:o,modifiedAt:o};return await i.save(s)}),"DeviceBehaviorsRepository::createDeviceBehaviorTask")})(t,e,this.logger);return this.logger.trace(i,"DeviceBehaviorsRepository::createDeviceBehaviorTasks result"),i}async updateDeviceBehaviorTask(e){this.logger.trace(e,"DeviceBehaviorsRepository::updateDeviceBehaviorTask started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.taskId||!t?.values?.status)return i.warn({params:t},"DeviceBehaviorsRepository::updateDeviceBehaviorTask - missing required parameters"),null;const r=vn(t?.filters.taskId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(Ka),a=new Date;let n=i.createQueryBuilder().update(Ka).set({status:t.values.status,modifiedAt:a});return n=n.where("id = :id",{id:r}),(await n.execute()).affected>0}),"DeviceBehaviorsRepository::updateDeviceBehaviorTask"):(i.warn({params:t},"DeviceBehaviorsRepository::updateDeviceBehaviorTask - taskId should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace({result:i},"DeviceBehaviorsRepository::updateDeviceBehaviorTask result"),i}async getLatestDeviceBehaviorTasks(e){this.logger.trace(e,"DeviceBehaviorsRepository::getLatestDeviceBehaviorTasks started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.clientId||t?.filters?.type||t?.filters?.status?e.safeQuery((async e=>{const i=e.getRepository(Ka);return(await i.query("SELECT sub.imei AS imei, \n sub.name AS name, \n sub.description AS description, \n sub.modifiedAt AS modifiedAt, \n sub.taskId AS taskId\n FROM (\n SELECT userDeviceBehaviorTask.imei AS imei,\n deviceBehavior.name as name,\n deviceBehavior.description as description,\n userDeviceBehaviorTask.modifiedAt AS modifiedAt,\n userDeviceBehaviorTask.id AS taskId,\n RANK() OVER (PARTITION BY userDeviceBehaviorTask.imei ORDER BY userDeviceBehaviorTask.modifiedAt DESC) AS rk\n FROM userDeviceBehaviorTask\n INNER JOIN deviceBehavior ON userDeviceBehaviorTask.deviceBehaviorId = deviceBehavior.id AND deviceBehavior.type = ?\n WHERE userDeviceBehaviorTask.clientId = ? AND userDeviceBehaviorTask.status = ?\n ) AS sub\n WHERE sub.rk = 1",[t.filters.type,t.filters.clientId,t.filters.status])).map((e=>({imei:e.imei,name:e.name,description:e.description,modifiedAt:e.modifiedAt,taskId:fn(e.taskId)})))}),"DeviceBehaviorsRepository::getLatestDeviceBehaviorTasks"):(i.warn({params:t},"DeviceBehaviorsRepository::getLatestDeviceBehaviorTasks - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DeviceBehaviorsRepository::getLatestDeviceBehaviorTasks result"),i}async upsertDeviceBehavior(e){this.logger.trace(e,"DeviceBehaviorsRepository::upsertDeviceBehavior started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.deviceTypeId&&t?.name&&t?.description&&t?.status&&t?.behaviorName?e.safeQuery((async e=>{const i=e.getRepository(hi),r={...t,ordinalPosition:t.ordinalPosition||1,blocking:t.blocking??!0};return await i.save(r)}),"DeviceBehaviorsRepository::upsertDeviceBehavior"):(i.warn({params:t},"DeviceBehaviorsRepository::upsertDeviceBehavior - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"DeviceBehaviorsRepository::upsertDeviceBehavior result"),i}}class Jn extends yn{async getDevicePairings(e){this.logger.trace(e,"DevicePairingsRepository::getDevicePairings started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imeiMain||t?.filters?.imeiSecondary||t?.filters?.btmacMain||t?.filters?.btmacSecondary?e.safeQuery((async e=>{let i=e.getRepository(Ti).createQueryBuilder("devicePairing");return t.filters.imeiMain&&(i=i.where("devicePairing.imeiMain = :imeiMain",{imeiMain:t.filters.imeiMain})),t.filters.imeiSecondary&&(i=i.andWhere("devicePairing.imeiSecondary = :imeiSecondary",{imeiSecondary:t.filters.imeiSecondary})),t.filters.btmacMain&&(i=i.andWhere("devicePairing.btmacMain = :btmacMain",{btmacMain:t.filters.btmacMain})),t.filters.btmacSecondary&&(i=i.andWhere("devicePairing.btmacSecondary = :btmacSecondary",{btmacSecondary:t.filters.btmacSecondary})),await i.getMany()}),"DevicePairingsRepository::getDevicePairings"):(i.warn({params:t},"DevicePairingsRepository::getDevicePairings missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DevicePairingsRepository::getDevicePairings result"),i}async getDevicePairingsByImei(e){this.logger.trace(e,"DevicePairingsRepository::getDevicePairingsByImei started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imei?e.safeQuery((async e=>{const i=e.getRepository(Ti).createQueryBuilder("devicePairing").where("devicePairing.imeiMain = :imeiMain",{imeiMain:t.filters.imei}).orWhere("devicePairing.imeiSecondary = :imeiSecondary",{imeiSecondary:t.filters.imei});return await i.getMany()}),"DevicePairingsRepository::getDevicePairingsByImei"):(i.warn({params:t},"DevicePairingsRepository::getDevicePairingsByImei missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DevicePairingsRepository::getDevicePairingsByImei result"),i}async createDevicePairing(e){this.logger.trace(e,"DevicePairingsRepository::createDevicePairing started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.imeiMain&&t?.imeiSecondary&&t?.btmacMain&&t?.btmacSecondary?e.safeQuery((async e=>{const i=e.getRepository(Ti),r=new Date,a={...t,createdAt:r,modifiedAt:r};return await i.save(a)}),"DevicePairingsRepository::createDevicePairing"):(i.warn({params:t},"DevicePairingsRepository::createDevicePairing missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"DevicePairingsRepository::createDevicePairing result"),i}async updateDevicePairing(e){this.logger.trace(e,"DevicePairingsRepository::updateDevicePairing started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.id&&(t?.values?.imeiMain||t?.values?.imeiSecondary||t?.values?.btmacMain||t?.values?.btmacSecondary||t?.values?.connectionType||t?.values?.pairingMode)?e.safeQuery((async e=>{const i=e.getRepository(Ti),r=new Date,a=i.createQueryBuilder().update(Ti).set({...t.values,modifiedAt:r}).where("id = :id",{id:t.filters.id});return(await a.execute()).affected>0}),"DevicePairingsRepository::updateDevicePairing"):(i.warn({params:t},"DevicePairingsRepository::updateDevicePairing missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"DevicePairingsRepository::updateDevicePairing result"),i}async deleteDevicePairing(e){this.logger.trace(e,"DevicePairingsRepository::deleteDevicePairing started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.id?e.safeQuery((async e=>{const i=e.getRepository(Ti).createQueryBuilder().delete().where("id = :id",{id:t.filters.id});return(await i.execute()).affected>0}),"DevicePairingsRepository::deleteDevicePairing"):(i.warn({params:t},"DevicePairingsRepository::deleteDevicePairing - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"DevicePairingsRepository::deleteDevicePairing result"),i}}const Hn=async(e,t,i)=>t?.deviceTypeId&&t?.deviceIdentifier?e.safeQuery((async e=>{const i=e.getRepository(Pe),r=await i.createQueryBuilder().where("id = :deviceTypeId",{deviceTypeId:t.deviceTypeId}).getOne();return r?`${r.identifierType}#${t.deviceIdentifier}`:null}),"DevicesRepository::generateDeviceIdentifierKey"):(i.warn({params:t},"DevicesRepository::generateDeviceIdentifierKey missing required parameters"),null);class Kn extends yn{async getDevice(e){this.logger.trace(e,"DevicesRepository::getDevice started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imei||t?.filters?.id?e.safeQuery((async e=>{let i=e.getRepository(xe).createQueryBuilder("device");return t.filters.id&&(i=i.where("device.id = :id",{id:t.filters.id})),t.filters.imei&&(i=i.andWhere("device.imei = :imei",{imei:t.filters.imei})),t.projectionOptions.withDeviceType&&(i=i.leftJoinAndSelect("device.deviceType","deviceType")),t.projectionOptions.withIccidCarrier&&(i=i.leftJoinAndMapOne("device.iccidCarrier",hr,"iccidCarrier","device.imei = iccidCarrier.imei"),i=i.leftJoinAndMapOne("iccidCarrier.serviceProvider",Yr,"serviceProvider","iccidCarrier.carrier = serviceProvider.id")),t.projectionOptions.withClientDeviceSettings&&(i=i.leftJoinAndMapOne("device.clientDeviceSetting",ri,"clientDeviceSetting","device.imei = clientDeviceSetting.imei and device.clientId = clientDeviceSetting.clientId")),await i.getOne()}),"DevicesRepository::getDevice"):(i.warn({params:t},"DevicesRepository::getDevice missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::getDevice result"),i}async getDevices(e){this.logger.trace(e,"DevicesRepository::getDevices started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.deviceTypeId||t?.filters?.clientId||t?.filters?.imeiList?.length||t?.filters?.status?e.safeQuery((async e=>{let i=e.getRepository(xe).createQueryBuilder("device");return t.filters.clientId&&(i=i.where("device.clientId = :clientId",{clientId:t.filters.clientId})),t.filters.deviceTypeId&&(i=i.andWhere("device.deviceTypeId = :deviceTypeId",{deviceTypeId:t.filters.deviceTypeId})),t.filters.status&&(i=i.andWhere("device.status = :status",{status:t.filters.status})),t.filters.imeiList?.length&&(i=i.andWhere("device.imei IN (:...imeiList)",{imeiList:t.filters.imeiList})),t.projectionOptions.withDeviceType&&(i=i.leftJoinAndSelect("device.deviceType","deviceType")),t.projectionOptions.withIccidCarrier&&(i=i.leftJoinAndMapOne("device.iccidCarrier",hr,"iccidCarrier","device.imei = iccidCarrier.imei"),i=i.leftJoinAndMapOne("iccidCarrier.serviceProvider",Yr,"serviceProvider","iccidCarrier.carrier = serviceProvider.id")),t.projectionOptions.withClientDeviceSettings&&(i=i.leftJoinAndMapOne("device.clientDeviceSetting",ri,"clientDeviceSetting","device.imei = clientDeviceSetting.imei and device.clientId = clientDeviceSetting.clientId")),await i.getMany()}),"DevicesRepository::getDevices"):(i.warn({params:t},"DevicesRepository::getDevices missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::getDevices result"),i}async getFilteredImeisWithStatus(e){this.logger.trace(e,"DevicesRepository::getFilteredImeisWithStatus started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imeiList?.length||t?.filters?.status?e.safeQuery((async e=>{const i=e.getRepository(xe).createQueryBuilder("device").where("imei IN (:...imeiList)",{imeiList:t.filters.imeiList}).andWhere("status = :status",{status:t.filters.status});return(await i.select("imei").getRawMany()).map((e=>e.imei))}),"DevicesRepository::getFilteredImeisWithStatus"):(i.warn({params:t},"DevicesRepository::getFilteredImeisWithStatus missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::getFilteredImeisWithStatus result"),i}async createDevice(e){this.logger.trace(e,"DevicesRepository::createDevice started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.imei||!t?.clientId||0===t?.clientId||!t?.deviceTypeId)return i.warn({params:t},"DevicesRepository::createDevice missing required parameters"),null;const r=t.identifier||t.imei,a=await Hn(e,{deviceTypeId:t.deviceTypeId,deviceIdentifier:r},i);return a?e.safeQuery((async e=>{const i=e.getRepository(xe),n=new Date,o={...t,identifier:r,identifierKey:a,modifiedBy:t.createdBy,createdAt:n,modifiedAt:n};return await i.save(o)}),"DevicesRepository::createDevice"):null})(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::createDevice result"),i}async updateDevice(e){this.logger.trace(e,"DevicesRepository::updateDevice started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.imei)return i.warn({params:t},"DevicesRepository::updateDevice missing required parameters"),!1;if(!(t?.values?.clientId||t?.values?.deviceTypeId||t?.values?.iccid||t?.values?.name||t?.values?.color||t?.values?.icon||t?.values?.status||null!=t?.values?.forward||t?.values?.description||t?.values?.dataSourceTypeId||t?.values?.assetCategoryId||t?.values?.usageRegion||t?.values?.btmac))return i.warn({params:t},"DevicesRepository::updateDevice missing required parameters"),!1;let r;if(t.values.deviceTypeId){const a=t.filters.imei;if(r=await Hn(e,{deviceTypeId:t.values.deviceTypeId,deviceIdentifier:a},i),!r)return!1}return e.safeQuery((async e=>{const i=e.getRepository(xe),a=new Date;let n=i.createQueryBuilder().update(xe).set({...t.values,identifierKey:r,modifiedAt:a}).where("imei = :imei",{imei:t.filters.imei});return t.filters.status&&(n=n.andWhere("status = :status",{status:t.filters.status})),(await n.execute()).affected>0}),"DevicesRepository::updateDevice")})(t,e,this.logger);return this.logger.trace({result:i},"DevicesRepository::updateDevice result"),i}async deleteDevice(e){this.logger.trace(e,"DevicesRepository::deleteDevice started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imei?e.safeQuery((async e=>{const i=e.getRepository(xe);return(await i.createQueryBuilder().delete().where("imei = :imei",{imei:t.filters.imei}).execute()).affected>0}),"DevicesRepository::deleteDevice"):(i.warn({params:t},"DevicesRepository::deleteDevice - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"DevicesRepository::deleteDevice result"),i}async generateDeviceIdentifierKey(e){this.logger.trace(e,"DevicesRepository::generateDeviceIdentifierKey started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await Hn(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::generateDeviceIdentifierKey result"),i}async getDeviceTypes(e){this.logger.trace(e,"DevicesRepository::getDeviceTypes started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t)=>e.safeQuery((async e=>{let i=e.getRepository(Pe).createQueryBuilder("deviceType");return t?.filters?.deviceTypeIdList?.length&&(i=i.where("deviceType.id IN (:...deviceTypeIdList)",{deviceTypeIdList:t.filters.deviceTypeIdList})),t?.filters?.brand&&(i=i.andWhere("LOWER(deviceType.brand) = LOWER(:brand)",{brand:t.filters.brand})),t?.filters?.model&&(i=i.andWhere("LOWER(deviceType.model) = LOWER(:model)",{model:t.filters.model})),t?.filters?.onlyWithRelatedIccidCarrier&&(i=i.innerJoin(hr,"iccidCarrier","deviceType.id = iccidCarrier.deviceTypeId").groupBy("deviceType.id")),i=i.orderBy("deviceType.id"),await i.getMany()}),"DevicesRepository::getDeviceTypes"))(t,e);return this.logger.trace(i,"DevicesRepository::getDeviceTypes result"),i}async getImeiIccidCarrier(e){this.logger.trace(e,"DevicesRepository::getImeiIccidCarrier started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imei||t?.filters?.iccid?e.safeQuery((async e=>{let i=e.getRepository(hr).createQueryBuilder("imeiIccidCarrier");return t?.filters?.imei&&(i=i.where("imeiIccidCarrier.imei = :imei",{imei:t.filters.imei})),t?.filters?.iccid&&(i=i.andWhere("imeiIccidCarrier.iccid = :iccid",{iccid:t.filters.iccid})),await i.getOne()}),"DevicesRepository::getImeiIccidCarrier"):(i.warn({params:t},"DevicesRepository::getImeiIccidCarrier missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::getImeiIccidCarrier result"),i}async getDeviceTypeByImei(e){this.logger.trace(e,"DevicesRepository::getDeviceTypeByImei started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imei?e.safeQuery((async e=>{const i=e.getRepository(Pe).createQueryBuilder("deviceType").innerJoin(hr,"imeiIccidCarrier","deviceType.id = imeiIccidCarrier.deviceTypeId").where("imeiIccidCarrier.imei = :imei",{imei:t.filters.imei});return await i.getOne()}),"DevicesRepository::getDeviceTypeByImei"):(i.warn({params:t},"DevicesRepository::getDeviceTypeByImei - missing imei parameter"),null))(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::getDeviceTypeByImei result"),i}async getImeiIccidCarriers(e){this.logger.trace(e,"DevicesRepository::getImeiIccidCarriers started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imeiList?.length?e.safeQuery((async e=>{const i=e.getRepository(hr).createQueryBuilder("imeiIccidCarrier").where("imeiIccidCarrier.imei IN (:...imeiList)",{imeiList:t.filters.imeiList});return await i.getMany()}),"DevicesRepository::getImeiIccidCarriers"):(i.warn({params:t},"DevicesRepository::getImeiIccidCarriers missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::getImeiIccidCarriers result"),i}async updateImeiIccidCarrier(e){this.logger.trace(e,"DevicesRepository::updateImeiIccidCarrier started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>(t?.filters?.imei||t?.filters?.iccid)&&(t?.values?.carrier||t?.values?.phone||t?.values?.deviceTypeId||t?.values?.serviceProviderProductId||null!=t?.values?.isValid||t?.values?.model||t?.values?.realModel||t?.values?.po||null!=t?.values?.outOfInventory||t?.values?.apn||null!=t?.values?.itsEsim||t?.values?.btmac)?e.safeQuery((async e=>{const i=e.getRepository(hr),r=new Date;let a=i.createQueryBuilder().update(hr).set({...t.values,modifiedAt:r});return t.filters.imei&&(a=a.where("imei = :imei",{imei:t.filters.imei})),t.filters.iccid&&(a=a.andWhere("iccid = :iccid",{iccid:t.filters.iccid})),(await a.execute()).affected>0}),"DevicesRepository::updateImeiIccidCarrier"):(i.warn({params:t},"DevicesRepository::updateImeiIccidCarrier missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"DevicesRepository::updateImeiIccidCarrier result"),i}async getClientDeviceSetting(e){this.logger.trace(e,"DevicesRepository::getClientDeviceSetting with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imei&&t?.filters?.clientId?e.safeQuery((async e=>{const i=e.getRepository(ri).createQueryBuilder("clientDeviceSetting").where("clientDeviceSetting.imei = :imei",{imei:t.filters.imei}).andWhere("clientDeviceSetting.clientId = :clientId",{clientId:t.filters.clientId});return await i.getOne()}),"DevicesRepository::getClientDeviceSetting"):(i.warn({params:t},"DevicesRepository::getClientDeviceSetting missing required parameters"),null))(t,e,this.logger);return this.logger.info(i,"DevicesRepository::getClientDeviceSetting result"),i}async getClientDeviceSettings(e){this.logger.trace(e,"DevicesRepository::getClientDeviceSettings started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.clientId?e.safeQuery((async e=>{const i=e.getRepository(ri).createQueryBuilder("clientDeviceSetting").where("clientDeviceSetting.clientId = :clientId",{clientId:t.filters.clientId});return await i.getMany()}),"DevicesRepository::getClientDeviceSettings"):(i.warn({params:t},"DevicesRepository::getClientDeviceSettings missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::getClientDeviceSettings result"),i}async createClientDeviceSetting(e){this.logger.trace(e,"DevicesRepository::createClientDeviceSetting started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.imei&&t?.clientId?e.safeQuery((async e=>{const i=e.getRepository(ri),r={id:t.id,imei:t.imei,clientId:t.clientId,generateTrips:t.generateTrips??!0,movingPingFrequency:t.movingPingFrequency,stoppedPingFrequency:t.stoppedPingFrequency,fixedStatus:t.fixedStatus,stopThresholdMinutes:t.stopThresholdMinutes,offlineThresholdMinutes:t.offlineThresholdMinutes,movementThresholdSpeed:t.movementThresholdSpeed,externalBatteryInformation:t.externalBatteryInformation};return await i.save(r)}),"DevicesRepository::createClientDeviceSetting"):(i.warn({params:t},"DevicesRepository::createClientDeviceSetting missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::createClientDeviceSetting result"),i}async updateClientDeviceSetting(e){this.logger.trace(e,"DevicesRepository::updateClientDeviceSetting started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imei&&t?.filters?.clientId&&(null!=t?.values?.generateTrips||t?.values?.movingPingFrequency||t?.values?.stoppedPingFrequency||t?.values?.fixedStatus||t?.values?.stopThresholdMinutes||t?.values?.offlineThresholdMinutes||t?.values?.movementThresholdSpeed||null!=t?.values?.externalBatteryInformation)?e.safeQuery((async e=>{const i=e.getRepository(ri).createQueryBuilder().update(ri).set({generateTrips:t.values.generateTrips,movingPingFrequency:t.values.movingPingFrequency,stoppedPingFrequency:t.values.stoppedPingFrequency,fixedStatus:t.values.fixedStatus,stopThresholdMinutes:t.values.stopThresholdMinutes,offlineThresholdMinutes:t.values.offlineThresholdMinutes,movementThresholdSpeed:t.values.movementThresholdSpeed,externalBatteryInformation:t.values.externalBatteryInformation}).where("imei = :imei",{imei:t.filters.imei}).andWhere("clientId = :clientId",{clientId:t.filters.clientId});return(await i.execute()).affected>0}),"DevicesRepository::updateClientDeviceSetting"):(i.warn({params:t},"DevicesRepository::updateClientDeviceSetting missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"DevicesRepository::updateClientDeviceSetting result"),i}async getDeviceTypesModelsOrderedByDeviceCount(e){this.logger.trace(e,"DevicesRepository::getDeviceTypesOrderedByDeviceCount started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t)=>e.safeQuery((async e=>{let i=e.getRepository(Pe).createQueryBuilder("dt").leftJoin(xe,"d","d.deviceTypeId = dt.id").select(["dt.id as id","dt.model as model","dt.protocol as protocol","dt.protocolMatch as protocolMatch"]).addSelect("COUNT(d.id)","deviceCount");return t?.filters?.deviceStatus&&(i=i.where("d.status = :deviceStatus",{deviceStatus:t.filters.deviceStatus})),i=i.groupBy("dt.id").orderBy("deviceCount","DESC"),(await i.getRawMany()).map((e=>({...e,deviceCount:parseInt(e.deviceCount,10)})))}),"DevicesRepository::getDeviceTypesModelsOrderedByDeviceCount"))(t,e);return this.logger.trace({result:i},"DevicesRepository::getDeviceTypesOrderedByDeviceCount result"),i}async getDeviceCustomConfigs(e){this.logger.trace(e,"DevicesRepository::getDeviceCustomConfig started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.clientId||t?.filters?.imei||t?.filters?.po?e.safeQuery((async e=>{let i=e.getRepository(Fe).createQueryBuilder("deviceCustomConfiguration");return t?.filters?.imei&&(i=i.orWhere("(LOWER(deviceCustomConfiguration.imei) = LOWER(:imei) AND deviceCustomConfiguration.clientId IS NULL AND (deviceCustomConfiguration.po IS NULL OR deviceCustomConfiguration.po = ''))",{imei:t.filters.imei})),t?.filters?.po&&(i=i.orWhere("(LOWER(deviceCustomConfiguration.po) = LOWER(:po) AND deviceCustomConfiguration.clientId IS NULL AND (deviceCustomConfiguration.imei IS NULL OR deviceCustomConfiguration.imei = ''))",{po:t.filters.po})),t?.filters?.clientId&&(i=i.orWhere("deviceCustomConfiguration.clientId = :clientId AND (deviceCustomConfiguration.po IS NULL OR deviceCustomConfiguration.po = '') AND (deviceCustomConfiguration.imei IS NULL OR deviceCustomConfiguration.imei = '')",{clientId:t.filters.clientId})),i=t?.filters?.deviceTypeId?i.andWhere("(deviceCustomConfiguration.deviceTypeId = :deviceTypeId OR deviceCustomConfiguration.deviceTypeId IS NULL)",{deviceTypeId:t.filters.deviceTypeId}):i.andWhere("deviceCustomConfiguration.deviceTypeId IS NULL"),i=i.orderBy("deviceCustomConfiguration.id"),await i.getMany()}),"DevicesRepository::getDeviceCustomConfig"):(i.warn({params:t},"DevicesRepository::getDeviceCustomConfig missing required params"),[]))(t,e,this.logger);return this.logger.trace({result:i},"DevicesRepository::getDeviceCustomConfig result"),i}async createDeviceReplacement(e){this.logger.trace(e,"DevicesRepository::createDeviceReplacement started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.imeiOld&&t?.imeiNew&&t?.iccidNew&&t?.iccidOld&&t?.userId&&t?.clientId&&0!==t?.clientId))return i.warn({params:t},"DevicesRepository::createDeviceReplacement missing required parameters"),null;const r=vn(t?.userId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(ki),a={id:t.id,imeiOld:t.imeiOld,imeiNew:t.imeiNew,iccidOld:t.iccidOld,iccidNew:t.iccidNew,userId:r,clientId:t.clientId,createAt:new Date};return await i.save(a)}),"DevicesRepository::createDeviceReplacement"):(i.warn({params:t},"DevicesRepository::createDeviceReplacement - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::createDeviceReplacement result"),i}async getIccidStatus(e){this.logger.trace(e,"DevicesRepository::getIccidStatus started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.iccid?e.safeQuery((async e=>{const i=e.getRepository(gr).createQueryBuilder("iccidStatus").where("iccidStatus.iccid = :iccid",{iccid:t.filters.iccid});return await i.getOne()}),"DevicesRepository::getIccidStatus"):(i.warn({params:t},"DevicesRepository::getIccidStatus missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::getIccidStatus result"),i}async updateIccidStatus(e){this.logger.trace(e,"DevicesRepository::updateIccidStatus started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.iccid&&(t?.values?.status||null!=t?.values?.processing||t?.values?.carrierFound)?e.safeQuery((async e=>{const i=e.getRepository(gr).createQueryBuilder("iccidStatus").update(gr).set({status:t.values.status,processing:t.values.processing,carrierFound:t.values.carrierFound}).where("iccid = :iccid",{iccid:t.filters.iccid});return(await i.execute()).affected>0}),"DevicesRepository::updateIccidStatus"):(i.warn({params:t},"DevicesRepository::updateIccidStatus missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"DevicesRepository::updateIccidStatus result"),i}async getCanceledDevicesWithActiveSimCards(e){this.logger.trace(e,"DevicesRepository::getCanceledDevicesWithActiveSimCards started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.lastAnalyzedDeviceId&&t?.pagingOptions?.limit?e.safeQuery((async e=>{const i=e.getRepository(Yr),r=await i.find(),a=e.getRepository(xe).createQueryBuilder("device").innerJoin(gr,"iccidStatus","device.iccid = iccidStatus.iccid").innerJoin(hr,"imeiIccidCarrier","device.iccid = imeiIccidCarrier.iccid").where("device.status = :deviceStatus",{deviceStatus:"D"}).andWhere("device.id > :lastAnalyzedDeviceId",{lastAnalyzedDeviceId:t.filters.lastAnalyzedDeviceId}).andWhere("iccidStatus.status = :iccidStatus",{iccidStatus:"active"}).select(["device.imei as imei","device.iccid as iccid","device.clientId as clientId","imeiIccidCarrier.carrier as carrierId","device.id as deviceId"]).orderBy("device.id","ASC").limit(t.pagingOptions.limit);return(await a.getRawMany()).map((e=>({imei:e.imei,iccid:e.iccid,clientId:e.clientId,carrier:r?.find((t=>t.id===e.carrierId))?.name||"Unknown Carrier",deviceId:e.deviceId})))}),"DevicesRepository::getCanceledDevicesWithActiveSimCards"):(i.warn({params:t},"DevicesRepository::getCanceledDevicesWithActiveSimCards missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::getCanceledDevicesWithActiveSimCards result"),i}async getCarrierStatusUpdatedBefore(e){this.logger.trace(e,"DevicesRepository::getCarrierStatusUpdatedBefore started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.beforeDate&&t?.pagingOptions?.limit?e.safeQuery((async e=>{const i=e.getRepository(gr).createQueryBuilder("iccidStatus").innerJoin(hr,"imeiIccidCarrier","iccidStatus.iccid = imeiIccidCarrier.iccid").where("iccidStatus.modifiedAt < :beforeDate",{beforeDate:t.filters.beforeDate}).andWhere("coalesce(iccidStatus.processing, false) <> :processing",{processing:!0}).andWhere("iccidStatus.status <> :status",{status:"not found in carrier"}).select(["imeiIccidCarrier.carrier as carrier","iccidStatus.iccid as iccid","iccidStatus.status as status","iccidStatus.processing as processing","iccidStatus.carrierFound as carrierFound","iccidStatus.modifiedAt as modifiedAt"]).orderBy("iccidStatus.modifiedAt","ASC").addOrderBy("iccidStatus.iccid","ASC").limit(t.pagingOptions.limit);return(await i.getRawMany()).map((e=>({carrier:e.carrier,iccid:e.iccid,status:e.status,processing:null!=e.processing?1===e.processing:null,carrierFound:e.carrierFound,modifiedAt:e.modifiedAt})))}),"DevicesRepository::getCarrierStatusUpdatedBefore"):(i.warn({params:t},"DevicesRepository::getCarrierStatusUpdatedBefore missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::getCarrierStatusUpdatedBefore result"),i}async upsertIccidStatus(e){this.logger.trace(e,"DevicesRepository::upsertIccidStatus started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.values.iccid&&(t?.options?.updateProcessing||t?.values?.status&&t?.values?.carrierFound)?e.safeQuery((async e=>{const i=e.getRepository(gr),r=null!=t.values.status?{iccid:t.values.iccid,status:t.values.status,modifiedAt:new Date,processing:!t.options?.updateProcessing&&void 0,carrierFound:t.values.carrierFound}:{iccid:t.values.iccid,status:void 0,modifiedAt:void 0,processing:!!t.options?.updateProcessing||void 0,carrierFound:t.values.carrierFound},a=await i.upsert(r,{conflictPaths:["iccid"]});return a?.raw?.affectedRows>0}),"DevicesRepository::upsertIccidStatus"):(i.warn({params:t},"DevicesRepository::upsertIccidStatus missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"DevicesRepository::upsertIccidStatus result"),i}async getDeviceWithUsersInfo(e){this.logger.trace(e,"DevicesRepository::getDeviceWithUsersInfo started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imei?e.safeQuery((async e=>{const i=e.getRepository(xe).createQueryBuilder("device").innerJoin(hr,"iccidCarrier","device.imei = iccidCarrier.imei").innerJoin(it,"user","device.clientId = user.clientId").innerJoin(on,"userSecurityRole","user.id = userSecurityRole.userId").innerJoin($r,"securityRole","userSecurityRole.securityRoleId = securityRole.id").innerJoin($e,"userAlertConfiguration","user.id = userAlertConfiguration.userId").leftJoin(ut,"billing","device.imei = billing.imei").innerJoin(re,"alertType","userAlertConfiguration.alertTypeId = alertType.id and alertType.id < 6").innerJoin(Na,"userActivationDevice","device.imei = userActivationDevice.imei and userActivationDevice.id = (\n select userActivationDevice.id from userActivationDevice where userActivationDevice.imei = :imei \n order by userActivationDevice.id desc limit 1)\n ",{imei:t.filters.imei.toLowerCase()}).leftJoin(Tr,"latestPosition","device.imei = latestPosition.imei").where("device.imei = :imei",{imei:t.filters.imei.toLowerCase()}).orderBy("user.createdAt, userAlertConfiguration.alertTypeId","DESC").select(["user.firstName as firstName","user.lastName as lastName","user.userName as username","user.email as email","latestPosition.createdAt as latestPositionCreatedAt","latestPosition.actualDate as latestPositionActualDate","latestPosition.lat as latestPositionLatitude","latestPosition.lon as latestPositionLongitude","latestPosition.odometer latestPositionOdometer","latestPosition.speed as latestPositionSpeed","device.status as deviceStatus","device.name as deviceName","iccidCarrier.iccid as iccid","alertType.name as alertName","userAlertConfiguration.alertValue as alertValue","userAlertConfiguration.smsNotification as smsNotification","userAlertConfiguration.emailNotification as emailNotification","userActivationDevice.servicePlan as servicePlan","securityRole.name as roleName","billing.subscriptionId as subscriptionId"]);return(await i.getRawMany()).map((e=>({...e,firstName:void 0,lastName:void 0,clientName:e.firstName?.length&&e.lastName?.length?`${e.firstName} ${e.lastName}`:e.firstName||e.lastName||"",smsNotification:1===e.smsNotification,emailNotification:1===e.emailNotification})))}),"DevicesRepository::getDeviceWithUsersInfo"):(i.warn({params:t},"DevicesRepository::getDeviceWithUsersInfo missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::getDeviceWithUsersInfo result"),i}async createDeviceType(e){this.logger.trace(e,"DevicesRepository::createDeviceType started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.brand&&t?.model&&t?.modelFamily&&t?.identifierType?e.safeQuery((async e=>{const i=e.getRepository(Pe),r={...t};return await i.save(r)}),"DevicesRepository::createDeviceType"):(i.warn({params:t},"DevicesRepository::createDeviceType missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::createDeviceType result"),i}async updateDeviceType(e){this.logger.trace(e,"DevicesRepository::updateDeviceType started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.id?t?.values?.brand||t?.values?.model||t?.values?.modelFamily||t?.values?.identifierType||t?.values?.description||t?.values?.tags||t?.values?.url||t?.values?.name||t?.values?.pictureUrl||t?.values?.userManualUrl||t?.values?.notes||null!=t?.values?.supported||null!=t?.values?.activatable||null!=t?.values?.selfActivatable||t?.values?.port||t?.values?.protocolMatch||t?.values?.stage||t?.values?.landingPage||t?.values?.troubleshooting||t?.values?.protocol?e.safeQuery((async e=>{const i=e.getRepository(Pe).createQueryBuilder("deviceType").update(Pe).set({...t.values}).where("id = :id",{id:t.filters.id});return(await i.execute()).affected>0}),"DevicesRepository::updateDeviceType"):(i.warn({params:t},"DevicesRepository::updateIccidStatus missing required parameters"),!1):(i.warn({params:t},"DevicesRepository::updateDeviceType missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"DevicesRepository::updateDeviceType result"),i}}class zn extends yn{async getDeviceFirmwares(e){this.logger.trace("FirmwaresRepository::getDeviceFirmwares started");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t)=>e.safeQuery((async e=>{let i=e.getRepository(zi).createQueryBuilder("deviceTypeFirmware");return t?.filters?.deviceTypeId&&(i=i.andWhere("deviceTypeFirmware.deviceTypeId = :deviceTypeId",{deviceTypeId:t.filters.deviceTypeId})),t?.filters?.firmwareId&&(i=i.andWhere("deviceTypeFirmware.id = :firmwareId",{firmwareId:t.filters.firmwareId})),t?.projectionOptions?.withDeviceType&&(i=i.leftJoinAndSelect("deviceTypeFirmware.deviceType","deviceType")),i=i.orderBy("deviceTypeFirmware.releaseDate","DESC"),await i.getMany()}),"FirmwaresRepository::getDeviceFirmwares"))(t,e);return this.logger.trace(i,"FirmwaresRepository::getDeviceFirmwares result"),i}async createDeviceFirmware(e){this.logger.trace("FirmwaresRepository::createDeviceFirmware started");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.deviceTypeId&&t?.firmwareCode&&t?.firmwareVersion&&t?.firmwareUrl&&t?.releaseDate&&t?.description&&null!=t?.enabled&&t?.upgradeType?await e.safeQuery((async e=>{const i=e.getRepository(zi),r={id:t.id,deviceTypeId:t.deviceTypeId,description:t.description,enabled:t.enabled,firmwareCode:t.firmwareCode,firmwareVersion:t.firmwareVersion,firmwareUrl:t.firmwareUrl,releaseDate:t.releaseDate,sourceFirmwareVersion:t.sourceFirmwareVersion,upgradeType:t.upgradeType,stage:t.stage,postUpgradeConfig:t.postUpgradeConfig,parentId:t.parentId,maxDeployPercentage:t.maxDeployPercentage,qmsRate:t.qmsRate,pendingTimeout:t.pendingTimeout};return await i.save(r)}),"FirmwaresRepository::createDeviceFirmware"):(i.warn({params:t},"FirmwaresRepository::createDeviceFirmware incorrect params"),null))(t,e,this.logger);return this.logger.trace(i,"FirmwaresRepository::createDeviceFirmware result"),i}async createFirmwareUpgradeTask(e){this.logger.trace("FirmwaresRepository::createFirmwareUpgradeTask started");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>(e=>!e?.id||!e?.deviceTypeFirmwareId||!e?.clientId||e.clientId<=0||!e.imei||!e?.status)(t)?(i.warn({params:t},"FirmwaresRepository::createFirmwareUpgradeTask incorrect params"),null):await e.safeQuery((async e=>{const i=e.getRepository(pr),r=new Date,a={id:vn(t.id),deviceTypeFirmwareId:t.deviceTypeFirmwareId,clientId:t.clientId,imei:t.imei,status:t.status,behaviorName:t.behaviorName,behaviorParams:t.behaviorParams,createdAt:t.createdAt??r,modifiedAt:t.modifiedAt??r,preConfig:t.preConfig,postConfig:t.postConfig,commandsTaskId:t.commandsTaskId,postUpgradeCompleted:t.postUpgradeCompleted,fwCompletedOn:null};return await i.save(a)}),"FirmwaresRepository::createFirmwareUpgradeTask"))(t,e,this.logger);return this.logger.trace(i,"FirmwaresRepository::createFirmwareUpgradeTask result"),i}async getFirmwareUpgradeTasks(e){this.logger.trace("FirmwaresRepository::getFirmwareUpgradeTasks started");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>(e=>!(e?.filters?.firmwareId||e?.filters?.taskId||e?.filters?.statuses?.length||e?.filters?.imeis?.length))(t)?(i.warn({params:t},"FirmwaresRepository::getFirmwareUpgradeTasks incorrect params"),null):await e.safeQuery((async e=>{let i=e.getRepository(pr).createQueryBuilder("firmwareUpgradeTask");return i=await(async(e,t)=>(e?.filters?.imeis?.length&&(t=t.andWhere("firmwareUpgradeTask.imei IN (:...imeis)",{imeis:e.filters.imeis})),t))(t,i),i=((e,t)=>(e?.filters?.statuses&&(t=t.andWhere("firmwareUpgradeTask.status IN (:...statuses)",{statuses:e.filters.statuses})),t))(t,i),i=((e,t)=>(e?.filters?.firmwareId&&(t=t.andWhere("firmwareUpgradeTask.deviceTypeFirmwareId = :deviceTypeFirmwareId",{deviceTypeFirmwareId:e.filters.firmwareId})),e?.filters?.firmwareIds?.length&&(t=t.andWhere("firmwareUpgradeTask.deviceTypeFirmwareId IN (:...deviceTypeFirmwareIds)",{deviceTypeFirmwareIds:e.filters.firmwareIds})),t))(t,i),i=((e,t)=>(e?.filters?.taskId&&(t=t.andWhere("firmwareUpgradeTask.id = :id",{id:vn(e.filters.taskId)})),t))(t,i),i=((e,t)=>(e?.projectionOptions?.withDeviceFirmware&&(t=t.leftJoinAndSelect("firmwareUpgradeTask.deviceTypeFirmware","deviceTypeFirmware")),t))(t,i),i=((e,t)=>(e?.projectionOptions?.withDevice&&(t=t.leftJoinAndMapOne("firmwareUpgradeTask.device",xe,"device","firmwareUpgradeTask.imei = device.imei"),e?.projectionOptions?.deviceWithDeviceType&&(t=t.leftJoinAndMapOne("device.deviceType",Pe,"deviceType","device.deviceTypeId = deviceType.id"))),t))(t,i),i=((e,t)=>(e?.filters?.startDate&&e?.filters?.endDate&&e?.filters?.endDate>e?.filters?.startDate&&(t=t.andWhere("firmwareUpgradeTask.modifiedAt between :modifiedFrom and :modifiedTo",{modifiedFrom:e.filters.startDate,modifiedTo:e.filters.endDate})),t))(t,i),i=((e,t)=>(!0!==e?.filters?.postUpgradeCompleted&&!1!==e?.filters?.postUpgradeCompleted||(t=t.andWhere("firmwareUpgradeTask.postUpgradeCompleted = :postUpgradeCompleted",{postUpgradeCompleted:e.filters.postUpgradeCompleted})),t))(t,i),i=i.orderBy("firmwareUpgradeTask.modifiedAt","DESC"),t?.pagingOptions?.offset&&(i=i.offset(t?.pagingOptions?.offset)),i=i.limit(t?.pagingOptions?.limit??100),await i.getMany()}),"FirmwaresRepository::getFirmwareUpgradeTasks"))(t,e,this.logger);return this.logger.trace(i,"FirmwaresRepository::getFirmwareUpgradeTasks result"),i}async getFirmwareUpgradeTasksCount(e){this.logger.trace("FirmwaresRepository::getFirmwareUpgradeTasksCount started");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>(e=>!(e?.filters?.firmwareId||e?.filters?.taskId||e?.filters?.statuses?.length||e?.filters?.imeis?.length))(t)?(i.warn({params:t},"FirmwaresRepository::getFirmwareUpgradeTasksCount incorrect params"),0):await e.safeQuery((async e=>{let i=e.getRepository(pr).createQueryBuilder("firmwareUpgradeTask");return i=await(async(e,t)=>(e?.filters?.imeis?.length&&(t=t.andWhere("firmwareUpgradeTask.imei IN (:...imeis)",{imeis:e.filters.imeis})),t))(t,i),i=((e,t)=>(e?.filters?.statuses&&(t=t.andWhere("firmwareUpgradeTask.status IN (:...statuses)",{statuses:e.filters.statuses})),t))(t,i),i=((e,t)=>(e?.filters?.firmwareId&&(t=t.andWhere("firmwareUpgradeTask.deviceTypeFirmwareId = :deviceTypeFirmwareId",{deviceTypeFirmwareId:e.filters.firmwareId})),t))(t,i),i=((e,t)=>(e?.filters?.taskId&&(t=t.andWhere("firmwareUpgradeTask.id = :id",{id:vn(e.filters.taskId)})),t))(t,i),await i.getCount()}),"FirmwaresRepository::getFirmwareUpgradeTasksCount"))(t,e,this.logger);return this.logger.trace({result:i},"FirmwaresRepository::getFirmwareUpgradeTasksCount result"),i}async updateFirmwareUpgradeTasks(e){this.logger.trace("FirmwaresRepository::updateFirmwareUpgradeTasks started");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.id&&(t?.behaviorName||t?.behaviorParams||t?.status||t?.preConfig||t?.postConfig||t?.commandsTaskId||null!=t?.postUpgradeCompleted||t?.fwCompletedOn)?await e.safeQuery((async e=>{const i=e.getRepository(pr),r=new Date,a=i.createQueryBuilder("firmwareUpgradeTask").update(pr).set({modifiedAt:r,behaviorName:t.behaviorName,behaviorParams:t.behaviorParams,status:t.status,preConfig:t.preConfig,postConfig:t.postConfig,commandsTaskId:t.commandsTaskId,postUpgradeCompleted:t.postUpgradeCompleted,fwCompletedOn:t.fwCompletedOn}).where("id = :id",{id:vn(t.id)});return(await a.execute()).affected>0}),"FirmwaresRepository::updateFirmwareUpgradeTasks"):(i.warn({params:t},"FirmwaresRepository::updateFirmwareUpgradeTasks incorrect params"),!1))(t,e,this.logger);return this.logger.trace({result:i},"FirmwaresRepository::updateFirmwareUpgradeTasks result"),i}async updateDeviceFirmware(e){this.logger.trace("FirmwaresRepository::updateDeviceFirmware started");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.id&&t?.deviceTypeId&&t?.firmwareCode&&t?.firmwareVersion&&t?.firmwareUrl&&t?.releaseDate&&t?.description&&null!=t?.enabled&&t?.upgradeType?await e.safeQuery((async e=>{const i=e.getRepository(zi);return(await i.createQueryBuilder().update(zi).set({deviceTypeId:t.deviceTypeId,description:t.description,enabled:t.enabled,firmwareCode:t.firmwareCode,firmwareVersion:t.firmwareVersion,firmwareUrl:t.firmwareUrl,releaseDate:t.releaseDate,sourceFirmwareVersion:t.sourceFirmwareVersion,upgradeType:t.upgradeType,stage:t.stage,postUpgradeConfig:t.postUpgradeConfig,parentId:t.parentId,maxDeployPercentage:t.maxDeployPercentage,qmsRate:t.qmsRate,pendingTimeout:t.pendingTimeout}).where("id = :id",{id:t.id}).execute()).affected>0}),"FirmwaresRepository::updateDeviceFirmware"):(i.warn({params:t},"FirmwaresRepository::updateDeviceFirmware incorrect params"),!1))(t,e,this.logger);return this.logger.trace({result:i},"FirmwaresRepository::updateDeviceFirmware result"),i}async createFirmwareAutoUpgradeBlacklist(e){this.logger.trace("FirmwaresRepository::createFirmwareAutoUpgradeBlacklist started");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.clientId?await e.safeQuery((async e=>{const i=e.getRepository(dr),r={deviceTypeId:t.deviceTypeId,clientId:t.clientId};return await i.save(r)}),"FirmwaresRepository::createFirmwareAutoUpgradeBlacklist"):(i.warn({params:t},"FirmwaresRepository::createFirmwareAutoUpgradeBlacklist incorrect params"),null))(t,e,this.logger);return this.logger.trace({result:i},"FirmwaresRepository::createFirmwareAutoUpgradeBlacklist result"),i}async getFirmwareAutoUpgradeBlacklist(e){this.logger.trace("FirmwaresRepository::getFirmwareAutoUpgradeBlacklist started");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>(e=>!e?.filters?.clientId)(t)?(i.warn({params:t},"FirmwaresRepository::getFirmwareAutoUpgradeBlacklist incorrect params"),null):await e.safeQuery((async e=>{let i=e.getRepository(dr).createQueryBuilder("firmwareAutoUpgradeBlacklist");return i=i.andWhere("firmwareAutoUpgradeBlacklist.clientId = :clientId",{clientId:t.filters.clientId}),t?.pagingOptions?.offset&&(i=i.offset(t?.pagingOptions?.offset)),i=i.limit(t?.pagingOptions?.limit??100),await i.getMany()}),"FirmwaresRepository::getFirmwareAutoUpgradeBlacklist"))(t,e,this.logger);return this.logger.trace({result:i},"FirmwaresRepository::getFirmwareAutoUpgradeBlacklist result"),i}}class _n extends yn{async createNotificationRecipient(e){this.logger.trace(e,"NotificationRecipientsRepository::createNotificationRecipient started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.clientId&&t?.userId&&t?.notificationType&&t?.recipient&&null!=t?.isEnabled&&null!=t?.isUserProfile))return i.warn({params:t},"NotificationRecipientsRepository::createNotificationRecipient - missing required parameters"),null;const r=vn(t?.userId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(Lr),a=new Date,n={id:t.id,userId:r,clientId:t.clientId,notificationType:t.notificationType,recipient:t.recipient,isEnabled:t.isEnabled,isUserProfile:t.isUserProfile,unsubscribed:t.unsubscribed,unsubscribedInfo:t.unsubscribedInfo,dataSourceTypeId:t.dataSourceTypeId,createdAt:a,modifiedAt:a};return await i.save(n)}),"NotificationRecipientsRepository::createNotificationRecipient"):(i.warn({params:t},"NotificationRecipientsRepository::createNotificationRecipient - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"NotificationRecipientsRepository::createNotificationRecipient result"),i}async getNotificationRecipients(e){this.logger.trace(e,"NotificationRecipientsRepository::getNotificationRecipients started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.clientId?e.safeQuery((async e=>{let i=e.getRepository(Lr).createQueryBuilder("notificationRecipient");return i=i.where("notificationRecipient.clientId = :clientId",{clientId:t.filters.clientId}),await i.getMany()}),"NotificationRecipientsRepository::getNotificationRecipients"):(i.warn({params:t},"NotificationRecipientsRepository::getNotificationRecipients - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"NotificationRecipientsRepository::getNotificationRecipients result"),i}async updateNotificationRecipient(e){this.logger.trace(e,"NotificationRecipientsRepository::updateNotificationRecipient started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.id&&(t?.values?.notificationType||t?.values?.recipient||null!=t?.values?.isEnabled||null!=t?.values?.isUserProfile||null!=t?.values?.unsubscribed||null!=t?.values?.unsubscribedInfo)?e.safeQuery((async e=>{const i=e.getRepository(Lr),r=new Date;let a=i.createQueryBuilder().update(Lr).set({notificationType:t?.values?.notificationType,recipient:t?.values?.recipient,isEnabled:t?.values?.isEnabled,isUserProfile:t?.values?.isUserProfile,unsubscribed:t?.values?.unsubscribed,unsubscribedInfo:t?.values?.unsubscribedInfo,modifiedAt:r});return a=a.where("id = :id",{id:t?.filters?.id}),(await a.execute()).affected>0}),"NotificationRecipientsRepository::updateNotificationRecipient"):(i.warn({params:t},"NotificationRecipientsRepository::updateNotificationRecipient - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"NotificationRecipientsRepository::updateNotificationRecipient result"),i}async updateUsersNotificationsUnsuscribedStatus(e){this.logger.trace(e,"NotificationRecipientsRepository::updateUsersNotificationsUnsuscribedStatus started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.userPhone&&t?.filters?.userCountryCode?null==t?.values?.unsubscribed?(i.warn({params:t},"NotificationRecipientsRepository::updateUsersNotificationsUnsuscribedStatus - missing required parameters"),!1):e.safeQuery((async e=>{const i=e.getRepository(Lr),r=new Date;return(await i.query("UPDATE notificationRecipient nr\n INNER JOIN user u ON u.id = nr.userId\n SET nr.unsubscribed = ?, nr.unsubscribedInfo = ?, nr.modifiedAt = ?\n WHERE nr.notificationType = ?\n AND (CASE nr.recipient\n WHEN 'phone' THEN u.telephone \n ELSE nr.recipient \n END) = REPLACE(?, (SELECT c.internationalDirectDialing FROM country c WHERE c.alpha2Code = ? LIMIT 1), '');",[t.values.unsubscribed,t.values.unsubscribedInfo,r,Pn.Phone,t.filters.userPhone,t.filters.userCountryCode])).affectedRows>0}),"NotificationRecipientsRepository::updateUsersNotificationsUnsuscribedStatus"):(i.warn({params:t},"NotificationRecipientsRepository::updateUsersNotificationsUnsuscribedStatus - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"NotificationRecipientsRepository::updateUsersNotificationsUnsuscribedStatus result"),i}async updateUsersNotificationsUnsubscribedInfoStatus(e){this.logger.trace(e,"NotificationRecipientsRepository::updateUsersNotificationsUnsuscribedStatus started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>!t?.filters?.recipient||t?.filters?.notificationType==Pn.Phone&&!t?.filters?.countryCode||null==t?.values?.unsubscribed||null==t?.values.unsubscribedInfo?(i.warn({params:t},"NotificationRecipientsRepository::updateUsersNotificationsUnsuscribedStatus - missing required parameters"),null):e.safeQuery((async e=>{const r=e.getRepository(Lr),a=new Date;let n,o,s,l;switch(t?.filters?.notificationType){case Pn.Phone:o="SELECT \n nr.userId\n FROM notificationRecipient nr\n INNER JOIN user u ON u.id = nr.userId\n WHERE nr.notificationType = ?\n AND (CASE nr.recipient\n WHEN 'phone' THEN u.telephone \n ELSE nr.recipient \n END) = REPLACE(?, (SELECT c.internationalDirectDialing FROM country c WHERE c.alpha2Code = ? LIMIT 1), '');",l=[Pn.Phone,t.filters.recipient,t.filters.countryCode],n="UPDATE notificationRecipient nr\n INNER JOIN user u ON u.id = nr.userId\n SET nr.unsubscribed = ?, nr.unsubscribedInfo = ?, nr.modifiedAt = ?\n WHERE nr.notificationType = ?\n AND (CASE nr.recipient\n WHEN 'phone' THEN u.telephone \n ELSE nr.recipient \n END) = REPLACE(?, (SELECT c.internationalDirectDialing FROM country c WHERE c.alpha2Code = ? LIMIT 1), '')\n ;",s=[t.values.unsubscribed,t.values.unsubscribedInfo,a,Pn.Phone,t.filters.recipient,t.filters.countryCode];break;case Pn.Email:o="SELECT \n nr.userId\n FROM notificationRecipient nr\n INNER JOIN user u ON u.id = nr.userId\n WHERE nr.notificationType = ?\n AND (CASE nr.recipient\n WHEN 'email' THEN u.email \n ELSE nr.recipient \n END) = ?\n ;",l=[Pn.Email,t.filters.recipient],n="UPDATE notificationRecipient nr\n INNER JOIN user u ON u.id = nr.userId\n SET nr.unsubscribed = ?, nr.unsubscribedInfo = ?, nr.modifiedAt = ?\n WHERE nr.notificationType = ?\n AND (CASE nr.recipient\n WHEN 'email' THEN u.email \n ELSE nr.recipient \n END) = ?\n ;",s=[t.values.unsubscribed,t.values.unsubscribedInfo,a,Pn.Email,t.filters.recipient];break;default:return i.warn({params:t},"NotificationRecipientsRepository::updateUsersNotificationsUnsuscribedStatus - NotificationRecipientType not implemented"),null}const d=await r.query(o,l);return console.log(d),d.length?(await r.query(n,s),d.map((e=>fn(e.userId)))):null}),"NotificationRecipientsRepository::updateUsersNotificationsUnsuscribedStatus"))(t,e,this.logger);return this.logger.trace({result:i},"NotificationRecipientsRepository::updateUsersNotificationsUnsuscribedStatus result"),i}async deleteNotificationRecipients(e){this.logger.trace(e,"NotificationRecipientsRepository::deleteNotificationRecipients started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.id&&!t?.filters?.userId)return i.warn({params:t},"NotificationRecipientsRepository::deleteNotificationRecipients - missing required parameters"),!1;const r=vn(t?.filters?.userId);return t?.filters?.userId&&!r?(i.warn({params:t},"NotificationRecipientsRepository::deleteNotificationRecipients - userId is not a valid uuid"),!1):e.safeQuery((async e=>{let i=e.getRepository(Lr).createQueryBuilder().delete();return t?.filters?.id&&(i=i.where("id = :id",{id:t?.filters?.id})),t?.filters?.userId&&(i=i.where("userId = :userId",{userId:r})),(await i.execute()).affected>0}),"NotificationRecipientsRepository::deleteNotificationRecipients")})(t,e,this.logger);return this.logger.trace({result:i},"NotificationRecipientsRepository::deleteNotificationRecipients result"),i}async deleteNotificationRecipientsByEmailOrPhone(e){this.logger.trace(e,"NotificationRecipientsRepository::deleteNotificationRecipientsByEmailOrPhone started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.clientId&&t?.filters?.notificationType&&t?.filters?.recipient?"email"===t?.filters?.recipient.toLowerCase()||"phone"===t?.filters?.recipient.toLowerCase()?(i.warn({params:t},"NotificationRecipientsRepository::deleteNotificationRecipientsByEmailOrPhone - recipient should be a valid email or phone"),!1):e.safeQuery((async e=>{const i=e.getRepository(Lr).createQueryBuilder().delete().where("clientId = :clientId",{clientId:t?.filters?.clientId}).andWhere("notificationType = :notificationType",{notificationType:t?.filters?.notificationType}).andWhere("recipient = :recipient",{recipient:t?.filters?.recipient});return(await i.execute()).affected>0}),"NotificationRecipientsRepository::deleteNotificationRecipientsByEmailOrPhone"):(i.warn({params:t},"NotificationRecipientsRepository::deleteNotificationRecipientsByEmailOrPhone - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"NotificationRecipientsRepository::deleteNotificationRecipientsByEmailOrPhone result"),i}}const $n=async(e,t,i)=>{if(!t?.id||!t?.imei)return!1;const r=e.getRepository(Tr);try{const{id:e,...i}=t,a=r.createQueryBuilder();return(await a.insert().into(Tr).values({...i,positionId:e}).orIgnore().execute()).raw.affectedRows>0||(await a.update(Tr).set({...i,positionId:e}).where("imei = :imei",{imei:t.imei}).andWhere("positionId < :positionId",{positionId:t.id}).execute()).affected>0}catch(e){return i.warn(e,"PositionsRepository::upsertLatestPosition error"),!1}};class Zn extends yn{async createPosition(e){this.logger.trace(e,"PositionsRepository::this.createPosition started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.messageId&&t?.actualDate&&t?.clientId&&t?.imei))return null;try{await e.connect();const r=e.getRepository(Wr),a=new Date,n={id:t.id,imei:t.imei,lat:t.lat,lon:t.lon,actualDate:t.actualDate,speed:t.speed,odometer:t.odometer,createdAt:t.createdAt??a,messageId:vn(t.messageId),batteryPercentage:t.batteryPercentage,clientId:t.clientId,address:t.address,sendTime:t.sendTime,gpsUtcTime:t.gpsUtcTime,externalBatteryPercentage:t.externalBatteryPercentage,externalPowerVoltage:t.externalPowerVoltage},o=await r.save(n);return o?(await $n(e,o,i),{...o,id:Number(o.id)}):null}catch(e){throw i.error(e,"PositionsRepository::createPosition error"),e}finally{await e.disconnect()}})(t,e,this.logger);return this.logger.trace(i,"PositionsRepository::insertPositions result"),i}async upsertPositions(e){this.logger.trace(e,"PositionsRepository::this.createPosition started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{try{await e.connect();const r=e.getRepository(Wr),a=[];t.forEach((e=>{if(!(e?.messageId&&e?.actualDate&&e?.clientId&&e?.imei))return null;const t=new Date,i={id:e.id,imei:e.imei,lat:e.lat,lon:e.lon,actualDate:e.actualDate,speed:e.speed,odometer:e.odometer,createdAt:e.createdAt??t,messageId:vn(e.messageId),batteryPercentage:e.batteryPercentage,clientId:e.clientId,address:e.address,sendTime:e.sendTime,gpsUtcTime:e.gpsUtcTime,externalBatteryPercentage:e.externalBatteryPercentage,externalPowerVoltage:e.externalPowerVoltage};a.push(i)})),await r.upsert(a,{conflictPaths:["messageId"]});const n=await r.createQueryBuilder("p").where("p.messageId IN (:messageIds)",{messageIds:a.map((e=>e.messageId))}).orderBy("p.id","ASC").getMany();for(const t of n)await $n(e,t,i);return n?.map((e=>({...e,id:Number(e.id)})))??[]}catch(e){throw i.error(e,"PositionsRepository::upsertPositions error"),e}finally{await e.disconnect()}})(t,e,this.logger);return this.logger.trace(i,"PositionsRepository::insertPositions result"),i}async getPositionsByImei(e){this.logger.trace(e,"PositionsRepository::this.getPositionsByImei started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.imei)return[];try{await e.connect();const i=e.getRepository(Wr),r={where:{imei:t.filters.imei}},a=await i.find(r);return a?.map((e=>({...e,id:Number(e.id)})))??[]}catch(e){throw i.error({error:e},"PositionsRepository::getPositionsByImei error"),e}finally{await e.disconnect()}})(t,e,this.logger);return this.logger.trace(i,"PositionsRepository::getPositionsByImei result"),i}async getPositionsReportByClient(e){this.logger.trace(e,"PositionsRepository::getPositionsReportByClientId started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t.filters.clientId)return[];try{await e.connect();let i=e.getRepository(Wr).createQueryBuilder("p").where("p.clientId = :clientId",{clientId:t.filters.clientId});t.filters.imeis&&(i=i.andWhere("p.imei IN (:...imeis)",{imeis:t.filters.imeis})),t.filters.actualDateFrom&&(i=i.andWhere("p.actualDate >= :actualDateFrom",{actualDateFrom:t.filters.actualDateFrom})),t.filters.actualDateTo&&(i=i.andWhere("p.actualDate <= :actualDateTo",{actualDateTo:t.filters.actualDateTo})),t.filters.speedMin&&(i=i.andWhere("p.speed >= :speedMin",{speedMin:t.filters.speedMin})),t.filters.speedMax&&(i=i.andWhere("p.speed <= :speedMax",{speedMax:t.filters.speedMax})),t.filters.odometerMin&&(i=i.andWhere("p.odometer >= :odometerMin",{odometerMin:t.filters.odometerMin})),t.filters.odometerMax&&(i=i.andWhere("p.odometer <= :odometerMax",{odometerMax:t.filters.odometerMax}));const r=i.clone().select("COUNT(p.id)","totalCount");return t.filters.imeis?.length?(i.useIndex("ixPositionClientId_Imei_ActualDate"),r.useIndex("ixPositionClientId_Imei_ActualDate")):(i.useIndex("ixPositionClientId_ActualDate"),r.useIndex("ixPositionClientId_ActualDate")),i.innerJoin(`(${r.getQuery()})`,"sub"),t.sortOptions?.sortField&&i.orderBy(t.sortOptions.sortField,t.sortOptions.sortOrder),await i.select(["p.imei as imei","p.createdAt as createdAt","p.actualDate as actualDate","p.lat as lat","p.lon as lon","p.address as address","p.speed as speed","p.odometer as odometer","p.batteryPercentage as batteryPercentage","p.externalPowerVoltage as externalPowerVoltage","p.externalBatteryPercentage as externalBatteryPercentage","sub.totalCount as totalCount"]).limit(t.pagingOptions.pageSize).offset(t.pagingOptions.pageSize*t.pagingOptions.pageIndex).getRawMany()}catch(e){throw i.error({error:e},"PositionsRepository::GetPositionsReportByClientId error"),e}finally{await e.disconnect()}})(t,e,this.logger);return this.logger.trace(i,"PositionsRepository::getPositionsReportByClientId result"),i}async getLatestPositionByImei(e){this.logger.trace(e,"PositionsRepository::this.getLatestPositionByImei started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.imei)return null;try{await e.connect();const i=e.getRepository(Tr),r={where:{imei:t.filters.imei}},a=await i.findOne(r);return a?{...a,positionId:Number(a.positionId)}:null}catch(e){throw i.error({error:e},"PositionsRepository::getLatestPositionsByImei error"),e}finally{await e.disconnect()}})(t,e,this.logger);return this.logger.trace(i,"PositionsRepository::getLatestPositionByImei result"),i}}class Xn extends yn{async getAllRoles(){this.logger.trace("SecurityRepository::getAllRoles started");const e=new un(this.novaDataSourceConfig,this.logger),t=await(async e=>e.safeQuery((async e=>{const t=e.getRepository($r);return await t.find()}),"SecurityRepository::getAllRoles"))(e);return this.logger.trace(t,"SecurityRepository::getAllRoles result"),t}async getUserRoles(e){this.logger.trace(e,"SecurityRepository::getUserRoles started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.userId?e.safeQuery((async e=>{const i=e.getRepository(on);return await i.find({where:{userId:vn(t.filters.userId)}})}),"SecurityRepository::getUserRoles"):(i.warn({params:t},"SecurityRepository::getUserRoles - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"SecurityRepository::getUserRoles result"),i}async getUserRolesByClientId(e){this.logger.trace(e,"SecurityRepository::getUserRolesByClientId started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.clientId?e.safeQuery((async e=>{const i=e.getRepository(on),r=t.filters.role?{where:{clientId:t.filters.clientId,securityRoleId:t.filters.role}}:{where:{clientId:t.filters.clientId}};return await i.find(r)}),"SecurityRepository::getUserRolesByClientId"):(i.warn({params:t},"SecurityRepository::getUserRolesByClientId - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"SecurityRepository::getUserRolesByClientId result"),i}async userIsInRole(e){this.logger.trace(e,"SecurityRepository::userIsInRole started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.userId?e.safeQuery((async e=>{const i=e.getRepository(on);return null!==await i.findOne({where:{userId:vn(t.filters.userId),securityRoleId:t.filters.role}})}),"SecurityRepository::userIsInRole"):(i.warn({params:t},"SecurityRepository::userIsInRole - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"SecurityRepository::userIsInRole result"),i}async userIsAdminOrOwner(e){this.logger.trace(e,"SecurityRepository::userIsAdminOrOwner started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.userId?e.safeQuery((async e=>{const i=e.getRepository(on);return null!==await i.findOne({where:{userId:vn(t.filters.userId),securityRoleId:(0,x.In)([Sn.Admin,Sn.Owner])}})}),"SecurityRepository::userIsAdminOrOwner"):(i.warn({params:t},"SecurityRepository::userIsAdminOrOwner - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"SecurityRepository::userIsAdminOrOwner result"),i}async createUserRole(e){this.logger.trace(e,"SecurityRepository::createUserRole started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.userId?e.safeQuery((async e=>{const i=e.getRepository(on),r=await i.findOne({where:{userId:vn(t.userId)}});if(!r){const e={userId:vn(t.userId),clientId:t.clientId,securityRoleId:t.roleId};return await i.save(e)}if(r.clientId===t.clientId&&r.securityRoleId===t.roleId)return r;throw new Error("User role cannot be created because another role already exists")}),"SecurityRepository::createUserRole"):(i.warn({params:t},"SecurityRepository::createUserRole - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"SecurityRepository::createUserRole result"),i}async updateUserRole(e){this.logger.trace(e,"SecurityRepository::updateUserRole started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.userId?e.safeQuery((async e=>{const i=e.getRepository(on),r=vn(t.filters.userId),a=await i.findOne({where:{userId:r}});if(!a)return!1;if(a.securityRoleId===t.values.roleId)return!0;const n=a.securityRoleId;return a.securityRoleId=t.values.roleId,(await i.update({userId:r,securityRoleId:n},a)).affected>0}),"SecurityRepository::updateUserRole"):(i.warn({params:t},"SecurityRepository::updateUserRole - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"SecurityRepository::updateUserRole result"),i}async removeUserRoles(e){this.logger.trace(e,"SecurityRepository::removeUserRoles started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.userId?e.safeQuery((async e=>{const i=e.getRepository(on),r=await i.find({where:{userId:vn(t.filters.userId)}});return!r.length||(await i.remove(r),!0)}),"SecurityRepository::removeUserRoles"):(i.warn({params:t},"SecurityRepository::removeUserRoles - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"SecurityRepository::removeUserRoles result"),i}}const Yn=e=>{if(!e)return!1;for(const t in e)if(e.hasOwnProperty(t)){const i=e[t];if(null!=i){if("object"!=typeof i)return!0;if(Yn(i))return!0}}return!1},eo=(e,t,i,r)=>{if(!e||!t)return e;for(const a of i){const i=t[a.filterName],n=a.targetFieldName;if(void 0!==i&&n&&a.comparisonOperator)if(null!==i)switch(a.comparisonOperator){case"RANGE":const t=i.minValue,o=i.maxValue;null!=t&&(e=e.andWhere(`${r}.${n} >= :${n}MinValue`,{[`${n}MinValue`]:t})),null!=o&&(e=e.andWhere(`${r}.${n} <= :${n}MaxValue`,{[`${n}MaxValue`]:o}));break;case"LIKE":e=e.andWhere(`LOWER(${r}.${n}) LIKE LOWER(:${n})`,{[n]:`%${i}%`});break;case"=":e=e.andWhere(`${r}.${n} = :${n}`,{[n]:i});break;case"IN":e=e.andWhere(`${r}.${n} IN (:...${n})`,{[n]:i});break;default:throw new Error(`Unknown comparison operator: ${a.comparisonOperator}`)}else e=e.andWhere(`${r}.${n} IS NULL`)}return e},to=[{targetFieldName:"clientId",filterName:"clientId",comparisonOperator:"="},{targetFieldName:"repeats",filterName:"repeats",comparisonOperator:"="},{targetFieldName:"createdBy",filterName:"createdBy",comparisonOperator:"="},{targetFieldName:"modifiedBy",filterName:"modifiedBy",comparisonOperator:"="},{targetFieldName:"deletedBy",filterName:"deletedBy",comparisonOperator:"="},{targetFieldName:"status",filterName:"statusList",comparisonOperator:"IN"},{targetFieldName:"title",filterName:"title",comparisonOperator:"LIKE"},{targetFieldName:"description",filterName:"description",comparisonOperator:"LIKE"},{targetFieldName:"notes",filterName:"notes",comparisonOperator:"LIKE"},{targetFieldName:"dueDate",filterName:"dueDateFilter",comparisonOperator:"RANGE"},{targetFieldName:"dueOdometer",filterName:"dueOdometerFilter",comparisonOperator:"RANGE"},{targetFieldName:"dueActiveHours",filterName:"dueActiveHoursFilter",comparisonOperator:"RANGE"},{targetFieldName:"intervalDays",filterName:"intervalDaysFilter",comparisonOperator:"RANGE"},{targetFieldName:"intervalStartDate",filterName:"intervalStartDateFilter",comparisonOperator:"RANGE"},{targetFieldName:"intervalOdometer",filterName:"intervalOdometerFilter",comparisonOperator:"RANGE"},{targetFieldName:"intervalStartingOdometer",filterName:"intervalStartingOdometerFilter",comparisonOperator:"RANGE"},{targetFieldName:"intervalActiveHours",filterName:"intervalActiveHoursFilter",comparisonOperator:"RANGE"},{targetFieldName:"intervalStartingActiveHours",filterName:"intervalStartingActiveHoursFilter",comparisonOperator:"RANGE"},{targetFieldName:"createdAt",filterName:"createdAtFilter",comparisonOperator:"RANGE"},{targetFieldName:"modifiedAt",filterName:"modifiedAtFilter",comparisonOperator:"RANGE"},{targetFieldName:"deletedAt",filterName:"deletedAtFilter",comparisonOperator:"RANGE"}],io=[{targetFieldName:"id",filterName:"taskId",comparisonOperator:"="},{targetFieldName:"taskScheduleId",filterName:"taskScheduleId",comparisonOperator:"="},{targetFieldName:"imei",filterName:"imeiList",comparisonOperator:"IN"},{targetFieldName:"clientId",filterName:"clientId",comparisonOperator:"="},{targetFieldName:"dueDate",filterName:"dueDateFilter",comparisonOperator:"RANGE"},{targetFieldName:"dueOdometer",filterName:"dueOdometerFilter",comparisonOperator:"RANGE"},{targetFieldName:"dueActiveHours",filterName:"dueActiveHoursFilter",comparisonOperator:"RANGE"},{targetFieldName:"startDate",filterName:"startDateFilter",comparisonOperator:"RANGE"},{targetFieldName:"startingOdometer",filterName:"startingOdometerFilter",comparisonOperator:"RANGE"},{targetFieldName:"startingActiveHours",filterName:"startingActiveHoursFilter",comparisonOperator:"RANGE"},{targetFieldName:"status",filterName:"statusList",comparisonOperator:"IN"},{targetFieldName:"createdAt",filterName:"createdAtFilter",comparisonOperator:"RANGE"},{targetFieldName:"pastDueAt",filterName:"pastDueAtFilter",comparisonOperator:"RANGE"},{targetFieldName:"completedAt",filterName:"completedAtFilter",comparisonOperator:"RANGE"},{targetFieldName:"completionNotes",filterName:"completionNotes",comparisonOperator:"LIKE"},{targetFieldName:"completionOdometer",filterName:"completionOdometerFilter",comparisonOperator:"RANGE"},{targetFieldName:"completionActiveHours",filterName:"completionActiveHoursFilter",comparisonOperator:"RANGE"},{targetFieldName:"completedBy",filterName:"completedBy",comparisonOperator:"LIKE"},{targetFieldName:"modifiedAt",filterName:"modifiedAtFilter",comparisonOperator:"RANGE"},{targetFieldName:"modifiedBy",filterName:"modifiedBy",comparisonOperator:"LIKE"},{targetFieldName:"queuedAt",filterName:"queuedAtFilter",comparisonOperator:"RANGE"},{targetFieldName:"predictedDueDate",filterName:"predictedDueDateFilter",comparisonOperator:"RANGE"},{targetFieldName:"deletedAt",filterName:"deletedAtFilter",comparisonOperator:"RANGE"},{targetFieldName:"deletedBy",filterName:"deletedBy",comparisonOperator:"LIKE"}],ro=[{targetFieldName:"title",filterName:"title",comparisonOperator:"LIKE"},{targetFieldName:"description",filterName:"description",comparisonOperator:"LIKE"}];class ao extends yn{async createTaskSchedule(e){this.logger.trace(e,"TasksRepository::createTaskSchedule started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.clientId&&t?.title&&t?.description&&null!=t?.repeats&&t?.createdBy&&(t.repeats||t.dueDate||t.dueOdometer||t.dueActiveHours)&&(!t.repeats||t.intervalDays||t.intervalOdometer||t.intervalActiveHours)?e.safeQuery((async e=>{const i=e.getRepository(ji),r=new Date,a={...t,createdAt:r,status:"active"};return await i.save(a)}),"TasksRepository::createTaskSchedule"):(i.warn({params:t},"TasksRepository::createTaskSchedule missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"TasksRepository::createTaskSchedule result"),i}async getTaskSchedule(e){this.logger.trace(e,"TasksRepository::getTaskSchedule started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.id?e.safeQuery((async e=>{const i=e.getRepository(ji),r=await i.createQueryBuilder("taskSchedule").where("taskSchedule.id = :id",{id:t.filters.id}).getOne();if(t.projectionOptions?.numberOfDevicesToGet>0&&r){const i=e.getRepository(Li),a=await i.createQueryBuilder("deviceTask").where("deviceTask.taskScheduleId = :taskScheduleId",{taskScheduleId:r.id}).limit(t.projectionOptions.numberOfDevicesToGet).getMany();r.deviceTasks=a;const n=await i.createQueryBuilder("deviceTask").select("deviceTask.taskScheduleId","taskScheduleId").addSelect("COUNT(*)","deviceCount").groupBy("deviceTask.taskScheduleId").getRawOne();r.totalDevicesCount=n?n.deviceCount:0}return r}),"TasksRepository::getTaskSchedule"):(i.warn({params:t},"TasksRepository::getTaskSchedule missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"TasksRepository::getTaskSchedule result"),i}async updateTaskSchedule(e){this.logger.trace(e,"TasksRepository::updateTaskSchedule started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.id&&t?.values?.modifiedBy&&(0!=t?.values?.repeats||t?.values?.dueDate||t?.values?.dueOdometer||t?.values?.dueActiveHours)&&(!t?.values?.repeats||t?.values?.intervalDays||t?.values?.intervalOdometer||t?.values?.intervalActiveHours)?e.safeQuery((async e=>{const i=e.getRepository(ji),r=new Date;return(await i.createQueryBuilder().update(ji).set({...t.values,modifiedAt:r}).where("id = :id",{id:t.filters.id}).execute()).affected>0}),"TasksRepository::updateTaskSchedule"):(i.warn({params:t},"TasksRepository::updateTaskSchedule missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"TasksRepository::updateTaskSchedule result"),i}async deleteTaskSchedule(e){this.logger.trace(e,"TasksRepository::deleteTaskSchedule started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.id&&t?.deletedBy?e.safeQuery((async e=>{const i=e.getRepository(ji),r=new Date;return(await i.createQueryBuilder().update(ji).set({status:"deleted",deletedBy:t.deletedBy,deletedAt:r}).where("id = :id",{id:t.id}).execute()).affected>0}),"TasksRepository::deleteTaskSchedule"):(i.warn({params:t},"TasksRepository::deleteTaskSchedule missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"TasksRepository::deleteTaskSchedule result"),i}async getTaskSchedules(e){this.logger.trace(e,"TasksRepository::getTaskSchedules started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>Yn(t?.filters)?e.safeQuery((async e=>{let i=e.getRepository(ji).createQueryBuilder("taskSchedule");t.filters.imei&&(i=i.innerJoin(Li,"dt","taskSchedule.id = dt.taskScheduleId").andWhere("dt.imei = :imei",{imei:t.filters.imei})),i=eo(i,t.filters,to,"taskSchedule");const r=t.sortOptions?.sortField??"id",a=t.sortOptions?.sortOrder??"DESC";i=i.orderBy(`taskSchedule.${r}`,a);const n=await i.limit(t?.pagingOptions?.pageSize??100).offset((t?.pagingOptions?.pageSize??100)*(t?.pagingOptions?.pageIndex??0)).getMany();if(t.projectionOptions?.numberOfDevicesToGet>0){const i=await(async(e,t,i)=>{const r=e.map((e=>({id:e,deviceTasks:[],deviceCount:0}))),a=i.getRepository(Li),n=a.createQueryBuilder("deviceTask").where("deviceTask.taskScheduleId IN (:...taskSchedulesIds)",{taskSchedulesIds:e}).andWhere(`(deviceTask.taskScheduleId, deviceTask.imei) in (\n select taskScheduleId, imei from \n (\n select dt.*, ROW_NUMBER() over (partition by dt.taskScheduleId order by dt.taskScheduleId) as row_rank\n from deviceTask dt \n ) sub\n where sub.row_rank <= ${t}\n )`),o=await n.getMany(),s=await a.createQueryBuilder("deviceTask").select("deviceTask.taskScheduleId as taskScheduleId").addSelect("COUNT(deviceTask.taskScheduleId)","deviceCount").where("deviceTask.taskScheduleId IN (:...taskSchedulesIds)",{taskSchedulesIds:e}).groupBy("deviceTask.taskScheduleId").getRawMany();for(const e of r)e.deviceTasks=o.filter((t=>t.taskScheduleId===e.id)),e.deviceCount=s.find((t=>t.taskScheduleId===e.id))?.deviceCount??0;return r})(n.map((e=>e.id)),t.projectionOptions.numberOfDevicesToGet,e);for(const e of n){const t=i.filter((t=>t.id===e.id));e.deviceTasks=t.length?t[0].deviceTasks:[],e.totalDevicesCount=t.length?t[0].deviceCount:0}}return n}),"TasksRepository::getTaskSchedules"):(i.warn({params:t},"TasksRepository::getTaskSchedules missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"TasksRepository::getTaskSchedules result"),i}async getTaskSchedulesCount(e){this.logger.trace(e,"TasksRepository::getTaskSchedulesCount started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>Yn(t?.filters)?e.safeQuery((async e=>{let i=e.getRepository(ji).createQueryBuilder("taskSchedule");return t.filters.imei&&(i=i.innerJoin(Li,"dt","taskSchedule.id = dt.taskScheduleId").andWhere("dt.imei = :imei",{imei:t.filters.imei})),i=eo(i,t.filters,to,"taskSchedule"),await i.getCount()}),"TasksRepository::getTaskSchedulesCount"):(i.warn({params:t},"TasksRepository::getTaskSchedulesCount missing required parameters"),-1))(t,e,this.logger);return this.logger.trace({result:i},"TasksRepository::getTaskSchedulesCount result"),i}async getDeviceTasks(e){this.logger.trace(e,"TasksRepository::getDeviceTasks started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.taskScheduleId||t?.filters?.imei||t?.filters?.clientId?e.safeQuery((async e=>{let i=e.getRepository(Li).createQueryBuilder("deviceTask");return t.filters.taskScheduleId&&(i=i.where("deviceTask.taskScheduleId = :taskScheduleId",{taskScheduleId:t.filters.taskScheduleId})),t.filters.imei&&(i=i.andWhere("deviceTask.imei = :imei",{imei:t.filters.imei})),t.filters.clientId&&(i=i.andWhere("deviceTask.clientId = :clientId",{clientId:t.filters.clientId})),await i.getMany()}),"TasksRepository::getDeviceTasks"):(i.warn({params:t},"TasksRepository::getDeviceTasks missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"TasksRepository::getDeviceTasks result"),i}async setTaskScheduleDevices(e){this.logger.trace(e,"TasksRepository::setTaskScheduleDevices started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.taskScheduleId?e.safeQuery((async e=>{const i=e.getRepository(ji),r=await i.findOne({where:{id:t.taskScheduleId}});if(!r)return!1;const a=e.getRepository(Li);if(await a.createQueryBuilder().delete().where("taskScheduleId = :taskScheduleId",{taskScheduleId:t.taskScheduleId}).execute(),!t?.imeis?.length)return!0;const n=[];for(let e=0;e<t.imeis.length;e+=50)n.push(t.imeis.slice(e,e+50));for(const e of n){const i=e.map((e=>({taskScheduleId:t.taskScheduleId,imei:e,clientId:r.clientId}))),n=await a.insert(i);if(!n?.raw?.affectedRows)return!1}return!0}),"TasksRepository::setTaskScheduleDevices"):(i.error("TasksRepository::setTaskScheduleDevices - taskScheduleId is required"),!1))(t,e,this.logger);return this.logger.trace({result:i},"TasksRepository::setTaskScheduleDevices result"),i}async addTaskScheduleDevices(e){this.logger.trace(e,"TasksRepository::addTaskScheduleDevices started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.taskScheduleId&&t?.imeis?.length?e.safeQuery((async e=>{const i=e.getRepository(ji),r=await i.findOne({where:{id:t.taskScheduleId}});if(!r)return!1;const a=e.getRepository(Li),n=[];for(let e=0;e<t.imeis.length;e+=50)n.push(t.imeis.slice(e,e+50));for(const e of n){const i=e.map((e=>({taskScheduleId:t.taskScheduleId,imei:e,clientId:r.clientId}))),n=await a.upsert(i,{conflictPaths:["taskScheduleId","imei"]});if(!n?.raw?.affectedRows)return!1}return!0}),"TasksRepository::addTaskScheduleDevices"):(i.error("TasksRepository::addTaskScheduleDevices - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"TasksRepository::addTaskScheduleDevices result"),i}async deleteTaskScheduleDevices(e){this.logger.trace(e,"TasksRepository::deleteTaskScheduleDevices started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.taskScheduleId&&t?.imeis?.length?e.safeQuery((async e=>{const i=e.getRepository(Li),r=await i.createQueryBuilder().delete().where("taskScheduleId = :taskScheduleId",{taskScheduleId:t.taskScheduleId}).andWhere("imei IN (:...imeis)",{imeis:t.imeis}).execute();return r?.affected>0}),"TasksRepository::deleteTaskScheduleDevices"):(i.error("TasksRepository::deleteTaskScheduleDevices - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"TasksRepository::deleteTaskScheduleDevices result"),i}async createTask(e){this.logger.trace(e,"TasksRepository::createTask started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.taskScheduleId&&t?.imei&&t?.clientId&&(t.dueDate||t.dueOdometer||t.dueActiveHours)?e.safeQuery((async e=>{const i=e.getRepository(ya),r=new Date,a={...t,createdAt:r,status:"pending"};return await i.save(a)}),"TasksRepository::createTask"):(i.warn({params:t},"TasksRepository::createTask missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"TasksRepository::createTask result"),i}async getTasks(e){this.logger.trace(e,"TasksRepository::getTasks started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>Yn(t?.filters)?e.safeQuery((async e=>{let i=e.getRepository(ya).createQueryBuilder("task");t.projectionOptions?.includeTaskSchedule?i=i.leftJoinAndSelect("task.taskSchedule","taskSchedule"):(t.filters.title||t.filters.description)&&(i=i.innerJoin("task.taskSchedule","taskSchedule")),i=eo(i,t.filters,io,"task"),i=eo(i,t.filters,ro,"taskSchedule");const r=t.sortOptions?.sortField??"id",a=t.sortOptions?.sortOrder??"DESC";return i=i.orderBy(`task.${r}`,a),await i.limit(t?.pagingOptions?.pageSize??100).offset((t?.pagingOptions?.pageSize??100)*(t?.pagingOptions?.pageIndex??0)).getMany()}),"TasksRepository::getTasks"):(i.warn({params:t},"TasksRepository::getTasks missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"TasksRepository::getTasks result"),i}async getTasksCount(e){this.logger.trace(e,"TasksRepository::getTasksCount started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>Yn(t?.filters)?e.safeQuery((async e=>{let i=e.getRepository(ya).createQueryBuilder("task");return(t.filters.title||t.filters.description)&&(i=i.innerJoin("task.taskSchedule","taskSchedule")),i=eo(i,t.filters,io,"task"),i=eo(i,t.filters,ro,"taskSchedule"),await i.getCount()}),"TasksRepository::getTasksCount"):(i.warn({params:t},"TasksRepository::getTasksCount missing required parameters"),-1))(t,e,this.logger);return this.logger.trace({result:i},"TasksRepository::getTasksCount result"),i}async updateTask(e){this.logger.trace(e,"TasksRepository::updateTask started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.id&&t?.values?.modifiedBy?e.safeQuery((async e=>{const i=e.getRepository(ya),r=new Date;return(await i.createQueryBuilder().update(ya).set({...t.values,modifiedAt:r}).where("id = :id",{id:t.filters.id}).execute()).affected>0}),"TasksRepository::updateTask"):(i.warn({params:t},"TasksRepository::updateTask missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"TasksRepository::updateTask result"),i}async setTaskAsPastDue(e){this.logger.trace(e,"TasksRepository::setTaskAsPastDue started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.id&&t?.modifiedBy?e.safeQuery((async e=>{const i=e.getRepository(ya),r=new Date;return(await i.createQueryBuilder().update(ya).set({status:"past_due",modifiedBy:t.modifiedBy,modifiedAt:r,pastDueAt:t.pastDueAt??r}).where("id = :id",{id:t.id}).execute()).affected>0}),"TasksRepository::setTaskAsPastDue"):(i.warn({params:t},"TasksRepository::setTaskAsPastDue missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"TasksRepository::setTaskAsPastDue result"),i}async completeTask(e){this.logger.trace(e,"TasksRepository::completeTask started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.id&&t?.completedBy?e.safeQuery((async e=>{const i=e.getRepository(ya),r=new Date;return(await i.createQueryBuilder().update(ya).set({status:"completed",completedBy:t.completedBy,completedAt:r,completionNotes:t.completionNotes,completionOdometer:t.completionOdometer,completionActiveHours:t.completionActiveHours}).where("id = :id",{id:t.id}).execute()).affected>0}),"TasksRepository::completeTask"):(i.warn({params:t},"TasksRepository::completeTask missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"TasksRepository::completeTask result"),i}async deleteTask(e){this.logger.trace(e,"TasksRepository::deleteTask started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.id&&t?.deletedBy?e.safeQuery((async e=>{const i=e.getRepository(ya),r=new Date;return(await i.createQueryBuilder().update(ya).set({status:"deleted",deletedBy:t.deletedBy,deletedAt:r}).where("id = :id",{id:t.id}).execute()).affected>0}),"TasksRepository::deleteTask"):(i.warn({params:t},"TasksRepository::deleteTask missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"TasksRepository::deleteTask result"),i}}const no=["tripGuid","imei","startDate","distance","startLat","startLon","startAddress","positionStart","tripCompletionStatusId","clientId","duration","tripType","startMessageId"],oo=["filters.tripGuid","values.endDate","values.endLat","values.endLon","values.endAddress","values.positionEnd","values.endMessageId","values.distance","values.duration","values.tripType","values.tripCompletionStatusId"],so=["filters.clientId","filters.from","filters.to"],lo=(e,t)=>!e||!t||t.some((t=>null==((e,t)=>{const i=t.split(".");let r=e;for(const e of i){if(null==r[e])return null;r=r[e]}return r})(e,t))),co=(e,t,i,r,a)=>{if(null!=t[a]){const n={};n[a]=t[a],e.andWhere(`${i} ${r} :${a}`,n)}};class uo extends yn{async createTrip(e){this.logger.trace(e,"TripRepository::this.createTrip started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{const r=vn(t?.tripGuid),a=vn(t?.startMessageId),n=vn(t?.endMessageId);return!r||t?.startMessageId&&!a||t?.endMessageId&&!n||lo(t,no)?(i.warn({params:t},"TripRepository::upsertTrip missing required parameters"),null):e.safeQuery((async e=>{const i=e.getRepository(fa),o=new Date,s={...t,tripGuid:r,createdAt:t.createdAt??o,startMessageId:a,endMessageId:n};return await i.save(s)??null}),"TripRepository::createTrip error")})(t,e,this.logger);return this.logger.trace(i,"TripRepository::createTrip result"),i}async updateTripEndValues(e){this.logger.trace(e,"TripRepository::this.updateTripEndValues started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{const r=vn(t?.filters?.tripGuid),a=vn(t?.values?.endMessageId);return r&&a&&!lo(t,oo)?e.safeQuery((async e=>{const i=e.getRepository(fa),{values:n}=t;return(await i.createQueryBuilder().update(fa).set({endDate:n.endDate,endLat:n.endLat,endLon:n.endLon,endAddress:n.endAddress,positionEnd:n.positionEnd,endMessageId:a,distance:n.distance,duration:n.duration,tripType:n.tripType,tripCompletionStatusId:n.tripCompletionStatusId}).where("tripGuid = :tripGuid",{tripGuid:r}).execute()).affected>0}),"TripRepository::updateTripEndValues error"):(i.warn({params:t},"TripRepository::updateTripEndValues missing required parameters"),!1)})(t,e,this.logger);return this.logger.trace({result:i},"TripRepository::updateTripEndValues result"),i}async getTripById(e){this.logger.trace({},"TripRepository::this.getTripById started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{const r=vn(t);return r?e.safeQuery((async e=>{const t=e.getRepository(fa);return await t.findOne({where:{tripGuid:r}})}),"TripRepository::getTripById error"):(i.warn("TripRepository::getTripById missing required parameter tripGuid"),null)})(t,e,this.logger);return this.logger.trace(i,"TripRepository::getTripById result"),i}async getTrips(e){this.logger.trace({},"TripRepository::this.getTrips started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>lo(t,so)?(i.warn("TripRepository::getTrips missing required parameters"),null):e.safeQuery((async e=>{const i=e.getRepository(fa).createQueryBuilder("trip").innerJoin(xe,"device","device.imei = trip.imei AND device.clientId = trip.clientId"),{filters:r,pagingOptions:a,sortOptions:n}=t;i.where("trip.startDate between :from and :to",{from:r.from,to:r.to}),co(i,r,"trip.clientId","=","clientId"),r.deviceStatus||(r.deviceStatus="A"),co(i,r,"device.status","=","deviceStatus"),r.imeis?.length&&i.andWhere("trip.imei IN (:imeiList)",{imeiList:r.imeis}),co(i,r,"device.name","=","deviceName"),co(i,r,"trip.tripCompletionStatusId","=","completionStatus"),co(i,r,"trip.tripType","=","tripType"),co(i,r,"trip.duration",">=","durationMin"),co(i,r,"trip.duration","<=","durationMax"),co(i,r,"trip.distance",">=","distanceMin"),co(i,r,"trip.distance","<=","distanceMax"),((e,t)=>{let i="trip",r=t?.sortField??"startDate";"deviceName"===r&&(i="device",r="name"),e.orderBy(`${i}.${r}`,"ASC"===t?.sortOrder?"ASC":"DESC")})(i,n);const o=await i.getCount(),s=a.pageSize??50;i.limit(s);const l=(a.pageIndex??0)*s;return i.offset(l),{trips:await i.getMany(),totalCount:o}}),"TripRepository::getTrips error"))(t,e,this.logger);return this.logger.trace(i,"TripRepository::getTrips result"),i}async upsertTrip(e){this.logger.trace(e,"TripRepository::this.upsertTrip started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{const r=vn(t?.tripGuid),a=vn(t?.startMessageId),n=vn(t?.endMessageId);return!r||t?.startMessageId&&!a||t?.endMessageId&&!n||lo(t,no)?(i.warn({params:t},"TripRepository::upsertTrip missing required parameters"),!1):e.safeQuery((async e=>{const i=e.getRepository(fa),o=new Date,s={...t,tripGuid:r,createdAt:t.createdAt??o,startMessageId:a,endMessageId:n},l=await i.upsert(s,{conflictPaths:["tripGuid"]});return l?.raw?.affectedRows>0}),"TripRepository::upsertTrip error")})(t,e,this.logger);return this.logger.trace({result:i},"TripRepository::upsertTrip result"),i}}class po extends yn{async createUserActivation(e){this.logger.trace(e,"UserActivationsRepository::createUserActivation started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.userId||!t?.clientId)return i.warn({params:t},"UserActivationsRepository::createUserActivation - missing required parameters"),null;const r=vn(t?.userId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(Aa),a=new Date,n={id:t?.id,userId:r,clientId:t?.clientId,createdAt:a,legacyCreatedAt:a,status:t?.status??"A"};return await i.save(n)}),"UserActivationsRepository::createUserActivation"):(i.warn({params:t},"UserActivationsRepository::createUserActivation - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"UserActivationsRepository::createUserActivation result"),i}async getUserActivations(e){this.logger.trace(e,"UserActivationsRepository::getUserActivations started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.userId&&!t?.filters?.clientId)return i.warn({params:t},"UserActivationsRepository::getUserActivations - missing required parameters"),[];const r=vn(t?.filters?.userId);return t?.filters?.userId&&!r?.length?(i.warn({params:t},"UserActivationsRepository::getUserActivations - user id should be a valid UUID"),[]):e.safeQuery((async e=>{let i=e.getRepository(Aa).createQueryBuilder("userActivation");return t.filters.userId&&(i=i.where("userActivation.userId = :userId",{userId:r})),t.filters.clientId&&(i=i.andWhere("userActivation.clientId = :clientId",{clientId:t.filters.clientId})),await i.getMany()}),"UserActivationsRepository::getUserActivations")})(t,e,this.logger);return this.logger.trace(i,"UserActivationsRepository::getUserActivations result"),i}async deleteUserActivation(e){this.logger.trace(e,"UserActivationsRepository::deleteUserActivation started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.userId)return i.warn({params:t},"UserActivationsRepository::deleteUserActivation - missing required parameters"),!1;const r=vn(t?.userId);return r?.length?e.safeQuery((async e=>{const t=e.getRepository(Aa);return(await t.createQueryBuilder("userActivation").delete().where("userId = :userId",{userId:r}).execute()).affected>0}),"UserActivationsRepository::deleteUserActivation"):(i.warn({params:t},"UserActivationsRepository::deleteUserActivation - user id should be a valid UUID"),!1)})(t,e,this.logger);return this.logger.trace({result:i},"UserActivationsRepository::deleteUserActivation result"),i}async getUserActivationDevices(e){this.logger.trace(e,"UserActivationsRepository::getUserActivationDevices started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.id||t?.filters?.imei?e.safeQuery((async e=>{let i=e.getRepository(Na).createQueryBuilder("userActivationDevice");return t.filters.id&&(i=i.where("userActivationDevice.id = :id",{id:t.filters.id})),t.filters.imei&&(i=i.andWhere("userActivationDevice.imei = :imei",{imei:t.filters.imei})),i=i.orderBy("userActivationDevice.id","DESC"),await i.getMany()}),"UserActivationsRepository::getUserActivationDevices"):(i.warn({params:t},"UserActivationsRepository::getUserActivations - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"UserActivationsRepository::getUserActivationDevices result"),i}async getUserActivationDevicesByClientId(e){this.logger.trace(e,"UserActivationsRepository::getUserActivationDevicesByClientId started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.clientId?e.safeQuery((async e=>{const i=e.getRepository(Na);return(await i.query("SELECT *\n FROM (\n SELECT uad.*,\n row_number() over (partition by uad.imei order by uad.createdAt desc) as rk\n FROM userActivationDevice uad\n INNER JOIN device d on uad.deviceId = d.id\n WHERE d.clientId = ?\n ) AS sub\n WHERE sub.rk = 1",[t.filters.clientId])).map((e=>({...e,notificationByEmail:1===e.notificationByEmail,notificationBySms:1===e.notificationBySms,planAnnual:1===e.planAnnual})))}),"UserActivationsRepository::getUserActivationDevicesByClientId"):(i.warn({params:t},"UserActivationsRepository::getUserActivationDevicesByClientId - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"UserActivationsRepository::getUserActivationDevicesByClientId result"),i}async createUserActivationDevice(e){this.logger.trace(e,"UserActivationsRepository::createUserActivationDevice started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.userActivationId&&t?.deviceId&&t?.imei?e.safeQuery((async e=>{const i=e.getRepository(Na),r=new Date,a={id:t?.id,deviceId:t?.deviceId,billingInterval:t?.billingInterval,deviceName:t?.deviceName,userActivationId:t?.userActivationId,trackingReason:t?.trackingReason,deviceColor:t?.deviceColor,notificationByEmail:t?.notificationByEmail,notificationBySms:t?.notificationBySms,planAnnual:t?.planAnnual,dataSourceTypeId:t?.dataSourceTypeId,subscriptionId:t?.subscriptionId,platform:t?.platform,eventType:t?.eventType,planCode:t?.planCode,servicePlan:t?.servicePlan,model:t?.model,imei:t?.imei,status:t?.status,createdAt:r,modifiedAt:r};return await i.save(a)}),"UserActivationsRepository::createUserActivation"):(i.warn({params:t},"UserActivationsRepository::createUserActivation - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"UserActivationsRepository::createUserActivationDevice result"),i}async getLastActivationDevice(e){this.logger.trace(e,"UserActivationsRepository::getLastActivationDevice started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imei?e.safeQuery((async e=>{let i=e.getRepository(Na).createQueryBuilder("userActivationDevice");t.projectionOptions?.withDevice&&(i=i.innerJoinAndSelect("userActivationDevice.device","device")),t.projectionOptions?.withUserActivation&&(i=i.innerJoinAndSelect("userActivationDevice.userActivation","userActivation")),i=i.where("LOWER(userActivationDevice.imei) = LOWER(:imei)",{imei:t.filters.imei});const r=t.sortOptions?.sortField?`userActivationDevice.${t.sortOptions.sortField}`:"userActivationDevice.id";return i=i.orderBy(r,"DESC").limit(1),await i.getOne()}),"UserActivationsRepository::getLastActivationDevice"):(i.warn({params:t},"UserActivationsRepository::getLastActivationDevice - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"UserActivationsRepository::getLastActivationDevice result"),i}async updateUserActivationDevice(e){this.logger.trace(e,"UserActivationsRepository::updateUserActivationDevice started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>(t?.filters?.imei||t?.filters?.id)&&(t?.values?.trackingReason||t?.values?.deviceName||t?.values?.deviceColor||null!=t?.values?.planAnnual||t?.values?.subscriptionId||t?.values?.platform||t?.values?.model||t?.values?.servicePlan)?e.safeQuery((async e=>{const i=e.getRepository(Na),r=new Date;let a=i.createQueryBuilder().update(Na).set({...t.values,modifiedAt:r});return t.filters.imei&&(a=a.where("imei = :imei",{imei:t.filters.imei})),t.filters.id&&(a=a.andWhere("id = :id",{id:t.filters.id})),(await a.execute()).affected>0}),"UserActivationsRepository::updateUserActivationDevice"):(i.warn({params:t},"UserActivationsRepository::updateUserActivationDevice - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"UserActivationsRepository::updateUserActivationDevice result"),i}async getUserActivationMetrics(e){this.logger.trace(e,"UserActivationsRepository::getUserActivationMetrics started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.userId)return i.warn({params:t},"UserActivationsRepository::getUserActivationMetrics - missing required parameters"),null;const r=vn(t?.filters?.userId);return r?.length?e.safeQuery((async e=>{let i=e.getRepository(xa).createQueryBuilder("userActivationMetric");return t.filters.userId&&(i=i.where("userActivationMetric.userId = :userId",{userId:r})),await i.getOne()}),"UserActivationsRepository::getUserActivationMetrics"):(i.warn({params:t},"UserActivationsRepository::getUserActivationMetrics - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"UserActivationsRepository::getUserActivationMetrics result"),i}async updateUserActivationMetrics(e){this.logger.trace(e,"UserActivationsRepository::updateUserActivationMetrics started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{const r=vn(t?.filters?.userId);return r&&(t?.values?.firstName||t?.values?.lastName||t?.values?.email||t?.values?.phone||t?.values?.trackingReason||t?.values?.companyName||t?.values?.role||t?.values?.industry||t?.values?.devicesActivatingCategory||t?.values?.assetsCountRange||t?.values?.devicesActivatingCount||t?.values?.plan||t?.values?.usersInvitedCount||null!=t?.values?.meetingScheduled||t?.values?.planAnnual||t?.values?.planId||t?.values?.spyEnvironment||t?.values?.jarvisScore||t?.values?.enrichmentCompanyDescription||t?.values?.jarvisEnrichmentCompanyEin||t?.values?.enrichmentCompanyEmployees||t?.values?.enrichmentCompanyIndustry||t?.values?.enrichmentCompanyLocation||t?.values?.enrichmentCompanyName||t?.values?.enrichmentCompanyRevenue||t?.values?.enrichmentPrivateDomain||t?.values?.enrichmentPublicTicker||t?.values?.enrichmentRole||t?.values?.enrichmentTags||t?.values?.jenrichmentTitle||t?.values?.enrichmentVerifiedEmployment)?e.safeQuery((async e=>{const i=e.getRepository(xa),a=new Date;let n=i.createQueryBuilder().update(xa).set({...t.values,modifiedAt:a});return r&&(n=n.andWhere("userId = :userId",{userId:r})),(await n.execute()).affected>0}),"UserActivationsRepository::UpdateUserActivationMetrics"):(i.warn({params:t},"UserActivationsRepository::UpdateUserActivationMetrics - missing required parameters"),!1)})(t,e,this.logger);return this.logger.trace({result:i},"UserActivationsRepository::updateUserActivationMetrics result"),i}async createUserActivationEvent(e){this.logger.trace(e,"UserActivationsRepository::createUserActivationEvent started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.userId||!t?.eventId||!t?.eventName)return i.warn({params:t},"UserActivationsRepository::createUserActivationEvent - missing required parameters"),null;const r=vn(t?.userId);if(!r?.length)return i.warn({params:t},"UserActivationsRepository::createUserActivationEvent - user id should be a valid UUID"),null;const a=vn(t?.eventId);return a?.length?e.safeQuery((async e=>{const i=e.getRepository(Pa),n=new Date,o={userId:r,eventId:a,eventName:t?.eventName,eventValue:t?.eventValue,eventMetadata:t?.eventMetadata,platform:t?.platform,ip:t?.ip,userAgent:t?.userAgent,createdAt:t?.createdAt??n};return await i.save(o)}),"UserActivationsRepository::createUserActivationEvent"):(i.warn({params:t},"UserActivationsRepository::createUserActivationEvent - event id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"UserActivationsRepository::createUserActivationEvent result"),i}async createUserActivationMetric(e){this.logger.trace(e,"UserActivationsRepository::createUserActivationMetric started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.userId&&t?.firstName&&t?.lastName&&t?.email))return i.warn({params:t},"UserActivationsRepository::createUserActivationMetric - missing required parameters"),null;const r=vn(t?.userId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(xa),a=new Date,n={id:t?.id,userId:r,firstName:t?.firstName,lastName:t?.lastName,email:t?.email,phone:t?.phone,createdAt:a,modifiedAt:a};return await i.save(n)}),"UserActivationsRepository::createUserActivationMetric"):(i.warn({params:t},"UserActivationsRepository::createUserActivationMetric - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"UserActivationsRepository::createUserActivationMetric result"),i}}class mo extends yn{async createUserAppFeedback(e){this.logger.trace(e,"UserAppFeedbackRepository::createUserAppFeedback started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.userId||!t?.platform||!t?.appVersion)return i.warn({params:t},"UserAppFeedbackRepository::createUserAppFeedback - missing required parameters"),null;const r=vn(t?.userId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(Fa),a={id:t.id,userId:r,platform:t.platform,appVersion:t.appVersion,feedback:t.feedback,amazonReviewDate:t.amazonReviewDate,createdAt:new Date};return await i.save(a)}),"UserAppFeedbackRepository::createUserAppFeedback"):(i.warn({userId:t?.userId},"UserAppFeedbackRepository::createUserAppFeedback - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"UserAppFeedbackRepository::createUserAppFeedback result"),i}}class yo extends yn{async getUserAppIncidents(e){this.logger.trace(e,"UserAppIncidentsRepository::getUserAppIncidents started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.userId)return i.warn({params:t},"UserAppIncidentsRepository::getUserAppIncidents - missing required parameters"),[];const r=vn(t.filters.userId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(qa).createQueryBuilder("userAppIncident").where("userAppIncident.userId = :userId",{userId:r}).andWhere("userAppIncident.createdAt between :createdFrom and :createdTo",{createdFrom:t.filters.createdFrom,createdTo:t.filters.createdTo}).orderBy("userAppIncident.createdAt","DESC");return await i.getMany()}),"UserAppIncidentsRepository::getUserAppIncidents"):(i.warn({params:t},"UserAppIncidentsRepository::getUserAppIncidents - userId is not a valid UUID"),[])})(t,e,this.logger);return this.logger.trace(i,"UserAppIncidentsRepository::getUserAppIncidents result"),i}async upsertUserAppIncident(e){this.logger.trace(e,"UserAppIncidentsRepository::upsertUserAppIncident started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.userId&&t.deviceOs&&t.stage&&t.appVersion&&t?.errorId))return i.warn({params:t},"UserAppIncidentsRepository::upsertUserAppIncident - missing required parameters"),!1;const r=vn(t?.userId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(qa),a=new Date,n={id:t.id,userId:r,userName:t.userName,userEmail:t.userEmail,deviceOs:t.deviceOs,deviceManufacturer:t.deviceManufacturer,deviceModel:t.deviceModel,stage:t.stage,appVersion:t.appVersion,errorMessage:t.errorMessage,errorFirstReceivedAt:t.errorFirstReceivedAt,errorReceivedAt:t.errorReceivedAt,deviceJailbroken:t.deviceJailbroken,deviceOsVersion:t.deviceOsVersion,deviceFreeMemory:t.deviceFreeMemory,deviceTotalMemory:t.deviceTotalMemory,deviceCharging:t.deviceCharging,deviceBatteryLevel:t.deviceBatteryLevel,deviceNetworkAccess:t.deviceNetworkAccess,appActiveScreen:t.appActiveScreen,appInForeground:t.appInForeground,appDurationInForeground:t.appDurationInForeground,appBundleId:t.appBundleId,incidentUrl:t.incidentUrl,errorId:t.errorId,createdAt:a},o=await i.upsert(n,{conflictPaths:["userId","errorId"]});return o?.raw?.affectedRows>0}),"UserAppIncidentsRepository::upsertUserAppIncident"):(i.warn({params:t},"UserAppIncidentsRepository::upsertUserAppIncident - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace({result:i},"UserAppIncidentsRepository::upsertUserAppIncident result"),i}}class go extends yn{async getUserConfigurations(e){this.logger.trace(e,"UserConfigurationsRepository::getUserConfigurations started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.clientId&&!t?.filters?.userId)return i.warn({params:t},"UserConfigurationsRepository::getUserConfigurations - missing required parameters"),[];const r=vn(t?.filters?.userId);return t?.filters?.userId&&!r?(i.warn({params:t},"UserConfigurationsRepository::getUserConfigurations - user id should be a valid UUID"),[]):e.safeQuery((async e=>{let i=e.getRepository(Ye).createQueryBuilder("userConfiguration");return t.filters.clientId&&(i=i.innerJoin("userConfiguration.user","user"),i=i.andWhere("user.clientId = :clientId",{clientId:t.filters.clientId})),r&&(i=i.andWhere("userConfiguration.userId = :userId",{userId:r})),await i.getMany()}),"UserConfigurationsRepository::getUserConfigurations")})(t,e,this.logger);return this.logger.trace(i,"UserConfigurationsRepository::getUserConfigurations result"),i}async createUserConfiguration(e){this.logger.trace(e,"UserConfigurationsRepository::createUserConfiguration started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.userId||null==t?.isMetric)return i.warn({params:t},"UserConfigurationsRepository::createUserConfiguration - missing required parameters"),null;const r=vn(t?.userId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(Ye),a=new Date,n={id:t?.id,userId:r,isMetric:t?.isMetric,timezone:t?.timezone,defaultMapLayer:t?.defaultMapLayer,speedUnits:t?.speedUnits,distanceUnits:t?.distanceUnits,alertsNotificationsOn:null==t?.alertsNotificationsOn||t?.alertsNotificationsOn,dataSourceTypeId:t?.dataSourceTypeId,homepage:t?.homepage,temperatureUnits:t?.temperatureUnits,addressFormat:t?.addressFormat,createdAt:a,modifiedAt:a};return await i.save(n)}),"UserConfigurationsRepository::createUserConfiguration"):(i.warn({params:t},"UserConfigurationsRepository::createUserConfiguration - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"UserConfigurationsRepository::createUserConfiguration result"),i}async createUserAlertTimeWindows(e){this.logger.trace(e,"UserConfigurationsRepository::createUserAlertTimeWindows started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.userId&&t?.clientId&&t?.alertTypeId&&t?.daysOfTheWeek&&t.startTime&&t.endTime))return i.warn({params:t},"UserConfigurationsRepository::createUserAlertTimeWindows - missing required parameters"),null;const r=vn(t?.userId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(ye),a={id:t?.id??null,alertId:t?.alertTypeId,clientId:t?.clientId,userId:r,daysOfTheWeek:t?.daysOfTheWeek,startTime:t?.startTime,endTime:t?.endTime,alertConfigurationId:t?.alertConfigurationId??null,label:t?.label??null};return await i.save(a)}),"UserConfigurationsRepository::createUserAlertTimeWindows"):(i.warn({params:t},"UserConfigurationsRepository::createUserAlertTimeWindows - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"UserConfigurationsRepository::createUserAlertTimeWindows result"),i}async createDeviceAlertTimeWindows(e){this.logger.trace(e,"UserConfigurationsRepository::createDeviceAlertTimeWindows started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.userId&&t?.clientId&&t?.alertTypeId&&t?.daysOfTheWeek&&t.startTime&&t.endTime&&t.imei))return i.warn({params:t},"UserConfigurationsRepository::createDeviceAlertTimeWindows - missing required parameters"),null;const r=vn(t?.userId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(gi),a={id:t?.id??null,alertTypeId:t?.alertTypeId,clientId:t?.clientId,userId:r,daysOfTheWeek:t?.daysOfTheWeek,startTime:t?.startTime,endTime:t?.endTime,alertConfigurationId:t?.alertConfigurationId??null,filter:t?.filter??null,imei:t?.imei,label:t?.label??null};return await i.save(a)}),"UserConfigurationsRepository::createDeviceAlertTimeWindows"):(i.warn({params:t},"UserConfigurationsRepository::createDeviceAlertTimeWindows - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"UserConfigurationsRepository::createDeviceAlertTimeWindows result"),i}async updateUserConfiguration(e){this.logger.trace(e,"UserConfigurationsRepository::updateUserConfiguration started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.userId)return i.warn({params:t},"UserConfigurationsRepository::updateUserConfiguration - missing required parameters"),!1;const r=vn(t?.filters?.userId);return r?t?.values?.timezone||t?.values?.defaultMapLayer||t?.values?.speedUnits||t?.values?.distanceUnits||null!=t?.values?.alertsNotificationsOn||t?.values?.dataSourceTypeId||t?.values?.homepage||t?.values?.temperatureUnits||t?.values?.addressFormat?e.safeQuery((async e=>{const i=e.getRepository(Ye),a=new Date,n=i.createQueryBuilder().update(Ye).set({timezone:t.values.timezone,defaultMapLayer:t.values.defaultMapLayer,speedUnits:t.values.speedUnits,distanceUnits:t.values.distanceUnits,alertsNotificationsOn:t.values.alertsNotificationsOn,dataSourceTypeId:t.values.dataSourceTypeId,homepage:t.values.homepage,temperatureUnits:t.values.temperatureUnits,modifiedAt:a,addressFormat:t.values.addressFormat}).where("userId = :userId",{userId:r});return(await n.execute()).affected>0}),"UserConfigurationsRepository::updateUserConfiguration"):(i.warn({params:t},"UserConfigurationsRepository::updateUserConfiguration - missing required parameters"),!1):(i.warn({userId:t?.filters?.userId},"UserConfigurationsRepository::updateUserConfiguration - user id should be a valid UUID"),!1)})(t,e,this.logger);return this.logger.trace({result:i},"UserConfigurationsRepository::updateUserConfiguration result"),i}async deleteUserConfiguration(e){this.logger.trace(e,"UserConfigurationsRepository::deleteUserConfiguration started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.userId)return i.warn({params:t},"UserConfigurationsRepository::deleteUserConfiguration - missing required parameters"),!1;const r=vn(t?.filters?.userId);return r?e.safeQuery((async e=>{const t=e.getRepository(Ye).createQueryBuilder().delete().where("userId = :userId",{userId:r});return(await t.execute()).affected>0}),"UserConfigurationsRepository::deleteUserConfiguration"):(i.warn({userId:t?.filters?.userId},"UserConfigurationsRepository::deleteUserConfiguration - user id should be a valid UUID"),!1)})(t,e,this.logger);return this.logger.trace({result:i},"UserConfigurationsRepository::deleteUserConfiguration result"),i}async getUserAlertConfigurations(e){this.logger.trace(e,"UserConfigurationsRepository::getUserAlertConfigurations started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.userId)return i.warn({params:t},"UserConfigurationsRepository::getUserAlertConfigurations - missing required parameters"),[];const r=vn(t?.filters?.userId);return r?e.safeQuery((async e=>{let i=e.getRepository($e).createQueryBuilder("userAlertConfiguration");return i=i.innerJoinAndSelect("userAlertConfiguration.alertType","alertType",t.filters.includeBeta?void 0:"alertType.stage = 'prod'"),i=i.where("userAlertConfiguration.userId = :userId",{userId:r}),i=i.orderBy("userAlertConfiguration.alertTypeId"),await i.getMany()}),"UserConfigurationsRepository::getUserAlertConfigurations"):(i.warn({params:t},"UserConfigurationsRepository::getUserAlertConfigurations - user id should be a valid UUID"),[])})(t,e,this.logger);return this.logger.trace(i,"UserConfigurationsRepository::getUserAlertConfigurations result"),i}async getUserAlertTimeWindows(e){this.logger.trace(e,"UserConfigurationsRepository::getUserAlertConfigurations started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.userId||t?.filters?.clientId||t?.filters?.configId?e.safeQuery((async e=>{let i=e.getRepository(ye).createQueryBuilder("alertTimeWindowConfiguration");if(t?.filters?.configId&&(i=i.where("alertTimeWindowConfiguration.id = :id",{id:t.filters.configId})),t?.filters?.userId){const e=vn(t?.filters?.userId);if(!e)return[];i=i.where("alertTimeWindowConfiguration.userId = :userId",{userId:e})}return t?.filters?.clientId&&(i=i.where("alertTimeWindowConfiguration.clientId = :clientId",{clientId:t.filters.clientId})),i=i.orderBy("alertTimeWindowConfiguration.alertId"),await i.getMany()}),"UserConfigurationsRepository::getUserAlertTimeWindows"):(i.warn({params:t},"UserConfigurationsRepository::getUserAlertTimeWindows - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"UserConfigurationsRepository::getUserAlertTimeWindows result"),i}async getDeviceAlertTimeWindows(e){this.logger.trace(e,"UserConfigurationsRepository::getUserAlertConfigurations started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.filters?.imei||t?.filters?.clientId||t?.filters?.userId||t?.filters?.configId))return i.warn({params:t},"UserConfigurationsRepository::getDeviceAlertTimeWindows - missing required parameters"),[];let r=null;return t?.filters?.userId&&(r=vn(t?.filters?.userId)),e.safeQuery((async e=>{let i=e.getRepository(gi).createQueryBuilder("deviceAlertConfiguration");return t?.filters?.configId&&(i=i.andWhere("deviceAlertConfiguration.id = :id",{id:t.filters.configId})),t?.filters?.imei&&(i=i.andWhere("deviceAlertConfiguration.imei = :imei",{imei:t.filters.imei})),t?.filters?.clientId&&(i=i.andWhere("deviceAlertConfiguration.clientId = :clientId",{clientId:t.filters.clientId})),r&&(i=i.andWhere("deviceAlertConfiguration.userId = :userId",{userId:r})),i=i.orderBy("deviceAlertConfiguration.alertTypeId"),await i.getMany()}),"UserConfigurationsRepository::getDeviceAlertTimeWindows")})(t,e,this.logger);return this.logger.trace(i,"UserConfigurationsRepository::getDeviceAlertTimeWindows result"),i}async bulkCreateUserAlertConfigurations(e){this.logger.trace(e,"UserConfigurationsRepository::bulkCreateUserAlertConfigurations started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.alertConfigurations?.length?e.safeQuery((async e=>{const r=e.getRepository($e),a=[];for(const e of t.alertConfigurations){if(!e?.userId||!e?.alertTypeId)return i.warn(e,"UserConfigurationsRepository::bulkCreateUserAlertConfigurations - User alert configuration could not be created: missing required parameters"),!1;const t=vn(e?.userId);if(!t?.length)return i.warn(e,"UserConfigurationsRepository::bulkCreateUserAlertConfigurations - User alert configuration could not be created: user id should be a valid UUID"),!1;const r={id:e?.id,userId:t,alertTypeId:e?.alertTypeId,smsNotification:e?.smsNotification,emailNotification:e?.emailNotification,appNotification:e?.appNotification,pushNotification:e?.pushNotification,alertValue:e?.alertValue,alertMetadata:e?.alertMetadata};a.push(r)}return!!a.length&&(await r.createQueryBuilder().insert().into($e).values(a).execute()).identifiers.length===a.length}),"UserConfigurationsRepository::bulkCreateUserAlertConfigurations"):(i.warn({params:t},"UserConfigurationsRepository::bulkCreateUserAlertConfigurations - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"UserConfigurationsRepository::bulkCreateUserAlertConfigurations result"),i}async updateUserAlertConfigurations(e){this.logger.trace(e,"UserConfigurationsRepository::updateUserAlertConfigurations started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.userId)return i.warn({params:t},"UserConfigurationsRepository::updateUserAlertConfigurations - missing required parameters"),!1;const r=vn(t?.filters?.userId);return r?null!=t?.values?.smsNotification||null!=t?.values?.emailNotification||null!=t?.values?.appNotification||null!=t?.values?.pushNotification||t?.values?.alertValue||t?.values?.alertMetadata?e.safeQuery((async e=>{const i=e.getRepository($e).createQueryBuilder().update($e).set({smsNotification:t?.values?.smsNotification,emailNotification:t?.values?.emailNotification,appNotification:t?.values?.appNotification,pushNotification:t?.values?.pushNotification,alertValue:t?.values?.alertValue,alertMetadata:t?.values?.alertMetadata}).where("userId = :userId",{userId:r});return t?.filters?.alertTypeId&&i.andWhere("alertTypeId = :alertTypeId",{alertTypeId:t?.filters?.alertTypeId}),(await i.execute()).affected>0}),"UserConfigurationsRepository::updateUserAlertConfiguration"):(i.warn({params:t},"UserConfigurationsRepository::updateUserAlertConfigurations - missing required parameters"),!1):(i.warn({userId:t?.filters?.userId},"UserConfigurationsRepository::updateUserAlertConfigurations - user id should be a valid UUID"),!1)})(t,e,this.logger);return this.logger.trace({result:i},"UserConfigurationsRepository::updateUserAlertConfigurations result"),i}async deleteUserAlertConfigurations(e){this.logger.trace(e,"UserConfigurationsRepository::deleteUserAlertConfigurations started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.userId)return i.warn({params:t},"UserConfigurationsRepository::deleteUserAlertConfigurations - missing required parameters"),!1;const r=vn(t?.filters?.userId);return r?e.safeQuery((async e=>{const t=e.getRepository($e).createQueryBuilder().delete().where("userId = :userId",{userId:r});return(await t.execute()).affected>0}),"UserConfigurationsRepository::deleteUserAlertConfigurations"):(i.warn({userId:t?.filters?.userId},"UserConfigurationsRepository::deleteUserAlertConfigurations - user id should be a valid UUID"),!1)})(t,e,this.logger);return this.logger.trace({result:i},"UserConfigurationsRepository::deleteUserAlertConfigurations result"),i}async deleteUserAlertTimeWindows(e){this.logger.trace(e,"UserConfigurationsRepository::deleteUserAlertTimeWindows started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.configId?e.safeQuery((async e=>{const i=e.getRepository(ye).createQueryBuilder().delete().where("id = :id",{id:t?.filters?.configId});return(await i.execute()).affected>0}),"UserConfigurationsRepository::deleteUserAlertTimeWindows"):(i.warn({params:t},"UserConfigurationsRepository::deleteUserAlertTimeWindows - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"UserConfigurationsRepository::deleteUserAlertTimeWindows result"),i}async deleteDeviceAlertTimeWindows(e){this.logger.trace(e,"UserConfigurationsRepository::deleteDeviceAlertTimeWindows started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.configId?e.safeQuery((async e=>{const i=e.getRepository(gi).createQueryBuilder().delete().where("id = :id",{id:t?.filters?.configId});return(await i.execute()).affected>0}),"UserConfigurationsRepository::deleteDeviceAlertTimeWindows"):(i.warn({params:t},"UserConfigurationsRepository::deleteDeviceAlertTimeWindows - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"UserConfigurationsRepository::deleteDeviceAlertTimeWindows result"),i}async updateUserAlertTimeWindows(e){this.logger.trace(e,"UserConfigurationsRepository::updateUserAlertTimeWindows started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.configId?Object.values(t?.values).every((e=>null==e))?(i.warn({params:t},"UserConfigurationsRepository::updateUserAlertConfigurations - missing required parameters"),!1):e.safeQuery((async e=>{const i=e.getRepository(ye).createQueryBuilder().update(ye).set({alertConfigurationId:t?.values?.alertConfigurationId??void 0,daysOfTheWeek:t?.values?.daysOfTheWeek??void 0,startTime:t?.values?.startTime??void 0,endTime:t?.values?.endTime??void 0,label:t?.values?.label??void 0}).where("id = :id",{id:t?.filters?.configId});return(await i.execute()).affected>0}),"UserConfigurationsRepository::updateUserAlertConfiguration"):(i.warn({params:t},"UserConfigurationsRepository::updateUserAlertConfigurations - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"UserConfigurationsRepository::updateUserAlertTimeWindows result"),i}async updateDeviceAlertTimeWindows(e){this.logger.trace(e,"UserConfigurationsRepository::updateDeviceAlertTimeWindows started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.configId?Object.values(t?.values).every((e=>null==e))?(i.warn({params:t},"UserConfigurationsRepository::updateDeviceAlertTimeWindows - missing required parameters"),!1):e.safeQuery((async e=>{const i=e.getRepository(gi).createQueryBuilder().update(gi).set({alertConfigurationId:t?.values?.alertConfigurationId??void 0,daysOfTheWeek:t?.values?.daysOfTheWeek??void 0,startTime:t?.values?.startTime??void 0,endTime:t?.values?.endTime??void 0,filter:t?.values?.filter??void 0,label:t?.values?.label??void 0}).where("id = :id",{id:t?.filters?.configId});return(await i.execute()).affected>0}),"UserConfigurationsRepository::updateUserAlertConfiguration"):(i.warn({params:t},"UserConfigurationsRepository::updateDeviceAlertTimeWindows - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"UserConfigurationsRepository::updateDeviceAlertTimeWindows result"),i}}class vo extends yn{async getUserDataDeletionRequest(e){this.logger.trace(e,"UserDataDeletionRequestsRepository::getUserDataDeletionRequest started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.userId&&!t?.filters?.id)return i.warn({params:t},"UserDataDeletionRequestsRepository::getUserDataDeletionRequest - missing required parameters"),null;const r=vn(t?.filters?.userId);return t?.filters?.userId&&!r?.length?(i.warn({params:t},"UserDataDeletionRequestsRepository::getUserDataDeletionRequest - user id should be a valid UUID"),null):e.safeQuery((async e=>{let i=e.getRepository(Ga).createQueryBuilder("userDataDeletionRequest");return t?.filters?.id&&(i=i.where("userDataDeletionRequest.id = :id",{id:t?.filters?.id})),t?.filters?.userId&&(i=i.where("userDataDeletionRequest.userId = :userId",{userId:r})),await i.getOne()}),"UserDataDeletionRequestsRepository::getUserDataDeletionRequest")})(t,e,this.logger);return this.logger.trace(i,"UserDataDeletionRequestsRepository::getUserDataDeletionRequest result"),i}async createUserDataDeletionRequest(e){this.logger.trace(e,"UserDataDeletionRequestsRepository::createUserDataDeletionRequest started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.userId&&t?.clientId&&t?.email&&t?.userSecurityRoleName))return i.warn({params:t},"UserDataDeletionRequestsRepository::createUserDataDeletionRequest - missing required parameters"),null;const r=vn(t?.userId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(Ga),a=new Date,n={id:t?.id,userId:r,clientId:t.clientId,email:t.email,userSecurityRoleName:t.userSecurityRoleName,status:t.status,createdAt:a,modifiedAt:a};return await i.save(n)}),"UserDataDeletionRequestsRepository::createUserDataDeletionRequest"):(i.warn({userId:t?.userId},"UserDataDeletionRequestsRepository::createUserDataDeletionRequest - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"UserDataDeletionRequestsRepository::createUserDataDeletionRequest result"),i}async updateUserDataDeletionRequest(e){this.logger.trace(e,"UserDataDeletionRequestsRepository::updateUserDataDeletionRequest started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.userId&&!t?.filters?.id)return i.warn({params:t},"UserDataDeletionRequestsRepository::updateUserDataDeletionRequest - missing required parameters"),!1;if(!t?.values?.status)return i.warn({params:t},"UserDataDeletionRequestsRepository::updateUserDataDeletionRequest - missing required parameters"),!1;const r=vn(t?.filters?.userId);return t?.filters?.userId&&!r?.length?(i.warn({userId:t?.filters?.userId},"UserDataDeletionRequestsRepository::updateUserDataDeletionRequest - user id should be a valid UUID"),!1):e.safeQuery((async e=>{const i=e.getRepository(Ga),a=new Date;let n=i.createQueryBuilder().update(Ga).set({status:t?.values?.status,modifiedAt:a});return t?.filters?.id&&(n=n.where("id = :id",{id:t?.filters?.id})),t?.filters?.userId&&(n=n.andWhere("userId = :userId",{userId:r})),(await n.execute()).affected>0}),"UserDataDeletionRequestsRepository::updateUserDataDeletionRequest")})(t,e,this.logger);return this.logger.trace({result:i},"UserDataDeletionRequestsRepository::updateUserDataDeletionRequest result"),i}async removeUserDataDeletionRequest(e){this.logger.trace(e,"UserDataDeletionRequestsRepository::removeUserDataDeletionRequest started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.id?e.safeQuery((async e=>{const i=e.getRepository(Ga).createQueryBuilder().delete().where("id = :id",{id:t?.filters?.id});return(await i.execute()).affected>0}),"UserDataDeletionRequestsRepository::removeUserDataDeletionRequest"):(i.warn({params:t},"UserDataDeletionRequestsRepository::removeUserDataDeletionRequest - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"UserDataDeletionRequestsRepository::removeUserDataDeletionRequest result"),i}}class fo extends yn{async getUserInvitationById(e){this.logger.trace(e,"UserInvitationsRepository::getUserInvitationById started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.id)return i.warn({params:t},"UserInvitationsRepository::getUserInvitationById - missing required parameters"),null;const r=vn(t?.filters?.id);return r?.length?e.safeQuery((async e=>{let t=e.getRepository($a).createQueryBuilder("userInvitation");return t=t.where("userInvitation.id = :id",{id:r}),await t.getOne()}),"UserInvitationsRepository::getUserInvitationById"):(i.warn({params:t},"UserInvitationsRepository::getUserInvitationById - user invitation id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"UserInvitationsRepository::getUserInvitationById result"),i}async getUserInvitations(e){this.logger.trace(e,"UserInvitationsRepository::getUserInvitations started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.inviteeEmails?.length||t?.filters?.inviterClientId||t?.filters?.statusList?.length?e.safeQuery((async e=>{let i=e.getRepository($a).createQueryBuilder("userInvitation");return t?.filters?.inviteeEmails?.length&&(i=i.andWhere("LOWER(userInvitation.inviteeEmail) IN (:...inviteeEmails)",{inviteeEmails:t.filters.inviteeEmails.map((e=>e.trim().toLowerCase()))})),t?.filters?.inviterClientId&&(i=i.andWhere("userInvitation.inviterClientId = :inviterClientId",{inviterClientId:t.filters.inviterClientId})),t?.filters?.statusList?.length&&(i=i.andWhere("userInvitation.statusId IN (:...statusList)",{statusList:t.filters.statusList})),i=i.orderBy("userInvitation.createdAt","DESC"),await i.getMany()}),"UserInvitationsRepository::getUserInvitations"):(i.warn({params:t},"UserInvitationsRepository::getUserInvitations - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"UserInvitationsRepository::getUserInvitations result"),i}async updateUserInvitation(e){this.logger.trace(e,"UserInvitationsRepository::updateUserInvitation started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.id)return i.warn({params:t},"UsersRepository::updateUserInvitation - missing required parameters"),!1;const r=vn(t?.filters?.id);if(!r?.length)return i.warn({invitationId:t?.filters?.id},"UsersRepository::updateUserInvitation - user invitation id should be a valid UUID"),!1;const a=vn(t?.values?.inviteeUserId);return t?.values?.statusId||a?.length||t?.values?.inviteeEmail||t?.values?.inviteeSecurityRoleId||t?.values?.trackerImeis||t?.values?.trackerAccess||t?.values?.minAccessDate||t?.values?.boundaries||t?.values?.boundaryAccess?e.safeQuery((async e=>{const i=e.getRepository($a),n=new Date;let o=i.createQueryBuilder().update($a).set({statusId:t?.values?.statusId,inviteeUserId:a,inviteeEmail:t?.values?.inviteeEmail,inviteeSecurityRoleId:t?.values?.inviteeSecurityRoleId,trackerImeis:t?.values?.trackerImeis,trackerAccess:t?.values?.trackerAccess,minAccessDate:t?.values?.minAccessDate,boundaries:t?.values?.boundaries,boundaryAccess:t?.values?.boundaryAccess,modifiedAt:n});return o=o.where("id = :id",{id:r}),(await o.execute()).affected>0}),"UsersRepository::updateUserInvitation"):(i.warn({params:t},"UsersRepository::updateUserInvitation - missing required parameters"),!1)})(t,e,this.logger);return this.logger.trace({result:i},"UserInvitationsRepository::updateUserInvitation result"),i}async createUserInvitation(e){this.logger.trace(e,"UserInvitationsRepository::createUserInvitation started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.id&&t?.inviterClientId&&t?.inviterUserId&&t?.inviteeEmail&&t?.inviteeSecurityRoleId&&t?.statusId))return i.warn({params:t},"UsersRepository::createUserInvitation - missing required parameters"),null;const r=vn(t?.id);if(!r?.length)return i.warn({invitationId:t?.id},"UsersRepository::createUserInvitation - user invitation id should be a valid UUID"),null;const a=vn(t?.inviterUserId);return a?.length?e.safeQuery((async e=>{const i=e.getRepository($a),n=new Date,o={id:r,inviterClientId:t.inviterClientId,inviterUserId:a,inviteeEmail:t.inviteeEmail,inviteeSecurityRoleId:t.inviteeSecurityRoleId,statusId:t.statusId,trackerImeis:t.trackerImeis,trackerAccess:t.trackerAccess,minAccessDate:t.minAccessDate,boundaries:t.boundaries,boundaryAccess:t.boundaryAccess,createdAt:n,modifiedAt:n};return await i.save(o)}),"UsersRepository::createUserInvitation"):(i.warn({inviterUserId:t?.inviterUserId},"UsersRepository::createUserInvitation - inviter user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace({result:i},"UserInvitationsRepository::createUserInvitation result"),i}}class ho extends yn{async getUserRatingRequests(e){this.logger.trace(e,"UserRatingRequestsRepository::getUserRatingRequests started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.userId)return i.warn({params:t},"UserRatingRequestsRepository::getUserRatingRequests - missing required parameters"),[];const r=vn(t?.filters?.userId);return r?.length?e.safeQuery((async e=>{let t=e.getRepository(Ya).createQueryBuilder("userRatingRequest");return t=t.where("userRatingRequest.userId = :userId",{userId:r}),t=t.orderBy("userRatingRequest.requestDate","DESC"),await t.getMany()}),"UserRatingRequestsRepository::getUserRatingRequests"):(i.warn({params:t},"UserRatingRequestsRepository::getUserRatingRequests - user id should be a valid UUID"),[])})(t,e,this.logger);return this.logger.trace(i,"UserRatingRequestsRepository::getUserRatingRequests result"),i}async createUserRatingRequest(e){this.logger.trace(e,"UserRatingRequestsRepository::createUserRatingRequest started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.userId&&t?.clientId&&t?.deviceManufacturer&&t?.deviceOs&&t.deviceOsVersion&&t?.appVersion))return i.warn({params:t},"UserRatingRequestsRepository::createUserRatingRequest - missing required parameters"),null;const r=vn(t?.userId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(Ya),a={id:t?.id,userId:r,clientId:t.clientId,deviceManufacturer:t.deviceManufacturer,deviceOs:t.deviceOs,deviceOsVersion:t.deviceOsVersion,appVersion:t.appVersion,requestDate:t.requestDate,amazonRequestDate:t.amazonRequestDate,deviceIdentifierKey:t.deviceIdentifierKey};return await i.save(a)}),"UserRatingRequestsRepository::createUserRatingRequest"):(i.warn({userId:t?.userId},"UserRatingRequestsRepository::createUserRatingRequest - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"UserRatingRequestsRepository::createUserRatingRequest result"),i}}class Io extends yn{async getUserRegistrationAttempts(e){this.logger.trace(e,"UserRegistrationAttemptsRepository::getUserRegistrationAttempts started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.id&&!t?.filters?.tempUserId)return i.warn({params:t},"UserRegistrationAttemptsRepository::getUserRegistrationAttempts - missing required parameters"),[];const r=vn(t?.filters?.tempUserId);return t?.filters?.tempUserId&&!r?.length?(i.warn({params:t},"UserRegistrationAttemptsRepository::getUserRegistrationAttempts - temp user id should be a valid UUID"),[]):e.safeQuery((async e=>{let i=e.getRepository(rn).createQueryBuilder("userRegistrationAttempt");return t?.filters?.id&&(i=i.where("userRegistrationAttempt.id = :id",{id:t?.filters?.id})),t?.filters?.tempUserId&&(i=i.where("userRegistrationAttempt.tempUserId = :tempUserId",{tempUserId:r})),await i.getMany()}),"UserRegistrationAttemptsRepository::getUserRegistrationAttempts")})(t,e,this.logger);return this.logger.trace(i,"UserRegistrationAttemptsRepository::getUserRegistrationAttempts result"),i}async createUserRegistrationAttempt(e){this.logger.trace(e,"UserRegistrationAttemptsRepository::createUserRegistrationAttempt started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.firstName||t?.lastName||t?.email||t?.phoneNumber||t?.phoneCode||t?.phoneCodeCountryId||t?.imei||t?.platform||t?.status||t?.tempUserId))return i.warn({params:t},"UserRegistrationAttemptsRepository::createUserRegistrationAttempt - missing required parameters"),null;const r=vn(t?.tempUserId);return t?.tempUserId&&!r?.length?(i.warn({params:t},"UserRegistrationAttemptsRepository::getUserRegistrationAttempts - temp user id should be a valid UUID"),null):e.safeQuery((async e=>{const i=e.getRepository(rn),a={id:t?.id,firstName:t?.firstName,lastName:t?.lastName,email:t?.email,phoneNumber:t?.phoneNumber,phoneCode:t?.phoneCode,phoneCodeCountryId:t?.phoneCodeCountryId,imei:t?.imei,platform:t?.platform,status:t?.status,tempUserId:r,createdAt:new Date};return await i.save(a)}),"UserRegistrationAttemptsRepository::createUserRegistrationAttempt")})(t,e,this.logger);return this.logger.trace(i,"UserRegistrationAttemptsRepository::createUserRegistrationAttempt result"),i}async updateUserRegistrationAttempt(e){this.logger.trace(e,"UserRegistrationAttemptsRepository::updateUserRegistrationAttempt started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.id&&(t?.values?.clientId||t?.values?.userName||t?.values?.pin||t?.values?.street||t?.values?.city||t?.values?.state||t?.values?.postalCode||t?.values?.country||t?.values?.countryCode)?e.safeQuery((async e=>{const i=e.getRepository(rn).createQueryBuilder().update(rn).set({clientId:t?.values?.clientId,userName:t?.values?.userName,pin:t?.values?.pin,street:t?.values?.street,city:t?.values?.city,state:t?.values?.state,postalCode:t?.values?.postalCode,country:t?.values?.country,countryCode:t?.values?.countryCode,lastUpdatedAt:new Date}).where("id = :id",{id:t?.filters?.id});return(await i.execute()).affected>0}),"UserRegistrationAttemptsRepository::updateUserRegistrationAttempt"):(i.warn({params:t},"UserRegistrationAttemptsRepository::updateUserRegistrationAttempt - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"UserRegistrationAttemptsRepository::updateUserRegistrationAttempt result"),i}}const bo=async(e,t,i)=>{let r=await qn(t,{filters:{alpha2Code:e}},i);return r||(r=await qn(t,{filters:{alpha2Code:"US"}},i)),r?.id};class Co extends yn{async getUserById(e){this.logger.trace(e,"UsersRepository::getUserById started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.id)return i.warn({params:t},"UsersRepository::getUserById - missing required parameters"),null;const r=vn(t?.filters?.id);return r?.length?e.safeQuery((async e=>{let t=e.getRepository(it).createQueryBuilder("user");return t=t.where("user.id = :id",{id:r}),await t.getOne()}),"UsersRepository::getUserById"):(i.warn({params:t},"UsersRepository::getUserById - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"UsersRepository::getUserById result"),i}async getUsers(e){this.logger.trace(e,"UsersRepository::getUsers started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.emailList?.length||t?.filters?.userName||t?.filters?.clientId||t?.filters?.search||t?.filters?.status?e.safeQuery((async e=>{let i=e.getRepository(it).createQueryBuilder("user");if(t.filters.emailList?.length&&(i=i.where("LOWER(user.email) IN (:...emailList)",{emailList:t.filters.emailList.map((e=>e.trim().toLowerCase()))})),t.filters.userName&&(i=i.andWhere("(LOWER(user.userName) = LOWER(:userName) OR LOWER(user.preferredUserName) = LOWER(:userName))",{userName:t.filters.userName.trim()})),t.filters.clientId&&(i=i.andWhere("user.clientId = :clientId",{clientId:t.filters.clientId})),t.filters.search){const e=vn(t.filters.search);i=i.andWhere("(LOWER(user.userName) = LOWER(:search) OR \n LOWER(user.preferredUserName) = LOWER(:search) OR \n LOWER(user.email) = LOWER(:search) OR \n user.id = :binaryBuffer)",{search:t.filters.search.trim(),binaryBuffer:e})}return t.filters.status&&(i=i.andWhere("user.status = :status",{status:t.filters.status})),i=i.orderBy("user.lastname","DESC"),await i.getMany()}),"UsersRepository::getUsers"):(i.warn({params:t},"UsersRepository::getUsers - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"UsersRepository::getUsers result"),i}async getUsersConfigurationByImei(e){this.logger.trace(e,"UsersRepository::getUsersConfigurationByImei started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{try{return await e.connect(),e.getRepository(it).createQueryBuilder("user").innerJoin("user.client","client").innerJoinAndSelect("client.devices","device").innerJoinAndSelect("user.userConfiguration","userConfiguration").innerJoinAndSelect("user.userAlertConfiguration","userAlertConfiguration").innerJoinAndSelect("user.country","country").where("device.imei = :imei",{imei:t.filters.imei}).getMany()}catch(e){throw i.error({error:e},"UsersRepository::getUsersConfigurationByImei error"),e}finally{await e.disconnect()}})(t,e,this.logger);return this.logger.trace(i,"UsersRepository::getUsersConfigurationByImei result"),i}async getUsersIdsByPhoneAndCountryCode(e){this.logger.trace(e,"UsersRepository::getUsersIdsByPhoneAndCountryCode started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.phone&&t?.filters?.countryCode?e.safeQuery((async e=>{let i=e.getRepository(it).createQueryBuilder("user").innerJoin(Ge,"country","country.id = user.countryId").where("country.alpha2Code = :countryCode",{countryCode:t.filters.countryCode}).andWhere("user.telephone = REPLACE(:phone, country.internationalDirectDialing, '')",{phone:t.filters.phone});i=i.select("user.id as id");const r=await i.getRawMany();return r?.map((e=>fn(e.id)))}),"UsersRepository::getUsersIdsByPhoneAndCountryCode"):(i.warn({params:t},"UsersRepository::getUsersIdsByPhoneAndCountryCode - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"UsersRepository::getUsersIdsByPhoneAndCountryCode result"),i}async getUsersWithRoles(e){this.logger.trace(e,"UsersRepository::getUsersWithRoles started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.clientId&&(t?.filters?.status||t?.filters?.roleId)?e.safeQuery((async e=>{let i=e.getRepository(it).createQueryBuilder("user").innerJoin(on,"userSecurityRole","userSecurityRole.userId = user.id").innerJoin($r,"securityRole","securityRole.id = userSecurityRole.securityRoleId").where("user.clientId = :clientId",{clientId:t.filters.clientId});return t.filters.roleId&&(i=i.andWhere("securityRole.id = :roleId",{roleId:t.filters.roleId})),t.filters.status&&(i=i.andWhere("user.status = :status",{status:t.filters.status})),i=i.addSelect("securityRole.name","role"),(await i.getRawMany()).map((e=>((e,t="")=>{if(!e)return null;const i={};return Object.keys(e).forEach((r=>{const a=new RegExp(`^${t}`),n=r.replace(a,"");i[n]=e[r]})),i})(e,"user_")))}),"UsersRepository::getUsersWithRoles"):(i.warn({params:t},"UsersRepository::getUsersWithRoles - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"UsersRepository::getUsersWithRoles result"),i}async createUser(e){this.logger.trace(e,"UsersRepository::createUser started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.id&&t?.firstName&&t?.lastName&&t?.email&&t?.userName&&t?.clientId))return i.warn({params:t},"UsersRepository::createUser - missing required parameters"),null;const r=vn(t?.id);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(it),a=new Date,n={id:r,firstName:t.firstName,lastName:t.lastName,companyName:t.companyName,telephone:t.telephone,street:t.street,postalCode:t.postalCode,city:t.city,region:t.region,email:t.email?.toLowerCase(),userName:t.userName,preferredUserName:t.preferredUserName,status:t.status??"A",clientId:t.clientId,pincode:t.pinCode,isAdmin:t.isAdmin??!1,countryId:t.countryId,telephoneCountryId:t.telephoneCountryId,dataSourceTypeId:t.dataSourceTypeId,emailVerified:t.emailVerified??!0,createdAt:a,modifiedAt:a};return await i.save(n)}),"UsersRepository::createUser"):(i.warn({params:t},"UsersRepository::createUser - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"UsersRepository::createUser result"),i}async deleteUser(e){this.logger.trace(e,"UsersRepository::deleteUser started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.id)return i.warn({params:t},"UsersRepository::deleteUser - missing required parameters"),!1;const r=vn(t?.id);return r?.length?e.safeQuery((async e=>{const t=e.getRepository(it);return(await t.createQueryBuilder("user").delete().where("id = :id",{id:r}).execute()).affected>0}),"UsersRepository::deleteUser"):(i.warn({params:t},"UsersRepository::deleteUser - user id should be a valid UUID"),!1)})(t,e,this.logger);return this.logger.trace({result:i},"UsersRepository::deleteUser result"),i}async updateUser(e){this.logger.trace(e,"UsersRepository::updateUser started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{const r=vn(t?.filters?.userId);if(!(r||t?.filters?.email||t?.filters?.statusList?.length||t?.filters?.userName))return i.warn({params:t},"UsersRepository::updateUser - missing required parameters"),!1;if(!(void 0!==t?.values?.city||void 0!==t?.values?.companyName||t?.values?.countryCode||t?.values?.countryId||t?.values?.dataSourceTypeId||t?.values?.email||null!=t?.values?.emailVerified||t?.values?.firstName||null!=t?.values?.isAdmin||t?.values?.lastName||t?.values?.postalCode||t?.values?.preferredUserName||void 0!==t?.values?.region||t?.values?.status||void 0!==t?.values?.street||void 0!==t?.values?.telephone||t?.values?.telephoneCountryCode||t?.values?.telephoneCountryId||t?.values?.userName||t?.values?.latitude||t?.values?.longitude||t?.values?.lastLoginAt))return i.warn({params:t},"UsersRepository::updateUser - missing required parameters"),!1;let a=t.values.countryId;!a&&t.values.countryCode&&(a=await bo(t.values.countryCode,e,i));let n=t.values.telephoneCountryId;return!n&&t.values.telephoneCountryCode&&(n=await bo(t.values.telephoneCountryCode,e,i)),e.safeQuery((async e=>{const i=e.getRepository(it),o=new Date;let s=i.createQueryBuilder().update(it).set({firstName:t.values.firstName,lastName:t.values.lastName,companyName:t.values.companyName,telephone:t.values.telephone,street:t.values.street,postalCode:t.values.postalCode,city:t.values.city,region:t.values.region,email:t.values.email?.toLowerCase(),userName:t.values.userName,preferredUserName:t.values.preferredUserName,status:t.values.status,isAdmin:t.values.isAdmin,countryId:a,telephoneCountryId:n,dataSourceTypeId:t.values.dataSourceTypeId,emailVerified:t.values.emailVerified,modifiedAt:o,lat:t.values.latitude,lon:t.values.longitude,lastLoginAt:t.values.lastLoginAt});return r&&(s=s.andWhere("id = :id",{id:r})),t.filters.email&&(s=s.andWhere("LOWER(email) = LOWER(:email)",{email:t.filters.email})),t.filters.statusList?.length&&(s=s.andWhere("status IN (:statusList)",{statusList:t.filters.statusList})),t.filters.userName&&(s=s.andWhere("userName = :userName",{userName:t.filters.userName})),(await s.execute()).affected>0}),"UsersRepository::updateUser")})(t,e,this.logger);return this.logger.trace({result:i},"UsersRepository::updateUser result"),i}async getUsersData(e){this.logger.trace(e,"UsersRepository::getUsersData started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imei?e.safeQuery((async e=>{const i=e.getRepository(it);return(await i.query("SELECT U.id as userId, U.telephone, U.email\n , UC.isMetric, coalesce (UC.timezone, '') as timezone, UC.alertsNotificationsOn, UC.speedUnits , UC.distanceUnits\n , AC.alertTypeId, AC.smsNotification, AC.emailNotification, AC.alertValue, AC.pushNotification , AC.appNotification , AC.alertMetadata\n , D.name as deviceName, D.deviceTypeId\n , C.id as clientId\n , U.isAdmin\n , CO.internationalDirectDialing\n , ( SELECT CONCAT('[',\n GROUP_CONCAT( distinct case when NR.isUserProfile = true\n then CONCAT('\"', U.telephone, '\"') else CONCAT('\"', NR.recipient, '\"') end SEPARATOR ','), \n ']') AS JSON\n from notificationRecipient as NR\n where NR.clientId = C.id\n and NR.userId = U.id\n and NR.notificationType = 2\n and NR.isEnabled = true\n and NR.unsubscribed = false ) as phoneNumbers\n , ( SELECT CONCAT('[',\n GROUP_CONCAT( distinct case when NR.isUserProfile = true\n then CONCAT('\"', U.email, '\"') else CONCAT('\"', NR.recipient, '\"') end SEPARATOR ','),\n ']') AS JSON\n from notificationRecipient as NR\n where NR.clientId = C.id\n and NR.userId = U.id\n and NR.notificationType = 1\n and NR.isEnabled = true\n and NR.unsubscribed = false ) as emailAddresses\n FROM device AS D\n JOIN client AS C\n ON D.clientId = C.id\n JOIN user AS U\n ON U.clientId = C.id and U.status = 'A'\n JOIN userConfiguration AS UC\n ON UC.userId = U.id\n JOIN userAlertConfiguration as AC\n ON AC.userId = U.id\n JOIN alertType AS A\n ON A.id = AC.alertTypeId\n JOIN country AS CO\n ON CO.id = CASE WHEN(U.countryId IS NULL OR U.countryId = 0) THEN 236 ELSE U.countryId END\n WHERE D.imei = ?",[t.filters.imei])).map((e=>({...e,userId:fn(e.userId),isAdmin:1===e.isAdmin,isMetric:1===e.isMetric,alertsNotificationOn:1===e.alertsNotificationsOn,smsNotification:1===e.smsNotification,emailNotification:1===e.emailNotification,pushNotification:1===e.pushNotification,appNotification:1===e.appNotification,phoneNumbers:e.phoneNumbers?JSON.parse(e.phoneNumbers):[],emailAddresses:e.emailAddresses?JSON.parse(e.emailAddresses):[]})))}),"UsersRepository::getUsersData"):(i.warn({params:t},"UsersRepository::getUsersData - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace({result:i},"UsersRepository::getUsersData result"),i}async deleteAccount(e){this.logger.trace(e,"UsersRepository::deleteAccount started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{let r=vn(t?.filters?.userId);await e.connect();const a=e.createQueryRunner();try{if(!r&&t?.filters?.email){const i=e.getRepository(it),a=await i.createQueryBuilder().where("email = :email",{email:t.filters.email}).select("id").getRawOne();a&&(r=a.id)}let i=t.filters.clientId;if(!i&&t.filters.email){const r=e.getRepository(nt),a=await r.createQueryBuilder().where("email = :email",{email:t.filters.email}).select("id").getRawOne();a&&(i=a.id)}await a.startTransaction();let n=!1;if(i){await a.manager.delete(Lr,{clientId:i}),await a.manager.delete(on,{clientId:i}),await a.manager.delete($a,{inviterClientId:i});const e=await a.manager.createQueryBuilder().select("boundary.id").from(Wt,"boundary").where("boundary.clientId = :clientId",{clientId:i}).getMany();e?.length&&(await a.manager.createQueryBuilder().delete().from(Jt,"boundaryEvent").where("boundaryEvent.boundaryId IN (:ids)",{ids:e.map((e=>e.id))}).execute(),await a.manager.delete(Wt,{clientId:i})),await a.manager.delete(fa,{clientId:i}),await a.manager.delete(ei,{clientId:i}),await a.manager.delete(di,{clientId:i}),n=(await a.manager.delete(nt,i)).affected>0}let o=!1;if(r){await a.manager.delete(Ye,{userId:r}),await a.manager.delete($e,{userId:r});const e=await a.manager.createQueryBuilder().select("userActivation.id").from(Aa,"userActivation").where("userActivation.userId = :userId",{userId:r}).getMany();e?.length&&(await a.manager.createQueryBuilder().delete().from(Na,"userActivationDevice").where(`userActivationDevice.userActivationId IN (${e?.map((e=>e.id)).join(",")})`).execute(),await a.manager.delete(Aa,{userId:r})),await a.manager.delete(Ya,{userId:r}),await a.manager.delete(Fa,{userId:r}),o=(await a.manager.delete(it,{id:r})).affected>0}return await a.commitTransaction(),n||o}catch(e){throw await a.rollbackTransaction(),i.error({error:e},"UsersRepository::deleteAccount error"),e}finally{await a.release(),await e.disconnect()}})(t,e,this.logger);return this.logger.trace({result:i},"UsersRepository::deleteAccount result"),i}}var Ro,wo;!function(e){e.BB="0",e.MCU="1",e.BLE="2",e.MODEM="7"}(Ro||(Ro={})),function(e){e.Queued="Queued",e.QueuedWaitingForConfig="QueuedWaitingForConfig",e.QueuedWaitingForVersionMessage="QueuedWaitingForVersionMessage",e.InProgress="InProgress",e.Completed="Completed",e.Canceled="Canceled",e.Failed="Failed"}(wo||(wo={}));const Do={uuidStringToBinaryBuffer:vn,binaryBufferToUuidString:fn};return t})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["nova-orm"]=t():e["nova-orm"]=t()}(global,(()=>(()=>{"use strict";var e={d:(t,i)=>{for(var r in i)e.o(i,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:i[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{Entities:()=>i,Enums:()=>n,NovaDataSource:()=>un,Repositories:()=>s,Types:()=>E,Utils:()=>Do});var i={};e.r(i),e.d(i,{AcumaticaAmazonProduct:()=>F,AcumaticaImeiIccidData:()=>q,AcumaticaOrderShipmentDetails:()=>G,AcumaticaShipment:()=>K,AcumaticaShipmentAmazon:()=>$,AempToken:()=>Y,Alert:()=>oe,AlertMigration:()=>de,AlertMigrationBatch:()=>ue,AlertTimeWindowConfiguration:()=>ye,AlertType:()=>re,AppFeatureType:()=>fe,AssetCategory:()=>be,Billing:()=>ut,BillingCustomerBraintree:()=>yt,BillingDeviceHistory:()=>ft,BillingHubspotPaymentLog:()=>bt,BillingKlarnaCustomer:()=>wt,BillingKlarnaOrder:()=>Tt,BillingStatusHistoryBraintree:()=>Ut,BillingSubscriptionBraintree:()=>kt,Blacklist:()=>jt,BlacklistType:()=>Lt,Boundary:()=>Wt,BoundaryEvent:()=>Jt,CellTower:()=>zt,Client:()=>nt,ClientAppFeature:()=>Zt,ClientConfiguration:()=>ei,ClientDeviceSetting:()=>ri,ClientType:()=>we,Country:()=>Ge,CustomerAttribute:()=>Ae,DataSourceType:()=>oi,Deactivation:()=>di,DeactivationReason:()=>pi,Device:()=>xe,DeviceAlertConfiguration:()=>gi,DeviceBehavior:()=>hi,DeviceCustomConfiguration:()=>Fe,DeviceHistory:()=>Ci,DeviceModelListener:()=>Di,DevicePairing:()=>Ti,DevicePromotion:()=>Ui,DeviceReplacement:()=>ki,DeviceTask:()=>Li,DeviceType:()=>Pe,DeviceTypeEvent:()=>Wi,DeviceTypeFeature:()=>Ji,DeviceTypeFirmware:()=>zi,EntityTag:()=>Zi,EntityType:()=>er,Event:()=>rr,Feature:()=>or,FirmwareAutoUpgradeBlacklist:()=>dr,FirmwareUpgradeTask:()=>pr,IccidStatus:()=>gr,ImeiIccidCarrier:()=>hr,ImeiIccidHistory:()=>Cr,Industry:()=>Dr,LatestPosition:()=>Tr,Magento2Gps:()=>Ur,Magento2Plan:()=>kr,MobileNetwork:()=>jr,NotificationRecipient:()=>Lr,Organization:()=>qe,Plan:()=>lt,Position:()=>Wr,PositionMigration:()=>Jr,PositionMigrationBatch:()=>Kr,Promotion:()=>Ne,SecurityRole:()=>$r,ServiceProvider:()=>Yr,ServiceProviderProduct:()=>ia,ServiceProviderProductNetwork:()=>na,ServiceProviderProductType:()=>la,Sim:()=>ua,Task:()=>ya,TaskSchedule:()=>ji,Trip:()=>fa,TripCompletionStatus:()=>ba,TripPosition:()=>wa,User:()=>it,UserActivation:()=>Aa,UserActivationDevice:()=>Na,UserActivationEvent:()=>Pa,UserActivationMetric:()=>xa,UserAlertComplain:()=>Ke,UserAlertConfiguration:()=>$e,UserAppFeedback:()=>Fa,UserAppIncident:()=>qa,UserConfiguration:()=>Ye,UserDataDeletionRequest:()=>Ga,UserDeviceBehaviorTask:()=>Ka,UserInvitation:()=>$a,UserRatingRequest:()=>Ya,UserRegistrationAttempt:()=>rn,UserSecurityRole:()=>on});var r={};e.r(r),e.d(r,{AllEntitiesSubscriber:()=>ln});var a={};e.r(a),e.d(a,{LogLevel:()=>pn});var n={};e.r(n),e.d(n,{BlacklistType:()=>kn,BoundaryEventType:()=>jn,BoundaryStatus:()=>Tn,DeviceBehaviorStatus:()=>Un,DeviceBehaviorTaskStatus:()=>On,DeviceBehaviorType:()=>Nn,DeviceStatus:()=>An,HapnClientType:()=>Bn,HapnSecurityRole:()=>Sn,NotificationRecipientType:()=>Pn,TripCompletionStatus:()=>xn,TripType:()=>En});var o={};e.r(o),e.d(o,{requiredCreateTripParamsAttributes:()=>no,requiredGetTripsParamsAttributes:()=>so,requiredUpdateTripEndValuesParamsAttributes:()=>oo});var s={};e.r(s),e.d(s,{AcumaticaRepository:()=>gn,AempTokenRepository:()=>hn,AlertRepository:()=>In,AlertTypesRepository:()=>bn,AppFeaturesRepository:()=>Cn,AssetCategoriesRepository:()=>Rn,BillingRepository:()=>wn,BlacklistRepository:()=>Dn,BoundariesRepository:()=>Ln,ClientsRepository:()=>Qn,CountriesRepository:()=>Wn,DeactivationsRepository:()=>Vn,DeviceBehaviorsRepository:()=>Gn,DevicePairingsRepository:()=>Jn,DevicesRepository:()=>Kn,FirmwaresRepository:()=>zn,NotificationRecipientsRepository:()=>_n,PositionRepository:()=>Zn,SecurityRepository:()=>Xn,TasksRepository:()=>ao,TripRepository:()=>uo,UserActivationsRepository:()=>po,UserAppFeedbackRepository:()=>mo,UserAppIncidentsRepository:()=>yo,UserConfigurationsRepository:()=>go,UserDataDeletionRequestsRepository:()=>vo,UserInvitationsRepository:()=>fo,UserRatingRequestsRepository:()=>ho,UserRegistrationAttemptsRepository:()=>Io,UsersRepository:()=>Co});var l={};e.r(l);var d={};e.r(d);var c={};e.r(c);var u={};e.r(u);var p={};e.r(p);var m={};e.r(m);var y={};e.r(y);var g={};e.r(g);var v={};e.r(v);var f={};e.r(f);var h={};e.r(h);var I={};e.r(I);var b={};e.r(b);var C={};e.r(C),e.d(C,{FirmwareUpgradeTaskStatus:()=>wo,UpgradeType:()=>Ro});var R={};e.r(R);var w={};e.r(w);var D={};e.r(D);var S={};e.r(S);var A={};e.r(A);var T={};e.r(T);var B={};e.r(B);var N={};e.r(N);var U={};e.r(U);var O={};e.r(O);var P={};e.r(P);var k={};e.r(k);var E={};e.r(E),e.d(E,{Acumatica:()=>l,AlertTypes:()=>c,Alerts:()=>d,AppFeatures:()=>u,Billing:()=>p,Blacklist:()=>m,Boundaries:()=>y,Clients:()=>g,Countries:()=>v,Deactivations:()=>f,DeviceBehaviors:()=>h,DevicePairings:()=>I,Devices:()=>b,Enums:()=>n,Firmwares:()=>C,Logger:()=>a,NotificationRecipients:()=>R,Positions:()=>w,Security:()=>D,Trips:()=>o,UserActivations:()=>A,UserAppFeedback:()=>T,UserAppIncidents:()=>B,UserConfigurations:()=>N,UserDataDeletionRequests:()=>U,UserInvitations:()=>O,UserRatingRequests:()=>P,UserRegistrationAttempts:()=>k,Users:()=>S});const x=require("typeorm");var j=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},M=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let F=class{id;sku;asin;description;reviewUrl;productUrl};j([(0,x.PrimaryGeneratedColumn)({type:"smallint",name:"id"}),M("design:type",Number)],F.prototype,"id",void 0),j([(0,x.Column)("varchar",{name:"sku",length:50}),M("design:type",String)],F.prototype,"sku",void 0),j([(0,x.Column)("varchar",{name:"asin",length:50}),M("design:type",String)],F.prototype,"asin",void 0),j([(0,x.Column)("varchar",{name:"description",nullable:!0,length:500}),M("design:type",String)],F.prototype,"description",void 0),j([(0,x.Column)("varchar",{name:"reviewUrl",nullable:!0,length:1e3}),M("design:type",String)],F.prototype,"reviewUrl",void 0),j([(0,x.Column)("varchar",{name:"productUrl",nullable:!0,length:1e3}),M("design:type",String)],F.prototype,"productUrl",void 0),F=j([(0,x.Entity)("acumaticaAmazonProduct",{schema:"nova"})],F);var L=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Q=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let q=class{id;imei;iccid;amazonShipmentId;deviceModel;deviceCarrier;carrierNetwork;carrierProductId;poNbr;createdBy;createdDate;lastModifiedDate;shipDate;asin;countryCode};L([(0,x.PrimaryGeneratedColumn)({type:"smallint",name:"id"}),Q("design:type",Number)],q.prototype,"id",void 0),L([(0,x.Column)("varchar",{name:"imei",length:50}),Q("design:type",String)],q.prototype,"imei",void 0),L([(0,x.Column)("varchar",{name:"iccid",nullable:!0,length:50}),Q("design:type",String)],q.prototype,"iccid",void 0),L([(0,x.Column)("varchar",{name:"amazonShipmentId",nullable:!0,length:50}),Q("design:type",String)],q.prototype,"amazonShipmentId",void 0),L([(0,x.Column)("varchar",{name:"deviceModel",nullable:!0,length:50}),Q("design:type",String)],q.prototype,"deviceModel",void 0),L([(0,x.Column)("varchar",{name:"deviceCarrier",nullable:!0,length:50}),Q("design:type",String)],q.prototype,"deviceCarrier",void 0),L([(0,x.Column)("varchar",{name:"carrierNetwork",nullable:!0,length:50}),Q("design:type",String)],q.prototype,"carrierNetwork",void 0),L([(0,x.Column)("varchar",{name:"carrierProductId",nullable:!0,length:50}),Q("design:type",String)],q.prototype,"carrierProductId",void 0),L([(0,x.Column)("varchar",{name:"poNbr",nullable:!0,length:50}),Q("design:type",String)],q.prototype,"poNbr",void 0),L([(0,x.Column)("varchar",{name:"createdBy",nullable:!0,length:100}),Q("design:type",String)],q.prototype,"createdBy",void 0),L([(0,x.Column)("varchar",{name:"createdDate",nullable:!0,length:50}),Q("design:type",String)],q.prototype,"createdDate",void 0),L([(0,x.Column)("varchar",{name:"lastModifiedDate",nullable:!0,length:50}),Q("design:type",String)],q.prototype,"lastModifiedDate",void 0),L([(0,x.Column)("varchar",{name:"shipDate",nullable:!0,length:50}),Q("design:type",String)],q.prototype,"shipDate",void 0),L([(0,x.Column)("varchar",{name:"asin",nullable:!0,length:50}),Q("design:type",String)],q.prototype,"asin",void 0),L([(0,x.Column)("varchar",{name:"countryCode",nullable:!0,length:3}),Q("design:type",String)],q.prototype,"countryCode",void 0),q=L([(0,x.Entity)("acumaticaImeiIccidData",{schema:"nova"})],q);var W=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},V=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let G=class{id;imei;shipmentNumber;shipmentStatus;shipmentDate;orderType;orderStatus;iccid;sku};W([(0,x.PrimaryGeneratedColumn)({type:"smallint",name:"id"}),V("design:type",Number)],G.prototype,"id",void 0),W([(0,x.Column)("varchar",{name:"imei",nullable:!0,length:255}),V("design:type",String)],G.prototype,"imei",void 0),W([(0,x.Column)("varchar",{name:"shipmentNumber",nullable:!0,length:50}),V("design:type",String)],G.prototype,"shipmentNumber",void 0),W([(0,x.Column)("varchar",{name:"shipmentStatus",nullable:!0,length:50}),V("design:type",String)],G.prototype,"shipmentStatus",void 0),W([(0,x.Column)("datetime",{name:"shipmentDate",nullable:!0,precision:0}),V("design:type",Date)],G.prototype,"shipmentDate",void 0),W([(0,x.Column)("varchar",{name:"orderType",nullable:!0,length:10}),V("design:type",String)],G.prototype,"orderType",void 0),W([(0,x.Column)("varchar",{name:"orderStatus",nullable:!0,length:50}),V("design:type",String)],G.prototype,"orderStatus",void 0),W([(0,x.Column)("varchar",{name:"iccid",nullable:!0,length:255}),V("design:type",String)],G.prototype,"iccid",void 0),W([(0,x.Column)("varchar",{name:"sku",nullable:!0,length:50}),V("design:type",String)],G.prototype,"sku",void 0),G=W([(0,x.Entity)("acumaticaOrderShipmentDetails",{schema:"nova"})],G);var J=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},H=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let K=class{shipmentId;shipmentDate;location};J([(0,x.PrimaryColumn)("varchar",{name:"shipmentId",length:50}),H("design:type",String)],K.prototype,"shipmentId",void 0),J([(0,x.Column)("datetime",{name:"shipmentDate",nullable:!0,precision:0}),H("design:type",Date)],K.prototype,"shipmentDate",void 0),J([(0,x.Column)("varchar",{name:"location",nullable:!0,length:6}),H("design:type",String)],K.prototype,"location",void 0),K=J([(0,x.Entity)("acumaticaShipment",{schema:"nova"})],K);var z=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},_=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let $=class{shipmentId;asin};z([(0,x.Column)("varchar",{name:"shipmentId",primary:!0,length:50}),_("design:type",String)],$.prototype,"shipmentId",void 0),z([(0,x.Column)("varchar",{name:"asin",primary:!0,length:50}),_("design:type",String)],$.prototype,"asin",void 0),$=z([(0,x.Entity)("acumaticaShipmentAmazon",{schema:"nova"})],$);var Z=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},X=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Y=class{id;clientId;token;createdAt;updatedAt;expiresAt};Z([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),X("design:type",Number)],Y.prototype,"id",void 0),Z([(0,x.Column)("int",{name:"clientId"}),X("design:type",Number)],Y.prototype,"clientId",void 0),Z([(0,x.Column)("binary",{name:"token",length:16}),X("design:type",Buffer)],Y.prototype,"token",void 0),Z([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),X("design:type",Date)],Y.prototype,"createdAt",void 0),Z([(0,x.Column)("datetime",{name:"updatedAt",nullable:!0}),X("design:type",Date)],Y.prototype,"updatedAt",void 0),Z([(0,x.Column)("datetime",{name:"expiresAt",nullable:!0}),X("design:type",Date)],Y.prototype,"expiresAt",void 0),Y=Z([(0,x.Index)("ixuAempToken_Token",["token"],{unique:!0}),(0,x.Entity)("aempToken",{schema:"nova"})],Y);class ee{to(e){return null===e?null:void 0!==e?e?1:0:void 0}from(e){return null===e?null:void 0!==e?1==e:void 0}}var te=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},ie=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let re=class{id;name;title;description;isSystem;icon;context;identifier;stage;category;key;createdAt};te([(0,x.PrimaryGeneratedColumn)({type:"smallint",name:"id"}),ie("design:type",Number)],re.prototype,"id",void 0),te([(0,x.Column)("varchar",{name:"name",length:50}),ie("design:type",String)],re.prototype,"name",void 0),te([(0,x.Column)("varchar",{name:"title",nullable:!0,length:255}),ie("design:type",String)],re.prototype,"title",void 0),te([(0,x.Column)("varchar",{name:"description",nullable:!0,length:2e3}),ie("design:type",String)],re.prototype,"description",void 0),te([(0,x.Column)("tinyint",{name:"isSystem",width:1,default:()=>"'0'",transformer:new ee}),ie("design:type",Boolean)],re.prototype,"isSystem",void 0),te([(0,x.Column)("varchar",{name:"icon",nullable:!0,length:50}),ie("design:type",String)],re.prototype,"icon",void 0),te([(0,x.Column)("varchar",{name:"context",nullable:!0,length:25}),ie("design:type",String)],re.prototype,"context",void 0),te([(0,x.Column)("varchar",{name:"identifier",nullable:!0,length:50}),ie("design:type",String)],re.prototype,"identifier",void 0),te([(0,x.Column)("varchar",{name:"stage",nullable:!0,length:10}),ie("design:type",String)],re.prototype,"stage",void 0),te([(0,x.Column)("varchar",{name:"category",nullable:!0,length:25}),ie("design:type",String)],re.prototype,"category",void 0),te([(0,x.Column)("varchar",{name:"key",nullable:!0,length:50}),ie("design:type",String)],re.prototype,"key",void 0),te([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),ie("design:type",Date)],re.prototype,"createdAt",void 0),re=te([(0,x.Index)("ixAlertTypeStage",["stage"],{}),(0,x.Entity)("alertType",{schema:"nova"})],re);var ae=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},ne=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let oe=class{id;alertTypeId;alertType;value;createdAt;userId;messageId;boundaryId;imei;sendTime;lat;lon;address;clientId;isBuffer;isNotification;gpsUtcTime;relevantAddress;gpsMessageId;cellTowerRelevantAddress};ae([(0,x.PrimaryGeneratedColumn)({type:"bigint",name:"id"}),ne("design:type",Number)],oe.prototype,"id",void 0),ae([(0,x.Column)("tinyint",{name:"alertTypeId"}),ne("design:type",Number)],oe.prototype,"alertTypeId",void 0),ae([(0,x.OneToOne)((()=>re),{createForeignKeyConstraints:!1}),(0,x.JoinColumn)(),ne("design:type",Object)],oe.prototype,"alertType",void 0),ae([(0,x.Column)("varchar",{name:"value",nullable:!0,length:5e3}),ne("design:type",String)],oe.prototype,"value",void 0),ae([(0,x.Column)("datetime",{name:"createdAt",precision:3}),ne("design:type",Date)],oe.prototype,"createdAt",void 0),ae([(0,x.Column)("binary",{name:"userId",nullable:!0,length:16}),ne("design:type",Buffer)],oe.prototype,"userId",void 0),ae([(0,x.Column)("binary",{name:"messageId",length:16}),ne("design:type",Buffer)],oe.prototype,"messageId",void 0),ae([(0,x.Column)("int",{name:"boundaryId",nullable:!0}),ne("design:type",Number)],oe.prototype,"boundaryId",void 0),ae([(0,x.Column)("varchar",{name:"imei",length:15}),ne("design:type",String)],oe.prototype,"imei",void 0),ae([(0,x.Column)("datetime",{name:"sendTime",precision:3}),ne("design:type",Date)],oe.prototype,"sendTime",void 0),ae([(0,x.Column)("decimal",{name:"lat",nullable:!0,precision:8,scale:6}),ne("design:type",Number)],oe.prototype,"lat",void 0),ae([(0,x.Column)("decimal",{name:"lon",nullable:!0,precision:9,scale:6}),ne("design:type",Number)],oe.prototype,"lon",void 0),ae([(0,x.Column)("varchar",{name:"address",nullable:!0,length:255}),ne("design:type",String)],oe.prototype,"address",void 0),ae([(0,x.Column)("int",{name:"clientId",nullable:!0}),ne("design:type",Number)],oe.prototype,"clientId",void 0),ae([(0,x.Column)("tinyint",{name:"isBuffer",nullable:!0,width:1}),ne("design:type",Boolean)],oe.prototype,"isBuffer",void 0),ae([(0,x.Column)("tinyint",{name:"isNotification",nullable:!0,width:1}),ne("design:type",Boolean)],oe.prototype,"isNotification",void 0),ae([(0,x.Column)("datetime",{name:"gpsUtcTime",nullable:!0,precision:3}),ne("design:type",Date)],oe.prototype,"gpsUtcTime",void 0),ae([(0,x.Column)("varchar",{name:"relevantAddress",nullable:!0,length:255}),ne("design:type",String)],oe.prototype,"relevantAddress",void 0),ae([(0,x.Column)("binary",{name:"gpsMessageId",nullable:!0,length:16}),ne("design:type",Buffer)],oe.prototype,"gpsMessageId",void 0),ae([(0,x.Column)("varchar",{name:"cellTowerRelevantAddress",nullable:!0,length:255}),ne("design:type",String)],oe.prototype,"cellTowerRelevantAddress",void 0),oe=ae([(0,x.Index)("ixAlertUserId_Imei_AlertTypeId_SendTime",["userId","imei","alertTypeId","sendTime"],{}),(0,x.Index)("ixAlertUserId_AlertTypeId_SendTime",["userId","alertTypeId","sendTime"],{}),(0,x.Index)("ixAlertAlertTypeId",["alertTypeId"],{}),(0,x.Index)("ixAlertClientId",["clientId"],{}),(0,x.Index)("ixAlertImei",["imei"],{}),(0,x.Index)("ixAlertSendTime",["sendTime"],{}),(0,x.Index)("ixAlertUserId",["userId"],{}),(0,x.Entity)("alert",{schema:"nova"})],oe);var se=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},le=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let de=class{id;alertTypeId;value;createdAt;userId;messageId;boundaryId;imei;sendTime;lat;lon;address;clientId;isBuffer;isNotification;gpsUtcTime;relevantAddress;gpsMessageId;cellTowerRelevantAddress};se([(0,x.PrimaryColumn)({type:"bigint",name:"id"}),le("design:type",Number)],de.prototype,"id",void 0),se([(0,x.Column)("tinyint",{name:"alertTypeId"}),le("design:type",Number)],de.prototype,"alertTypeId",void 0),se([(0,x.Column)("varchar",{name:"value",nullable:!0,length:5e3}),le("design:type",String)],de.prototype,"value",void 0),se([(0,x.Column)("datetime",{name:"createdAt",precision:3}),le("design:type",Date)],de.prototype,"createdAt",void 0),se([(0,x.Column)("binary",{name:"userId",nullable:!0,length:16}),le("design:type",Buffer)],de.prototype,"userId",void 0),se([(0,x.Column)("binary",{name:"messageId",length:16}),le("design:type",Buffer)],de.prototype,"messageId",void 0),se([(0,x.Column)("int",{name:"boundaryId",nullable:!0}),le("design:type",Number)],de.prototype,"boundaryId",void 0),se([(0,x.Column)("varchar",{name:"imei",length:15}),le("design:type",String)],de.prototype,"imei",void 0),se([(0,x.Column)("datetime",{name:"sendTime",precision:3}),le("design:type",Date)],de.prototype,"sendTime",void 0),se([(0,x.Column)("decimal",{name:"lat",nullable:!0,precision:8,scale:6}),le("design:type",Number)],de.prototype,"lat",void 0),se([(0,x.Column)("decimal",{name:"lon",nullable:!0,precision:9,scale:6}),le("design:type",Number)],de.prototype,"lon",void 0),se([(0,x.Column)("varchar",{name:"address",nullable:!0,length:255}),le("design:type",String)],de.prototype,"address",void 0),se([(0,x.Column)("int",{name:"clientId",nullable:!0}),le("design:type",Number)],de.prototype,"clientId",void 0),se([(0,x.Column)("tinyint",{name:"isBuffer",nullable:!0,width:1}),le("design:type",Boolean)],de.prototype,"isBuffer",void 0),se([(0,x.Column)("tinyint",{name:"isNotification",nullable:!0,width:1}),le("design:type",Boolean)],de.prototype,"isNotification",void 0),se([(0,x.Column)("datetime",{name:"gpsUtcTime",nullable:!0,precision:3}),le("design:type",Date)],de.prototype,"gpsUtcTime",void 0),se([(0,x.Column)("varchar",{name:"relevantAddress",nullable:!0,length:255}),le("design:type",String)],de.prototype,"relevantAddress",void 0),se([(0,x.Column)("binary",{name:"gpsMessageId",nullable:!0,length:16}),le("design:type",Buffer)],de.prototype,"gpsMessageId",void 0),se([(0,x.Column)("varchar",{name:"cellTowerRelevantAddress",nullable:!0,length:255}),le("design:type",String)],de.prototype,"cellTowerRelevantAddress",void 0),de=se([(0,x.Entity)("alertMigration",{schema:"nova"})],de);var ce=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o};let ue=class{id};ce([(0,x.PrimaryColumn)({type:"bigint",name:"id"}),function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}("design:type",Number)],ue.prototype,"id",void 0),ue=ce([(0,x.Entity)("alertMigrationBatch",{schema:"nova"})],ue);var pe=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},me=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let ye=class{id;alertId;userId;clientId;alertConfigurationId;daysOfTheWeek;startTime;endTime;label};pe([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),me("design:type",Number)],ye.prototype,"id",void 0),pe([(0,x.Column)("int",{name:"alertId",nullable:!0}),me("design:type",Number)],ye.prototype,"alertId",void 0),pe([(0,x.Column)("binary",{name:"userId",nullable:!0,length:16}),me("design:type",Buffer)],ye.prototype,"userId",void 0),pe([(0,x.Column)("int",{name:"clientId",nullable:!0}),me("design:type",Number)],ye.prototype,"clientId",void 0),pe([(0,x.Column)("int",{name:"alertConfigurationId",nullable:!0}),me("design:type",Number)],ye.prototype,"alertConfigurationId",void 0),pe([(0,x.Column)("varchar",{name:"daysOfTheWeek",nullable:!0,length:7}),me("design:type",String)],ye.prototype,"daysOfTheWeek",void 0),pe([(0,x.Column)("datetime",{name:"startTime",nullable:!0,precision:0}),me("design:type",Date)],ye.prototype,"startTime",void 0),pe([(0,x.Column)("datetime",{name:"endTime",nullable:!0,precision:0}),me("design:type",Date)],ye.prototype,"endTime",void 0),pe([(0,x.Column)("varchar",{name:"label",nullable:!0,length:100}),me("design:type",String)],ye.prototype,"label",void 0),ye=pe([(0,x.Entity)("alertTimeWindowConfiguration",{schema:"nova"})],ye);var ge=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},ve=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let fe=class{id;name;description;statusId};ge([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),ve("design:type",Number)],fe.prototype,"id",void 0),ge([(0,x.Column)("varchar",{name:"name",length:100}),ve("design:type",String)],fe.prototype,"name",void 0),ge([(0,x.Column)("varchar",{name:"description",length:500}),ve("design:type",String)],fe.prototype,"description",void 0),ge([(0,x.Column)("int",{name:"statusId",default:()=>"'1'"}),ve("design:type",Number)],fe.prototype,"statusId",void 0),fe=ge([(0,x.Entity)("appFeatureType",{schema:"nova"})],fe);var he=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ie=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let be=class{id;name;description};he([(0,x.PrimaryGeneratedColumn)({type:"tinyint",name:"id"}),Ie("design:type",Number)],be.prototype,"id",void 0),he([(0,x.Column)("varchar",{name:"name",length:50}),Ie("design:type",String)],be.prototype,"name",void 0),he([(0,x.Column)("varchar",{name:"description",nullable:!0,length:255}),Ie("design:type",String)],be.prototype,"description",void 0),be=he([(0,x.Index)("ixuAssetCategoryName",["name"],{unique:!0}),(0,x.Entity)("assetCategory",{schema:"nova"})],be);var Ce=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Re=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let we=class{id;name;description;status};Ce([(0,x.PrimaryGeneratedColumn)({type:"tinyint",name:"id"}),Re("design:type",Number)],we.prototype,"id",void 0),Ce([(0,x.Column)("varchar",{name:"name",length:50}),Re("design:type",String)],we.prototype,"name",void 0),Ce([(0,x.Column)("varchar",{name:"description",length:255}),Re("design:type",String)],we.prototype,"description",void 0),Ce([(0,x.Column)("varchar",{name:"status",length:10,default:()=>"'active'"}),Re("design:type",String)],we.prototype,"status",void 0),we=Ce([(0,x.Entity)("clientType",{schema:"nova"})],we);var De=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Se=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ae=class{clientId;client;enterprise;maintenanceModule};De([(0,x.Column)("int",{primary:!0,name:"clientId"}),Se("design:type",Number)],Ae.prototype,"clientId",void 0),De([(0,x.OneToOne)((()=>nt),{createForeignKeyConstraints:!1,nullable:!1}),(0,x.JoinColumn)(),Se("design:type",Object)],Ae.prototype,"client",void 0),De([(0,x.Column)("tinyint",{name:"enterprise",width:1,default:()=>"'0'",transformer:new ee}),Se("design:type",Boolean)],Ae.prototype,"enterprise",void 0),De([(0,x.Column)("tinyint",{name:"maintenanceModule",width:1,default:()=>"'0'",transformer:new ee}),Se("design:type",Boolean)],Ae.prototype,"maintenanceModule",void 0),Ae=De([(0,x.Entity)("customerAttribute",{schema:"nova"})],Ae);var Te=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Be=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ne=class{id;name;description;clientId;client;imei;deviceTypeId;deviceType;marketPlace;asin;type;discount;discountBillingCycles;freeServiceMonths;startDate;endDate;status};Te([(0,x.PrimaryGeneratedColumn)({type:"bigint",name:"id"}),Be("design:type",Number)],Ne.prototype,"id",void 0),Te([(0,x.Column)("varchar",{name:"name",length:255}),Be("design:type",String)],Ne.prototype,"name",void 0),Te([(0,x.Column)("varchar",{name:"description",length:255}),Be("design:type",String)],Ne.prototype,"description",void 0),Te([(0,x.Column)("int",{name:"clientId",nullable:!0}),Be("design:type",Number)],Ne.prototype,"clientId",void 0),Te([(0,x.OneToMany)((()=>nt),(e=>e.promotions)),Be("design:type",Object)],Ne.prototype,"client",void 0),Te([(0,x.Column)("varchar",{name:"imei",nullable:!0,length:15}),Be("design:type",String)],Ne.prototype,"imei",void 0),Te([(0,x.Column)("smallint",{name:"deviceTypeId",nullable:!0}),Be("design:type",Number)],Ne.prototype,"deviceTypeId",void 0),Te([(0,x.OneToMany)((()=>Pe),(e=>e.promotions)),Be("design:type",Object)],Ne.prototype,"deviceType",void 0),Te([(0,x.Column)("varchar",{name:"marketPlace",length:25,nullable:!0,comment:"Should be used to offer promotions to devices sold in a specific marketplace, as in AMZ US, MX, etc…"}),Be("design:type",String)],Ne.prototype,"marketPlace",void 0),Te([(0,x.Column)("varchar",{name:"asin",nullable:!0,length:25}),Be("design:type",String)],Ne.prototype,"asin",void 0),Te([(0,x.Column)("varchar",{name:"type",length:25,comment:"The type of promotion: freeService or discount."}),Be("design:type",String)],Ne.prototype,"type",void 0),Te([(0,x.Column)("decimal",{name:"discount",nullable:!0,precision:19,scale:4,comment:"The discount value if the type is discount offered in US Dollars."}),Be("design:type",Number)],Ne.prototype,"discount",void 0),Te([(0,x.Column)("int",{name:"discountBillingCycles",nullable:!0,comment:"The number of billing cycles that the discount will be applied. Required when type is discount"}),Be("design:type",Number)],Ne.prototype,"discountBillingCycles",void 0),Te([(0,x.Column)("int",{name:"freeServiceMonths",nullable:!0,comment:"The number of months that the service will be free. Required when type is freeService"}),Be("design:type",Number)],Ne.prototype,"freeServiceMonths",void 0),Te([(0,x.Column)("datetime",{name:"startDate",comment:"The date that the promotion will start"}),Be("design:type",Date)],Ne.prototype,"startDate",void 0),Te([(0,x.Column)("datetime",{name:"endDate",nullable:!0,comment:"The date that the promotion will end"}),Be("design:type",Date)],Ne.prototype,"endDate",void 0),Te([(0,x.Column)("varchar",{name:"status",length:25,comment:"The status of the promotion: active, inactive"}),Be("design:type",String)],Ne.prototype,"status",void 0),Ne=Te([(0,x.Entity)("promotion",{schema:"nova"})],Ne);var Ue=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Oe=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Pe=class{id;brand;model;modelFamily;description;tags;url;name;pictureUrl;userManualUrl;notes;supported;activatable;selfActivatable;port;protocolMatch;stage;identifierType;landingPage;troubleshooting;protocol;promotions;devices};Ue([(0,x.PrimaryGeneratedColumn)({type:"smallint",name:"id"}),Oe("design:type",Number)],Pe.prototype,"id",void 0),Ue([(0,x.Column)("varchar",{name:"brand",length:50}),Oe("design:type",String)],Pe.prototype,"brand",void 0),Ue([(0,x.Column)("varchar",{name:"model",length:50}),Oe("design:type",String)],Pe.prototype,"model",void 0),Ue([(0,x.Column)("varchar",{name:"modelFamily",length:50}),Oe("design:type",String)],Pe.prototype,"modelFamily",void 0),Ue([(0,x.Column)("varchar",{name:"description",nullable:!0,length:500}),Oe("design:type",String)],Pe.prototype,"description",void 0),Ue([(0,x.Column)("varchar",{name:"tags",nullable:!0,length:255}),Oe("design:type",String)],Pe.prototype,"tags",void 0),Ue([(0,x.Column)("varchar",{name:"url",nullable:!0,length:1e3}),Oe("design:type",String)],Pe.prototype,"url",void 0),Ue([(0,x.Column)("varchar",{name:"name",nullable:!0,length:50}),Oe("design:type",String)],Pe.prototype,"name",void 0),Ue([(0,x.Column)("varchar",{name:"pictureUrl",nullable:!0,length:1e3}),Oe("design:type",String)],Pe.prototype,"pictureUrl",void 0),Ue([(0,x.Column)("varchar",{name:"userManualUrl",nullable:!0,length:1e3}),Oe("design:type",String)],Pe.prototype,"userManualUrl",void 0),Ue([(0,x.Column)("varchar",{name:"notes",nullable:!0,length:2e3}),Oe("design:type",String)],Pe.prototype,"notes",void 0),Ue([(0,x.Column)("tinyint",{name:"supported",nullable:!0,width:1,transformer:new ee}),Oe("design:type",Boolean)],Pe.prototype,"supported",void 0),Ue([(0,x.Column)("tinyint",{name:"activatable",nullable:!0,width:1,transformer:new ee}),Oe("design:type",Boolean)],Pe.prototype,"activatable",void 0),Ue([(0,x.Column)("tinyint",{name:"selfActivatable",nullable:!0,width:1,transformer:new ee}),Oe("design:type",Boolean)],Pe.prototype,"selfActivatable",void 0),Ue([(0,x.Column)("smallint",{name:"port",nullable:!0}),Oe("design:type",Number)],Pe.prototype,"port",void 0),Ue([(0,x.Column)("varchar",{name:"protocolMatch",nullable:!0,length:5}),Oe("design:type",String)],Pe.prototype,"protocolMatch",void 0),Ue([(0,x.Column)("varchar",{name:"stage",nullable:!0,length:10}),Oe("design:type",String)],Pe.prototype,"stage",void 0),Ue([(0,x.Column)("varchar",{name:"identifierType",length:10}),Oe("design:type",String)],Pe.prototype,"identifierType",void 0),Ue([(0,x.Column)("varchar",{name:"landingPage",nullable:!0,length:1e3}),Oe("design:type",String)],Pe.prototype,"landingPage",void 0),Ue([(0,x.Column)("varchar",{name:"troubleshooting",nullable:!0,length:1e3}),Oe("design:type",String)],Pe.prototype,"troubleshooting",void 0),Ue([(0,x.Column)("varchar",{name:"protocol",nullable:!0,length:50}),Oe("design:type",String)],Pe.prototype,"protocol",void 0),Ue([(0,x.OneToMany)((()=>Ne),(e=>e.deviceType)),Oe("design:type",Array)],Pe.prototype,"promotions",void 0),Ue([(0,x.OneToMany)((()=>xe),(e=>e.deviceType)),Oe("design:type",Array)],Pe.prototype,"devices",void 0),Pe=Ue([(0,x.Entity)("deviceType",{schema:"nova"})],Pe);var ke=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ee=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let xe=class{id;identifier;identifierKey;deviceTypeId;deviceType;imei;clientId;client;createdAt;name;status;iccid;modifiedAt;createdBy;modifiedBy;forward;color;icon;description;dataSourceTypeId;assetCategoryId;usageRegion;btmac;iccidCarrier;clientDeviceSetting};ke([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),Ee("design:type",Number)],xe.prototype,"id",void 0),ke([(0,x.Column)("varchar",{name:"identifier",length:100}),Ee("design:type",String)],xe.prototype,"identifier",void 0),ke([(0,x.Column)("varchar",{name:"identifierKey",length:255}),Ee("design:type",String)],xe.prototype,"identifierKey",void 0),ke([(0,x.Column)("smallint",{name:"deviceTypeId"}),Ee("design:type",Number)],xe.prototype,"deviceTypeId",void 0),ke([(0,x.ManyToOne)((()=>Pe),{createForeignKeyConstraints:!1,nullable:!1}),(0,x.JoinColumn)(),Ee("design:type",Object)],xe.prototype,"deviceType",void 0),ke([(0,x.Column)("varchar",{name:"imei",length:15}),Ee("design:type",String)],xe.prototype,"imei",void 0),ke([(0,x.Column)("int",{name:"clientId"}),Ee("design:type",Number)],xe.prototype,"clientId",void 0),ke([(0,x.OneToOne)((()=>nt),{createForeignKeyConstraints:!1,nullable:!1}),(0,x.JoinColumn)(),Ee("design:type",Object)],xe.prototype,"client",void 0),ke([(0,x.Column)("datetime",{name:"createdAt",nullable:!0,default:()=>"CURRENT_TIMESTAMP"}),Ee("design:type",Date)],xe.prototype,"createdAt",void 0),ke([(0,x.Column)("varchar",{name:"name",nullable:!0,length:255}),Ee("design:type",String)],xe.prototype,"name",void 0),ke([(0,x.Column)("varchar",{name:"status",nullable:!0,length:10}),Ee("design:type",String)],xe.prototype,"status",void 0),ke([(0,x.Column)("varchar",{name:"iccid",nullable:!0,length:25}),Ee("design:type",String)],xe.prototype,"iccid",void 0),ke([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),Ee("design:type",Date)],xe.prototype,"modifiedAt",void 0),ke([(0,x.Column)("varchar",{name:"createdBy",nullable:!0,length:50}),Ee("design:type",String)],xe.prototype,"createdBy",void 0),ke([(0,x.Column)("varchar",{name:"modifiedBy",nullable:!0,length:50}),Ee("design:type",String)],xe.prototype,"modifiedBy",void 0),ke([(0,x.Column)("tinyint",{name:"forward",nullable:!0,width:1,transformer:new ee}),Ee("design:type",Boolean)],xe.prototype,"forward",void 0),ke([(0,x.Column)("varchar",{name:"color",nullable:!0,length:25}),Ee("design:type",String)],xe.prototype,"color",void 0),ke([(0,x.Column)("varchar",{name:"icon",nullable:!0,length:50}),Ee("design:type",String)],xe.prototype,"icon",void 0),ke([(0,x.Column)("varchar",{name:"description",nullable:!0,length:500}),Ee("design:type",String)],xe.prototype,"description",void 0),ke([(0,x.Column)("tinyint",{name:"dataSourceTypeId",nullable:!0}),Ee("design:type",Number)],xe.prototype,"dataSourceTypeId",void 0),ke([(0,x.Column)("tinyint",{name:"assetCategoryId",nullable:!0}),Ee("design:type",Number)],xe.prototype,"assetCategoryId",void 0),ke([(0,x.Column)("varchar",{name:"usageRegion",nullable:!0,length:25}),Ee("design:type",String)],xe.prototype,"usageRegion",void 0),ke([(0,x.Column)("varchar",{name:"btmac",nullable:!0,length:20}),Ee("design:type",String)],xe.prototype,"btmac",void 0),xe=ke([(0,x.Index)("ixuDeviceIdentifierKey",["identifierKey"],{unique:!0}),(0,x.Index)("ixDeviceClientId",["clientId"],{}),(0,x.Index)("ixDeviceDeviceTypeId",["deviceTypeId"],{}),(0,x.Index)("ixDeviceIccidImei",["iccid","imei"],{}),(0,x.Index)("ixDeviceImei",["imei"],{}),(0,x.Index)("ixDeviceImeiLower",{synchronize:!1}),(0,x.Index)("ixDeviceStatus",["status"],{}),(0,x.Entity)("device",{schema:"nova"})],xe);var je=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Me=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Fe=class{id;clientId;client;deviceTypeId;imei;configFileUrl;skipActivationDefaults;createdAt;po};je([(0,x.PrimaryGeneratedColumn)({type:"mediumint",name:"id"}),Me("design:type",Number)],Fe.prototype,"id",void 0),je([(0,x.Column)("int",{name:"clientId",nullable:!0}),Me("design:type",Number)],Fe.prototype,"clientId",void 0),je([(0,x.ManyToOne)((()=>nt),{createForeignKeyConstraints:!1,nullable:!1}),(0,x.JoinColumn)(),Me("design:type",Object)],Fe.prototype,"client",void 0),je([(0,x.Column)("smallint",{name:"deviceTypeId",nullable:!0}),Me("design:type",Number)],Fe.prototype,"deviceTypeId",void 0),je([(0,x.Column)("varchar",{name:"imei",nullable:!0,length:15}),Me("design:type",String)],Fe.prototype,"imei",void 0),je([(0,x.Column)("varchar",{name:"configFileUrl",nullable:!0,length:1e3}),Me("design:type",String)],Fe.prototype,"configFileUrl",void 0),je([(0,x.Column)("tinyint",{name:"skipActivationDefaults",width:1,default:0}),Me("design:type",Boolean)],Fe.prototype,"skipActivationDefaults",void 0),je([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),Me("design:type",Date)],Fe.prototype,"createdAt",void 0),je([(0,x.Column)("varchar",{name:"po",nullable:!0,length:25}),Me("design:type",String)],Fe.prototype,"po",void 0),Fe=je([(0,x.Index)("ixDeviceCustomConfigurationsClientId",["clientId"],{}),(0,x.Entity)("deviceCustomConfiguration",{schema:"nova"})],Fe);var Le=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Qe=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let qe=class{id;name;description;websiteUrl;address;mainContact};Le([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),Qe("design:type",Number)],qe.prototype,"id",void 0),Le([(0,x.Column)("varchar",{name:"name",length:255}),Qe("design:type",String)],qe.prototype,"name",void 0),Le([(0,x.Column)("varchar",{name:"description",nullable:!0,length:500}),Qe("design:type",String)],qe.prototype,"description",void 0),Le([(0,x.Column)("varchar",{name:"websiteUrl",nullable:!0,length:1e3}),Qe("design:type",String)],qe.prototype,"websiteUrl",void 0),Le([(0,x.Column)("varchar",{name:"address",nullable:!0,length:255}),Qe("design:type",String)],qe.prototype,"address",void 0),Le([(0,x.Column)("binary",{name:"mainContact",length:16}),Qe("design:type",Buffer)],qe.prototype,"mainContact",void 0),qe=Le([(0,x.Entity)("organization",{schema:"nova"})],qe);var We=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ve=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ge=class{id;name;currencies;capital;region;subregion;languages;lat;lon;borders;area;internationalDirectDialing;alpha2Code;alpha3Code};We([(0,x.PrimaryGeneratedColumn)({type:"smallint",name:"id"}),Ve("design:type",Number)],Ge.prototype,"id",void 0),We([(0,x.Column)("varchar",{name:"name",nullable:!0,length:50}),Ve("design:type",String)],Ge.prototype,"name",void 0),We([(0,x.Column)("varchar",{name:"currencies",nullable:!0,length:255}),Ve("design:type",String)],Ge.prototype,"currencies",void 0),We([(0,x.Column)("varchar",{name:"capital",nullable:!0,length:50}),Ve("design:type",String)],Ge.prototype,"capital",void 0),We([(0,x.Column)("varchar",{name:"region",nullable:!0,length:50}),Ve("design:type",String)],Ge.prototype,"region",void 0),We([(0,x.Column)("varchar",{name:"subregion",nullable:!0,length:50}),Ve("design:type",String)],Ge.prototype,"subregion",void 0),We([(0,x.Column)("varchar",{name:"languages",nullable:!0,length:255}),Ve("design:type",String)],Ge.prototype,"languages",void 0),We([(0,x.Column)("decimal",{name:"lat",nullable:!0,precision:8,scale:6}),Ve("design:type",Number)],Ge.prototype,"lat",void 0),We([(0,x.Column)("decimal",{name:"lon",nullable:!0,precision:9,scale:6}),Ve("design:type",Number)],Ge.prototype,"lon",void 0),We([(0,x.Column)("varchar",{name:"borders",nullable:!0,length:255}),Ve("design:type",String)],Ge.prototype,"borders",void 0),We([(0,x.Column)("int",{name:"area",nullable:!0}),Ve("design:type",Number)],Ge.prototype,"area",void 0),We([(0,x.Column)("varchar",{name:"internationalDirectDialing",nullable:!0,length:10}),Ve("design:type",String)],Ge.prototype,"internationalDirectDialing",void 0),We([(0,x.Column)("varchar",{name:"alpha2Code",nullable:!0,length:2}),Ve("design:type",String)],Ge.prototype,"alpha2Code",void 0),We([(0,x.Column)("varchar",{name:"alpha3Code",nullable:!0,length:3}),Ve("design:type",String)],Ge.prototype,"alpha3Code",void 0),Ge=We([(0,x.Entity)("country",{schema:"nova"})],Ge);var Je=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},He=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ke=class{id;userId;user;alertTypeId;alertType;clientId;client;email;reason;createdAt};Je([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),He("design:type",Number)],Ke.prototype,"id",void 0),Je([(0,x.Column)("binary",{name:"userId",length:16}),He("design:type",Buffer)],Ke.prototype,"userId",void 0),Je([(0,x.ManyToOne)((()=>it),(e=>e.userAlertComplain),{createForeignKeyConstraints:!1,nullable:!1}),He("design:type",Object)],Ke.prototype,"user",void 0),Je([(0,x.Column)("tinyint",{name:"alertTypeId"}),He("design:type",Number)],Ke.prototype,"alertTypeId",void 0),Je([(0,x.OneToOne)((()=>re),{createForeignKeyConstraints:!1}),(0,x.JoinColumn)(),He("design:type",Object)],Ke.prototype,"alertType",void 0),Je([(0,x.Column)("int",{name:"clientId"}),He("design:type",Number)],Ke.prototype,"clientId",void 0),Je([(0,x.ManyToOne)((()=>nt),(e=>e.users),{createForeignKeyConstraints:!1}),He("design:type",Object)],Ke.prototype,"client",void 0),Je([(0,x.Column)("varchar",{name:"email",length:255}),He("design:type",String)],Ke.prototype,"email",void 0),Je([(0,x.Column)("varchar",{name:"reason",length:25}),He("design:type",String)],Ke.prototype,"reason",void 0),Je([(0,x.Column)("datetime",{name:"createdAt"}),He("design:type",Date)],Ke.prototype,"createdAt",void 0),Ke=Je([(0,x.Index)("ixuUserAlertComplainUserIdAlertTypeId",["userId","alertTypeId"],{unique:!0}),(0,x.Entity)("userAlertComplain",{schema:"nova"})],Ke);var ze=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},_e=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let $e=class{id;userId;user;smsNotification;emailNotification;alertTypeId;alertType;alertValue;appNotification;dataSourceTypeId;pushNotification;alertMetadata};ze([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),_e("design:type",Number)],$e.prototype,"id",void 0),ze([(0,x.Column)("binary",{name:"userId",length:16}),_e("design:type",Buffer)],$e.prototype,"userId",void 0),ze([(0,x.ManyToOne)((()=>it),(e=>e.userAlertConfiguration),{createForeignKeyConstraints:!1,nullable:!1}),_e("design:type",Object)],$e.prototype,"user",void 0),ze([(0,x.Column)("tinyint",{name:"smsNotification",nullable:!0,width:1,transformer:new ee}),_e("design:type",Boolean)],$e.prototype,"smsNotification",void 0),ze([(0,x.Column)("tinyint",{name:"emailNotification",nullable:!0,width:1,transformer:new ee}),_e("design:type",Boolean)],$e.prototype,"emailNotification",void 0),ze([(0,x.Column)("tinyint",{name:"alertTypeId"}),_e("design:type",Number)],$e.prototype,"alertTypeId",void 0),ze([(0,x.OneToOne)((()=>re),{createForeignKeyConstraints:!1}),(0,x.JoinColumn)(),_e("design:type",Object)],$e.prototype,"alertType",void 0),ze([(0,x.Column)("varchar",{name:"alertValue",nullable:!0,length:10}),_e("design:type",String)],$e.prototype,"alertValue",void 0),ze([(0,x.Column)("tinyint",{name:"appNotification",nullable:!0,width:1,default:()=>"'1'",transformer:new ee}),_e("design:type",Boolean)],$e.prototype,"appNotification",void 0),ze([(0,x.Column)("tinyint",{name:"dataSourceTypeId",nullable:!0}),_e("design:type",Number)],$e.prototype,"dataSourceTypeId",void 0),ze([(0,x.Column)("tinyint",{name:"pushNotification",width:1,default:()=>"'1'",transformer:new ee}),_e("design:type",Boolean)],$e.prototype,"pushNotification",void 0),ze([(0,x.Column)("varchar",{name:"alertMetadata",nullable:!0,length:255}),_e("design:type",String)],$e.prototype,"alertMetadata",void 0),$e=ze([(0,x.Index)("ixuUserAlertConfigurationUserIdAlertConfigurationId",["userId","alertTypeId"],{unique:!0}),(0,x.Entity)("userAlertConfiguration",{schema:"nova"})],$e);var Ze=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Xe=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ye=class{id;userId;user;isMetric;timezone;createdAt;modifiedAt;defaultMapLayer;speedUnits;distanceUnits;alertsNotificationsOn;dataSourceTypeId;homepage;temperatureUnits;addressFormat};Ze([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),Xe("design:type",Number)],Ye.prototype,"id",void 0),Ze([(0,x.Column)("binary",{name:"userId",length:16}),Xe("design:type",Buffer)],Ye.prototype,"userId",void 0),Ze([(0,x.OneToOne)((()=>it),{createForeignKeyConstraints:!1,nullable:!1}),(0,x.JoinColumn)(),Xe("design:type",Object)],Ye.prototype,"user",void 0),Ze([(0,x.Column)("tinyint",{name:"isMetric",width:1,transformer:new ee}),Xe("design:type",Boolean)],Ye.prototype,"isMetric",void 0),Ze([(0,x.Column)("varchar",{name:"timezone",nullable:!0,length:255,default:()=>"'EST'"}),Xe("design:type",String)],Ye.prototype,"timezone",void 0),Ze([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),Xe("design:type",Date)],Ye.prototype,"createdAt",void 0),Ze([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),Xe("design:type",Date)],Ye.prototype,"modifiedAt",void 0),Ze([(0,x.Column)("varchar",{name:"defaultMapLayer",nullable:!0,length:25}),Xe("design:type",String)],Ye.prototype,"defaultMapLayer",void 0),Ze([(0,x.Column)("varchar",{name:"speedUnits",nullable:!0,length:10}),Xe("design:type",String)],Ye.prototype,"speedUnits",void 0),Ze([(0,x.Column)("varchar",{name:"distanceUnits",nullable:!0,length:10}),Xe("design:type",String)],Ye.prototype,"distanceUnits",void 0),Ze([(0,x.Column)("tinyint",{name:"alertsNotificationsOn",nullable:!0,width:1,default:()=>"'1'",transformer:new ee}),Xe("design:type",Boolean)],Ye.prototype,"alertsNotificationsOn",void 0),Ze([(0,x.Column)("tinyint",{name:"dataSourceTypeId",nullable:!0}),Xe("design:type",Number)],Ye.prototype,"dataSourceTypeId",void 0),Ze([(0,x.Column)("varchar",{name:"homepage",nullable:!0,length:50}),Xe("design:type",String)],Ye.prototype,"homepage",void 0),Ze([(0,x.Column)("varchar",{name:"temperatureUnits",nullable:!0,length:10}),Xe("design:type",String)],Ye.prototype,"temperatureUnits",void 0),Ze([(0,x.Column)("varchar",{name:"addressFormat",nullable:!0,length:100}),Xe("design:type",String)],Ye.prototype,"addressFormat",void 0),Ye=Ze([(0,x.Index)("ixUserConfigurationUserId",["userId"],{}),(0,x.Entity)("userConfiguration",{schema:"nova"})],Ye);var et=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},tt=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let it=class{id;firstName;lastName;companyName;telephone;street;postalCode;city;region;email;userName;createdAt;modifiedAt;status;clientId;client;pincode;isAdmin;countryId;country;telephoneCountryId;telephoneCountry;dataSourceTypeId;preferredUserName;lastLoginAt;emailVerified;lat;lon;userConfiguration;userAlertConfiguration;userAlertComplain};et([(0,x.Column)("binary",{primary:!0,name:"id",length:16}),tt("design:type",Buffer)],it.prototype,"id",void 0),et([(0,x.Column)("varchar",{name:"firstName",length:100}),tt("design:type",String)],it.prototype,"firstName",void 0),et([(0,x.Column)("varchar",{name:"lastName",length:100}),tt("design:type",String)],it.prototype,"lastName",void 0),et([(0,x.Column)("varchar",{name:"companyName",nullable:!0,length:255}),tt("design:type",String)],it.prototype,"companyName",void 0),et([(0,x.Column)("varchar",{name:"telephone",nullable:!0,length:20}),tt("design:type",String)],it.prototype,"telephone",void 0),et([(0,x.Column)("varchar",{name:"street",nullable:!0,length:255}),tt("design:type",String)],it.prototype,"street",void 0),et([(0,x.Column)("varchar",{name:"postalCode",nullable:!0,length:30}),tt("design:type",String)],it.prototype,"postalCode",void 0),et([(0,x.Column)("varchar",{name:"city",nullable:!0,length:50}),tt("design:type",String)],it.prototype,"city",void 0),et([(0,x.Column)("varchar",{name:"region",nullable:!0,length:50}),tt("design:type",String)],it.prototype,"region",void 0),et([(0,x.Column)("varchar",{name:"email",length:255}),tt("design:type",String)],it.prototype,"email",void 0),et([(0,x.Column)("varchar",{name:"userName",length:255}),tt("design:type",String)],it.prototype,"userName",void 0),et([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),tt("design:type",Date)],it.prototype,"createdAt",void 0),et([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),tt("design:type",Date)],it.prototype,"modifiedAt",void 0),et([(0,x.Column)("char",{name:"status",nullable:!0,length:1,default:()=>"'A'"}),tt("design:type",String)],it.prototype,"status",void 0),et([(0,x.Column)("int",{name:"clientId"}),tt("design:type",Number)],it.prototype,"clientId",void 0),et([(0,x.ManyToOne)((()=>nt),(e=>e.users),{createForeignKeyConstraints:!1}),tt("design:type",Object)],it.prototype,"client",void 0),et([(0,x.Column)("varchar",{name:"pincode",nullable:!0,length:20}),tt("design:type",String)],it.prototype,"pincode",void 0),et([(0,x.Column)("tinyint",{name:"isAdmin",width:1,transformer:new ee}),tt("design:type",Boolean)],it.prototype,"isAdmin",void 0),et([(0,x.Column)("smallint",{name:"countryId",nullable:!0}),tt("design:type",Number)],it.prototype,"countryId",void 0),et([(0,x.OneToOne)((()=>Ge),(e=>e.id),{createForeignKeyConstraints:!1}),(0,x.JoinColumn)(),tt("design:type",Object)],it.prototype,"country",void 0),et([(0,x.Column)("smallint",{name:"telephoneCountryId",nullable:!0}),tt("design:type",Number)],it.prototype,"telephoneCountryId",void 0),et([(0,x.OneToOne)((()=>Ge),(e=>e.id),{createForeignKeyConstraints:!1}),(0,x.JoinColumn)(),tt("design:type",Object)],it.prototype,"telephoneCountry",void 0),et([(0,x.Column)("tinyint",{name:"dataSourceTypeId",nullable:!0}),tt("design:type",Number)],it.prototype,"dataSourceTypeId",void 0),et([(0,x.Column)("varchar",{name:"preferredUserName",nullable:!0,length:255}),tt("design:type",String)],it.prototype,"preferredUserName",void 0),et([(0,x.Column)("datetime",{name:"lastLoginAt",nullable:!0}),tt("design:type",Date)],it.prototype,"lastLoginAt",void 0),et([(0,x.Column)("tinyint",{name:"emailVerified",width:1,default:()=>"'1'",transformer:new ee}),tt("design:type",Boolean)],it.prototype,"emailVerified",void 0),et([(0,x.Column)("decimal",{name:"lat",nullable:!0,precision:8,scale:6}),tt("design:type",Number)],it.prototype,"lat",void 0),et([(0,x.Column)("decimal",{name:"lon",nullable:!0,precision:9,scale:6}),tt("design:type",Number)],it.prototype,"lon",void 0),et([(0,x.OneToOne)((()=>Ye),(e=>e.user)),tt("design:type",Object)],it.prototype,"userConfiguration",void 0),et([(0,x.OneToMany)((()=>$e),(e=>e.user)),tt("design:type",Array)],it.prototype,"userAlertConfiguration",void 0),et([(0,x.OneToMany)((()=>Ke),(e=>e.user)),tt("design:type",Array)],it.prototype,"userAlertComplain",void 0),it=et([(0,x.Index)("ixUserClientId",["clientId"],{}),(0,x.Index)("ixUserCreatedAt",["createdAt"],{}),(0,x.Index)("ixUserEmail",["email"],{}),(0,x.Index)("ixUserEmailLower",{synchronize:!1}),(0,x.Index)("ixUserLastLoginAt",["lastLoginAt"],{}),(0,x.Index)("ixUserStatus",["status"],{}),(0,x.Index)("ixUserUserName",["userName"],{}),(0,x.Entity)("user",{schema:"nova"})],it);var rt=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},at=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let nt=class{id;name;createdAt;modifiedAt;uuid;email;modifiedBy;createdBy;dataSourceTypeId;clientTypeId;clientType;salesforceId;accumaticaId;expirationDate;useType;btCustomerId;activationCampaign;organizationId;organization;users;devices;promotions;deviceCustomConfigurations;customerAttribute};rt([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),at("design:type",Number)],nt.prototype,"id",void 0),rt([(0,x.Column)("varchar",{name:"name",nullable:!0,length:255}),at("design:type",String)],nt.prototype,"name",void 0),rt([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),at("design:type",Date)],nt.prototype,"createdAt",void 0),rt([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),at("design:type",Date)],nt.prototype,"modifiedAt",void 0),rt([(0,x.Column)("binary",{name:"uuid",nullable:!0,length:16}),at("design:type",Buffer)],nt.prototype,"uuid",void 0),rt([(0,x.Column)("varchar",{name:"email",nullable:!0,length:255}),at("design:type",String)],nt.prototype,"email",void 0),rt([(0,x.Column)("smallint",{name:"modifiedBy",nullable:!0}),at("design:type",Number)],nt.prototype,"modifiedBy",void 0),rt([(0,x.Column)("smallint",{name:"createdBy",nullable:!0}),at("design:type",Number)],nt.prototype,"createdBy",void 0),rt([(0,x.Column)("tinyint",{name:"dataSourceTypeId",nullable:!0}),at("design:type",Number)],nt.prototype,"dataSourceTypeId",void 0),rt([(0,x.Column)("tinyint",{name:"clientTypeId",default:()=>"'1'"}),at("design:type",Number)],nt.prototype,"clientTypeId",void 0),rt([(0,x.ManyToOne)((()=>we),{createForeignKeyConstraints:!1,eager:!0,nullable:!1}),(0,x.JoinColumn)(),at("design:type",Object)],nt.prototype,"clientType",void 0),rt([(0,x.Column)("varchar",{name:"salesforceId",nullable:!0,length:50}),at("design:type",String)],nt.prototype,"salesforceId",void 0),rt([(0,x.Column)("varchar",{name:"accumaticaId",nullable:!0,length:50}),at("design:type",String)],nt.prototype,"accumaticaId",void 0),rt([(0,x.Column)("datetime",{name:"expirationDate",nullable:!0}),at("design:type",Date)],nt.prototype,"expirationDate",void 0),rt([(0,x.Column)("varchar",{name:"useType",nullable:!0,length:25}),at("design:type",String)],nt.prototype,"useType",void 0),rt([(0,x.Column)("varchar",{name:"btCustomerId",nullable:!0,length:50}),at("design:type",String)],nt.prototype,"btCustomerId",void 0),rt([(0,x.Column)("varchar",{name:"activationCampaign",nullable:!0,length:50}),at("design:type",String)],nt.prototype,"activationCampaign",void 0),rt([(0,x.Column)("int",{name:"organizationId",nullable:!0}),at("design:type",Number)],nt.prototype,"organizationId",void 0),rt([(0,x.OneToOne)((()=>qe),{createForeignKeyConstraints:!1}),(0,x.JoinColumn)(),at("design:type",Object)],nt.prototype,"organization",void 0),rt([(0,x.OneToMany)((()=>it),(e=>e.client)),at("design:type",Array)],nt.prototype,"users",void 0),rt([(0,x.OneToMany)((()=>xe),(e=>e.client)),at("design:type",Array)],nt.prototype,"devices",void 0),rt([(0,x.OneToMany)((()=>Ne),(e=>e.client)),at("design:type",Array)],nt.prototype,"promotions",void 0),rt([(0,x.OneToMany)((()=>Fe),(e=>e.client)),at("design:type",Array)],nt.prototype,"deviceCustomConfigurations",void 0),rt([(0,x.OneToOne)((()=>Ae),(e=>e.client)),at("design:type",Object)],nt.prototype,"customerAttribute",void 0),nt=rt([(0,x.Index)("ixClientClientTypeId",["clientTypeId"],{}),(0,x.Index)("ixClientCreatedAt",["createdAt"],{}),(0,x.Index)("ixClientEmail",["email"],{}),(0,x.Index)("ixClientEmailLower",{synchronize:!1}),(0,x.Entity)("client",{schema:"nova"})],nt);var ot=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},st=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let lt=class{id;name;description;billingFrequencyMonths;price;trialPeriod;discount;platform;planGroup;gracePeriod;status;platformPrice;servicePlan;contractLengthMonths};ot([(0,x.Column)("varchar",{primary:!0,name:"id",length:50}),st("design:type",String)],lt.prototype,"id",void 0),ot([(0,x.Column)("varchar",{name:"name",length:50}),st("design:type",String)],lt.prototype,"name",void 0),ot([(0,x.Column)("varchar",{name:"description",length:255}),st("design:type",String)],lt.prototype,"description",void 0),ot([(0,x.Column)("tinyint",{name:"billingFrequencyMonths"}),st("design:type",Number)],lt.prototype,"billingFrequencyMonths",void 0),ot([(0,x.Column)("float",{name:"price"}),st("design:type",Number)],lt.prototype,"price",void 0),ot([(0,x.Column)("varchar",{name:"trialPeriod",nullable:!0,length:25}),st("design:type",String)],lt.prototype,"trialPeriod",void 0),ot([(0,x.Column)("float",{name:"discount",nullable:!0}),st("design:type",Number)],lt.prototype,"discount",void 0),ot([(0,x.Column)("varchar",{name:"platform",nullable:!0,length:25}),st("design:type",String)],lt.prototype,"platform",void 0),ot([(0,x.Column)("varchar",{name:"planGroup",nullable:!0,length:25}),st("design:type",String)],lt.prototype,"planGroup",void 0),ot([(0,x.Column)("varchar",{name:"gracePeriod",nullable:!0,length:25}),st("design:type",String)],lt.prototype,"gracePeriod",void 0),ot([(0,x.Column)("char",{name:"status",length:1}),st("design:type",String)],lt.prototype,"status",void 0),ot([(0,x.Column)("float",{name:"platformPrice",nullable:!0}),st("design:type",Number)],lt.prototype,"platformPrice",void 0),ot([(0,x.Column)("varchar",{name:"servicePlan",nullable:!0,length:10}),st("design:type",String)],lt.prototype,"servicePlan",void 0),ot([(0,x.Column)("tinyint",{name:"contractLengthMonths"}),st("design:type",Number)],lt.prototype,"contractLengthMonths",void 0),lt=ot([(0,x.Entity)("plan",{schema:"nova"})],lt);var dt=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},ct=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let ut=class{id;deviceId;imei;planId;plan;subscriptionId;platform;status;createdAt;updatedAt;subscriptionValue;subscriptionPeriodMonths;subscriptionValueMonthly;clientId;client};dt([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),ct("design:type",Number)],ut.prototype,"id",void 0),dt([(0,x.Column)("int",{name:"deviceId",nullable:!0}),ct("design:type",Number)],ut.prototype,"deviceId",void 0),dt([(0,x.Column)("varchar",{name:"imei",nullable:!0,length:15}),ct("design:type",String)],ut.prototype,"imei",void 0),dt([(0,x.Column)("varchar",{name:"planId",nullable:!0,length:50}),ct("design:type",String)],ut.prototype,"planId",void 0),dt([(0,x.OneToOne)((()=>lt),{createForeignKeyConstraints:!1}),(0,x.JoinColumn)(),ct("design:type",Object)],ut.prototype,"plan",void 0),dt([(0,x.Column)("varchar",{name:"subscriptionId",nullable:!0,length:50}),ct("design:type",String)],ut.prototype,"subscriptionId",void 0),dt([(0,x.Column)("varchar",{name:"platform",nullable:!0,length:25}),ct("design:type",String)],ut.prototype,"platform",void 0),dt([(0,x.Column)("varchar",{name:"status",nullable:!0,length:10}),ct("design:type",String)],ut.prototype,"status",void 0),dt([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),ct("design:type",Date)],ut.prototype,"createdAt",void 0),dt([(0,x.Column)("datetime",{name:"updatedAt",nullable:!0}),ct("design:type",Date)],ut.prototype,"updatedAt",void 0),dt([(0,x.Column)("decimal",{name:"subscriptionValue",nullable:!0,precision:19,scale:4}),ct("design:type",Number)],ut.prototype,"subscriptionValue",void 0),dt([(0,x.Column)("tinyint",{name:"subscriptionPeriodMonths",nullable:!0}),ct("design:type",Number)],ut.prototype,"subscriptionPeriodMonths",void 0),dt([(0,x.Column)("decimal",{name:"subscriptionValueMonthly",nullable:!0,precision:19,scale:4}),ct("design:type",Number)],ut.prototype,"subscriptionValueMonthly",void 0),dt([(0,x.Column)("int",{name:"clientId",nullable:!0}),ct("design:type",Number)],ut.prototype,"clientId",void 0),dt([(0,x.OneToOne)((()=>nt),{createForeignKeyConstraints:!1}),(0,x.JoinColumn)(),ct("design:type",Object)],ut.prototype,"client",void 0),ut=dt([(0,x.Index)("ixuBillingImei",["imei"],{unique:!0}),(0,x.Index)("ixBillingClientId",["clientId"],{}),(0,x.Index)("ixBillingPlanId",["planId"],{}),(0,x.Entity)("billing",{schema:"nova"})],ut);var pt=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},mt=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let yt=class{id;firstName;lastName;company;email;phone;createdAt;updatedAt;churnStatus};pt([(0,x.Column)("varchar",{primary:!0,name:"id",length:50}),mt("design:type",String)],yt.prototype,"id",void 0),pt([(0,x.Column)("varchar",{name:"firstName",nullable:!0,length:50}),mt("design:type",String)],yt.prototype,"firstName",void 0),pt([(0,x.Column)("varchar",{name:"lastName",nullable:!0,length:50}),mt("design:type",String)],yt.prototype,"lastName",void 0),pt([(0,x.Column)("varchar",{name:"company",nullable:!0,length:100}),mt("design:type",String)],yt.prototype,"company",void 0),pt([(0,x.Column)("varchar",{name:"email",nullable:!0,length:255}),mt("design:type",String)],yt.prototype,"email",void 0),pt([(0,x.Column)("varchar",{name:"phone",nullable:!0,length:150}),mt("design:type",String)],yt.prototype,"phone",void 0),pt([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),mt("design:type",Date)],yt.prototype,"createdAt",void 0),pt([(0,x.Column)("datetime",{name:"updatedAt",nullable:!0}),mt("design:type",Date)],yt.prototype,"updatedAt",void 0),pt([(0,x.Column)("varchar",{name:"churnStatus",nullable:!0,length:50}),mt("design:type",String)],yt.prototype,"churnStatus",void 0),yt=pt([(0,x.Index)("ixBillingCustomerBraintreeEmail",["email"],{}),(0,x.Entity)("billingCustomerBraintree",{schema:"nova"})],yt);var gt=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},vt=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let ft=class{id;clientId;deviceId;imei;planId;subscriptionId;platform;status;createdAt};gt([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),vt("design:type",Number)],ft.prototype,"id",void 0),gt([(0,x.Column)("int",{name:"clientId",nullable:!0}),vt("design:type",Number)],ft.prototype,"clientId",void 0),gt([(0,x.Column)("int",{name:"deviceId",nullable:!0}),vt("design:type",Number)],ft.prototype,"deviceId",void 0),gt([(0,x.Column)("varchar",{name:"imei",nullable:!0,length:15}),vt("design:type",String)],ft.prototype,"imei",void 0),gt([(0,x.Column)("varchar",{name:"planId",nullable:!0,length:50}),vt("design:type",String)],ft.prototype,"planId",void 0),gt([(0,x.Column)("varchar",{name:"subscriptionId",nullable:!0,length:50}),vt("design:type",String)],ft.prototype,"subscriptionId",void 0),gt([(0,x.Column)("varchar",{name:"platform",nullable:!0,length:25}),vt("design:type",String)],ft.prototype,"platform",void 0),gt([(0,x.Column)("varchar",{name:"status",nullable:!0,length:10}),vt("design:type",String)],ft.prototype,"status",void 0),gt([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),vt("design:type",Date)],ft.prototype,"createdAt",void 0),ft=gt([(0,x.Entity)("billingDeviceHistory",{schema:"nova"})],ft);var ht=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},It=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let bt=class{id;owner;amountPaid;bankOfIssuer;billingAddress;billingAddressCity;billingAddressCountry;billingAddressLine1;billingAddressLine2;billingAddressState;billingAddressZip;createdByUserId;currencyCode;customer;grossAmount;lastFourDigits;lineItemDiscountAmount;netAmount;objectCreateDateTime;objectId;objectLastModifiedDateTime;orderDiscountAmount;orderDiscountCode;orderDiscountPercentage;ownerAssignedDateTime;paymentDateTime;paymentId;paymentMethod;paymentSourceName;paymentType;processingFees;refunded;shippingAddress;shippingAddressCity;shippingAddressCountry;shippingAddressLine1;shippingAddressLine2;shippingAddressState;shippingAddressZip;source;sourceId;sourceUrl;status;statusUpdatedOn;totalDiscountAmount;totalFees;totalTaxes;updatedByUserId};ht([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),It("design:type",Number)],bt.prototype,"id",void 0),ht([(0,x.Column)("varchar",{name:"owner",nullable:!0,length:50}),It("design:type",String)],bt.prototype,"owner",void 0),ht([(0,x.Column)("decimal",{name:"amountPaid",nullable:!0,precision:19,scale:4}),It("design:type",Number)],bt.prototype,"amountPaid",void 0),ht([(0,x.Column)("varchar",{name:"bankOfIssuer",nullable:!0,length:50}),It("design:type",String)],bt.prototype,"bankOfIssuer",void 0),ht([(0,x.Column)("varchar",{name:"billingAddress",nullable:!0,length:255}),It("design:type",String)],bt.prototype,"billingAddress",void 0),ht([(0,x.Column)("varchar",{name:"billingAddressCity",nullable:!0,length:50}),It("design:type",String)],bt.prototype,"billingAddressCity",void 0),ht([(0,x.Column)("varchar",{name:"billingAddressCountry",nullable:!0,length:3}),It("design:type",String)],bt.prototype,"billingAddressCountry",void 0),ht([(0,x.Column)("varchar",{name:"billingAddressLine1",nullable:!0,length:255}),It("design:type",String)],bt.prototype,"billingAddressLine1",void 0),ht([(0,x.Column)("varchar",{name:"billingAddressLine2",nullable:!0,length:255}),It("design:type",String)],bt.prototype,"billingAddressLine2",void 0),ht([(0,x.Column)("varchar",{name:"billingAddressState",nullable:!0,length:50}),It("design:type",String)],bt.prototype,"billingAddressState",void 0),ht([(0,x.Column)("varchar",{name:"billingAddressZip",nullable:!0,length:50}),It("design:type",String)],bt.prototype,"billingAddressZip",void 0),ht([(0,x.Column)("varchar",{name:"createdByUserId",nullable:!0,length:50}),It("design:type",String)],bt.prototype,"createdByUserId",void 0),ht([(0,x.Column)("varchar",{name:"currencyCode",nullable:!0,length:3}),It("design:type",String)],bt.prototype,"currencyCode",void 0),ht([(0,x.Column)("varchar",{name:"customer",nullable:!0,length:50}),It("design:type",String)],bt.prototype,"customer",void 0),ht([(0,x.Column)("decimal",{name:"grossAmount",nullable:!0,precision:19,scale:4}),It("design:type",Number)],bt.prototype,"grossAmount",void 0),ht([(0,x.Column)("varchar",{name:"lastFourDigits",nullable:!0,length:4}),It("design:type",String)],bt.prototype,"lastFourDigits",void 0),ht([(0,x.Column)("decimal",{name:"lineItemDiscountAmount",nullable:!0,precision:19,scale:4}),It("design:type",Number)],bt.prototype,"lineItemDiscountAmount",void 0),ht([(0,x.Column)("decimal",{name:"netAmount",nullable:!0,precision:19,scale:4}),It("design:type",Number)],bt.prototype,"netAmount",void 0),ht([(0,x.Column)("datetime",{name:"objectCreateDateTime",nullable:!0}),It("design:type",Date)],bt.prototype,"objectCreateDateTime",void 0),ht([(0,x.Column)("varchar",{name:"objectId",nullable:!0,length:20}),It("design:type",String)],bt.prototype,"objectId",void 0),ht([(0,x.Column)("datetime",{name:"objectLastModifiedDateTime",nullable:!0}),It("design:type",Date)],bt.prototype,"objectLastModifiedDateTime",void 0),ht([(0,x.Column)("decimal",{name:"orderDiscountAmount",nullable:!0,precision:19,scale:4}),It("design:type",Number)],bt.prototype,"orderDiscountAmount",void 0),ht([(0,x.Column)("varchar",{name:"orderDiscountCode",nullable:!0,length:50}),It("design:type",String)],bt.prototype,"orderDiscountCode",void 0),ht([(0,x.Column)("smallint",{name:"orderDiscountPercentage",default:0}),It("design:type",Number)],bt.prototype,"orderDiscountPercentage",void 0),ht([(0,x.Column)("datetime",{name:"ownerAssignedDateTime",nullable:!0}),It("design:type",Date)],bt.prototype,"ownerAssignedDateTime",void 0),ht([(0,x.Column)("datetime",{name:"paymentDateTime",nullable:!0}),It("design:type",Date)],bt.prototype,"paymentDateTime",void 0),ht([(0,x.Column)("varchar",{name:"paymentId",nullable:!0,length:20}),It("design:type",String)],bt.prototype,"paymentId",void 0),ht([(0,x.Column)("varchar",{name:"paymentMethod",nullable:!0,length:10}),It("design:type",String)],bt.prototype,"paymentMethod",void 0),ht([(0,x.Column)("varchar",{name:"paymentSourceName",nullable:!0,length:255}),It("design:type",String)],bt.prototype,"paymentSourceName",void 0),ht([(0,x.Column)("varchar",{name:"paymentType",nullable:!0,length:20}),It("design:type",String)],bt.prototype,"paymentType",void 0),ht([(0,x.Column)("decimal",{name:"processingFees",nullable:!0,precision:19,scale:4}),It("design:type",Number)],bt.prototype,"processingFees",void 0),ht([(0,x.Column)("decimal",{name:"refunded",nullable:!0,precision:19,scale:4}),It("design:type",Number)],bt.prototype,"refunded",void 0),ht([(0,x.Column)("varchar",{name:"shippingAddress",nullable:!0,length:255}),It("design:type",String)],bt.prototype,"shippingAddress",void 0),ht([(0,x.Column)("varchar",{name:"shippingAddressCity",nullable:!0,length:50}),It("design:type",String)],bt.prototype,"shippingAddressCity",void 0),ht([(0,x.Column)("varchar",{name:"shippingAddressCountry",nullable:!0,length:3}),It("design:type",String)],bt.prototype,"shippingAddressCountry",void 0),ht([(0,x.Column)("varchar",{name:"shippingAddressLine1",nullable:!0,length:255}),It("design:type",String)],bt.prototype,"shippingAddressLine1",void 0),ht([(0,x.Column)("varchar",{name:"shippingAddressLine2",nullable:!0,length:255}),It("design:type",String)],bt.prototype,"shippingAddressLine2",void 0),ht([(0,x.Column)("varchar",{name:"shippingAddressState",nullable:!0,length:50}),It("design:type",String)],bt.prototype,"shippingAddressState",void 0),ht([(0,x.Column)("varchar",{name:"shippingAddressZip",nullable:!0,length:50}),It("design:type",String)],bt.prototype,"shippingAddressZip",void 0),ht([(0,x.Column)("varchar",{name:"source",nullable:!0,length:20}),It("design:type",String)],bt.prototype,"source",void 0),ht([(0,x.Column)("varchar",{name:"sourceId",nullable:!0,length:20}),It("design:type",String)],bt.prototype,"sourceId",void 0),ht([(0,x.Column)("varchar",{name:"sourceUrl",nullable:!0,length:255}),It("design:type",String)],bt.prototype,"sourceUrl",void 0),ht([(0,x.Column)("varchar",{name:"status",nullable:!0,length:10}),It("design:type",String)],bt.prototype,"status",void 0),ht([(0,x.Column)("datetime",{name:"statusUpdatedOn",nullable:!0}),It("design:type",Date)],bt.prototype,"statusUpdatedOn",void 0),ht([(0,x.Column)("decimal",{name:"totalDiscountAmount",nullable:!0,precision:19,scale:4}),It("design:type",Number)],bt.prototype,"totalDiscountAmount",void 0),ht([(0,x.Column)("decimal",{name:"totalFees",nullable:!0,precision:19,scale:4}),It("design:type",Number)],bt.prototype,"totalFees",void 0),ht([(0,x.Column)("decimal",{name:"totalTaxes",nullable:!0,precision:19,scale:4}),It("design:type",Number)],bt.prototype,"totalTaxes",void 0),ht([(0,x.Column)("varchar",{name:"updatedByUserId",nullable:!0,length:20}),It("design:type",String)],bt.prototype,"updatedByUserId",void 0),bt=ht([(0,x.Entity)("billingHubspotPaymentLog",{schema:"nova"})],bt);var Ct=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Rt=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let wt=class{id;firstName;lastName;billingEmail;shippingEmail;streetAddress;city;region;country;postalCode;phone;createdAt};Ct([(0,x.PrimaryColumn)({type:"varchar",name:"id",length:50}),Rt("design:type",String)],wt.prototype,"id",void 0),Ct([(0,x.Column)("varchar",{name:"firstName",nullable:!0,length:100}),Rt("design:type",String)],wt.prototype,"firstName",void 0),Ct([(0,x.Column)("varchar",{name:"lastName",nullable:!0,length:100}),Rt("design:type",String)],wt.prototype,"lastName",void 0),Ct([(0,x.Column)("varchar",{name:"billingEmail",nullable:!0,length:255}),Rt("design:type",String)],wt.prototype,"billingEmail",void 0),Ct([(0,x.Column)("varchar",{name:"shippingEmail",nullable:!0,length:255}),Rt("design:type",String)],wt.prototype,"shippingEmail",void 0),Ct([(0,x.Column)("varchar",{name:"streetAddress",nullable:!0,length:255}),Rt("design:type",String)],wt.prototype,"streetAddress",void 0),Ct([(0,x.Column)("varchar",{name:"city",nullable:!0,length:50}),Rt("design:type",String)],wt.prototype,"city",void 0),Ct([(0,x.Column)("varchar",{name:"region",nullable:!0,length:50}),Rt("design:type",String)],wt.prototype,"region",void 0),Ct([(0,x.Column)("varchar",{name:"country",nullable:!0,length:50}),Rt("design:type",String)],wt.prototype,"country",void 0),Ct([(0,x.Column)("varchar",{name:"postalCode",nullable:!0,length:50}),Rt("design:type",String)],wt.prototype,"postalCode",void 0),Ct([(0,x.Column)("varchar",{name:"phone",nullable:!0,length:20}),Rt("design:type",String)],wt.prototype,"phone",void 0),Ct([(0,x.Column)("datetime",{name:"createdAt",nullable:!0,precision:0}),Rt("design:type",Date)],wt.prototype,"createdAt",void 0),wt=Ct([(0,x.Entity)("billingKlarnaCustomer",{schema:"nova"})],wt);class Dt{to(e){return e||null}from(e){return e?new Date(e):null}}var St=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},At=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Tt=class{deviceId;klarnaCustomerId;orderId;planId;createdAt;subscriptionStart;subscriptionEnd;nextBillingDate;subscriptionValue;status;paymentType;discounts;addOns;nextBillingPeriodAmount;paymentMethodToken};St([(0,x.PrimaryColumn)("varchar",{name:"deviceId",length:50}),At("design:type",String)],Tt.prototype,"deviceId",void 0),St([(0,x.Column)({type:"varchar",name:"klarnaCustomerId",length:50}),At("design:type",String)],Tt.prototype,"klarnaCustomerId",void 0),St([(0,x.Column)("varchar",{name:"orderId",length:255}),At("design:type",String)],Tt.prototype,"orderId",void 0),St([(0,x.Column)("varchar",{name:"planId",nullable:!0,length:50}),At("design:type",String)],Tt.prototype,"planId",void 0),St([(0,x.Column)("datetime",{name:"createdAt",nullable:!0,precision:0}),At("design:type",Date)],Tt.prototype,"createdAt",void 0),St([(0,x.Column)("date",{name:"subscriptionStart",nullable:!0,transformer:new Dt}),At("design:type",Date)],Tt.prototype,"subscriptionStart",void 0),St([(0,x.Column)("date",{name:"subscriptionEnd",nullable:!0,transformer:new Dt}),At("design:type",Date)],Tt.prototype,"subscriptionEnd",void 0),St([(0,x.Column)("date",{name:"nextBillingDate",nullable:!0,transformer:new Dt}),At("design:type",Date)],Tt.prototype,"nextBillingDate",void 0),St([(0,x.Column)("decimal",{name:"subscriptionValue",nullable:!0,precision:19,scale:4}),At("design:type",Number)],Tt.prototype,"subscriptionValue",void 0),St([(0,x.Column)("varchar",{name:"status",nullable:!0,length:10}),At("design:type",String)],Tt.prototype,"status",void 0),St([(0,x.Column)("varchar",{name:"paymentType",nullable:!0,length:20}),At("design:type",String)],Tt.prototype,"paymentType",void 0),St([(0,x.Column)("json",{name:"discounts",nullable:!0}),At("design:type",Object)],Tt.prototype,"discounts",void 0),St([(0,x.Column)("json",{name:"addOns",nullable:!0}),At("design:type",Object)],Tt.prototype,"addOns",void 0),St([(0,x.Column)("decimal",{name:"nextBillingPeriodAmount",nullable:!0,precision:19,scale:4}),At("design:type",Number)],Tt.prototype,"nextBillingPeriodAmount",void 0),St([(0,x.Column)("varchar",{name:"paymentMethodToken",nullable:!0,length:50}),At("design:type",String)],Tt.prototype,"paymentMethodToken",void 0),Tt=St([(0,x.Entity)("billingKlarnaOrder",{schema:"nova"})],Tt);var Bt=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Nt=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ut=class{id;timestamp;status;balance;price;currencyIsoCode;planId;subscriptionId};Bt([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),Nt("design:type",Number)],Ut.prototype,"id",void 0),Bt([(0,x.Column)("varchar",{name:"timestamp",nullable:!0,length:255}),Nt("design:type",String)],Ut.prototype,"timestamp",void 0),Bt([(0,x.Column)("varchar",{name:"status",nullable:!0,length:10}),Nt("design:type",String)],Ut.prototype,"status",void 0),Bt([(0,x.Column)("decimal",{name:"balance",nullable:!0,precision:19,scale:4}),Nt("design:type",Number)],Ut.prototype,"balance",void 0),Bt([(0,x.Column)("decimal",{name:"price",nullable:!0,precision:19,scale:4}),Nt("design:type",Number)],Ut.prototype,"price",void 0),Bt([(0,x.Column)("varchar",{name:"currencyIsoCode",nullable:!0,length:3}),Nt("design:type",String)],Ut.prototype,"currencyIsoCode",void 0),Bt([(0,x.Column)("varchar",{name:"planId",nullable:!0,length:50}),Nt("design:type",String)],Ut.prototype,"planId",void 0),Bt([(0,x.Column)("varchar",{name:"subscriptionId",nullable:!0,length:25}),Nt("design:type",String)],Ut.prototype,"subscriptionId",void 0),Ut=Bt([(0,x.Index)("ixBillingStatusHistoryBraintreeSubscriptionIdTimestamp",["subscriptionId","timestamp"],{}),(0,x.Index)("ixBillingStatusHistoryBraintreeTimestamp",["timestamp"],{}),(0,x.Entity)("billingStatusHistoryBraintree",{schema:"nova"})],Ut);var Ot=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Pt=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let kt=class{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};Ot([(0,x.Column)("varchar",{primary:!0,name:"subscriptionId",length:50}),Pt("design:type",String)],kt.prototype,"subscriptionId",void 0),Ot([(0,x.Column)("varchar",{name:"customerId",nullable:!0,length:50}),Pt("design:type",String)],kt.prototype,"customerId",void 0),Ot([(0,x.Column)("varchar",{name:"planId",nullable:!0,length:50}),Pt("design:type",String)],kt.prototype,"planId",void 0),Ot([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),Pt("design:type",Date)],kt.prototype,"createdAt",void 0),Ot([(0,x.Column)("datetime",{name:"updatedAt",nullable:!0}),Pt("design:type",Date)],kt.prototype,"updatedAt",void 0),Ot([(0,x.Column)("date",{name:"subscriptionStart",nullable:!0,transformer:new Dt}),Pt("design:type",Date)],kt.prototype,"subscriptionStart",void 0),Ot([(0,x.Column)("date",{name:"subscriptionEnd",nullable:!0,transformer:new Dt}),Pt("design:type",Date)],kt.prototype,"subscriptionEnd",void 0),Ot([(0,x.Column)("date",{name:"nextBillingDate",nullable:!0,transformer:new Dt}),Pt("design:type",Date)],kt.prototype,"nextBillingDate",void 0),Ot([(0,x.Column)("decimal",{name:"subscriptionValue",nullable:!0,precision:19,scale:4}),Pt("design:type",Number)],kt.prototype,"subscriptionValue",void 0),Ot([(0,x.Column)("varchar",{name:"status",nullable:!0,length:10}),Pt("design:type",String)],kt.prototype,"status",void 0),Ot([(0,x.Column)("tinyint",{name:"subscriptionPeriodMonths",nullable:!0}),Pt("design:type",Number)],kt.prototype,"subscriptionPeriodMonths",void 0),Ot([(0,x.Column)("varchar",{name:"paymentInstrumentType",nullable:!0,length:20}),Pt("design:type",String)],kt.prototype,"paymentInstrumentType",void 0),Ot([(0,x.Column)("json",{name:"paymentInstrumentDetails",nullable:!0}),Pt("design:type",Object)],kt.prototype,"paymentInstrumentDetails",void 0),Ot([(0,x.Column)("tinyint",{name:"isPaused",nullable:!0,width:1,default:()=>"'0'",transformer:new ee}),Pt("design:type",Boolean)],kt.prototype,"isPaused",void 0),Ot([(0,x.Column)("json",{name:"discountDetails",nullable:!0}),Pt("design:type",Object)],kt.prototype,"discountDetails",void 0),Ot([(0,x.Column)("json",{name:"addons",nullable:!0}),Pt("design:type",Object)],kt.prototype,"addons",void 0),Ot([(0,x.Column)("decimal",{name:"balance",nullable:!0,precision:19,scale:4}),Pt("design:type",Number)],kt.prototype,"balance",void 0),Ot([(0,x.Column)("tinyint",{name:"currentBillingCycle",nullable:!0}),Pt("design:type",Number)],kt.prototype,"currentBillingCycle",void 0),Ot([(0,x.Column)("tinyint",{name:"daysPastDue",nullable:!0}),Pt("design:type",Number)],kt.prototype,"daysPastDue",void 0),Ot([(0,x.Column)("varchar",{name:"description",nullable:!0,length:255}),Pt("design:type",String)],kt.prototype,"description",void 0),Ot([(0,x.Column)("json",{name:"descriptor",nullable:!0}),Pt("design:type",Object)],kt.prototype,"descriptor",void 0),Ot([(0,x.Column)("tinyint",{name:"failureCount",nullable:!0}),Pt("design:type",Number)],kt.prototype,"failureCount",void 0),Ot([(0,x.Column)("date",{name:"firstBillingDate",nullable:!0,transformer:new Dt}),Pt("design:type",Date)],kt.prototype,"firstBillingDate",void 0),Ot([(0,x.Column)("varchar",{name:"merchantAccountId",nullable:!0,length:50}),Pt("design:type",String)],kt.prototype,"merchantAccountId",void 0),Ot([(0,x.Column)("decimal",{name:"nextBillingPeriodAmount",nullable:!0,precision:19,scale:4}),Pt("design:type",Number)],kt.prototype,"nextBillingPeriodAmount",void 0),Ot([(0,x.Column)("tinyint",{name:"numberOfBillingCycles",nullable:!0}),Pt("design:type",Number)],kt.prototype,"numberOfBillingCycles",void 0),Ot([(0,x.Column)("date",{name:"paidThroughDate",nullable:!0,transformer:new Dt}),Pt("design:type",Date)],kt.prototype,"paidThroughDate",void 0),Ot([(0,x.Column)("varchar",{name:"paymentMethodToken",nullable:!0,length:50}),Pt("design:type",String)],kt.prototype,"paymentMethodToken",void 0),Ot([(0,x.Column)("json",{name:"statusHistory",nullable:!0}),Pt("design:type",Object)],kt.prototype,"statusHistory",void 0),Ot([(0,x.Column)("smallint",{name:"trialDuration",nullable:!0}),Pt("design:type",Number)],kt.prototype,"trialDuration",void 0),Ot([(0,x.Column)("varchar",{name:"trialDurationUnit",nullable:!0,length:10}),Pt("design:type",String)],kt.prototype,"trialDurationUnit",void 0),Ot([(0,x.Column)("tinyint",{name:"trialPeriod",nullable:!0,width:1,transformer:new ee}),Pt("design:type",Boolean)],kt.prototype,"trialPeriod",void 0),kt=Ot([(0,x.Index)("ixBillingSubscriptionBraintreeCustomerId",["customerId"],{}),(0,x.Entity)("billingSubscriptionBraintree",{schema:"nova"})],kt);var Et=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},xt=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let jt=class{blacklistTypeId;value;notes;createdAt;createdBy;modifiedAt;modifiedBy};Et([(0,x.Column)("tinyint",{primary:!0,name:"blacklistTypeId"}),xt("design:type",Number)],jt.prototype,"blacklistTypeId",void 0),Et([(0,x.Column)("varchar",{primary:!0,name:"value",length:255}),xt("design:type",String)],jt.prototype,"value",void 0),Et([(0,x.Column)("varchar",{name:"notes",nullable:!0,length:1e3}),xt("design:type",String)],jt.prototype,"notes",void 0),Et([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),xt("design:type",Date)],jt.prototype,"createdAt",void 0),Et([(0,x.Column)("varchar",{name:"createdBy",length:255}),xt("design:type",String)],jt.prototype,"createdBy",void 0),Et([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),xt("design:type",Date)],jt.prototype,"modifiedAt",void 0),Et([(0,x.Column)("varchar",{name:"modifiedBy",nullable:!0,length:255}),xt("design:type",String)],jt.prototype,"modifiedBy",void 0),jt=Et([(0,x.Entity)("blacklist",{schema:"nova"})],jt);var Mt=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ft=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Lt=class{id;name;description};Mt([(0,x.PrimaryGeneratedColumn)({type:"tinyint",name:"id"}),Ft("design:type",Number)],Lt.prototype,"id",void 0),Mt([(0,x.Column)("varchar",{name:"name",length:50}),Ft("design:type",String)],Lt.prototype,"name",void 0),Mt([(0,x.Column)("varchar",{name:"description",nullable:!0,length:1e3}),Ft("design:type",String)],Lt.prototype,"description",void 0),Lt=Mt([(0,x.Entity)("blacklistType",{schema:"nova"})],Lt);var Qt=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},qt=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Wt=class{id;name;type;buffer;createdAt;modifiedAt;createdBy;modifiedBy;clientId;location;status;radiusDisplayUnit;dataSourceTypeId;geometry;color;isUserCreated;area;centerLat;centerLon};Qt([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),qt("design:type",Number)],Wt.prototype,"id",void 0),Qt([(0,x.Column)("varchar",{name:"name",nullable:!0,length:255}),qt("design:type",String)],Wt.prototype,"name",void 0),Qt([(0,x.Column)("char",{name:"type",nullable:!0,length:1}),qt("design:type",String)],Wt.prototype,"type",void 0),Qt([(0,x.Column)("varchar",{name:"buffer",nullable:!0,length:50}),qt("design:type",String)],Wt.prototype,"buffer",void 0),Qt([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),qt("design:type",Date)],Wt.prototype,"createdAt",void 0),Qt([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),qt("design:type",Date)],Wt.prototype,"modifiedAt",void 0),Qt([(0,x.Column)("varchar",{name:"createdBy",nullable:!0,length:50}),qt("design:type",String)],Wt.prototype,"createdBy",void 0),Qt([(0,x.Column)("varchar",{name:"modifiedBy",nullable:!0,length:50}),qt("design:type",String)],Wt.prototype,"modifiedBy",void 0),Qt([(0,x.Column)("int",{name:"clientId",default:()=>"'0'"}),qt("design:type",Number)],Wt.prototype,"clientId",void 0),Qt([(0,x.Column)("varchar",{name:"location",nullable:!0,length:255}),qt("design:type",String)],Wt.prototype,"location",void 0),Qt([(0,x.Column)("tinyint",{name:"status",default:()=>"'1'"}),qt("design:type",Number)],Wt.prototype,"status",void 0),Qt([(0,x.Column)("char",{name:"radiusDisplayUnit",nullable:!0,length:2}),qt("design:type",String)],Wt.prototype,"radiusDisplayUnit",void 0),Qt([(0,x.Column)("tinyint",{name:"dataSourceTypeId",nullable:!0}),qt("design:type",Number)],Wt.prototype,"dataSourceTypeId",void 0),Qt([(0,x.Column)("text",{name:"geometry",nullable:!0}),qt("design:type",String)],Wt.prototype,"geometry",void 0),Qt([(0,x.Column)("varchar",{name:"color",nullable:!0,length:25}),qt("design:type",String)],Wt.prototype,"color",void 0),Qt([(0,x.Column)("tinyint",{name:"isUserCreated",width:1,default:()=>"'1'",transformer:new ee}),qt("design:type",Boolean)],Wt.prototype,"isUserCreated",void 0),Qt([(0,x.Column)("float",{name:"area",nullable:!0}),qt("design:type",Number)],Wt.prototype,"area",void 0),Qt([(0,x.Column)("decimal",{name:"centerLat",nullable:!0,precision:8,scale:6}),qt("design:type",Number)],Wt.prototype,"centerLat",void 0),Qt([(0,x.Column)("decimal",{name:"centerLon",nullable:!0,precision:9,scale:6}),qt("design:type",Number)],Wt.prototype,"centerLon",void 0),Wt=Qt([(0,x.Index)("ixBoundaryClientIdStatus",["clientId","status"],{}),(0,x.Index)("ixBoundaryStatus",["status"],{}),(0,x.Entity)("boundary",{schema:"nova"})],Wt);var Vt=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Gt=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Jt=class{id;deviceId;boundaryId;inDate;inLat;inLon;inAddress;outDate;outLat;outLon;outAddress;inOutDuration;createdAt;modifiedAt;imei;userId};Vt([(0,x.PrimaryGeneratedColumn)({type:"bigint",name:"id"}),Gt("design:type",Number)],Jt.prototype,"id",void 0),Vt([(0,x.Column)("int",{name:"deviceId"}),Gt("design:type",Number)],Jt.prototype,"deviceId",void 0),Vt([(0,x.Column)("int",{name:"boundaryId"}),Gt("design:type",Number)],Jt.prototype,"boundaryId",void 0),Vt([(0,x.Column)("datetime",{name:"inDate",precision:3,nullable:!0}),Gt("design:type",Date)],Jt.prototype,"inDate",void 0),Vt([(0,x.Column)("decimal",{name:"inLat",nullable:!0,precision:8,scale:6}),Gt("design:type",Number)],Jt.prototype,"inLat",void 0),Vt([(0,x.Column)("decimal",{name:"inLon",nullable:!0,precision:9,scale:6}),Gt("design:type",Number)],Jt.prototype,"inLon",void 0),Vt([(0,x.Column)("varchar",{name:"inAddress",nullable:!0,length:255}),Gt("design:type",String)],Jt.prototype,"inAddress",void 0),Vt([(0,x.Column)("datetime",{name:"outDate",precision:3,nullable:!0}),Gt("design:type",Date)],Jt.prototype,"outDate",void 0),Vt([(0,x.Column)("decimal",{name:"outLat",nullable:!0,precision:8,scale:6}),Gt("design:type",Number)],Jt.prototype,"outLat",void 0),Vt([(0,x.Column)("decimal",{name:"outLon",nullable:!0,precision:9,scale:6}),Gt("design:type",Number)],Jt.prototype,"outLon",void 0),Vt([(0,x.Column)("varchar",{name:"outAddress",nullable:!0,length:255}),Gt("design:type",String)],Jt.prototype,"outAddress",void 0),Vt([(0,x.Column)("int",{name:"inOutDuration",nullable:!0}),Gt("design:type",Number)],Jt.prototype,"inOutDuration",void 0),Vt([(0,x.Column)("datetime",{name:"createdAt",default:()=>"CURRENT_TIMESTAMP"}),Gt("design:type",Date)],Jt.prototype,"createdAt",void 0),Vt([(0,x.Column)("datetime",{name:"modifiedAt",default:()=>"CURRENT_TIMESTAMP"}),Gt("design:type",Date)],Jt.prototype,"modifiedAt",void 0),Vt([(0,x.Column)("varchar",{name:"imei",nullable:!0,length:15}),Gt("design:type",String)],Jt.prototype,"imei",void 0),Vt([(0,x.Column)("binary",{name:"userId",nullable:!0,length:16}),Gt("design:type",Buffer)],Jt.prototype,"userId",void 0),Jt=Vt([(0,x.Index)("ixBoundaryEventDeviceId_BoundaryId_UserId_InDate",["deviceId","boundaryId","userId","inDate"],{}),(0,x.Index)("ixBoundaryEventDeviceId_BoundaryId_UserId_OutDate",["deviceId","boundaryId","userId","outDate"],{}),(0,x.Index)("ixBoundaryEventDeviceId",["deviceId"],{}),(0,x.Index)("ixBoundaryEventBoundaryId",["boundaryId"],{}),(0,x.Index)("ixBoundaryEventOutAtInAt",["outDate","inDate"],{}),(0,x.Index)("ixBoundaryEventUserId",["userId"],{}),(0,x.Entity)("boundaryEvent",{schema:"nova"})],Jt);var Ht=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Kt=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let zt=class{id;mcc;mnc;lac;radio;lat;lon;range;createdAt;updatedAt};Ht([(0,x.Column)("int",{primary:!0,name:"id"}),Kt("design:type",Number)],zt.prototype,"id",void 0),Ht([(0,x.Column)("tinyint",{name:"mcc",nullable:!0}),Kt("design:type",Number)],zt.prototype,"mcc",void 0),Ht([(0,x.Column)("tinyint",{name:"mnc",nullable:!0}),Kt("design:type",Number)],zt.prototype,"mnc",void 0),Ht([(0,x.Column)("mediumint",{name:"lac",nullable:!0}),Kt("design:type",Number)],zt.prototype,"lac",void 0),Ht([(0,x.Column)("varchar",{name:"radio",nullable:!0,length:5}),Kt("design:type",String)],zt.prototype,"radio",void 0),Ht([(0,x.Column)("decimal",{name:"lat",nullable:!0,precision:8,scale:6}),Kt("design:type",Number)],zt.prototype,"lat",void 0),Ht([(0,x.Column)("decimal",{name:"lon",nullable:!0,precision:9,scale:6}),Kt("design:type",Number)],zt.prototype,"lon",void 0),Ht([(0,x.Column)("mediumint",{name:"range",nullable:!0}),Kt("design:type",Number)],zt.prototype,"range",void 0),Ht([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),Kt("design:type",Date)],zt.prototype,"createdAt",void 0),Ht([(0,x.Column)("datetime",{name:"updatedAt",nullable:!0}),Kt("design:type",Date)],zt.prototype,"updatedAt",void 0),zt=Ht([(0,x.Entity)("cellTower",{schema:"nova"})],zt);var _t=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},$t=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Zt=class{clientId;appFeatureTypeId;appFeatureType;entityId;statusId};_t([(0,x.Column)({type:"int",name:"clientId",primary:!0}),$t("design:type",Number)],Zt.prototype,"clientId",void 0),_t([(0,x.Column)({type:"int",name:"appFeatureTypeId",primary:!0}),$t("design:type",Number)],Zt.prototype,"appFeatureTypeId",void 0),_t([(0,x.ManyToOne)((()=>fe),{createForeignKeyConstraints:!1,eager:!0,nullable:!1}),(0,x.JoinColumn)(),$t("design:type",Object)],Zt.prototype,"appFeatureType",void 0),_t([(0,x.Column)({type:"int",name:"entityId",primary:!0}),$t("design:type",Number)],Zt.prototype,"entityId",void 0),_t([(0,x.Column)("int",{name:"statusId",default:()=>"'1'"}),$t("design:type",Number)],Zt.prototype,"statusId",void 0),Zt=_t([(0,x.Entity)("clientAppFeature",{schema:"nova"})],Zt);var Xt=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Yt=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let ei=class{clientId;movementTripThreshold;stopTripThreshold;mapUpdateMode;maxUsersAllowed};Xt([(0,x.Column)("int",{primary:!0,name:"clientId"}),Yt("design:type",Number)],ei.prototype,"clientId",void 0),Xt([(0,x.Column)("double",{name:"movementTripThreshold",nullable:!0}),Yt("design:type",Number)],ei.prototype,"movementTripThreshold",void 0),Xt([(0,x.Column)("double",{name:"stopTripThreshold",nullable:!0}),Yt("design:type",Number)],ei.prototype,"stopTripThreshold",void 0),Xt([(0,x.Column)("tinyint",{name:"mapUpdateMode",nullable:!0}),Yt("design:type",Number)],ei.prototype,"mapUpdateMode",void 0),Xt([(0,x.Column)("smallint",{name:"maxUsersAllowed",default:()=>"'10'"}),Yt("design:type",Number)],ei.prototype,"maxUsersAllowed",void 0),ei=Xt([(0,x.Entity)("clientConfiguration",{schema:"nova"})],ei);var ti=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},ii=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let ri=class{id;clientId;imei;movingPingFrequency;stoppedPingFrequency;fixedStatus;generateTrips;stopThresholdMinutes;offlineThresholdMinutes;movementThresholdSpeed;externalBatteryInformation};ti([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),ii("design:type",Number)],ri.prototype,"id",void 0),ti([(0,x.Column)("int",{name:"clientId"}),ii("design:type",Number)],ri.prototype,"clientId",void 0),ti([(0,x.Column)("varchar",{name:"imei",length:15}),ii("design:type",String)],ri.prototype,"imei",void 0),ti([(0,x.Column)("mediumint",{name:"movingPingFrequency",nullable:!0}),ii("design:type",Number)],ri.prototype,"movingPingFrequency",void 0),ti([(0,x.Column)("mediumint",{name:"stoppedPingFrequency",nullable:!0}),ii("design:type",Number)],ri.prototype,"stoppedPingFrequency",void 0),ti([(0,x.Column)("varchar",{name:"fixedStatus",nullable:!0,length:3}),ii("design:type",String)],ri.prototype,"fixedStatus",void 0),ti([(0,x.Column)("tinyint",{name:"generateTrips",width:1,default:()=>"'1'",transformer:new ee}),ii("design:type",Boolean)],ri.prototype,"generateTrips",void 0),ti([(0,x.Column)("smallint",{name:"stopThresholdMinutes",nullable:!0}),ii("design:type",Number)],ri.prototype,"stopThresholdMinutes",void 0),ti([(0,x.Column)("smallint",{name:"offlineThresholdMinutes",nullable:!0}),ii("design:type",Number)],ri.prototype,"offlineThresholdMinutes",void 0),ti([(0,x.Column)("float",{name:"movementThresholdSpeed",nullable:!0}),ii("design:type",Number)],ri.prototype,"movementThresholdSpeed",void 0),ti([(0,x.Column)("tinyint",{name:"externalBatteryInformation",nullable:!0,width:1,default:()=>"'0'",transformer:new ee}),ii("design:type",Boolean)],ri.prototype,"externalBatteryInformation",void 0),ri=ti([(0,x.Index)("ixuUserDeviceSettingClientIdImei",["clientId","imei"],{unique:!0}),(0,x.Index)("ixClientDeviceSettingImei",["imei"],{}),(0,x.Entity)("clientDeviceSetting",{schema:"nova"})],ri);var ai=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},ni=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let oi=class{id;name;description};ai([(0,x.PrimaryGeneratedColumn)({type:"tinyint",name:"id"}),ni("design:type",Number)],oi.prototype,"id",void 0),ai([(0,x.Column)("varchar",{name:"name",length:50}),ni("design:type",String)],oi.prototype,"name",void 0),ai([(0,x.Column)("varchar",{name:"description",nullable:!0,length:255}),ni("design:type",String)],oi.prototype,"description",void 0),oi=ai([(0,x.Entity)("dataSourceType",{schema:"nova"})],oi);var si=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},li=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let di=class{id;imei;clientId;billingSubscriptionId;planId;billingPlatform;deactivationReason;deactivationReasonId;createdBy;createdAt;scheduledDate;displayOrder};si([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),li("design:type",Number)],di.prototype,"id",void 0),si([(0,x.Column)("varchar",{name:"imei",length:15}),li("design:type",String)],di.prototype,"imei",void 0),si([(0,x.Column)("int",{name:"clientId"}),li("design:type",Number)],di.prototype,"clientId",void 0),si([(0,x.Column)("varchar",{name:"billingSubscriptionId",length:50,nullable:!0}),li("design:type",String)],di.prototype,"billingSubscriptionId",void 0),si([(0,x.Column)("varchar",{name:"planId",length:50,nullable:!0}),li("design:type",String)],di.prototype,"planId",void 0),si([(0,x.Column)("varchar",{name:"billingPlatform",length:100,nullable:!0}),li("design:type",String)],di.prototype,"billingPlatform",void 0),si([(0,x.Column)("varchar",{name:"deactivationReason",nullable:!0,length:2e3}),li("design:type",String)],di.prototype,"deactivationReason",void 0),si([(0,x.Column)("tinyint",{name:"deactivationReasonId",nullable:!0}),li("design:type",Number)],di.prototype,"deactivationReasonId",void 0),si([(0,x.Column)("varchar",{name:"createdBy",length:50}),li("design:type",String)],di.prototype,"createdBy",void 0),si([(0,x.Column)("datetime",{name:"createdAt"}),li("design:type",Date)],di.prototype,"createdAt",void 0),si([(0,x.Column)("datetime",{name:"scheduledDate",nullable:!0}),li("design:type",Date)],di.prototype,"scheduledDate",void 0),si([(0,x.Column)("tinyint",{name:"displayOrder",nullable:!0}),li("design:type",Number)],di.prototype,"displayOrder",void 0),di=si([(0,x.Index)("ixDeactivationClientId",["clientId"],{}),(0,x.Index)("ixDeactivationDeactivationReasonId",["deactivationReasonId"],{}),(0,x.Index)("ixDeactivationImei",["imei"],{}),(0,x.Entity)("deactivation",{schema:"nova"})],di);var ci=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},ui=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let pi=class{id;text;code;customerVisible};ci([(0,x.PrimaryGeneratedColumn)({type:"tinyint",name:"id"}),ui("design:type",Number)],pi.prototype,"id",void 0),ci([(0,x.Column)("varchar",{name:"text",length:255}),ui("design:type",String)],pi.prototype,"text",void 0),ci([(0,x.Column)("varchar",{name:"code",length:50}),ui("design:type",String)],pi.prototype,"code",void 0),ci([(0,x.Column)("tinyint",{name:"customerVisible",width:1,default:()=>"'1'"}),ui("design:type",Boolean)],pi.prototype,"customerVisible",void 0),pi=ci([(0,x.Entity)("deactivationReason",{schema:"nova"})],pi);var mi=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},yi=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let gi=class{id;alertTypeId;userId;clientId;alertConfigurationId;daysOfTheWeek;startTime;endTime;imei;filter;label};mi([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),yi("design:type",Number)],gi.prototype,"id",void 0),mi([(0,x.Column)("int",{name:"alertTypeId",nullable:!0}),yi("design:type",Number)],gi.prototype,"alertTypeId",void 0),mi([(0,x.Column)("binary",{name:"userId",nullable:!0,length:16}),yi("design:type",Buffer)],gi.prototype,"userId",void 0),mi([(0,x.Column)("int",{name:"clientId",nullable:!0}),yi("design:type",Number)],gi.prototype,"clientId",void 0),mi([(0,x.Column)("int",{name:"alertConfigurationId",nullable:!0}),yi("design:type",Number)],gi.prototype,"alertConfigurationId",void 0),mi([(0,x.Column)("varchar",{name:"daysOfTheWeek",nullable:!0,length:7}),yi("design:type",String)],gi.prototype,"daysOfTheWeek",void 0),mi([(0,x.Column)("datetime",{name:"startTime",nullable:!0,precision:0}),yi("design:type",Date)],gi.prototype,"startTime",void 0),mi([(0,x.Column)("datetime",{name:"endTime",nullable:!0,precision:0}),yi("design:type",Date)],gi.prototype,"endTime",void 0),mi([(0,x.Column)("varchar",{name:"imei",nullable:!0,length:15}),yi("design:type",String)],gi.prototype,"imei",void 0),mi([(0,x.Column)("json",{name:"filter",nullable:!0}),yi("design:type",Object)],gi.prototype,"filter",void 0),mi([(0,x.Column)("varchar",{name:"label",nullable:!0,length:100}),yi("design:type",String)],gi.prototype,"label",void 0),gi=mi([(0,x.Entity)("deviceAlertConfiguration",{schema:"nova"})],gi);var vi=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},fi=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let hi=class{id;deviceTypeId;name;description;type;status;behaviorName;behaviorParams;extraParams;pendingNotes;clientId;imei;icon;confirmationNotes;ordinalPosition;stage;additionalSettings;blocking;displayType;minWebVersion;minAppVersion;minProtocolVersion;maxProtocolVersion};vi([(0,x.PrimaryGeneratedColumn)({type:"smallint",name:"id"}),fi("design:type",Number)],hi.prototype,"id",void 0),vi([(0,x.Column)("smallint",{name:"deviceTypeId"}),fi("design:type",Number)],hi.prototype,"deviceTypeId",void 0),vi([(0,x.Column)("varchar",{name:"name",length:50}),fi("design:type",String)],hi.prototype,"name",void 0),vi([(0,x.Column)("varchar",{name:"description",length:1e3}),fi("design:type",String)],hi.prototype,"description",void 0),vi([(0,x.Column)("varchar",{name:"type",nullable:!0,length:25}),fi("design:type",String)],hi.prototype,"type",void 0),vi([(0,x.Column)("varchar",{name:"status",length:10}),fi("design:type",String)],hi.prototype,"status",void 0),vi([(0,x.Column)("varchar",{name:"behaviorName",length:50}),fi("design:type",String)],hi.prototype,"behaviorName",void 0),vi([(0,x.Column)("json",{name:"behaviorParams",nullable:!0}),fi("design:type",Object)],hi.prototype,"behaviorParams",void 0),vi([(0,x.Column)("json",{name:"extraParams",nullable:!0}),fi("design:type",Object)],hi.prototype,"extraParams",void 0),vi([(0,x.Column)("varchar",{name:"pendingNotes",nullable:!0,length:1e3}),fi("design:type",String)],hi.prototype,"pendingNotes",void 0),vi([(0,x.Column)("int",{name:"clientId",nullable:!0}),fi("design:type",Number)],hi.prototype,"clientId",void 0),vi([(0,x.Column)("varchar",{name:"imei",nullable:!0,length:15}),fi("design:type",String)],hi.prototype,"imei",void 0),vi([(0,x.Column)("varchar",{name:"icon",nullable:!0,length:50}),fi("design:type",String)],hi.prototype,"icon",void 0),vi([(0,x.Column)("varchar",{name:"confirmationNotes",nullable:!0,length:1e3}),fi("design:type",String)],hi.prototype,"confirmationNotes",void 0),vi([(0,x.Column)("tinyint",{name:"ordinalPosition",default:()=>"'1'"}),fi("design:type",Number)],hi.prototype,"ordinalPosition",void 0),vi([(0,x.Column)("varchar",{name:"stage",nullable:!0,length:10}),fi("design:type",String)],hi.prototype,"stage",void 0),vi([(0,x.Column)("json",{name:"additionalSettings",nullable:!0}),fi("design:type",Object)],hi.prototype,"additionalSettings",void 0),vi([(0,x.Column)("tinyint",{name:"blocking",nullable:!0,width:1,default:()=>"'1'",transformer:new ee}),fi("design:type",Boolean)],hi.prototype,"blocking",void 0),vi([(0,x.Column)("varchar",{name:"displayType",nullable:!0,length:25}),fi("design:type",String)],hi.prototype,"displayType",void 0),vi([(0,x.Column)("varchar",{name:"minWebVersion",nullable:!0,length:20}),fi("design:type",String)],hi.prototype,"minWebVersion",void 0),vi([(0,x.Column)("varchar",{name:"minAppVersion",nullable:!0,length:20}),fi("design:type",String)],hi.prototype,"minAppVersion",void 0),vi([(0,x.Column)("varchar",{name:"minProtocolVersion",nullable:!0}),fi("design:type",String)],hi.prototype,"minProtocolVersion",void 0),vi([(0,x.Column)("varchar",{name:"maxProtocolVersion",nullable:!0}),fi("design:type",String)],hi.prototype,"maxProtocolVersion",void 0),hi=vi([(0,x.Index)("ixDeviceBehaviorDeviceTypeId",["deviceTypeId"],{}),(0,x.Index)("ixDeviceBehaviorClientId",["clientId"],{}),(0,x.Index)("ixDeviceBehaviorImei",["imei"],{}),(0,x.Index)("ixDeviceBehaviorType",["type"],{}),(0,x.Index)("ixDeviceBehaviorOrdinalPosition",["ordinalPosition"],{}),(0,x.Entity)("deviceBehavior",{schema:"nova"})],hi);var Ii=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},bi=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ci=class{id;clientId;imei;trackerName;status;createAt};Ii([(0,x.PrimaryGeneratedColumn)({type:"bigint",name:"id"}),bi("design:type",String)],Ci.prototype,"id",void 0),Ii([(0,x.Column)("int",{name:"clientId",nullable:!0}),bi("design:type",Number)],Ci.prototype,"clientId",void 0),Ii([(0,x.Column)("varchar",{name:"imei",length:15}),bi("design:type",String)],Ci.prototype,"imei",void 0),Ii([(0,x.Column)("varchar",{name:"trackerName",nullable:!0,length:255}),bi("design:type",String)],Ci.prototype,"trackerName",void 0),Ii([(0,x.Column)("varchar",{name:"status",nullable:!0,length:10}),bi("design:type",String)],Ci.prototype,"status",void 0),Ii([(0,x.Column)("datetime",{name:"createAt",nullable:!0}),bi("design:type",Date)],Ci.prototype,"createAt",void 0),Ci=Ii([(0,x.Entity)("deviceHistory",{schema:"nova"})],Ci);var Ri=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},wi=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Di=class{id;url;portNumber;protocol;deviceTypeId;status};Ri([(0,x.PrimaryGeneratedColumn)({type:"smallint",name:"id"}),wi("design:type",Number)],Di.prototype,"id",void 0),Ri([(0,x.Column)("varchar",{name:"url",nullable:!0,length:1e3}),wi("design:type",String)],Di.prototype,"url",void 0),Ri([(0,x.Column)("smallint",{name:"portNumber",nullable:!0}),wi("design:type",Number)],Di.prototype,"portNumber",void 0),Ri([(0,x.Column)("varchar",{name:"protocol",nullable:!0,length:5}),wi("design:type",String)],Di.prototype,"protocol",void 0),Ri([(0,x.Column)("smallint",{name:"deviceTypeId",nullable:!0}),wi("design:type",Number)],Di.prototype,"deviceTypeId",void 0),Ri([(0,x.Column)("varchar",{name:"status",nullable:!0,length:25}),wi("design:type",String)],Di.prototype,"status",void 0),Di=Ri([(0,x.Entity)("deviceModelListener",{schema:"nova"})],Di);var Si=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ai=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ti=class{id;imeiMain;btmacMain;imeiSecondary;btmacSecondary;pairingMode;connectionType;createdAt;modifiedAt};Si([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),Ai("design:type",Number)],Ti.prototype,"id",void 0),Si([(0,x.Column)("varchar",{name:"imeiMain",length:15}),Ai("design:type",String)],Ti.prototype,"imeiMain",void 0),Si([(0,x.Column)("varchar",{name:"btmacMain",length:20}),Ai("design:type",String)],Ti.prototype,"btmacMain",void 0),Si([(0,x.Column)("varchar",{name:"imeiSecondary",length:15}),Ai("design:type",String)],Ti.prototype,"imeiSecondary",void 0),Si([(0,x.Column)("varchar",{name:"btmacSecondary",length:20}),Ai("design:type",String)],Ti.prototype,"btmacSecondary",void 0),Si([(0,x.Column)("varchar",{name:"pairingMode",nullable:!0,length:20}),Ai("design:type",String)],Ti.prototype,"pairingMode",void 0),Si([(0,x.Column)("varchar",{name:"connectionType",nullable:!0,length:20}),Ai("design:type",String)],Ti.prototype,"connectionType",void 0),Si([(0,x.Column)("datetime",{name:"createdAt",nullable:!0,default:()=>"CURRENT_TIMESTAMP"}),Ai("design:type",Date)],Ti.prototype,"createdAt",void 0),Si([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),Ai("design:type",Date)],Ti.prototype,"modifiedAt",void 0),Ti=Si([(0,x.Index)("ixDevicePairingImeiSecondary",["imeiSecondary"],{}),(0,x.Index)("ixuDevicePairingImeiMainImeiSecondary",["imeiMain","imeiSecondary"],{unique:!0}),(0,x.Entity)("devicePairing",{schema:"nova"})],Ti);var Bi=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ni=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ui=class{imei;promotionId;promotion;clientId;client;marketPlace;asin;promotionType;promotionDiscount;promotionDiscountBillingCycles;promotionFreeServiceMonths;appliedAt};Bi([(0,x.Column)("varchar",{name:"imei",length:15,primary:!0}),Ni("design:type",String)],Ui.prototype,"imei",void 0),Bi([(0,x.Column)("bigint",{name:"promotionId",primary:!0}),Ni("design:type",Number)],Ui.prototype,"promotionId",void 0),Bi([(0,x.OneToOne)((()=>Ne),{createForeignKeyConstraints:!1}),(0,x.JoinColumn)(),Ni("design:type",Object)],Ui.prototype,"promotion",void 0),Bi([(0,x.Column)("int",{name:"clientId",nullable:!0}),Ni("design:type",Number)],Ui.prototype,"clientId",void 0),Bi([(0,x.OneToOne)((()=>nt),{createForeignKeyConstraints:!1}),(0,x.JoinColumn)(),Ni("design:type",Object)],Ui.prototype,"client",void 0),Bi([(0,x.Column)("varchar",{name:"marketPlace",length:25,comment:"The marketplace of the device at the time the promotion was applied"}),Ni("design:type",String)],Ui.prototype,"marketPlace",void 0),Bi([(0,x.Column)("varchar",{name:"asin",nullable:!0,length:25}),Ni("design:type",String)],Ui.prototype,"asin",void 0),Bi([(0,x.Column)("varchar",{name:"promotionType",length:25,comment:"The type of promotion: freeService or discount."}),Ni("design:type",String)],Ui.prototype,"promotionType",void 0),Bi([(0,x.Column)("decimal",{name:"promotionDiscount",nullable:!0,precision:19,scale:4,comment:"The discount value if the type is discount offered in US Dollars."}),Ni("design:type",Number)],Ui.prototype,"promotionDiscount",void 0),Bi([(0,x.Column)("int",{name:"promotionDiscountBillingCycles",nullable:!0,comment:"The number of billing cycles that the discount will be applied. Required when type is discount"}),Ni("design:type",Number)],Ui.prototype,"promotionDiscountBillingCycles",void 0),Bi([(0,x.Column)("int",{name:"promotionFreeServiceMonths",nullable:!0,comment:"The number of months that the service will be free. Required when type is freeService"}),Ni("design:type",Number)],Ui.prototype,"promotionFreeServiceMonths",void 0),Bi([(0,x.Column)("datetime",{name:"appliedAt",comment:"The date that the promotion was applied"}),Ni("design:type",Date)],Ui.prototype,"appliedAt",void 0),Ui=Bi([(0,x.Entity)("devicePromotion",{schema:"nova"})],Ui);var Oi=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Pi=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let ki=class{id;imeiOld;iccidOld;imeiNew;iccidNew;userId;clientId;createAt};Oi([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),Pi("design:type",Number)],ki.prototype,"id",void 0),Oi([(0,x.Column)("varchar",{name:"imeiOld",length:15}),Pi("design:type",String)],ki.prototype,"imeiOld",void 0),Oi([(0,x.Column)("varchar",{name:"iccidOld",length:25}),Pi("design:type",String)],ki.prototype,"iccidOld",void 0),Oi([(0,x.Column)("varchar",{name:"imeiNew",length:15}),Pi("design:type",String)],ki.prototype,"imeiNew",void 0),Oi([(0,x.Column)("varchar",{name:"iccidNew",length:25}),Pi("design:type",String)],ki.prototype,"iccidNew",void 0),Oi([(0,x.Column)("binary",{name:"userId",length:16}),Pi("design:type",Buffer)],ki.prototype,"userId",void 0),Oi([(0,x.Column)("int",{name:"clientId"}),Pi("design:type",Number)],ki.prototype,"clientId",void 0),Oi([(0,x.Column)("datetime",{name:"createAt"}),Pi("design:type",Date)],ki.prototype,"createAt",void 0),ki=Oi([(0,x.Index)("ixDeviceReplacementClientId",["clientId"],{}),(0,x.Entity)("deviceReplacement",{schema:"nova"})],ki);var Ei=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},xi=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let ji=class{id;clientId;title;description;repeats;dueDate;dueOdometer;dueActiveHours;intervalDays;intervalStartDate;intervalOdometer;intervalStartingOdometer;intervalActiveHours;intervalStartingActiveHours;notes;createdBy;createdAt;modifiedBy;modifiedAt;deletedBy;deletedAt;status;deviceTasks;totalDevicesCount};Ei([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),xi("design:type",Number)],ji.prototype,"id",void 0),Ei([(0,x.Column)("int",{name:"clientId"}),xi("design:type",Number)],ji.prototype,"clientId",void 0),Ei([(0,x.Column)("varchar",{name:"title",length:50}),xi("design:type",String)],ji.prototype,"title",void 0),Ei([(0,x.Column)("varchar",{name:"description",length:255}),xi("design:type",String)],ji.prototype,"description",void 0),Ei([(0,x.Column)("tinyint",{name:"repeats",width:1,default:()=>"'0'",transformer:new ee}),xi("design:type",Boolean)],ji.prototype,"repeats",void 0),Ei([(0,x.Column)("datetime",{name:"dueDate",nullable:!0}),xi("design:type",Date)],ji.prototype,"dueDate",void 0),Ei([(0,x.Column)("double",{name:"dueOdometer",nullable:!0}),xi("design:type",Number)],ji.prototype,"dueOdometer",void 0),Ei([(0,x.Column)("double",{name:"dueActiveHours",nullable:!0}),xi("design:type",Number)],ji.prototype,"dueActiveHours",void 0),Ei([(0,x.Column)("double",{name:"intervalDays",nullable:!0}),xi("design:type",Number)],ji.prototype,"intervalDays",void 0),Ei([(0,x.Column)("datetime",{name:"intervalStartDate",nullable:!0}),xi("design:type",Date)],ji.prototype,"intervalStartDate",void 0),Ei([(0,x.Column)("double",{name:"intervalOdometer",nullable:!0}),xi("design:type",Number)],ji.prototype,"intervalOdometer",void 0),Ei([(0,x.Column)("double",{name:"intervalStartingOdometer",nullable:!0}),xi("design:type",Number)],ji.prototype,"intervalStartingOdometer",void 0),Ei([(0,x.Column)("double",{name:"intervalActiveHours",nullable:!0}),xi("design:type",Number)],ji.prototype,"intervalActiveHours",void 0),Ei([(0,x.Column)("double",{name:"intervalStartingActiveHours",nullable:!0}),xi("design:type",Number)],ji.prototype,"intervalStartingActiveHours",void 0),Ei([(0,x.Column)("varchar",{name:"notes",nullable:!0}),xi("design:type",String)],ji.prototype,"notes",void 0),Ei([(0,x.Column)("varchar",{name:"createdBy",length:50}),xi("design:type",String)],ji.prototype,"createdBy",void 0),Ei([(0,x.Column)("datetime",{name:"createdAt"}),xi("design:type",Date)],ji.prototype,"createdAt",void 0),Ei([(0,x.Column)("varchar",{name:"modifiedBy",length:50,nullable:!0}),xi("design:type",String)],ji.prototype,"modifiedBy",void 0),Ei([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),xi("design:type",Date)],ji.prototype,"modifiedAt",void 0),Ei([(0,x.Column)("varchar",{name:"deletedBy",length:50,nullable:!0}),xi("design:type",String)],ji.prototype,"deletedBy",void 0),Ei([(0,x.Column)("datetime",{name:"deletedAt",nullable:!0}),xi("design:type",Date)],ji.prototype,"deletedAt",void 0),Ei([(0,x.Column)("varchar",{name:"status",length:10,default:()=>"'active'"}),xi("design:type",String)],ji.prototype,"status",void 0),Ei([(0,x.OneToMany)((()=>Li),(e=>e.taskSchedule)),xi("design:type",Array)],ji.prototype,"deviceTasks",void 0),ji=Ei([(0,x.Index)("ixTaskScheduleClientId",["clientId"],{}),(0,x.Index)("ixTaskScheduleStatus",["status"],{}),(0,x.Entity)("taskSchedule",{schema:"nova"})],ji);var Mi=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Fi=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Li=class{taskScheduleId;imei;clientId;taskSchedule};Mi([(0,x.Column)({type:"int",primary:!0,name:"taskScheduleId"}),Fi("design:type",Number)],Li.prototype,"taskScheduleId",void 0),Mi([(0,x.Column)("varchar",{name:"imei",primary:!0,length:15}),Fi("design:type",String)],Li.prototype,"imei",void 0),Mi([(0,x.Column)("int",{name:"clientId"}),Fi("design:type",Number)],Li.prototype,"clientId",void 0),Mi([(0,x.OneToOne)((()=>ji),{createForeignKeyConstraints:!1,nullable:!1}),(0,x.JoinColumn)(),Fi("design:type",Object)],Li.prototype,"taskSchedule",void 0),Li=Mi([(0,x.Index)("ixDeviceTask_TaskScheduleId",["taskScheduleId"],{}),(0,x.Index)("ixDeviceTask_ClientId",["clientId"],{}),(0,x.Index)("ixDeviceTask_Imei",["imei"],{}),(0,x.Entity)("deviceTask",{schema:"nova"})],Li);var Qi=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},qi=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Wi=class{deviceTypeId;eventKey;value};Qi([(0,x.Column)("smallint",{primary:!0,name:"deviceTypeId"}),qi("design:type",Number)],Wi.prototype,"deviceTypeId",void 0),Qi([(0,x.Column)("varchar",{primary:!0,name:"eventKey",length:50}),qi("design:type",String)],Wi.prototype,"eventKey",void 0),Qi([(0,x.Column)("varchar",{name:"value",nullable:!0,length:255}),qi("design:type",String)],Wi.prototype,"value",void 0),Wi=Qi([(0,x.Index)("ixDeviceTypeEventEventKey",["eventKey"],{}),(0,x.Entity)("deviceTypeEvent",{schema:"nova"})],Wi);var Vi=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Gi=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ji=class{deviceTypeId;featureKey;value};Vi([(0,x.Column)("smallint",{primary:!0,name:"deviceTypeId"}),Gi("design:type",Number)],Ji.prototype,"deviceTypeId",void 0),Vi([(0,x.Column)("varchar",{primary:!0,name:"featureKey",length:50}),Gi("design:type",String)],Ji.prototype,"featureKey",void 0),Vi([(0,x.Column)("varchar",{name:"value",nullable:!0,length:255}),Gi("design:type",String)],Ji.prototype,"value",void 0),Ji=Vi([(0,x.Index)("ixDeviceTypeFeatureFeatureKey",["featureKey"],{}),(0,x.Entity)("deviceTypeFeature",{schema:"nova"})],Ji);var Hi=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ki=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let zi=class{id;deviceTypeId;deviceType;sourceFirmwareVersion;firmwareVersion;firmwareCode;firmwareUrl;releaseDate;description;enabled;upgradeType;postUpgradeConfig;stage;parentId;maxDeployPercentage;qmsRate;pendingTimeout};Hi([(0,x.PrimaryGeneratedColumn)({type:"mediumint",name:"id"}),Ki("design:type",Number)],zi.prototype,"id",void 0),Hi([(0,x.Column)("smallint",{name:"deviceTypeId"}),Ki("design:type",Number)],zi.prototype,"deviceTypeId",void 0),Hi([(0,x.ManyToOne)((()=>Pe),{createForeignKeyConstraints:!1,nullable:!1}),(0,x.JoinColumn)(),Ki("design:type",Object)],zi.prototype,"deviceType",void 0),Hi([(0,x.Column)("varchar",{name:"sourceFirmwareVersion",nullable:!0,length:25}),Ki("design:type",String)],zi.prototype,"sourceFirmwareVersion",void 0),Hi([(0,x.Column)("varchar",{name:"firmwareVersion",nullable:!0,length:25}),Ki("design:type",String)],zi.prototype,"firmwareVersion",void 0),Hi([(0,x.Column)("varchar",{name:"firmwareCode",nullable:!0,length:50}),Ki("design:type",String)],zi.prototype,"firmwareCode",void 0),Hi([(0,x.Column)("varchar",{name:"firmwareUrl",nullable:!0,length:1e3}),Ki("design:type",String)],zi.prototype,"firmwareUrl",void 0),Hi([(0,x.Column)("datetime",{name:"releaseDate",nullable:!0}),Ki("design:type",Date)],zi.prototype,"releaseDate",void 0),Hi([(0,x.Column)("varchar",{name:"description",nullable:!0,length:1e3}),Ki("design:type",String)],zi.prototype,"description",void 0),Hi([(0,x.Column)("tinyint",{name:"enabled",width:1,default:()=>"'0'",transformer:new ee}),Ki("design:type",Boolean)],zi.prototype,"enabled",void 0),Hi([(0,x.Column)("varchar",{name:"upgradeType",nullable:!0,length:25}),Ki("design:type",String)],zi.prototype,"upgradeType",void 0),Hi([(0,x.Column)("varchar",{name:"postUpgradeConfig",nullable:!0,length:1e3}),Ki("design:type",String)],zi.prototype,"postUpgradeConfig",void 0),Hi([(0,x.Column)("varchar",{name:"stage",nullable:!0,length:25}),Ki("design:type",String)],zi.prototype,"stage",void 0),Hi([(0,x.Column)({type:"mediumint",name:"parentId",nullable:!0}),Ki("design:type",Number)],zi.prototype,"parentId",void 0),Hi([(0,x.Column)("smallint",{name:"maxDeployPercentage",nullable:!0}),Ki("design:type",Number)],zi.prototype,"maxDeployPercentage",void 0),Hi([(0,x.Column)({type:"smallint",name:"qmsRate",nullable:!0}),Ki("design:type",Number)],zi.prototype,"qmsRate",void 0),Hi([(0,x.Column)({type:"smallint",name:"pendingTimeout",nullable:!0}),Ki("design:type",Number)],zi.prototype,"pendingTimeout",void 0),zi=Hi([(0,x.Index)("ixDeviceTypeFirmwareDeviceTypeId",["deviceTypeId"],{}),(0,x.Entity)("deviceTypeFirmware",{schema:"nova"})],zi);var _i=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},$i=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Zi=class{id;entityTypeId;entityId;tag;tagValue;tagDate};_i([(0,x.PrimaryGeneratedColumn)({type:"bigint",name:"id"}),$i("design:type",String)],Zi.prototype,"id",void 0),_i([(0,x.Column)("int",{name:"entityTypeId"}),$i("design:type",Number)],Zi.prototype,"entityTypeId",void 0),_i([(0,x.Column)("varchar",{name:"entityId",length:15}),$i("design:type",String)],Zi.prototype,"entityId",void 0),_i([(0,x.Column)("varchar",{name:"tag",length:25}),$i("design:type",String)],Zi.prototype,"tag",void 0),_i([(0,x.Column)("varchar",{name:"tagValue",nullable:!0,length:15}),$i("design:type",String)],Zi.prototype,"tagValue",void 0),_i([(0,x.Column)("datetime",{name:"tagDate",nullable:!0}),$i("design:type",Date)],Zi.prototype,"tagDate",void 0),Zi=_i([(0,x.Index)("ixEntityTagEntityTypeId",["entityTypeId"],{}),(0,x.Index)("ixEntityTagTagId",["tag"],{}),(0,x.Entity)("entityTag",{schema:"nova"})],Zi);var Xi=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Yi=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let er=class{id;name;description};Xi([(0,x.PrimaryGeneratedColumn)({type:"tinyint",name:"id"}),Yi("design:type",Number)],er.prototype,"id",void 0),Xi([(0,x.Column)("varchar",{name:"name",length:50}),Yi("design:type",String)],er.prototype,"name",void 0),Xi([(0,x.Column)("varchar",{name:"description",length:1e3}),Yi("design:type",String)],er.prototype,"description",void 0),er=Xi([(0,x.Entity)("entityType",{schema:"nova"})],er);var tr=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},ir=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let rr=class{key;name;description;tags};tr([(0,x.Column)("varchar",{primary:!0,name:"key",length:50}),ir("design:type",String)],rr.prototype,"key",void 0),tr([(0,x.Column)("varchar",{name:"name",length:50}),ir("design:type",String)],rr.prototype,"name",void 0),tr([(0,x.Column)("varchar",{name:"description",nullable:!0,length:255}),ir("design:type",String)],rr.prototype,"description",void 0),tr([(0,x.Column)("varchar",{name:"tags",nullable:!0,length:500}),ir("design:type",String)],rr.prototype,"tags",void 0),rr=tr([(0,x.Entity)("event",{schema:"nova"})],rr);var ar=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},nr=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let or=class{key;name;description;tags};ar([(0,x.Column)("varchar",{primary:!0,name:"key",length:50}),nr("design:type",String)],or.prototype,"key",void 0),ar([(0,x.Column)("varchar",{name:"name",length:50}),nr("design:type",String)],or.prototype,"name",void 0),ar([(0,x.Column)("varchar",{name:"description",nullable:!0,length:255}),nr("design:type",String)],or.prototype,"description",void 0),ar([(0,x.Column)("varchar",{name:"tags",nullable:!0,length:500}),nr("design:type",String)],or.prototype,"tags",void 0),or=ar([(0,x.Entity)("feature",{schema:"nova"})],or);var sr=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},lr=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let dr=class{id;clientId;deviceTypeId};sr([(0,x.PrimaryGeneratedColumn)({type:"mediumint",name:"id"}),lr("design:type",Number)],dr.prototype,"id",void 0),sr([(0,x.Column)("int",{name:"clientId"}),lr("design:type",Number)],dr.prototype,"clientId",void 0),sr([(0,x.Column)("int",{name:"deviceTypeId",nullable:!0}),lr("design:type",Number)],dr.prototype,"deviceTypeId",void 0),dr=sr([(0,x.Index)("ixFirmwareAutoUpgradeBlacklistClientId",["clientId"],{}),(0,x.Index)("ixuFirmwareAutoUpgradeBlacklistClientIdDeviceTypeId",["clientId","deviceTypeId"],{unique:!0}),(0,x.Entity)("firmwareAutoUpgradeBlacklist",{schema:"nova"})],dr);var cr=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},ur=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let pr=class{id;deviceTypeFirmwareId;deviceTypeFirmware;clientId;imei;status;behaviorName;behaviorParams;createdAt;modifiedAt;preConfig;postConfig;commandsTaskId;postUpgradeCompleted;fwCompletedOn;device};cr([(0,x.Column)("binary",{primary:!0,name:"id",length:16}),ur("design:type",Buffer)],pr.prototype,"id",void 0),cr([(0,x.Column)("mediumint",{name:"deviceTypeFirmwareId"}),ur("design:type",Number)],pr.prototype,"deviceTypeFirmwareId",void 0),cr([(0,x.ManyToOne)((()=>zi),{createForeignKeyConstraints:!1,nullable:!1}),(0,x.JoinColumn)(),ur("design:type",Object)],pr.prototype,"deviceTypeFirmware",void 0),cr([(0,x.Column)("int",{name:"clientId"}),ur("design:type",Number)],pr.prototype,"clientId",void 0),cr([(0,x.Column)("varchar",{name:"imei",length:15}),ur("design:type",String)],pr.prototype,"imei",void 0),cr([(0,x.Column)("varchar",{name:"status",length:40}),ur("design:type",String)],pr.prototype,"status",void 0),cr([(0,x.Column)("varchar",{name:"behaviorName",nullable:!0,length:25}),ur("design:type",String)],pr.prototype,"behaviorName",void 0),cr([(0,x.Column)("json",{name:"behaviorParams",nullable:!0}),ur("design:type",Object)],pr.prototype,"behaviorParams",void 0),cr([(0,x.Column)("datetime",{name:"createdAt",default:()=>"CURRENT_TIMESTAMP"}),ur("design:type",Date)],pr.prototype,"createdAt",void 0),cr([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),ur("design:type",Date)],pr.prototype,"modifiedAt",void 0),cr([(0,x.Column)("text",{name:"preConfig",nullable:!0}),ur("design:type",String)],pr.prototype,"preConfig",void 0),cr([(0,x.Column)("text",{name:"postConfig",nullable:!0}),ur("design:type",String)],pr.prototype,"postConfig",void 0),cr([(0,x.Column)("varchar",{name:"commandsTaskId",nullable:!0,length:50}),ur("design:type",String)],pr.prototype,"commandsTaskId",void 0),cr([(0,x.Column)("tinyint",{name:"postUpgradeCompleted",nullable:!0,width:1,default:0,transformer:new ee}),ur("design:type",Boolean)],pr.prototype,"postUpgradeCompleted",void 0),cr([(0,x.Column)("datetime",{name:"fwCompletedOn",nullable:!0}),ur("design:type",Date)],pr.prototype,"fwCompletedOn",void 0),pr=cr([(0,x.Index)("ixFirmwareUpgradeTaskDeviceTypeFirmwareId",["deviceTypeFirmwareId"],{}),(0,x.Entity)("firmwareUpgradeTask",{schema:"nova"})],pr);var mr=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},yr=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let gr=class{iccid;status;processing;carrierFound;modifiedAt};mr([(0,x.PrimaryColumn)("varchar",{name:"iccid",length:25}),yr("design:type",String)],gr.prototype,"iccid",void 0),mr([(0,x.Column)("varchar",{name:"status",nullable:!0,length:100}),yr("design:type",String)],gr.prototype,"status",void 0),mr([(0,x.Column)("tinyint",{name:"processing",width:1,nullable:!0,transformer:new ee}),yr("design:type",Boolean)],gr.prototype,"processing",void 0),mr([(0,x.Column)("int",{name:"carrierFound",nullable:!0}),yr("design:type",Number)],gr.prototype,"carrierFound",void 0),mr([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),yr("design:type",Date)],gr.prototype,"modifiedAt",void 0),gr=mr([(0,x.Index)("ixIccidStatusProcessing",["processing"],{}),(0,x.Index)("ixIccidStatusModifiedAt",["modifiedAt"],{}),(0,x.Entity)("iccidStatus",{schema:"nova"})],gr);var vr=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},fr=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let hr=class{id;imei;iccid;carrier;phone;deviceTypeId;serviceProviderProductId;isValid;model;realModel;po;outOfInventory;apn;createdAt;modifiedAt;itsEsim;btmac;serviceProvider};vr([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),fr("design:type",Number)],hr.prototype,"id",void 0),vr([(0,x.Column)("varchar",{name:"imei",nullable:!0,length:15}),fr("design:type",String)],hr.prototype,"imei",void 0),vr([(0,x.Column)("varchar",{name:"iccid",nullable:!0,length:25}),fr("design:type",String)],hr.prototype,"iccid",void 0),vr([(0,x.Column)("tinyint",{name:"carrier",nullable:!0}),fr("design:type",Number)],hr.prototype,"carrier",void 0),vr([(0,x.Column)("varchar",{name:"phone",nullable:!0,length:25}),fr("design:type",String)],hr.prototype,"phone",void 0),vr([(0,x.Column)("smallint",{name:"deviceTypeId",nullable:!0}),fr("design:type",Number)],hr.prototype,"deviceTypeId",void 0),vr([(0,x.Column)("tinyint",{name:"serviceProviderProductId",nullable:!0}),fr("design:type",Number)],hr.prototype,"serviceProviderProductId",void 0),vr([(0,x.Column)("tinyint",{name:"isValid",width:1,default:()=>"'1'",transformer:new ee}),fr("design:type",Boolean)],hr.prototype,"isValid",void 0),vr([(0,x.Column)("varchar",{name:"model",nullable:!0,length:50}),fr("design:type",String)],hr.prototype,"model",void 0),vr([(0,x.Column)("varchar",{name:"realModel",nullable:!0,length:50}),fr("design:type",String)],hr.prototype,"realModel",void 0),vr([(0,x.Column)("varchar",{name:"po",nullable:!0,length:25}),fr("design:type",String)],hr.prototype,"po",void 0),vr([(0,x.Column)("tinyint",{name:"outOfInventory",width:1,default:()=>"'0'",transformer:new ee}),fr("design:type",Boolean)],hr.prototype,"outOfInventory",void 0),vr([(0,x.Column)("varchar",{name:"apn",nullable:!0,length:50}),fr("design:type",String)],hr.prototype,"apn",void 0),vr([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),fr("design:type",Date)],hr.prototype,"createdAt",void 0),vr([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),fr("design:type",Date)],hr.prototype,"modifiedAt",void 0),vr([(0,x.Column)("tinyint",{name:"itsEsim",width:1,nullable:!0,default:()=>"'0'",transformer:new ee}),fr("design:type",Boolean)],hr.prototype,"itsEsim",void 0),vr([(0,x.Column)("varchar",{name:"btmac",nullable:!0,length:20}),fr("design:type",String)],hr.prototype,"btmac",void 0),hr=vr([(0,x.Index)("ixImeiIccidCarrierCarrier",["carrier"],{}),(0,x.Index)("ixImeiIccidCarrierDeviceTypeId",["deviceTypeId"],{}),(0,x.Index)("ixImeiIccidCarrierIccid",["iccid"],{}),(0,x.Index)("ixImeiIccidCarrierImei",["imei"],{}),(0,x.Index)("ixImeiIccidCarrierModifiedAt",["modifiedAt"],{}),(0,x.Index)("ixImeiIccidCarrierProductId",["serviceProviderProductId"],{}),(0,x.Entity)("imeiIccidCarrier",{schema:"nova"})],hr);var Ir=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},br=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Cr=class{id;iccid;imei;carrier;lastUpdatedAt};Ir([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),br("design:type",Number)],Cr.prototype,"id",void 0),Ir([(0,x.Column)("varchar",{name:"iccid",nullable:!0,length:25}),br("design:type",String)],Cr.prototype,"iccid",void 0),Ir([(0,x.Column)("varchar",{name:"imei",length:15}),br("design:type",String)],Cr.prototype,"imei",void 0),Ir([(0,x.Column)("tinyint",{name:"carrier"}),br("design:type",Number)],Cr.prototype,"carrier",void 0),Ir([(0,x.Column)("datetime",{name:"lastUpdatedAt"}),br("design:type",Date)],Cr.prototype,"lastUpdatedAt",void 0),Cr=Ir([(0,x.Index)("ixImeiIccidHistoryIccid",["iccid"],{}),(0,x.Index)("ixImeiIccidHistoryImei",["imei"],{}),(0,x.Entity)("imeiIccidHistory",{schema:"nova"})],Cr);var Rr=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},wr=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Dr=class{id;industry;mainIndustry;group;sector;displayName};Rr([(0,x.PrimaryGeneratedColumn)({type:"smallint",name:"id"}),wr("design:type",Number)],Dr.prototype,"id",void 0),Rr([(0,x.Column)("varchar",{name:"industry",length:100}),wr("design:type",String)],Dr.prototype,"industry",void 0),Rr([(0,x.Column)("varchar",{name:"mainIndustry",length:100}),wr("design:type",String)],Dr.prototype,"mainIndustry",void 0),Rr([(0,x.Column)("varchar",{name:"group",length:100}),wr("design:type",String)],Dr.prototype,"group",void 0),Rr([(0,x.Column)("varchar",{name:"sector",length:100}),wr("design:type",String)],Dr.prototype,"sector",void 0),Rr([(0,x.Column)("varchar",{name:"displayName",nullable:!0,length:100}),wr("design:type",String)],Dr.prototype,"displayName",void 0),Dr=Rr([(0,x.Entity)("industry",{schema:"nova"})],Dr);var Sr=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ar=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Tr=class{imei;positionId;lat;lon;actualDate;speed;odometer;createdAt;messageId;batteryPercentage;clientId;address;sendTime;gpsUtcTime;externalBatteryPercentage;externalPowerVoltage};Sr([(0,x.PrimaryColumn)("varchar",{name:"imei",length:15}),Ar("design:type",String)],Tr.prototype,"imei",void 0),Sr([(0,x.Column)({type:"bigint",name:"positionId"}),Ar("design:type",Number)],Tr.prototype,"positionId",void 0),Sr([(0,x.Column)("decimal",{name:"lat",nullable:!0,precision:8,scale:6}),Ar("design:type",Number)],Tr.prototype,"lat",void 0),Sr([(0,x.Column)("decimal",{name:"lon",nullable:!0,precision:9,scale:6}),Ar("design:type",Number)],Tr.prototype,"lon",void 0),Sr([(0,x.Column)("datetime",{name:"actualDate",precision:3}),Ar("design:type",Date)],Tr.prototype,"actualDate",void 0),Sr([(0,x.Column)("float",{name:"speed",nullable:!0}),Ar("design:type",Number)],Tr.prototype,"speed",void 0),Sr([(0,x.Column)("double",{name:"odometer",nullable:!0}),Ar("design:type",Number)],Tr.prototype,"odometer",void 0),Sr([(0,x.Column)("datetime",{name:"createdAt",precision:3}),Ar("design:type",Date)],Tr.prototype,"createdAt",void 0),Sr([(0,x.Column)("binary",{name:"messageId",length:16}),Ar("design:type",Buffer)],Tr.prototype,"messageId",void 0),Sr([(0,x.Column)("smallint",{name:"batteryPercentage",nullable:!0}),Ar("design:type",Number)],Tr.prototype,"batteryPercentage",void 0),Sr([(0,x.Column)("int",{name:"clientId",nullable:!0}),Ar("design:type",Number)],Tr.prototype,"clientId",void 0),Sr([(0,x.Column)("varchar",{name:"address",nullable:!0,length:255}),Ar("design:type",String)],Tr.prototype,"address",void 0),Sr([(0,x.Column)("datetime",{name:"sendTime",nullable:!0,precision:3}),Ar("design:type",Date)],Tr.prototype,"sendTime",void 0),Sr([(0,x.Column)("datetime",{name:"gpsUtcTime",nullable:!0,precision:3}),Ar("design:type",Date)],Tr.prototype,"gpsUtcTime",void 0),Sr([(0,x.Column)("smallint",{name:"externalBatteryPercentage",nullable:!0}),Ar("design:type",Number)],Tr.prototype,"externalBatteryPercentage",void 0),Sr([(0,x.Column)("float",{name:"externalPowerVoltage",nullable:!0}),Ar("design:type",Number)],Tr.prototype,"externalPowerVoltage",void 0),Tr=Sr([(0,x.Index)("ixuLatestPositionMessageId",["messageId"],{unique:!0}),(0,x.Index)("ixLatestPositionActualDate",["actualDate"],{}),(0,x.Index)("ixLatestPositionClientId",["clientId"],{}),(0,x.Index)("ixLatestPositionId",["positionId"]),(0,x.Entity)("latestPosition",{schema:"nova"})],Tr);var Br=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Nr=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ur=class{id;customerId;email;customerUpdatedAt;createdIn;firstName;lastName;middleName;postcode;prefix;region;street;city;telephone;countryId;company;btAccountId;phoneCode;phoneCodeCountryId;pinCode;stripeCustomerId;activationCreated;imei;deviceId;deviceType;deviceColor;btSubscriptionId;servicePlanId;billingInterval;status;orderId;deviceUpdatedAt;deviceCreatedAt;importedDevice;trackerName;trackerUse;deviceStatus;planCode;platformCode;platformName;stripeCreatedAt;stripeUpdatedAt;dateCaptured;cancelationReason;cancelationCreated;cancelationReactivated;clientId;itemsForRecovery};Br([(0,x.PrimaryGeneratedColumn)({type:"smallint",name:"id"}),Nr("design:type",Number)],Ur.prototype,"id",void 0),Br([(0,x.Column)("varchar",{name:"customerId",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"customerId",void 0),Br([(0,x.Column)("varchar",{name:"email",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"email",void 0),Br([(0,x.Column)("varchar",{name:"customerUpdatedAt",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"customerUpdatedAt",void 0),Br([(0,x.Column)("varchar",{name:"createdIn",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"createdIn",void 0),Br([(0,x.Column)("varchar",{name:"firstName",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"firstName",void 0),Br([(0,x.Column)("varchar",{name:"lastName",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"lastName",void 0),Br([(0,x.Column)("varchar",{name:"middleName",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"middleName",void 0),Br([(0,x.Column)("varchar",{name:"postcode",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"postcode",void 0),Br([(0,x.Column)("varchar",{name:"prefix",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"prefix",void 0),Br([(0,x.Column)("varchar",{name:"region",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"region",void 0),Br([(0,x.Column)("varchar",{name:"street",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"street",void 0),Br([(0,x.Column)("varchar",{name:"city",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"city",void 0),Br([(0,x.Column)("varchar",{name:"telephone",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"telephone",void 0),Br([(0,x.Column)("varchar",{name:"countryId",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"countryId",void 0),Br([(0,x.Column)("varchar",{name:"company",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"company",void 0),Br([(0,x.Column)("varchar",{name:"btAccountId",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"btAccountId",void 0),Br([(0,x.Column)("varchar",{name:"phoneCode",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"phoneCode",void 0),Br([(0,x.Column)("varchar",{name:"phoneCodeCountryId",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"phoneCodeCountryId",void 0),Br([(0,x.Column)("varchar",{name:"pinCode",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"pinCode",void 0),Br([(0,x.Column)("varchar",{name:"stripeCustomerId",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"stripeCustomerId",void 0),Br([(0,x.Column)("varchar",{name:"activationCreated",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"activationCreated",void 0),Br([(0,x.Column)("varchar",{name:"imei",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"imei",void 0),Br([(0,x.Column)("varchar",{name:"deviceId",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"deviceId",void 0),Br([(0,x.Column)("varchar",{name:"deviceType",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"deviceType",void 0),Br([(0,x.Column)("varchar",{name:"deviceColor",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"deviceColor",void 0),Br([(0,x.Column)("varchar",{name:"btSubscriptionId",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"btSubscriptionId",void 0),Br([(0,x.Column)("varchar",{name:"servicePlanId",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"servicePlanId",void 0),Br([(0,x.Column)("varchar",{name:"billingInterval",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"billingInterval",void 0),Br([(0,x.Column)("varchar",{name:"status",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"status",void 0),Br([(0,x.Column)("varchar",{name:"orderId",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"orderId",void 0),Br([(0,x.Column)("varchar",{name:"deviceUpdatedAt",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"deviceUpdatedAt",void 0),Br([(0,x.Column)("varchar",{name:"deviceCreatedAt",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"deviceCreatedAt",void 0),Br([(0,x.Column)("varchar",{name:"importedDevice",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"importedDevice",void 0),Br([(0,x.Column)("varchar",{name:"trackerName",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"trackerName",void 0),Br([(0,x.Column)("varchar",{name:"trackerUse",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"trackerUse",void 0),Br([(0,x.Column)("varchar",{name:"deviceStatus",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"deviceStatus",void 0),Br([(0,x.Column)("varchar",{name:"planCode",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"planCode",void 0),Br([(0,x.Column)("varchar",{name:"platformCode",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"platformCode",void 0),Br([(0,x.Column)("varchar",{name:"platformName",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"platformName",void 0),Br([(0,x.Column)("varchar",{name:"stripeCreatedAt",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"stripeCreatedAt",void 0),Br([(0,x.Column)("varchar",{name:"stripeUpdatedAt",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"stripeUpdatedAt",void 0),Br([(0,x.Column)("varchar",{name:"dateCaptured",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"dateCaptured",void 0),Br([(0,x.Column)("varchar",{name:"cancelationReason",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"cancelationReason",void 0),Br([(0,x.Column)("varchar",{name:"cancelationCreated",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"cancelationCreated",void 0),Br([(0,x.Column)("varchar",{name:"cancelationReactivated",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"cancelationReactivated",void 0),Br([(0,x.Column)("varchar",{name:"clientId",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"clientId",void 0),Br([(0,x.Column)("varchar",{name:"itemsForRecovery",nullable:!0,length:255}),Nr("design:type",String)],Ur.prototype,"itemsForRecovery",void 0),Ur=Br([(0,x.Entity)("magento2Gps",{schema:"nova"})],Ur);var Or=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Pr=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let kr=class{magentoPlanCode;magentoBillingInterval;planAnnual;planId};Or([(0,x.Column)("varchar",{primary:!0,name:"magentoPlanCode",length:100}),Pr("design:type",String)],kr.prototype,"magentoPlanCode",void 0),Or([(0,x.Column)("varchar",{primary:!0,name:"magentoBillingInterval",length:50}),Pr("design:type",String)],kr.prototype,"magentoBillingInterval",void 0),Or([(0,x.Column)("tinyint",{name:"planAnnual",width:1,transformer:new ee}),Pr("design:type",Boolean)],kr.prototype,"planAnnual",void 0),Or([(0,x.Column)("varchar",{name:"planId",length:100}),Pr("design:type",String)],kr.prototype,"planId",void 0),kr=Or([(0,x.Entity)("magento2Plan",{schema:"nova"})],kr);var Er=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},xr=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let jr=class{id;mcc;mnc;networkName;operatorName;countryCode;countryName};Er([(0,x.PrimaryGeneratedColumn)({type:"smallint",name:"id"}),xr("design:type",Number)],jr.prototype,"id",void 0),Er([(0,x.Column)("smallint",{name:"mcc"}),xr("design:type",Number)],jr.prototype,"mcc",void 0),Er([(0,x.Column)("smallint",{name:"mnc"}),xr("design:type",Number)],jr.prototype,"mnc",void 0),Er([(0,x.Column)("varchar",{name:"networkName",nullable:!0,length:255}),xr("design:type",String)],jr.prototype,"networkName",void 0),Er([(0,x.Column)("varchar",{name:"operatorName",nullable:!0,length:100}),xr("design:type",String)],jr.prototype,"operatorName",void 0),Er([(0,x.Column)("varchar",{name:"countryCode",nullable:!0,length:50}),xr("design:type",String)],jr.prototype,"countryCode",void 0),Er([(0,x.Column)("varchar",{name:"countryName",nullable:!0,length:100}),xr("design:type",String)],jr.prototype,"countryName",void 0),jr=Er([(0,x.Entity)("mobileNetwork",{schema:"nova"})],jr);var Mr=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Fr=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Lr=class{id;clientId;notificationType;recipient;isEnabled;isUserProfile;createdAt;modifiedAt;dataSourceTypeId;unsubscribed;unsubscribedInfo;userId};Mr([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),Fr("design:type",Number)],Lr.prototype,"id",void 0),Mr([(0,x.Column)("int",{name:"clientId"}),Fr("design:type",Number)],Lr.prototype,"clientId",void 0),Mr([(0,x.Column)("tinyint",{name:"notificationType"}),Fr("design:type",Number)],Lr.prototype,"notificationType",void 0),Mr([(0,x.Column)("varchar",{name:"recipient",length:100}),Fr("design:type",String)],Lr.prototype,"recipient",void 0),Mr([(0,x.Column)("tinyint",{name:"isEnabled",width:1,transformer:new ee}),Fr("design:type",Boolean)],Lr.prototype,"isEnabled",void 0),Mr([(0,x.Column)("tinyint",{name:"isUserProfile",width:1,transformer:new ee}),Fr("design:type",Boolean)],Lr.prototype,"isUserProfile",void 0),Mr([(0,x.Column)("datetime",{name:"createdAt",default:()=>"CURRENT_TIMESTAMP"}),Fr("design:type",Date)],Lr.prototype,"createdAt",void 0),Mr([(0,x.Column)("datetime",{name:"modifiedAt",default:()=>"CURRENT_TIMESTAMP"}),Fr("design:type",Date)],Lr.prototype,"modifiedAt",void 0),Mr([(0,x.Column)("tinyint",{name:"dataSourceTypeId",nullable:!0}),Fr("design:type",Number)],Lr.prototype,"dataSourceTypeId",void 0),Mr([(0,x.Column)("tinyint",{name:"unsubscribed",width:1,default:()=>"'0'",transformer:new ee}),Fr("design:type",Boolean)],Lr.prototype,"unsubscribed",void 0),Mr([(0,x.Column)("varchar",{name:"unsubscribedInfo",nullable:!0,length:256}),Fr("design:type",String)],Lr.prototype,"unsubscribedInfo",void 0),Mr([(0,x.Column)("binary",{name:"userId",nullable:!0,length:16}),Fr("design:type",Buffer)],Lr.prototype,"userId",void 0),Lr=Mr([(0,x.Index)("ixuNotificationRecipientClientIdRecipientUserId",["clientId","recipient","userId"],{unique:!0}),(0,x.Index)("ixNotificationRecipientClientId",["clientId"],{}),(0,x.Index)("ixNotificationRecipientIsEnabled",["isEnabled"],{}),(0,x.Index)("ixNotificationRecipientIsUserProfile",["isUserProfile"],{}),(0,x.Index)("ixNotificationRecipientNotificationType",["notificationType"],{}),(0,x.Entity)("notificationRecipient",{schema:"nova"})],Lr);var Qr=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},qr=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Wr=class{id;imei;lat;lon;actualDate;speed;odometer;createdAt;messageId;batteryPercentage;clientId;address;sendTime;gpsUtcTime;externalBatteryPercentage;externalPowerVoltage};Qr([(0,x.PrimaryGeneratedColumn)({type:"bigint",name:"id"}),qr("design:type",Number)],Wr.prototype,"id",void 0),Qr([(0,x.Column)("varchar",{name:"imei",length:15}),qr("design:type",String)],Wr.prototype,"imei",void 0),Qr([(0,x.Column)("decimal",{name:"lat",nullable:!0,precision:8,scale:6}),qr("design:type",Number)],Wr.prototype,"lat",void 0),Qr([(0,x.Column)("decimal",{name:"lon",nullable:!0,precision:9,scale:6}),qr("design:type",Number)],Wr.prototype,"lon",void 0),Qr([(0,x.Column)("datetime",{name:"actualDate",precision:3}),qr("design:type",Date)],Wr.prototype,"actualDate",void 0),Qr([(0,x.Column)("float",{name:"speed",nullable:!0}),qr("design:type",Number)],Wr.prototype,"speed",void 0),Qr([(0,x.Column)("double",{name:"odometer",nullable:!0}),qr("design:type",Number)],Wr.prototype,"odometer",void 0),Qr([(0,x.Column)("datetime",{name:"createdAt",precision:3}),qr("design:type",Date)],Wr.prototype,"createdAt",void 0),Qr([(0,x.Column)("binary",{name:"messageId",length:16}),qr("design:type",Buffer)],Wr.prototype,"messageId",void 0),Qr([(0,x.Column)("smallint",{name:"batteryPercentage",nullable:!0}),qr("design:type",Number)],Wr.prototype,"batteryPercentage",void 0),Qr([(0,x.Column)("int",{name:"clientId"}),qr("design:type",Number)],Wr.prototype,"clientId",void 0),Qr([(0,x.Column)("varchar",{name:"address",nullable:!0,length:255}),qr("design:type",String)],Wr.prototype,"address",void 0),Qr([(0,x.Column)("datetime",{name:"sendTime",nullable:!0,precision:3}),qr("design:type",Date)],Wr.prototype,"sendTime",void 0),Qr([(0,x.Column)("datetime",{name:"gpsUtcTime",nullable:!0,precision:3}),qr("design:type",Date)],Wr.prototype,"gpsUtcTime",void 0),Qr([(0,x.Column)("smallint",{name:"externalBatteryPercentage",nullable:!0}),qr("design:type",Number)],Wr.prototype,"externalBatteryPercentage",void 0),Qr([(0,x.Column)("float",{name:"externalPowerVoltage",nullable:!0}),qr("design:type",Number)],Wr.prototype,"externalPowerVoltage",void 0),Wr=Qr([(0,x.Index)("ixuPositionMessageId",["messageId"],{unique:!0}),(0,x.Index)("ixPositionActualDate",["actualDate"],{}),(0,x.Index)("ixPositionClientId",["clientId"],{}),(0,x.Index)("ixPositionImei",["imei"],{}),(0,x.Index)("ixPositionClientId_ActualDate",["clientId","actualDate"],{}),(0,x.Index)("ixPositionClientId_Imei_ActualDate",["clientId","imei","actualDate"],{}),(0,x.Entity)("position",{schema:"nova"})],Wr);var Vr=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Gr=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Jr=class{id;imei;lat;lon;actualDate;speed;odometer;createdAt;messageId;batteryPercentage;clientId;address;sendTime;gpsUtcTime;externalBatteryPercentage;externalPowerVoltage};Vr([(0,x.PrimaryColumn)({type:"bigint",name:"id"}),Gr("design:type",Number)],Jr.prototype,"id",void 0),Vr([(0,x.Column)("varchar",{name:"imei",length:15}),Gr("design:type",String)],Jr.prototype,"imei",void 0),Vr([(0,x.Column)("decimal",{name:"lat",nullable:!0,precision:8,scale:6}),Gr("design:type",Number)],Jr.prototype,"lat",void 0),Vr([(0,x.Column)("decimal",{name:"lon",nullable:!0,precision:9,scale:6}),Gr("design:type",Number)],Jr.prototype,"lon",void 0),Vr([(0,x.Column)("datetime",{name:"actualDate",precision:3}),Gr("design:type",Date)],Jr.prototype,"actualDate",void 0),Vr([(0,x.Column)("float",{name:"speed",nullable:!0}),Gr("design:type",Number)],Jr.prototype,"speed",void 0),Vr([(0,x.Column)("double",{name:"odometer",nullable:!0}),Gr("design:type",Number)],Jr.prototype,"odometer",void 0),Vr([(0,x.Column)("datetime",{name:"createdAt",precision:3}),Gr("design:type",Date)],Jr.prototype,"createdAt",void 0),Vr([(0,x.Column)("binary",{name:"messageId",length:16}),Gr("design:type",Buffer)],Jr.prototype,"messageId",void 0),Vr([(0,x.Column)("smallint",{name:"batteryPercentage",nullable:!0}),Gr("design:type",Number)],Jr.prototype,"batteryPercentage",void 0),Vr([(0,x.Column)("int",{name:"clientId"}),Gr("design:type",Number)],Jr.prototype,"clientId",void 0),Vr([(0,x.Column)("varchar",{name:"address",nullable:!0,length:255}),Gr("design:type",String)],Jr.prototype,"address",void 0),Vr([(0,x.Column)("datetime",{name:"sendTime",nullable:!0,precision:3}),Gr("design:type",Date)],Jr.prototype,"sendTime",void 0),Vr([(0,x.Column)("datetime",{name:"gpsUtcTime",nullable:!0,precision:3}),Gr("design:type",Date)],Jr.prototype,"gpsUtcTime",void 0),Vr([(0,x.Column)("smallint",{name:"externalBatteryPercentage",nullable:!0}),Gr("design:type",Number)],Jr.prototype,"externalBatteryPercentage",void 0),Vr([(0,x.Column)("float",{name:"externalPowerVoltage",nullable:!0}),Gr("design:type",Number)],Jr.prototype,"externalPowerVoltage",void 0),Jr=Vr([(0,x.Entity)("positionMigration",{schema:"nova"})],Jr);var Hr=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o};let Kr=class{id};Hr([(0,x.PrimaryColumn)({type:"bigint",name:"id"}),function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}("design:type",Number)],Kr.prototype,"id",void 0),Kr=Hr([(0,x.Entity)("positionMigrationBatch",{schema:"nova"})],Kr);var zr=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},_r=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let $r=class{id;key;name;description;ordinalPosition};zr([(0,x.PrimaryGeneratedColumn)({type:"tinyint",name:"id"}),_r("design:type",Number)],$r.prototype,"id",void 0),zr([(0,x.Column)("varchar",{name:"key",length:25}),_r("design:type",String)],$r.prototype,"key",void 0),zr([(0,x.Column)("varchar",{name:"name",length:50}),_r("design:type",String)],$r.prototype,"name",void 0),zr([(0,x.Column)("varchar",{name:"description",length:100}),_r("design:type",String)],$r.prototype,"description",void 0),zr([(0,x.Column)("tinyint",{name:"ordinalPosition"}),_r("design:type",Number)],$r.prototype,"ordinalPosition",void 0),$r=zr([(0,x.Entity)("securityRole",{schema:"nova"})],$r);var Zr=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Xr=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Yr=class{id;name;description;loginUrl;apn};Zr([(0,x.PrimaryGeneratedColumn)({type:"smallint",name:"id"}),Xr("design:type",Number)],Yr.prototype,"id",void 0),Zr([(0,x.Column)("varchar",{name:"name",length:100}),Xr("design:type",String)],Yr.prototype,"name",void 0),Zr([(0,x.Column)("varchar",{name:"description",length:1e3}),Xr("design:type",String)],Yr.prototype,"description",void 0),Zr([(0,x.Column)("varchar",{name:"loginUrl",nullable:!0,length:1e3}),Xr("design:type",String)],Yr.prototype,"loginUrl",void 0),Zr([(0,x.Column)("varchar",{name:"apn",nullable:!0,length:50}),Xr("design:type",String)],Yr.prototype,"apn",void 0),Yr=Zr([(0,x.Entity)("serviceProvider",{schema:"nova"})],Yr);var ea=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},ta=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let ia=class{id;productId;name;serviceProviderProductTypeId;serviceProviderProductNetworkId;mbIncluded;bundleCost};ea([(0,x.PrimaryGeneratedColumn)({type:"tinyint",name:"id"}),ta("design:type",Number)],ia.prototype,"id",void 0),ea([(0,x.Column)("varchar",{name:"productId",length:100}),ta("design:type",String)],ia.prototype,"productId",void 0),ea([(0,x.Column)("varchar",{name:"name",length:100}),ta("design:type",String)],ia.prototype,"name",void 0),ea([(0,x.Column)("tinyint",{name:"serviceProviderProductTypeId",nullable:!0}),ta("design:type",Number)],ia.prototype,"serviceProviderProductTypeId",void 0),ea([(0,x.Column)("tinyint",{name:"serviceProviderProductNetworkId",nullable:!0}),ta("design:type",Number)],ia.prototype,"serviceProviderProductNetworkId",void 0),ea([(0,x.Column)("smallint",{name:"mbIncluded",nullable:!0}),ta("design:type",Number)],ia.prototype,"mbIncluded",void 0),ea([(0,x.Column)("decimal",{name:"bundleCost",nullable:!0,precision:19,scale:4}),ta("design:type",String)],ia.prototype,"bundleCost",void 0),ia=ea([(0,x.Index)("ixServiceProviderProductServiceProviderProductNetworkId",["serviceProviderProductNetworkId"],{}),(0,x.Index)("ixServiceProviderProductServiceProviderProductTypeId",["serviceProviderProductTypeId"],{}),(0,x.Entity)("serviceProviderProduct",{schema:"nova"})],ia);var ra=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},aa=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let na=class{id;name;description};ra([(0,x.PrimaryGeneratedColumn)({type:"tinyint",name:"id"}),aa("design:type",Number)],na.prototype,"id",void 0),ra([(0,x.Column)("varchar",{name:"name",length:100}),aa("design:type",String)],na.prototype,"name",void 0),ra([(0,x.Column)("varchar",{name:"description",length:100}),aa("design:type",String)],na.prototype,"description",void 0),na=ra([(0,x.Entity)("serviceProviderProductNetwork",{schema:"nova"})],na);var oa=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},sa=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let la=class{id;name;description};oa([(0,x.PrimaryGeneratedColumn)({type:"tinyint",name:"id"}),sa("design:type",Number)],la.prototype,"id",void 0),oa([(0,x.Column)("varchar",{name:"name",length:100}),sa("design:type",String)],la.prototype,"name",void 0),oa([(0,x.Column)("varchar",{name:"description",length:100}),sa("design:type",String)],la.prototype,"description",void 0),la=oa([(0,x.Entity)("serviceProviderProductType",{schema:"nova"})],la);var da=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},ca=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let ua=class{id;imei;iccid;carrier;phone;deviceTypeId;serviceProviderProductId;isValid;realModel;po;outOfInventory;apn;createdAt;modifiedAt};da([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),ca("design:type",Number)],ua.prototype,"id",void 0),da([(0,x.Column)("varchar",{name:"imei",nullable:!0,length:15}),ca("design:type",String)],ua.prototype,"imei",void 0),da([(0,x.Column)("varchar",{name:"iccid",nullable:!0,length:25}),ca("design:type",String)],ua.prototype,"iccid",void 0),da([(0,x.Column)("tinyint",{name:"carrier",nullable:!0}),ca("design:type",Number)],ua.prototype,"carrier",void 0),da([(0,x.Column)("varchar",{name:"phone",nullable:!0,length:25}),ca("design:type",String)],ua.prototype,"phone",void 0),da([(0,x.Column)("smallint",{name:"deviceTypeId",nullable:!0}),ca("design:type",Number)],ua.prototype,"deviceTypeId",void 0),da([(0,x.Column)("tinyint",{name:"serviceProviderProductId",nullable:!0}),ca("design:type",Number)],ua.prototype,"serviceProviderProductId",void 0),da([(0,x.Column)("tinyint",{name:"isValid",width:1,default:()=>"'1'"}),ca("design:type",Boolean)],ua.prototype,"isValid",void 0),da([(0,x.Column)("varchar",{name:"realModel",nullable:!0,length:50}),ca("design:type",String)],ua.prototype,"realModel",void 0),da([(0,x.Column)("varchar",{name:"po",nullable:!0,length:25}),ca("design:type",String)],ua.prototype,"po",void 0),da([(0,x.Column)("tinyint",{name:"outOfInventory",width:1,default:()=>"'0'"}),ca("design:type",Boolean)],ua.prototype,"outOfInventory",void 0),da([(0,x.Column)("varchar",{name:"apn",nullable:!0,length:50}),ca("design:type",String)],ua.prototype,"apn",void 0),da([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),ca("design:type",Date)],ua.prototype,"createdAt",void 0),da([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),ca("design:type",Date)],ua.prototype,"modifiedAt",void 0),ua=da([(0,x.Index)("ixImeiIccidCarrierCarrier",["carrier"],{}),(0,x.Index)("ixImeiIccidCarrierDeviceTypeId",["deviceTypeId"],{}),(0,x.Index)("ixImeiIccidCarrierIccid",["iccid"],{}),(0,x.Index)("ixImeiIccidCarrierImei",["imei"],{}),(0,x.Index)("ixImeiIccidCarrierModifiedAt",["modifiedAt"],{}),(0,x.Index)("ixImeiIccidCarrierProductId",["serviceProviderProductId"],{}),(0,x.Entity)("sim",{schema:"nova"})],ua);var pa=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},ma=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let ya=class{id;taskScheduleId;taskSchedule;imei;clientId;dueDate;dueOdometer;dueActiveHours;startDate;startingOdometer;startingActiveHours;status;createdAt;pastDueAt;completedAt;completionNotes;completionOdometer;completionActiveHours;completedBy;modifiedAt;modifiedBy;queuedAt;predictedDueDate;deletedAt;deletedBy};pa([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),ma("design:type",Number)],ya.prototype,"id",void 0),pa([(0,x.Column)({type:"int",name:"taskScheduleId"}),ma("design:type",Number)],ya.prototype,"taskScheduleId",void 0),pa([(0,x.ManyToOne)((()=>ji),{createForeignKeyConstraints:!1}),ma("design:type",Object)],ya.prototype,"taskSchedule",void 0),pa([(0,x.Column)("varchar",{name:"imei",length:15}),ma("design:type",String)],ya.prototype,"imei",void 0),pa([(0,x.Column)("int",{name:"clientId"}),ma("design:type",Number)],ya.prototype,"clientId",void 0),pa([(0,x.Column)("datetime",{name:"dueDate",nullable:!0}),ma("design:type",Date)],ya.prototype,"dueDate",void 0),pa([(0,x.Column)("double",{name:"dueOdometer",nullable:!0}),ma("design:type",Number)],ya.prototype,"dueOdometer",void 0),pa([(0,x.Column)("double",{name:"dueActiveHours",nullable:!0}),ma("design:type",Number)],ya.prototype,"dueActiveHours",void 0),pa([(0,x.Column)("datetime",{name:"startDate",nullable:!0}),ma("design:type",Date)],ya.prototype,"startDate",void 0),pa([(0,x.Column)("double",{name:"startingOdometer",nullable:!0}),ma("design:type",Number)],ya.prototype,"startingOdometer",void 0),pa([(0,x.Column)("double",{name:"startingActiveHours",nullable:!0}),ma("design:type",Number)],ya.prototype,"startingActiveHours",void 0),pa([(0,x.Column)("varchar",{name:"status",length:10,default:()=>"'pending'"}),ma("design:type",String)],ya.prototype,"status",void 0),pa([(0,x.Column)("datetime",{name:"createdAt"}),ma("design:type",Date)],ya.prototype,"createdAt",void 0),pa([(0,x.Column)("datetime",{name:"pastDueAt",nullable:!0}),ma("design:type",Date)],ya.prototype,"pastDueAt",void 0),pa([(0,x.Column)("datetime",{name:"completedAt",nullable:!0}),ma("design:type",Date)],ya.prototype,"completedAt",void 0),pa([(0,x.Column)("varchar",{name:"completionNotes",nullable:!0}),ma("design:type",String)],ya.prototype,"completionNotes",void 0),pa([(0,x.Column)("double",{name:"completionOdometer",nullable:!0}),ma("design:type",Number)],ya.prototype,"completionOdometer",void 0),pa([(0,x.Column)("double",{name:"completionActiveHours",nullable:!0}),ma("design:type",Number)],ya.prototype,"completionActiveHours",void 0),pa([(0,x.Column)("varchar",{name:"completedBy",length:50,nullable:!0}),ma("design:type",String)],ya.prototype,"completedBy",void 0),pa([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),ma("design:type",Date)],ya.prototype,"modifiedAt",void 0),pa([(0,x.Column)("varchar",{name:"modifiedBy",length:50,nullable:!0}),ma("design:type",String)],ya.prototype,"modifiedBy",void 0),pa([(0,x.Column)("datetime",{name:"queuedAt",nullable:!0}),ma("design:type",Date)],ya.prototype,"queuedAt",void 0),pa([(0,x.Column)("datetime",{name:"predictedDueDate",nullable:!0}),ma("design:type",Date)],ya.prototype,"predictedDueDate",void 0),pa([(0,x.Column)("datetime",{name:"deletedAt",nullable:!0}),ma("design:type",Date)],ya.prototype,"deletedAt",void 0),pa([(0,x.Column)("varchar",{name:"deletedBy",length:50,nullable:!0}),ma("design:type",String)],ya.prototype,"deletedBy",void 0),ya=pa([(0,x.Index)("ixTask_TaskScheduleId",["taskScheduleId"],{}),(0,x.Index)("ixTask_Imei",["imei"],{}),(0,x.Index)("ixTask_ClientId",["clientId"],{}),(0,x.Index)("ixTask_Status",["status"],{}),(0,x.Entity)("task",{schema:"nova"})],ya);var ga=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},va=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let fa=class{id;tripGuid;imei;startDate;endDate;distance;startLat;startLon;endLat;endLon;createdAt;startAddress;endAddress;positionStart;positionEnd;tripCompletionStatusId;clientId;duration;tripType;startMessageId;endMessageId};ga([(0,x.PrimaryGeneratedColumn)({type:"bigint",name:"id"}),va("design:type",Number)],fa.prototype,"id",void 0),ga([(0,x.Column)("binary",{name:"tripGuid",length:16}),va("design:type",Buffer)],fa.prototype,"tripGuid",void 0),ga([(0,x.Column)("varchar",{name:"imei",length:15}),va("design:type",String)],fa.prototype,"imei",void 0),ga([(0,x.Column)("datetime",{name:"startDate"}),va("design:type",Date)],fa.prototype,"startDate",void 0),ga([(0,x.Column)("datetime",{name:"endDate",nullable:!0}),va("design:type",Date)],fa.prototype,"endDate",void 0),ga([(0,x.Column)("float",{name:"distance"}),va("design:type",Number)],fa.prototype,"distance",void 0),ga([(0,x.Column)("decimal",{name:"startLat",precision:8,scale:6}),va("design:type",Number)],fa.prototype,"startLat",void 0),ga([(0,x.Column)("decimal",{name:"startLon",precision:9,scale:6}),va("design:type",Number)],fa.prototype,"startLon",void 0),ga([(0,x.Column)("decimal",{name:"endLat",nullable:!0,precision:8,scale:6}),va("design:type",Number)],fa.prototype,"endLat",void 0),ga([(0,x.Column)("decimal",{name:"endLon",nullable:!0,precision:9,scale:6}),va("design:type",Number)],fa.prototype,"endLon",void 0),ga([(0,x.Column)("datetime",{name:"createdAt"}),va("design:type",Date)],fa.prototype,"createdAt",void 0),ga([(0,x.Column)("varchar",{name:"startAddress",length:255}),va("design:type",String)],fa.prototype,"startAddress",void 0),ga([(0,x.Column)("varchar",{name:"endAddress",nullable:!0,length:255}),va("design:type",String)],fa.prototype,"endAddress",void 0),ga([(0,x.Column)("varchar",{name:"positionStart",length:255}),va("design:type",String)],fa.prototype,"positionStart",void 0),ga([(0,x.Column)("varchar",{name:"positionEnd",nullable:!0,length:255}),va("design:type",String)],fa.prototype,"positionEnd",void 0),ga([(0,x.Column)("tinyint",{name:"tripCompletionStatusId",default:()=>"'1'"}),va("design:type",Number)],fa.prototype,"tripCompletionStatusId",void 0),ga([(0,x.Column)("int",{name:"clientId"}),va("design:type",Number)],fa.prototype,"clientId",void 0),ga([(0,x.Column)("int",{name:"duration"}),va("design:type",Number)],fa.prototype,"duration",void 0),ga([(0,x.Column)("tinyint",{name:"tripType"}),va("design:type",Number)],fa.prototype,"tripType",void 0),ga([(0,x.Column)("binary",{name:"startMessageId",length:16}),va("design:type",Buffer)],fa.prototype,"startMessageId",void 0),ga([(0,x.Column)("binary",{name:"endMessageId",nullable:!0,length:16}),va("design:type",Buffer)],fa.prototype,"endMessageId",void 0),fa=ga([(0,x.Index)("ixuTripGuid",["tripGuid"],{unique:!0}),(0,x.Index)("ixTripClientId",["clientId"],{}),(0,x.Index)("ixTripImei",["imei"],{}),(0,x.Index)("ixTripStartDate",["startDate"],{}),(0,x.Index)("ixTripEndDate",["endDate"],{}),(0,x.Index)("ixCreatedAt",["createdAt"],{}),(0,x.Entity)("trip",{schema:"nova"})],fa);var ha=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ia=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let ba=class{id;name;description;statusId};ha([(0,x.PrimaryGeneratedColumn)({type:"tinyint",name:"id"}),Ia("design:type",Number)],ba.prototype,"id",void 0),ha([(0,x.Column)("varchar",{name:"name",length:50}),Ia("design:type",String)],ba.prototype,"name",void 0),ha([(0,x.Column)("varchar",{name:"description",length:500}),Ia("design:type",String)],ba.prototype,"description",void 0),ha([(0,x.Column)("tinyint",{name:"statusId",width:1,default:()=>"'1'"}),Ia("design:type",Boolean)],ba.prototype,"statusId",void 0),ba=ha([(0,x.Entity)("tripCompletionStatus",{schema:"nova"})],ba);var Ca=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ra=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let wa=class{tripId;positionId};Ca([(0,x.Column)("bigint",{primary:!0,name:"tripId"}),Ra("design:type",String)],wa.prototype,"tripId",void 0),Ca([(0,x.Column)("bigint",{primary:!0,name:"positionId"}),Ra("design:type",String)],wa.prototype,"positionId",void 0),wa=Ca([(0,x.Entity)("tripPosition",{schema:"nova"})],wa);var Da=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Sa=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Aa=class{id;createdAt;status;userId;legacyCreatedAt;clientId};Da([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),Sa("design:type",Number)],Aa.prototype,"id",void 0),Da([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),Sa("design:type",Date)],Aa.prototype,"createdAt",void 0),Da([(0,x.Column)("char",{name:"status",nullable:!0,length:1,default:()=>"'A'"}),Sa("design:type",String)],Aa.prototype,"status",void 0),Da([(0,x.Column)("binary",{name:"userId",length:16}),Sa("design:type",Buffer)],Aa.prototype,"userId",void 0),Da([(0,x.Column)("datetime",{name:"legacyCreatedAt",nullable:!0}),Sa("design:type",Date)],Aa.prototype,"legacyCreatedAt",void 0),Da([(0,x.Column)("int",{name:"clientId"}),Sa("design:type",Number)],Aa.prototype,"clientId",void 0),Aa=Da([(0,x.Index)("ixUserActivationUserId",["userId"],{}),(0,x.Entity)("userActivation",{schema:"nova"})],Aa);var Ta=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ba=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Na=class{id;userActivation;userActivationId;device;deviceId;imei;model;billingInterval;deviceName;createdAt;modifiedAt;status;trackingReason;deviceColor;notificationByEmail;notificationBySms;planAnnual;dataSourceTypeId;subscriptionId;platform;eventType;planCode;servicePlan};Ta([(0,x.Column)("int",{primary:!0,name:"id"}),Ba("design:type",Number)],Na.prototype,"id",void 0),Ta([(0,x.OneToOne)((()=>Aa),{createForeignKeyConstraints:!1}),(0,x.JoinColumn)(),Ba("design:type",Object)],Na.prototype,"userActivation",void 0),Ta([(0,x.Column)("int",{name:"userActivationId"}),Ba("design:type",Number)],Na.prototype,"userActivationId",void 0),Ta([(0,x.OneToOne)((()=>xe),{createForeignKeyConstraints:!1}),(0,x.JoinColumn)(),Ba("design:type",Object)],Na.prototype,"device",void 0),Ta([(0,x.Column)("int",{name:"deviceId"}),Ba("design:type",Number)],Na.prototype,"deviceId",void 0),Ta([(0,x.Column)("varchar",{name:"imei",length:15}),Ba("design:type",String)],Na.prototype,"imei",void 0),Ta([(0,x.Column)("varchar",{name:"model",nullable:!0,length:50}),Ba("design:type",String)],Na.prototype,"model",void 0),Ta([(0,x.Column)("varchar",{name:"billingInterval",nullable:!0,length:25}),Ba("design:type",String)],Na.prototype,"billingInterval",void 0),Ta([(0,x.Column)("varchar",{name:"deviceName",nullable:!0,length:255}),Ba("design:type",String)],Na.prototype,"deviceName",void 0),Ta([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),Ba("design:type",Date)],Na.prototype,"createdAt",void 0),Ta([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),Ba("design:type",Date)],Na.prototype,"modifiedAt",void 0),Ta([(0,x.Column)("char",{name:"status",nullable:!0,length:1,default:()=>"'A'"}),Ba("design:type",String)],Na.prototype,"status",void 0),Ta([(0,x.Column)("varchar",{name:"trackingReason",nullable:!0,length:500}),Ba("design:type",String)],Na.prototype,"trackingReason",void 0),Ta([(0,x.Column)("varchar",{name:"deviceColor",nullable:!0,length:25}),Ba("design:type",String)],Na.prototype,"deviceColor",void 0),Ta([(0,x.Column)("tinyint",{name:"notificationByEmail",nullable:!0,width:1,transformer:new ee}),Ba("design:type",Boolean)],Na.prototype,"notificationByEmail",void 0),Ta([(0,x.Column)("tinyint",{name:"notificationBySms",nullable:!0,width:1,transformer:new ee}),Ba("design:type",Boolean)],Na.prototype,"notificationBySms",void 0),Ta([(0,x.Column)("tinyint",{name:"planAnnual",nullable:!0,width:1,transformer:new ee}),Ba("design:type",Boolean)],Na.prototype,"planAnnual",void 0),Ta([(0,x.Column)("tinyint",{name:"dataSourceTypeId",nullable:!0}),Ba("design:type",Number)],Na.prototype,"dataSourceTypeId",void 0),Ta([(0,x.Column)("varchar",{name:"subscriptionId",nullable:!0,length:50}),Ba("design:type",String)],Na.prototype,"subscriptionId",void 0),Ta([(0,x.Column)("varchar",{name:"platform",nullable:!0,length:25}),Ba("design:type",String)],Na.prototype,"platform",void 0),Ta([(0,x.Column)("varchar",{name:"eventType",nullable:!0,length:50}),Ba("design:type",String)],Na.prototype,"eventType",void 0),Ta([(0,x.Column)("varchar",{name:"planCode",nullable:!0,length:50}),Ba("design:type",String)],Na.prototype,"planCode",void 0),Ta([(0,x.Column)("varchar",{name:"servicePlan",nullable:!0,length:50}),Ba("design:type",String)],Na.prototype,"servicePlan",void 0),Na=Ta([(0,x.Index)("ixUserActivationDeviceCreatedAt",["createdAt"],{}),(0,x.Index)("ixUserActivationDeviceDeviceId",["deviceId"],{}),(0,x.Index)("ixUserActivationDeviceImei",["imei"],{}),(0,x.Index)("ixUserActivationDeviceActivationId",["userActivationId"],{}),(0,x.Entity)("userActivationDevice",{schema:"nova"})],Na);var Ua=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Oa=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Pa=class{userId;eventId;eventName;eventValue;eventMetadata;createdAt;platform;ip;userAgent};Ua([(0,x.Column)("binary",{primary:!0,name:"userId",length:16}),Oa("design:type",Buffer)],Pa.prototype,"userId",void 0),Ua([(0,x.Column)("binary",{primary:!0,name:"eventId",length:16}),Oa("design:type",Buffer)],Pa.prototype,"eventId",void 0),Ua([(0,x.Column)("text",{name:"eventName"}),Oa("design:type",String)],Pa.prototype,"eventName",void 0),Ua([(0,x.Column)("text",{name:"eventValue",nullable:!0}),Oa("design:type",String)],Pa.prototype,"eventValue",void 0),Ua([(0,x.Column)("text",{name:"eventMetadata",nullable:!0}),Oa("design:type",String)],Pa.prototype,"eventMetadata",void 0),Ua([(0,x.Column)("datetime",{name:"createdAt"}),Oa("design:type",Date)],Pa.prototype,"createdAt",void 0),Ua([(0,x.Column)("varchar",{name:"platform",nullable:!0,length:25}),Oa("design:type",String)],Pa.prototype,"platform",void 0),Ua([(0,x.Column)("text",{name:"ip",nullable:!0}),Oa("design:type",String)],Pa.prototype,"ip",void 0),Ua([(0,x.Column)("text",{name:"userAgent",nullable:!0}),Oa("design:type",String)],Pa.prototype,"userAgent",void 0),Pa=Ua([(0,x.Entity)("userActivationEvent",{schema:"nova"})],Pa);var ka=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ea=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let xa=class{id;userId;firstName;lastName;email;phone;trackingReason;companyName;role;industry;devicesActivatingCategory;assetsCountRange;devicesActivatingCount;plan;usersInvitedCount;meetingScheduled;createdAt;modifiedAt;planAnnual;planId;spyEnvironment;jarvisScore;enrichmentCompanyDescription;jarvisEnrichmentCompanyEin;enrichmentCompanyEmployees;enrichmentCompanyIndustry;enrichmentCompanyLocation;enrichmentCompanyName;enrichmentCompanyRevenue;enrichmentPrivateDomain;enrichmentPublicTicker;enrichmentRole;enrichmentTags;jenrichmentTitle;enrichmentVerifiedEmployment};ka([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),Ea("design:type",Number)],xa.prototype,"id",void 0),ka([(0,x.Column)("binary",{name:"userId",length:16}),Ea("design:type",Buffer)],xa.prototype,"userId",void 0),ka([(0,x.Column)("text",{name:"firstName"}),Ea("design:type",String)],xa.prototype,"firstName",void 0),ka([(0,x.Column)("text",{name:"lastName"}),Ea("design:type",String)],xa.prototype,"lastName",void 0),ka([(0,x.Column)("text",{name:"email"}),Ea("design:type",String)],xa.prototype,"email",void 0),ka([(0,x.Column)("text",{name:"phone",nullable:!0}),Ea("design:type",String)],xa.prototype,"phone",void 0),ka([(0,x.Column)("text",{name:"trackingReason",nullable:!0}),Ea("design:type",String)],xa.prototype,"trackingReason",void 0),ka([(0,x.Column)("text",{name:"companyName",nullable:!0}),Ea("design:type",String)],xa.prototype,"companyName",void 0),ka([(0,x.Column)("text",{name:"role",nullable:!0}),Ea("design:type",String)],xa.prototype,"role",void 0),ka([(0,x.Column)("text",{name:"industry",nullable:!0}),Ea("design:type",String)],xa.prototype,"industry",void 0),ka([(0,x.Column)("text",{name:"devicesActivatingCategory",nullable:!0}),Ea("design:type",String)],xa.prototype,"devicesActivatingCategory",void 0),ka([(0,x.Column)("text",{name:"assetsCountRange",nullable:!0}),Ea("design:type",String)],xa.prototype,"assetsCountRange",void 0),ka([(0,x.Column)("decimal",{name:"devicesActivatingCount",nullable:!0,precision:10,scale:0}),Ea("design:type",Number)],xa.prototype,"devicesActivatingCount",void 0),ka([(0,x.Column)("text",{name:"plan",nullable:!0}),Ea("design:type",String)],xa.prototype,"plan",void 0),ka([(0,x.Column)("decimal",{name:"usersInvitedCount",nullable:!0,precision:10,scale:0}),Ea("design:type",Number)],xa.prototype,"usersInvitedCount",void 0),ka([(0,x.Column)("tinyint",{name:"meetingScheduled",nullable:!0,width:1,transformer:new ee}),Ea("design:type",Boolean)],xa.prototype,"meetingScheduled",void 0),ka([(0,x.Column)("datetime",{name:"createdAt"}),Ea("design:type",Date)],xa.prototype,"createdAt",void 0),ka([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),Ea("design:type",Date)],xa.prototype,"modifiedAt",void 0),ka([(0,x.Column)("text",{name:"planAnnual",nullable:!0}),Ea("design:type",String)],xa.prototype,"planAnnual",void 0),ka([(0,x.Column)("text",{name:"planId",nullable:!0}),Ea("design:type",String)],xa.prototype,"planId",void 0),ka([(0,x.Column)("text",{name:"spyEnvironment",nullable:!0}),Ea("design:type",String)],xa.prototype,"spyEnvironment",void 0),ka([(0,x.Column)("int",{name:"jarvisScore",nullable:!0}),Ea("design:type",Number)],xa.prototype,"jarvisScore",void 0),ka([(0,x.Column)("text",{name:"enrichmentCompanyDescription",nullable:!0}),Ea("design:type",String)],xa.prototype,"enrichmentCompanyDescription",void 0),ka([(0,x.Column)("text",{name:"jarvisEnrichmentCompanyEin",nullable:!0}),Ea("design:type",String)],xa.prototype,"jarvisEnrichmentCompanyEin",void 0),ka([(0,x.Column)("text",{name:"enrichmentCompanyEmployees",nullable:!0}),Ea("design:type",String)],xa.prototype,"enrichmentCompanyEmployees",void 0),ka([(0,x.Column)("text",{name:"enrichmentCompanyIndustry",nullable:!0}),Ea("design:type",String)],xa.prototype,"enrichmentCompanyIndustry",void 0),ka([(0,x.Column)("text",{name:"enrichmentCompanyLocation",nullable:!0}),Ea("design:type",String)],xa.prototype,"enrichmentCompanyLocation",void 0),ka([(0,x.Column)("text",{name:"enrichmentCompanyName",nullable:!0}),Ea("design:type",String)],xa.prototype,"enrichmentCompanyName",void 0),ka([(0,x.Column)("text",{name:"enrichmentCompanyRevenue",nullable:!0}),Ea("design:type",String)],xa.prototype,"enrichmentCompanyRevenue",void 0),ka([(0,x.Column)("text",{name:"enrichmentPrivateDomain",nullable:!0}),Ea("design:type",String)],xa.prototype,"enrichmentPrivateDomain",void 0),ka([(0,x.Column)("text",{name:"enrichmentPublicTicker",nullable:!0}),Ea("design:type",String)],xa.prototype,"enrichmentPublicTicker",void 0),ka([(0,x.Column)("text",{name:"enrichmentRole",nullable:!0}),Ea("design:type",String)],xa.prototype,"enrichmentRole",void 0),ka([(0,x.Column)("text",{name:"enrichmentTags",nullable:!0}),Ea("design:type",String)],xa.prototype,"enrichmentTags",void 0),ka([(0,x.Column)("text",{name:"jenrichmentTitle",nullable:!0}),Ea("design:type",String)],xa.prototype,"jenrichmentTitle",void 0),ka([(0,x.Column)("text",{name:"enrichmentVerifiedEmployment",nullable:!0}),Ea("design:type",String)],xa.prototype,"enrichmentVerifiedEmployment",void 0),xa=ka([(0,x.Index)("ixuUserActivationMetricUserId",["userId"],{unique:!0}),(0,x.Entity)("userActivationMetric",{schema:"nova"})],xa);var ja=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ma=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Fa=class{id;userId;platform;appVersion;feedback;createdAt;amazonReviewDate};ja([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),Ma("design:type",Number)],Fa.prototype,"id",void 0),ja([(0,x.Column)("binary",{name:"userId",length:16}),Ma("design:type",Buffer)],Fa.prototype,"userId",void 0),ja([(0,x.Column)("varchar",{name:"platform",length:25}),Ma("design:type",String)],Fa.prototype,"platform",void 0),ja([(0,x.Column)("varchar",{name:"appVersion",length:20}),Ma("design:type",String)],Fa.prototype,"appVersion",void 0),ja([(0,x.Column)("varchar",{name:"feedback",nullable:!0,length:2e3}),Ma("design:type",String)],Fa.prototype,"feedback",void 0),ja([(0,x.Column)("datetime",{name:"createdAt",default:()=>"CURRENT_TIMESTAMP"}),Ma("design:type",Date)],Fa.prototype,"createdAt",void 0),ja([(0,x.Column)("datetime",{name:"amazonReviewDate",nullable:!0}),Ma("design:type",Date)],Fa.prototype,"amazonReviewDate",void 0),Fa=ja([(0,x.Index)("ixUserAppFeedbackUserId",["userId"],{}),(0,x.Entity)("userAppFeedback",{schema:"nova"})],Fa);var La=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Qa=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let qa=class{id;userId;userName;userEmail;deviceOs;deviceManufacturer;deviceModel;stage;appVersion;createdAt;errorMessage;errorFirstReceivedAt;errorReceivedAt;deviceJailbroken;deviceOsVersion;deviceFreeMemory;deviceTotalMemory;deviceCharging;deviceBatteryLevel;deviceNetworkAccess;appActiveScreen;appInForeground;appDurationInForeground;appBundleId;incidentUrl;errorId};La([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),Qa("design:type",Number)],qa.prototype,"id",void 0),La([(0,x.Column)("binary",{name:"userId",length:16}),Qa("design:type",Buffer)],qa.prototype,"userId",void 0),La([(0,x.Column)("varchar",{name:"userName",nullable:!0,length:50}),Qa("design:type",String)],qa.prototype,"userName",void 0),La([(0,x.Column)("varchar",{name:"userEmail",nullable:!0,length:255}),Qa("design:type",String)],qa.prototype,"userEmail",void 0),La([(0,x.Column)("varchar",{name:"deviceOs",length:15}),Qa("design:type",String)],qa.prototype,"deviceOs",void 0),La([(0,x.Column)("varchar",{name:"deviceManufacturer",nullable:!0,length:100}),Qa("design:type",String)],qa.prototype,"deviceManufacturer",void 0),La([(0,x.Column)("varchar",{name:"deviceModel",nullable:!0,length:100}),Qa("design:type",String)],qa.prototype,"deviceModel",void 0),La([(0,x.Column)("varchar",{name:"stage",length:25}),Qa("design:type",String)],qa.prototype,"stage",void 0),La([(0,x.Column)("varchar",{name:"appVersion",length:25}),Qa("design:type",String)],qa.prototype,"appVersion",void 0),La([(0,x.Column)("datetime",{name:"createdAt"}),Qa("design:type",Date)],qa.prototype,"createdAt",void 0),La([(0,x.Column)("text",{name:"errorMessage",nullable:!0}),Qa("design:type",String)],qa.prototype,"errorMessage",void 0),La([(0,x.Column)("datetime",{name:"errorFirstReceivedAt",nullable:!0}),Qa("design:type",Date)],qa.prototype,"errorFirstReceivedAt",void 0),La([(0,x.Column)("datetime",{name:"errorReceivedAt",nullable:!0}),Qa("design:type",Date)],qa.prototype,"errorReceivedAt",void 0),La([(0,x.Column)("tinyint",{name:"deviceJailbroken",nullable:!0,width:1,transformer:new ee}),Qa("design:type",Boolean)],qa.prototype,"deviceJailbroken",void 0),La([(0,x.Column)("varchar",{name:"deviceOsVersion",nullable:!0,length:20}),Qa("design:type",String)],qa.prototype,"deviceOsVersion",void 0),La([(0,x.Column)("int",{name:"deviceFreeMemory",nullable:!0}),Qa("design:type",Number)],qa.prototype,"deviceFreeMemory",void 0),La([(0,x.Column)("int",{name:"deviceTotalMemory",nullable:!0}),Qa("design:type",Number)],qa.prototype,"deviceTotalMemory",void 0),La([(0,x.Column)("tinyint",{name:"deviceCharging",nullable:!0,width:1,transformer:new ee}),Qa("design:type",Boolean)],qa.prototype,"deviceCharging",void 0),La([(0,x.Column)("smallint",{name:"deviceBatteryLevel",nullable:!0}),Qa("design:type",Number)],qa.prototype,"deviceBatteryLevel",void 0),La([(0,x.Column)("varchar",{name:"deviceNetworkAccess",nullable:!0,length:100}),Qa("design:type",String)],qa.prototype,"deviceNetworkAccess",void 0),La([(0,x.Column)("varchar",{name:"appActiveScreen",nullable:!0,length:50}),Qa("design:type",String)],qa.prototype,"appActiveScreen",void 0),La([(0,x.Column)("tinyint",{name:"appInForeground",nullable:!0,width:1,transformer:new ee}),Qa("design:type",Boolean)],qa.prototype,"appInForeground",void 0),La([(0,x.Column)("int",{name:"appDurationInForeground",nullable:!0}),Qa("design:type",Number)],qa.prototype,"appDurationInForeground",void 0),La([(0,x.Column)("varchar",{name:"appBundleId",nullable:!0,length:500}),Qa("design:type",String)],qa.prototype,"appBundleId",void 0),La([(0,x.Column)("varchar",{name:"incidentUrl",nullable:!0,length:1e3}),Qa("design:type",String)],qa.prototype,"incidentUrl",void 0),La([(0,x.Column)("varchar",{name:"errorId",nullable:!0,length:100}),Qa("design:type",String)],qa.prototype,"errorId",void 0),qa=La([(0,x.Index)("ixUserAppIncidentCreatedAt",["createdAt"],{}),(0,x.Index)("ixUserAppIncidentErrorId",["errorId"],{}),(0,x.Index)("ixUserAppIncidentUserId",["userId"],{}),(0,x.Index)("ixuUserAppIncidentUserIdErrorId",["userId","errorId"],{unique:!0}),(0,x.Entity)("userAppIncident",{schema:"nova"})],qa);var Wa=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Va=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ga=class{id;userId;clientId;userSecurityRoleName;email;status;createdAt;modifiedAt};Wa([(0,x.PrimaryGeneratedColumn)({type:"smallint",name:"id"}),Va("design:type",Number)],Ga.prototype,"id",void 0),Wa([(0,x.Column)("binary",{name:"userId",length:16}),Va("design:type",Buffer)],Ga.prototype,"userId",void 0),Wa([(0,x.Column)("int",{name:"clientId"}),Va("design:type",Number)],Ga.prototype,"clientId",void 0),Wa([(0,x.Column)("varchar",{name:"userSecurityRoleName",length:50}),Va("design:type",String)],Ga.prototype,"userSecurityRoleName",void 0),Wa([(0,x.Column)("varchar",{name:"email",length:255}),Va("design:type",String)],Ga.prototype,"email",void 0),Wa([(0,x.Column)("varchar",{name:"status",nullable:!0,length:25}),Va("design:type",String)],Ga.prototype,"status",void 0),Wa([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),Va("design:type",Date)],Ga.prototype,"createdAt",void 0),Wa([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),Va("design:type",Date)],Ga.prototype,"modifiedAt",void 0),Ga=Wa([(0,x.Entity)("userDataDeletionRequest",{schema:"nova"})],Ga);var Ja=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Ha=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ka=class{id;deviceBehaviorId;clientId;userId;imei;behaviorName;behaviorParams;status;createdAt;modifiedAt;extraParams;commandTaskId};Ja([(0,x.Column)("binary",{primary:!0,name:"id",length:16}),Ha("design:type",Buffer)],Ka.prototype,"id",void 0),Ja([(0,x.Column)("smallint",{name:"deviceBehaviorId"}),Ha("design:type",Number)],Ka.prototype,"deviceBehaviorId",void 0),Ja([(0,x.Column)("int",{name:"clientId"}),Ha("design:type",Number)],Ka.prototype,"clientId",void 0),Ja([(0,x.Column)("binary",{name:"userId",length:16}),Ha("design:type",Buffer)],Ka.prototype,"userId",void 0),Ja([(0,x.Column)("varchar",{name:"imei",length:15}),Ha("design:type",String)],Ka.prototype,"imei",void 0),Ja([(0,x.Column)("varchar",{name:"behaviorName",length:50}),Ha("design:type",String)],Ka.prototype,"behaviorName",void 0),Ja([(0,x.Column)("json",{name:"behaviorParams",nullable:!0}),Ha("design:type",Object)],Ka.prototype,"behaviorParams",void 0),Ja([(0,x.Column)("varchar",{name:"status",length:10}),Ha("design:type",String)],Ka.prototype,"status",void 0),Ja([(0,x.Column)("datetime",{name:"createdAt"}),Ha("design:type",Date)],Ka.prototype,"createdAt",void 0),Ja([(0,x.Column)("datetime",{name:"modifiedAt",nullable:!0}),Ha("design:type",Date)],Ka.prototype,"modifiedAt",void 0),Ja([(0,x.Column)("json",{name:"extraParams",nullable:!0}),Ha("design:type",Object)],Ka.prototype,"extraParams",void 0),Ja([(0,x.Column)("binary",{name:"commandTaskId",length:16,nullable:!0}),Ha("design:type",Buffer)],Ka.prototype,"commandTaskId",void 0),Ka=Ja([(0,x.Index)("ixUserDeviceBehaviorTaskImei",["imei"],{}),(0,x.Index)("ixUserDeviceBehaviorTaskClientId",["clientId"],{}),(0,x.Index)("ixUserDeviceBehaviorTaskDeviceBehaviorId",["deviceBehaviorId"],{}),(0,x.Index)("ixUserDeviceBehaviorTaskModifiedAt",["modifiedAt"],{}),(0,x.Entity)("userDeviceBehaviorTask",{schema:"nova"})],Ka);var za=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},_a=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let $a=class{id;inviterClientId;inviterUserId;inviteeEmail;inviteeSecurityRoleId;statusId;createdAt;modifiedAt;inviteeUserId;trackerImeis;trackerAccess;minAccessDate;boundaries;boundaryAccess};za([(0,x.Column)("binary",{primary:!0,name:"id",length:16}),_a("design:type",Buffer)],$a.prototype,"id",void 0),za([(0,x.Column)("int",{name:"inviterClientId"}),_a("design:type",Number)],$a.prototype,"inviterClientId",void 0),za([(0,x.Column)("binary",{name:"inviterUserId",length:16}),_a("design:type",Buffer)],$a.prototype,"inviterUserId",void 0),za([(0,x.Column)("varchar",{name:"inviteeEmail",length:255}),_a("design:type",String)],$a.prototype,"inviteeEmail",void 0),za([(0,x.Column)("tinyint",{name:"inviteeSecurityRoleId"}),_a("design:type",Number)],$a.prototype,"inviteeSecurityRoleId",void 0),za([(0,x.Column)("tinyint",{name:"statusId"}),_a("design:type",Number)],$a.prototype,"statusId",void 0),za([(0,x.Column)("datetime",{name:"createdAt"}),_a("design:type",Date)],$a.prototype,"createdAt",void 0),za([(0,x.Column)("datetime",{name:"modifiedAt"}),_a("design:type",Date)],$a.prototype,"modifiedAt",void 0),za([(0,x.Column)("binary",{name:"inviteeUserId",nullable:!0,length:16}),_a("design:type",Buffer)],$a.prototype,"inviteeUserId",void 0),za([(0,x.Column)("mediumtext",{name:"trackerImeis",nullable:!0}),_a("design:type",String)],$a.prototype,"trackerImeis",void 0),za([(0,x.Column)("text",{name:"trackerAccess",nullable:!0}),_a("design:type",String)],$a.prototype,"trackerAccess",void 0),za([(0,x.Column)("datetime",{name:"minAccessDate",nullable:!0}),_a("design:type",Date)],$a.prototype,"minAccessDate",void 0),za([(0,x.Column)("text",{name:"boundaries",nullable:!0}),_a("design:type",String)],$a.prototype,"boundaries",void 0),za([(0,x.Column)("text",{name:"boundaryAccess",nullable:!0}),_a("design:type",String)],$a.prototype,"boundaryAccess",void 0),$a=za([(0,x.Index)("ixUserInvtationInviteeEmail",["inviteeEmail"],{}),(0,x.Index)("ixUserInvtationInviterClientId",["inviterClientId"],{}),(0,x.Index)("ixUserInvtationInviteeSecurityRoleId",["inviteeSecurityRoleId"],{}),(0,x.Entity)("userInvitation",{schema:"nova"})],$a);var Za=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},Xa=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let Ya=class{id;userId;clientId;deviceManufacturer;deviceOs;deviceOsVersion;appVersion;requestDate;amazonRequestDate;deviceIdentifierKey};Za([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),Xa("design:type",Number)],Ya.prototype,"id",void 0),Za([(0,x.Column)("binary",{name:"userId",length:16}),Xa("design:type",Buffer)],Ya.prototype,"userId",void 0),Za([(0,x.Column)("int",{name:"clientId"}),Xa("design:type",Number)],Ya.prototype,"clientId",void 0),Za([(0,x.Column)("varchar",{name:"deviceManufacturer",length:500}),Xa("design:type",String)],Ya.prototype,"deviceManufacturer",void 0),Za([(0,x.Column)("varchar",{name:"deviceOs",length:50}),Xa("design:type",String)],Ya.prototype,"deviceOs",void 0),Za([(0,x.Column)("varchar",{name:"deviceOsVersion",length:20}),Xa("design:type",String)],Ya.prototype,"deviceOsVersion",void 0),Za([(0,x.Column)("varchar",{name:"appVersion",length:10}),Xa("design:type",String)],Ya.prototype,"appVersion",void 0),Za([(0,x.Column)("datetime",{name:"requestDate",nullable:!0}),Xa("design:type",Date)],Ya.prototype,"requestDate",void 0),Za([(0,x.Column)("datetime",{name:"amazonRequestDate",nullable:!0}),Xa("design:type",Date)],Ya.prototype,"amazonRequestDate",void 0),Za([(0,x.Column)("varchar",{name:"deviceIdentifierKey",nullable:!0,length:255}),Xa("design:type",String)],Ya.prototype,"deviceIdentifierKey",void 0),Ya=Za([(0,x.Index)("ixUserRatingRequestAmazonRequestDate",["amazonRequestDate"],{}),(0,x.Index)("ixUserRatingRequestClientId",["clientId"],{}),(0,x.Index)("ixUserRatingRequestUserId",["userId"],{}),(0,x.Index)("ixUserRatingRequestRequestDate",["requestDate"],{}),(0,x.Index)("ixUserRatingRequestUserId_RequestDate",["userId","requestDate"],{}),(0,x.Entity)("userRatingRequest",{schema:"nova"})],Ya);var en=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},tn=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let rn=class{id;firstName;lastName;email;phoneNumber;phoneCode;phoneCodeCountryId;companyName;street;state;postalCode;country;pin;imei;deviceType;deviceName;orderId;trackingReason;userName;plan;billingFrequency;planId;subscriptionSource;subscriptionId;platform;status;createdAt;lastUpdatedAt;city;clientId;countryCode;tempUserId};en([(0,x.PrimaryGeneratedColumn)({type:"int",name:"id"}),tn("design:type",Number)],rn.prototype,"id",void 0),en([(0,x.Column)("varchar",{name:"firstName",nullable:!0,length:100}),tn("design:type",String)],rn.prototype,"firstName",void 0),en([(0,x.Column)("varchar",{name:"lastName",nullable:!0,length:100}),tn("design:type",String)],rn.prototype,"lastName",void 0),en([(0,x.Column)("varchar",{name:"email",nullable:!0,length:255}),tn("design:type",String)],rn.prototype,"email",void 0),en([(0,x.Column)("varchar",{name:"phoneNumber",nullable:!0,length:20}),tn("design:type",String)],rn.prototype,"phoneNumber",void 0),en([(0,x.Column)("varchar",{name:"phoneCode",nullable:!0,length:10}),tn("design:type",String)],rn.prototype,"phoneCode",void 0),en([(0,x.Column)("varchar",{name:"phoneCodeCountryId",nullable:!0,length:10}),tn("design:type",String)],rn.prototype,"phoneCodeCountryId",void 0),en([(0,x.Column)("varchar",{name:"companyName",nullable:!0,length:255}),tn("design:type",String)],rn.prototype,"companyName",void 0),en([(0,x.Column)("varchar",{name:"street",nullable:!0,length:255}),tn("design:type",String)],rn.prototype,"street",void 0),en([(0,x.Column)("varchar",{name:"state",nullable:!0,length:100}),tn("design:type",String)],rn.prototype,"state",void 0),en([(0,x.Column)("varchar",{name:"postalCode",nullable:!0,length:20}),tn("design:type",String)],rn.prototype,"postalCode",void 0),en([(0,x.Column)("varchar",{name:"country",nullable:!0,length:100}),tn("design:type",String)],rn.prototype,"country",void 0),en([(0,x.Column)("int",{name:"pin",nullable:!0}),tn("design:type",Number)],rn.prototype,"pin",void 0),en([(0,x.Column)("varchar",{name:"imei",nullable:!0,length:15}),tn("design:type",String)],rn.prototype,"imei",void 0),en([(0,x.Column)("varchar",{name:"deviceType",nullable:!0,length:50}),tn("design:type",String)],rn.prototype,"deviceType",void 0),en([(0,x.Column)("varchar",{name:"deviceName",nullable:!0,length:255}),tn("design:type",String)],rn.prototype,"deviceName",void 0),en([(0,x.Column)("varchar",{name:"orderId",nullable:!0,length:255}),tn("design:type",String)],rn.prototype,"orderId",void 0),en([(0,x.Column)("varchar",{name:"trackingReason",nullable:!0,length:255}),tn("design:type",String)],rn.prototype,"trackingReason",void 0),en([(0,x.Column)("varchar",{name:"userName",nullable:!0,length:50}),tn("design:type",String)],rn.prototype,"userName",void 0),en([(0,x.Column)("varchar",{name:"plan",nullable:!0,length:50}),tn("design:type",String)],rn.prototype,"plan",void 0),en([(0,x.Column)("varchar",{name:"billingFrequency",nullable:!0,length:50}),tn("design:type",String)],rn.prototype,"billingFrequency",void 0),en([(0,x.Column)("varchar",{name:"planId",nullable:!0,length:50}),tn("design:type",String)],rn.prototype,"planId",void 0),en([(0,x.Column)("varchar",{name:"subscriptionSource",nullable:!0,length:50}),tn("design:type",String)],rn.prototype,"subscriptionSource",void 0),en([(0,x.Column)("varchar",{name:"subscriptionId",nullable:!0,length:50}),tn("design:type",String)],rn.prototype,"subscriptionId",void 0),en([(0,x.Column)("varchar",{name:"platform",nullable:!0,length:25}),tn("design:type",String)],rn.prototype,"platform",void 0),en([(0,x.Column)("varchar",{name:"status",nullable:!0,length:10}),tn("design:type",String)],rn.prototype,"status",void 0),en([(0,x.Column)("datetime",{name:"createdAt",nullable:!0}),tn("design:type",Date)],rn.prototype,"createdAt",void 0),en([(0,x.Column)("datetime",{name:"lastUpdatedAt",nullable:!0}),tn("design:type",Date)],rn.prototype,"lastUpdatedAt",void 0),en([(0,x.Column)("varchar",{name:"city",nullable:!0,length:255}),tn("design:type",String)],rn.prototype,"city",void 0),en([(0,x.Column)("int",{name:"clientId",nullable:!0}),tn("design:type",Number)],rn.prototype,"clientId",void 0),en([(0,x.Column)("varchar",{name:"countryCode",nullable:!0,length:3}),tn("design:type",String)],rn.prototype,"countryCode",void 0),en([(0,x.Column)("binary",{name:"tempUserId",nullable:!0,length:16}),tn("design:type",Buffer)],rn.prototype,"tempUserId",void 0),rn=en([(0,x.Index)("ixUserRegistrationAttemptTempUserId",["tempUserId"],{}),(0,x.Entity)("userRegistrationAttempt",{schema:"nova"})],rn);var an=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},nn=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};let on=class{clientId;userId;securityRoleId};an([(0,x.Column)("int",{name:"clientId"}),nn("design:type",Number)],on.prototype,"clientId",void 0),an([(0,x.Column)("binary",{primary:!0,name:"userId",length:16}),nn("design:type",Buffer)],on.prototype,"userId",void 0),an([(0,x.Column)("tinyint",{primary:!0,name:"securityRoleId"}),nn("design:type",Number)],on.prototype,"securityRoleId",void 0),on=an([(0,x.Index)("ixUserSecurityRoleClientId",["clientId"],{}),(0,x.Index)("ixUserSecurityRoleSecurityRoleId",["securityRoleId"],{}),(0,x.Entity)("userSecurityRole",{schema:"nova"})],on);const sn=["Device","Billing"];let ln=class{afterRemove(e){const t=e.metadata.name,i=`ENTITY OF TYPE ${t} REMOVED`;sn.includes(t)&&console.error(i,{entityId:e.entityId,entity:e.entity,databaseEntity:e.databaseEntity})}};ln=function(e,t,i,r){var a,n=arguments.length,o=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(o=(n<3?a(o):n>3?a(t,i,o):a(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o}([(0,x.EventSubscriber)()],ln);const dn=["commit","start transaction","select version()"];class cn{logger;logging;constructor(e,t){this.logger=e,this.logging=null!=t&&t}logQuery(e,t,i){try{if(!this.logging||this.logging instanceof Array&&!this.logging.includes("query"))return;const i=e.toLowerCase();for(const e of dn)if(i.includes(e))return;this.logger?.trace({query:e,parameters:t},"SQL QUERY")}catch{}}logQueryError(e,t,i,r){}logQuerySlow(e,t,i,r){this.logger?.warn({query:t,parameters:i,time:e},"SQL QUERY SLOW")}logSchemaBuild(e,t){this.logger?.trace({message:e},"SQL SCHEMA BUILD")}logMigration(e,t){this.logger?.trace({message:e},"SQL MIGRATION: ")}log(e,t,i){"warn"===e?this.logger?.warn({message:t},"SQL LOG:"):"info"===e?this.logger?.info({message:t},"SQL LOG:"):this.logger?.trace({message:t},"SQL LOG:")}}class un{dataSource;logger;constructor(e,t){this.logger=t;const a=[];for(const e in i)if(i.hasOwnProperty(e)){const t=i[e];a.push(t)}const n=[];for(const e in r)if(r.hasOwnProperty(e)){const t=r[e];n.push(t)}this.dataSource=new x.DataSource({type:"mysql",connectorPackage:"mysql2",host:"aws.connect.psdb.cloud",port:3306,database:"nova",ssl:{rejectUnauthorized:!0},synchronize:!1,logging:!0,logger:new cn(this.logger,e.logging),entities:a,subscribers:n,supportBigNumbers:!0,bigNumberStrings:!1,extra:{decimalNumbers:!0},...e})}async connect(){await this.dataSource.initialize()}async disconnect(){try{this.dataSource.isInitialized&&await this.dataSource.destroy()}catch(e){this.logger.error({error:e},"Failed to close connection to database")}}getRepository(e){return this.dataSource.getRepository(e)}async query(e,t){return this.dataSource.query(e,t,null)}async createQueryBuilder(e,t){return this.dataSource.createQueryBuilder(e,t,null)}createQueryRunner(e){return this.dataSource.createQueryRunner(e)}async safeQuery(e,t){try{return await this.connect(),await e(this)}catch(e){throw this.logger.error({error:e},t?t+" ":"Error while executing query"),e}finally{await this.disconnect()}}}var pn;!function(e){e.FATAL="fatal",e.ERROR="error",e.WARN="warn",e.INFO="info",e.DEBUG="debug",e.TRACE="trace"}(pn||(pn={}));class mn{fatal=(e,t,...i)=>{this.log(pn.FATAL,e,t,...i)};error=(e,t,...i)=>{this.log(pn.FATAL,e,t,...i)};warn=(e,t,...i)=>{this.log(pn.WARN,e,t,...i)};info=(e,t,...i)=>{this.log(pn.INFO,e,t,...i)};debug=(e,t,...i)=>{this.log(pn.DEBUG,e,t,...i)};trace=(e,t,...i)=>{this.log(pn.TRACE,e,t,...i)};log=(e,t,i,...r)=>{switch(e){case pn.FATAL:case pn.ERROR:"string"==typeof t?console.error(t,...r):console.error(i,t,...r);break;default:"string"==typeof t?console.log(t,...r):console.log(i,t,...r)}}}class yn{novaDataSourceConfig;logger;constructor(e,t){this.novaDataSourceConfig=e,this.logger=t??new mn}}class gn extends yn{async getAcumaticaImeiIccidData(e){this.logger.trace(e,"AcumaticaRepository::getAcumaticaImeiIccidData started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t.filters.imei||null!=t.filters.excludeNullAsin||null!=t.filters.excludeNullCountyCode||t.filters.excludeCountries?.length?e.safeQuery((async e=>{const i=e.getRepository(q).createQueryBuilder("acumaticaImeiIccidData");return t.filters.imei&&i.where("acumaticaImeiIccidData.imei = :imei",{imei:t.filters.imei}),t.filters.excludeNullAsin&&i.andWhere("acumaticaImeiIccidData.asin IS NOT NULL"),t.filters.excludeNullCountyCode&&i.andWhere("acumaticaImeiIccidData.countryCode IS NOT NULL"),t.filters.excludeCountries?.length&&i.andWhere("acumaticaImeiIccidData.countryCode NOT IN (:...excludeCountries)",{excludeCountries:t.filters.excludeCountries}),t.sortOptions?.sortField&&i.orderBy(`acumaticaImeiIccidData.${t.sortOptions.sortField}`,"ASC"===t.sortOptions.sortOrder?"ASC":"DESC"),await i.getMany()}),"AcumaticaRepository::getAcumaticaImeiIccidData"):(i.warn({params:t},"AcumaticaRepository::getAcumaticaImeiIccidData - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"AcumaticaRepository::getAcumaticaImeiIccidData result"),i}async getLastAcumaticaShipmentDetails(e){this.logger.trace(e,"AcumaticaRepository::getLastAcumaticaShipmentDetails started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t.filters.clientId?e.safeQuery((async e=>{const i=e.getRepository(q).createQueryBuilder("acumaticaImeiIccidData").innerJoin(xe,"device","device.imei = acumaticaImeiIccidData.imei").where("device.clientId = :clientId",{clientId:t.filters.clientId}).orderBy("acumaticaImeiIccidData.shipDate","DESC").limit(1),r=await i.getOne();return r?{imei:r.imei,iccid:r.iccid,shipmentDate:new Date(r.shipDate),orderType:"AZ",reviewUrl:null,productUrl:null}:null}),"AcumaticaRepository::getLastAcumaticaShipmentDetails"):(i.warn({params:t},"AcumaticaRepository::getLastAcumaticaShipmentDetails - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"AcumaticaRepository::getLastAcumaticaShipmentDetails result"),i}async getAcumaticaShipmentDetails(e){this.logger.trace(e,"AcumaticaRepository::getAcumaticaShipmentDetails started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t.filters.imeiList?.length?e.safeQuery((async e=>{const i=e.getRepository(G),r=i.createQueryBuilder("acumaticaOrderShipmentDetails").where("acumaticaOrderShipmentDetails.imei IN (:imeiList)",{imeiList:t.filters.imeiList}).select(["acumaticaOrderShipmentDetails.imei as imei","acumaticaOrderShipmentDetails.iccid as iccid","acumaticaOrderShipmentDetails.orderType as orderType","acumaticaOrderShipmentDetails.shipmentDate as shipmentDate","NULL as reviewUrl","NULL as productUrl"]).getQueryAndParameters(),a=e.getRepository(q).createQueryBuilder("acumaticaImeiIccidData").leftJoin(F,"acumaticaAmazonProduct","acumaticaAmazonProduct.asin = acumaticaImeiIccidData.asin").where("acumaticaImeiIccidData.imei IN (:imeiList)",{imeiList:t.filters.imeiList}).select(["acumaticaImeiIccidData.imei as imei","acumaticaImeiIccidData.iccid as iccid","'AZ' as orderType","acumaticaImeiIccidData.shipDate as shipmentDate","acumaticaAmazonProduct.reviewUrl as reviewUrl","acumaticaAmazonProduct.productUrl as productUrl"]).getQueryAndParameters(),n=[...r[1],...a[1]];return(await i.query(`(${r[0]}) UNION (${a[0]})`,n)).map((e=>({imei:e.imei,iccid:e.iccid,shipmentDate:e.shipmentDate instanceof Date?e.shipmentDate:new Date(e.shipmentDate),orderType:e.orderType,reviewUrl:e.reviewUrl,productUrl:e.productUrl})))}),"AcumaticaRepository::getAcumaticaShipmentDetails"):(i.warn({params:t},"AcumaticaRepository::getAcumaticaShipmentDetails - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"AcumaticaRepository::getAcumaticaShipmentDetails result"),i}}const vn=e=>{if(!e)return null;if(!/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(e))return null;try{return Buffer.from(e.replace(/-/g,""),"hex")}catch(e){return null}},fn=e=>{if(!e)return null;const t=e.toString("hex"),i=/^(\w{8})(\w{4})(\w{4})(\w{4})(\w{12})$/.exec(t);return i?`${i[1]}-${i[2]}-${i[3]}-${i[4]}-${i[5]}`:null};class hn extends yn{async getAempTokens(e){this.logger.trace(e,"AempTokenRepository::getAempTokens started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.clientId&&!t?.filters?.token)return i.warn({params:t},"AempTokenRepository::getAempTokens - missing required parameters"),[];const r=vn(t?.filters?.token);return t?.filters?.token&&!r?.length?(i.warn({params:t},"AempTokenRepository::getClientIdForToken - token should be a valid UUID"),null):e.safeQuery((async e=>{let i=e.getRepository(Y).createQueryBuilder("AempToken");return t?.filters?.clientId&&(i=i.where("AempToken.clientId = :clientId",{clientId:t?.filters?.clientId})),t?.filters?.token&&(i=i.where("AempToken.token = :token",{token:r})),await i.getMany()}),"AempTokenRepository::getAempTokens")})(t,e,this.logger);return this.logger.trace(i,"AempTokenRepository::getAempTokens result"),i}async createAempToken(e){this.logger.trace(e,"AempTokenRepository::createAempToken started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.clientId||!t?.token)return i.warn({params:t},"AempTokenRepository::createAempToken - missing required parameters"),null;const r=vn(t?.token);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(Y),a=new Date,n={id:t?.id,clientId:t?.clientId,token:r,createdAt:a,updatedAt:a,expiresAt:t?.expiresAt};return await i.save(n)}),"AempTokenRepository::createAempToken"):(i.warn({params:t},"AempTokenRepository::createAempToken - token should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"AempTokenRepository::createAempToken result"),i}async deleteAempTokens(e){this.logger.trace(e,"AempTokenRepository::deleteAempTokens started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.id&&!t?.filters?.clientId&&!t?.filters?.token)return i.warn({params:t},"AempTokenRepository::deleteAempTokens - missing required parameters"),null;const r=vn(t?.filters?.token);return t?.filters?.token&&!r?.length?(i.warn({params:t},"AempTokenRepository::deleteAempTokens - token should be a valid UUID"),null):e.safeQuery((async e=>{let i=e.getRepository(Y).createQueryBuilder().delete();return t.filters.id&&(i=i.where("id = :id",{id:t.filters.id})),t.filters.clientId&&(i=i.where("clientId = :clientId",{clientId:t.filters.clientId})),t.filters.token&&(i=i.where("token = :token",{token:r})),(await i.execute()).affected>0}),"AempTokenRepository::deleteAempTokens")})(t,e,this.logger);return this.logger.trace({result:i},"AempTokenRepository::deleteAempTokens result"),i}}class In extends yn{async createAlert(e){this.logger.trace(e,"AlertRepository::createAlert started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.clientId&&0!==t.clientId&&t?.alertTypeId&&0!==t.alertTypeId&&t?.messageId&&t?.imei&&t?.sendTime))return null;try{await e.connect();const i=e.getRepository(oe),r=new Date,a={id:t.id,alertTypeId:t.alertTypeId,value:t.value,userId:vn(t.userId),messageId:vn(t.messageId),imei:t.imei,sendTime:t.sendTime,lat:t.lat,lon:t.lon,address:t.address,clientId:t.clientId,isBuffer:t.isBuffer,isNotification:t.isNotification,gpsUtcTime:t.gpsUtcTime,relevantAddress:t.relevantAddress,gpsMessageId:vn(t.gpsMessageId),cellTowerRelevantAddress:t.cellTowerRelevantAddress,createdAt:t.createdAt??r};return await i.save(a)}catch(e){throw i.error(e,"AlertRepository::createAlert error"),e}finally{await e.disconnect()}})(t,e,this.logger);return this.logger.trace(i,"AlertRepository::createAlert result"),i}async createAlerts(e){this.logger.trace(e,"AlertRepository::createAlerts started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{try{await e.connect();const i=e.getRepository(oe),r=[];return t.forEach((e=>{if(!(e?.clientId&&0!==e.clientId&&e?.alertTypeId&&0!==e.alertTypeId&&e?.messageId&&e?.imei&&e?.sendTime))return null;const t=new Date,i={id:e.id,alertTypeId:e.alertTypeId,value:e.value,userId:vn(e.userId),messageId:vn(e.messageId),imei:e.imei,sendTime:e.sendTime,lat:e.lat,lon:e.lon,address:e.address,clientId:e.clientId,isBuffer:e.isBuffer,isNotification:e.isNotification,gpsUtcTime:e.gpsUtcTime,relevantAddress:e.relevantAddress,gpsMessageId:vn(e.gpsMessageId),cellTowerRelevantAddress:e.cellTowerRelevantAddress,createdAt:e.createdAt??t};r.push(i)})),await i.save(r)}catch(e){throw i.error(e,"AlertRepository::createAlert error"),e}finally{await e.disconnect()}})(t,e,this.logger);return this.logger.trace(i,"AlertRepository::createAlerts result"),i}async getAlertsReportByUser(e){this.logger.trace(e,"AlertRepository::getAlertsReportByUserId started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.userId)return i.warn({params:t},"AlertRepository::getAlertsReportByUser - missing required parameters"),[];const r=vn(t?.filters?.userId);if(!r?.length)return i.warn({params:t},"AlertRepository::getAlertsReportByUser - user id should be a valid UUID"),[];try{await e.connect();const i=e.getRepository(oe).createQueryBuilder("a").innerJoin("a.alertType","aty").where("a.userId = :userId",{userId:vn(t.filters.userId)});t.filters.isTestEnvironment?i.andWhere("( aty.stage = :stage_test or aty.stage = :stage )",{stage:"prod",stage_test:"test"}):i.andWhere("aty.stage = :stage",{stage:"prod"}),t.filters.imeis?.length&&i.andWhere("a.imei IN (:...imeis)",{imeis:t.filters.imeis}),t.filters.clientId&&i.andWhere("a.clientId = :clientId",{clientId:t.filters.clientId});let r=t.filters.alertTypeIds;if(!r?.length&&t.filters.alertTypeNames?.length){const i=e.getRepository(re),a=await i.createQueryBuilder("aty").where("LOWER(aty.name) IN (:...alertTypeNames)",{alertTypeNames:t.filters.alertTypeNames.map((e=>e.toLowerCase()))}).select("aty.id").getMany();a?.length&&(r=a.map((e=>e.id)))}r?.length&&i.andWhere("a.alertTypeId IN (:alertTypeIds)",{alertTypeIds:r}),t.filters.boundaryId&&i.andWhere("a.boundaryId = :boundaryId",{boundaryId:t.filters.boundaryId}),t.filters.sendTimeFrom&&i.andWhere("a.sendTime >= :sendTimeFrom",{sendTimeFrom:t.filters.sendTimeFrom}),t.filters.sendTimeTo&&i.andWhere("a.sendTime <= :sendTimeTo",{sendTimeTo:t.filters.sendTimeTo}),t.filters.createdFrom&&i.andWhere("a.createdAt >= :createdFrom",{createdFrom:t.filters.createdFrom}),t.filters.createdTo&&i.andWhere("a.createdAt <= :createdTo",{createdTo:t.filters.createdTo});const a=i.clone().select("COUNT(a.id)","totalCount");return t.filters.imeis?.length?(i.useIndex("ixAlertUserId_Imei_AlertTypeId_SendTime"),a.useIndex("ixAlertUserId_Imei_AlertTypeId_SendTime")):r?.length&&(i.useIndex("ixAlertUserId_AlertTypeId_SendTime"),a.useIndex("ixAlertUserId_AlertTypeId_SendTime")),i.innerJoin(`(${a.getQuery()})`,"sub"),t.sortOptions?.sortField&&i.orderBy(t.sortOptions.sortField,t.sortOptions.sortOrder),await i.select(["a.id as id","a.alertTypeId as alertTypeId","aty.name as alertTypeName","a.value as value","a.createdAt as createdAt","a.userId as userId","a.clientId as clientId","a.messageId as messageId","a.boundaryId as boundaryId","a.imei as imei","a.sendTime as sendTime","a.lat as lat","a.lon as lon","a.address as address","a.isBuffer as isBuffer","a.isNotification as isNotification","a.gpsMessageId as gpsMessageId","a.gpsUTCTime as gpsUTCTime","aty.stage as stage","sub.totalCount as totalCount"]).limit(t.pagingOptions.pageSize).offset(t.pagingOptions.pageSize*t.pagingOptions.pageIndex).getRawMany()}catch(e){throw i.error(e,"AlertRepository::getAlertsReportByUserId error"),e}finally{await e.disconnect()}})(t,e,this.logger);return this.logger.trace(i,"AlertRepository::getAlertsReportByUserId result"),i}async createUserAlertComplain(e){this.logger.trace(e,"AlertRepository::createUserAlertComplain started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t)=>t?.clientId&&0!==t.clientId&&t?.alertTypeId&&0!==t.alertTypeId&&t?.userId&&t?.email&&t?.reason?e.safeQuery((async e=>{const i=e.getRepository(Ke),r=new Date,a={alertTypeId:t.alertTypeId,userId:vn(t.userId),clientId:t.clientId,createdAt:t.createdAt??r,email:t.email,reason:t.reason};return await i.save(a)}),"AlertRepository::createUserAlertComplain"):null)(t,e);return this.logger.trace(i,"AlertRepository::createUserAlertComplain result"),i}}class bn extends yn{async getAlertTypes(e){this.logger.trace(e,"AlertTypesRepository::getAlertTypes started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t)=>e.safeQuery((async e=>{let i=e.getRepository(re).createQueryBuilder("alertType");return t?.filters?.includeBeta||(i=i.where("alertType.stage = 'prod'")),await i.getMany()}),"AlertTypesRepository::getAlertTypes"))(t,e);return this.logger.trace(i,"AlertTypesRepository::getAlertTypes result"),i}}class Cn extends yn{async createAppFeatureType(e){this.logger.trace("AppFeaturesRepository::createAppFeatureType started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.description&&t?.name?e.safeQuery((async e=>{const i=e.getRepository(fe),r={...t,statusId:t.statusId??1};return await i.save(r)}),"AppFeaturesRepository::createAppFeatureType"):(i.warn({params:t},"AppFeaturesRepository::createAppFeatureType - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"AppFeaturesRepository::createAppFeatureType result"),i}async createClientAppFeature(e){this.logger.trace("AppFeaturesRepository::createClientAppFeature started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.clientId&&t?.appFeatureTypeId&&t.entityId?e.safeQuery((async e=>{const i=e.getRepository(Zt),r={...t,statusId:t.statusId??1};return await i.save(r)}),"AppFeaturesRepository::createClientAppFeature"):(i.warn({params:t},"AppFeaturesRepository::createClientAppFeature - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"AppFeaturesRepository::createClientAppFeature result"),i}async getClientAppFeatures(e){this.logger.trace("AppFeaturesRepository::getClientAppFeatures started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.clientId||t?.filters?.appFeatureTypeId||t.filters?.entityId||t.filters?.statusId?e.safeQuery((async e=>{let i=e.getRepository(Zt).createQueryBuilder("clientAppFeature");return t.projectionOptions?.withAppFeatureType&&(i=i.leftJoinAndSelect("clientAppFeature.appFeatureType","appFeatureType")),t.filters.clientId&&(i=i.andWhere("clientAppFeature.clientId = :clientId",{clientId:t.filters.clientId})),t.filters.appFeatureTypeId&&(i=i.andWhere("clientAppFeature.appFeatureTypeId = :appFeatureTypeId",{appFeatureTypeId:t.filters.appFeatureTypeId})),t.filters.entityId&&(i=i.andWhere("clientAppFeature.entityId = :entityId",{entityId:t.filters.entityId})),t.filters.statusId&&(i=i.andWhere("clientAppFeature.statusId = :statusId",{statusId:t.filters.statusId})),await i.getMany()}),"AppFeaturesRepository::getClientAppFeatures"):(i.warn({params:t},"AppFeaturesRepository::getClientAppFeatures - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"AppFeaturesRepository::getClientAppFeatures result"),i}}class Rn extends yn{async getAssetCategories(){this.logger.trace("AssetCategoriesRepository::getAssetCategories started with params");const e=new un(this.novaDataSourceConfig,this.logger),t=await(async e=>e.safeQuery((async e=>{const t=e.getRepository(be);return await t.find()}),"AssetcategoriesRepository::getAssetCategories"))(e);return this.logger.trace(t,"AssetCategoriesRepository::getAssetCategories result"),t}}class wn extends yn{async getBillings(e){this.logger.trace(e,"BillingRepository::getBillings started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imei||t?.filters?.clientId||t?.filters?.subscriptionId||t?.filters?.status?e.safeQuery((async e=>{let i=e.getRepository(ut).createQueryBuilder("billing");return t.projectionOptions?.withClient&&(i=i.innerJoinAndSelect("billing.client","client")),t.projectionOptions?.withPlan&&(i=i.leftJoinAndSelect("billing.plan","plan")),t.filters.imei&&(i=i.where("billing.imei = :imei",{imei:t.filters.imei})),t.filters.clientId&&(i=i.where("billing.clientId = :clientId",{clientId:t.filters.clientId})),t.filters.subscriptionId&&(i=i.where("billing.subscriptionId = :subscriptionId",{subscriptionId:t.filters.subscriptionId})),t.filters.status&&(i=i.where("billing.status = :status",{status:t.filters.status})),await i.getMany()}),"BillingRepository::getBillings"):(i.warn({params:t},"BillingRepository::getBillings - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::getBillings result"),i}async createBilling(e){this.logger.trace(e,"BillingRepository::createBilling started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.id||t?.deviceId||t?.clientId||t?.subscriptionId||t?.imei||t?.planId||t?.platform||t?.status||t?.subscriptionValue||t?.subscriptionPeriodMonths||t?.subscriptionValueMonthly?e.safeQuery((async e=>{const i=e.getRepository(ut),r=new Date,a={id:t.id,deviceId:t.deviceId,imei:t.imei,planId:t.planId,subscriptionId:t.subscriptionId,platform:t.platform,status:t.status,subscriptionValue:t.subscriptionValue,subscriptionPeriodMonths:t.subscriptionPeriodMonths,subscriptionValueMonthly:t.subscriptionValueMonthly,clientId:t.clientId,createdAt:r,updatedAt:r};return await i.save(a)}),"BillingRepository::createBilling"):(i.warn({params:t},"BillingRepository::createBilling - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::createBilling result"),i}async updateBilling(e){this.logger.trace(e,"BillingRepository::updateBilling started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imei&&(t?.values?.deviceId||t?.values?.clientId||t?.values?.subscriptionId||t?.values?.planId||t?.values?.platform||t?.values?.status||t?.values?.subscriptionValue||t?.values?.subscriptionPeriodMonths||t?.values?.subscriptionValueMonthly)?e.safeQuery((async e=>{const i=e.getRepository(ut),r=new Date;return(await i.createQueryBuilder().update(ut).set({deviceId:t.values.deviceId,clientId:t.values.clientId,subscriptionId:t.values.subscriptionId,planId:t.values.planId,platform:t.values.platform,status:t.values.status,subscriptionValue:t.values.subscriptionValue,subscriptionPeriodMonths:t.values.subscriptionPeriodMonths,subscriptionValueMonthly:t.values.subscriptionValueMonthly,updatedAt:r}).where("imei = :imei",{imei:t.filters.imei}).execute()).affected>0}),"BillingRepository::updateBilling"):(i.warn({params:t},"BillingRepository::updateBilling - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"BillingRepository::updateBilling result"),i}async getClientIdFromBraintreeCustomer(e){this.logger.trace(e,"BillingRepository::getClientIdFromBraintreeCustomer started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.customerId?e.safeQuery((async e=>{const i=e.getRepository(ut).createQueryBuilder("billing").innerJoin(kt,"billingSubscriptionBraintree","billing.subscriptionId = billingSubscriptionBraintree.subscriptionId").where("billingSubscriptionBraintree.customerId = :customerId",{customerId:t.filters.customerId}).select("distinct billing.clientId","clientId").limit(1),r=await i.getRawOne();return r?.clientId??null}),"BillingRepository::getClientIdFromBraintreeCustomer"):(i.warn({params:t},"BillingRepository::getClientIdFromBraintreeCustomer - missing required parameters"),null))(t,e,this.logger);return this.logger.trace({result:i},"BillingRepository::getClientIdFromBraintreeCustomer result"),i}async getBillingCustomerBraintreeById(e){this.logger.trace(e,"BillingRepository::getBillingCustomerBraintreeById started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.id?e.safeQuery((async e=>{const i=e.getRepository(yt).createQueryBuilder("billingCustomerBraintree").where("billingCustomerBraintree.id = :id",{id:t.filters.id}).limit(1);return await i.getOne()}),"BillingRepository::getBillingCustomerBraintreeById"):(i.warn({params:t},"BillingRepository::getBillingCustomerBraintreeById - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::getBillingCustomerBraintreeById result"),i}async updateBillingCustomerBraintree(e){this.logger.trace(e,"BillingRepository::updateBillingCustomerBraintree started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.id&&(t?.values?.firstName||t?.values?.lastName||t?.values?.company||t?.values?.email||t?.values?.phone||t?.values?.churnStatus)?e.safeQuery((async e=>{const i=e.getRepository(yt),r=new Date;return(await i.createQueryBuilder().update(yt).set({firstName:t.values.firstName,lastName:t.values.lastName,company:t.values.company,email:t.values.email,phone:t.values.phone,churnStatus:t.values.churnStatus,updatedAt:r}).where("id = :id",{id:t.filters.id}).execute()).affected>0}),"BillingRepository::updateBillingCustomerBraintree"):(i.warn({params:t},"BillingRepository::updateBillingCustomerBraintree - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"BillingRepository::updateBillingCustomerBraintree result"),i}async upsertBillingCustomerBraintree(e){this.logger.trace(e,"BillingRepository::upsertBillingCustomerBraintree started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.id&&(t?.firstName||t?.lastName||t?.company||t?.email||t?.phone)?e.safeQuery((async e=>{const i=e.getRepository(yt),r=await i.findOne({where:{id:t.id}}),a=new Date,n={id:t.id,firstName:t.firstName,lastName:t.lastName,company:t.company,email:t.email,phone:t.phone,churnStatus:r?.churnStatus,createdAt:r?.createdAt??a,updatedAt:a};return await i.save(n)}),"BillingRepository::upsertBillingCustomerBraintree"):(i.warn({params:t},"BillingRepository::upsertBillingCustomerBraintree - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::upsertBillingCustomerBraintree result"),i}async createBillingStatusHistoryBraintree(e){this.logger.trace(e,"BillingRepository::createBillingStatusHistoryBraintree started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.subscriptionId&&t?.subscriptionHistories?.length?e.safeQuery((async e=>{const i=e.getRepository(Ut),r=(await i.createQueryBuilder("billingStatusHistoryBraintree").where("billingStatusHistoryBraintree.subscriptionId = :subscriptionId",{subscriptionId:t.subscriptionId}).andWhere("billingStatusHistoryBraintree.timestamp IN (:...timestamps)",{timestamps:t.subscriptionHistories.map((e=>e.timestamp))}).select("billingStatusHistoryBraintree.timestamp","timestamp").getRawMany()).map((e=>e.timestamp)),a=[];for(const e of t.subscriptionHistories)r.find((t=>t===e.timestamp))||a.push({...e,subscriptionId:t.subscriptionId});return await i.save(a)}),"BillingRepository::createBillingStatusHistoryBraintree"):(i.warn({params:t},"BillingRepository::createBillingStatusHistoryBraintree - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::createBillingStatusHistoryBraintree result"),i}async createBillingDeviceHistory(e){this.logger.trace(e,"BillingRepository::createBillingDeviceHistory started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.id||t?.clientId||t?.deviceId||t?.subscriptionId||t?.imei||t?.planId||t?.platform||t?.status?e.safeQuery((async e=>{const i=e.getRepository(ft),r=new Date,a={id:t.id,deviceId:t.deviceId,clientId:t.clientId,imei:t.imei,planId:t.planId,subscriptionId:t.subscriptionId,platform:t.platform,status:t.status,createAt:r};return await i.save(a)}),"BillingRepository::createBillingDeviceHistory"):(i.warn({params:t},"BillingRepository::createBillingDeviceHistory - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::createBillingDeviceHistory result"),i}async getUserByBraintreeCustomerId(e){this.logger.trace(e,"BillingRepository::getUserByBraintreeCustomerId started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.customerId?e.safeQuery((async e=>{const i=e.getRepository(it).createQueryBuilder("user").innerJoin(yt,"billingCustomerBraintree","LOWER(TRIM(billingCustomerBraintree.email)) = LOWER(TRIM(user.email))").innerJoin(kt,"billingSubscriptionBraintree","billingCustomerBraintree.id = billingSubscriptionBraintree.customerId").innerJoin(ut,"billing","billing.subscriptionId = billingSubscriptionBraintree.subscriptionId").where("billingCustomerBraintree.id = :id",{id:t.filters.customerId}).orderBy("billingCustomerBraintree.createdAt","ASC").limit(1);return await i.getOne()}),"BillingRepository::getUserByBraintreeCustomerId"):(i.warn({params:t},"BillingRepository::getUserByBraintreeCustomerId - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::getUserByBraintreeCustomerId result"),i}async getBillingSubscriptionsBraintree(e){this.logger.trace(e,"BillingRepository::getBillingSubscriptionsBraintree started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.subscriptionId||t?.filters?.clientId?e.safeQuery((async e=>{let i=e.getRepository(kt).createQueryBuilder("billingSubscriptionBraintree");return t?.filters?.subscriptionId&&(i=i.where("billingSubscriptionBraintree.subscriptionId = :subscriptionId",{subscriptionId:t.filters.subscriptionId})),t?.filters?.clientId&&(i=i.innerJoin(ut,"billing","billingSubscriptionBraintree.subscriptionId = billing.subscriptionId").where("billing.clientId = :clientId",{clientId:t.filters.clientId})),await i.getMany()}),"BillingRepository::getBillingSubscriptionsBraintree"):(i.warn({params:t},"BillingRepository::getBillingSubscriptionsBraintree - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::getBillingSubscriptionsBraintree result"),i}async getChurnStatusByClientId(e){this.logger.trace(e,"BillingRepository::getChurnStatusByClientId started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.clientId?e.safeQuery((async e=>{const i=e.getRepository(ut).createQueryBuilder("billing").where("billing.clientId = :clientId",{clientId:t.filters.clientId}).innerJoinAndSelect(kt,"billingSubscriptionBraintree","billingSubscriptionBraintree.subscriptionId = billing.subscriptionId").innerJoinAndSelect(yt,"billingCustomerBraintree","billingCustomerBraintree.id = billingSubscriptionBraintree.customerId").groupBy("billingCustomerBraintree.id, billingSubscriptionBraintree.status, billingSubscriptionBraintree.subscriptionId").select(["billingCustomerBraintree.id as braintreeCustomerId","billingSubscriptionBraintree.status as braintreeSubscriptionStatus","billingSubscriptionBraintree.subscriptionId as subscriptionId","billingCustomerBraintree.churnStatus as churnStatus"]).distinct();return await i.getRawMany()}),"BillingRepository::getChurnStatusByClientId"):(i.warn({params:t},"BillingRepository::getChurnStatusByClientId - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::getChurnStatusByClientId result"),i}async upsertBillingSubscriptionBraintree(e){this.logger.trace(e,"BillingRepository::upsertBillingSubscriptionBraintree started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.subscriptionId?e.safeQuery((async e=>{const i=e.getRepository(kt),r=new Date,a={...t,createdAt:t.createdAt??r},n=await i.upsert(a,{conflictPaths:["subscriptionId"]});return n?.raw?.affectedRows>0}),"BillingRepository::upsertBillingSubscriptionBraintree"):(i.warn({params:t},"BillingRepository::upsertBillingSubscriptionBraintree - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"BillingRepository::upsertBillingSubscriptionBraintree result"),i}async getCanceledImeis(e){this.logger.trace(e,"BillingRepository::getCanceledImeis started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.minCancellationDate&&t?.filters?.maxCancellationDate&&t?.filters?.canceledIn&&null!=t?.filters?.excludeB2B&&null!=t?.filters?.excludeTest?e.safeQuery((async e=>{let i=e.getRepository(ut).createQueryBuilder("billing").innerJoin(kt,"billingSubscriptionBraintree","billingSubscriptionBraintree.subscriptionId = billing.subscriptionId").innerJoin(hr,"imeiIccidCarrier","imeiIccidCarrier.imei = billing.imei").innerJoin(xe,"device","device.imei = billing.imei").innerJoin(nt,"client","client.id = device.clientId").innerJoin(gr,"iccidStatus","iccidStatus.iccid = imeiIccidCarrier.iccid").where("iccidStatus.processing = :processing",{processing:!1}).andWhere("billingSubscriptionBraintree.updatedAt > :minCancellationDate",{minCancellationDate:t.filters.minCancellationDate}).andWhere("billingSubscriptionBraintree.updatedAt < :maxCancellationDate",{maxCancellationDate:t.filters.maxCancellationDate}).andWhere("billingSubscriptionBraintree.status = :subscriptionStatus",{subscriptionStatus:"Canceled"}).andWhere("billingSubscriptionBraintree.nextBillingDate < :nextBillingDate",{nextBillingDate:new Date});switch(t.filters.canceledIn){case"carrier":i=i.andWhere("iccidStatus.status = :iccidStatus",{iccidStatus:"active"});break;case"device":i=i.andWhere("device.status = :deviceStatus",{deviceStatus:"A"});break;default:i=i.andWhere("(iccidStatus.status = :iccidStatus OR device.status = :deviceStatus)",{iccidStatus:"active",deviceStatus:"A"})}return t.filters.excludeB2B&&(i=i.andWhere("client.clientTypeId != :b2bClientTypeId",{b2bClientTypeId:Bn.b2b})),t.filters.excludeTest&&(i=i.andWhere("client.clientTypeId != :testClientTypeId",{testClientTypeId:Bn.test})),await i.orderBy("billingSubscriptionBraintree.updatedAt","ASC").limit(t.pagingOptions?.pageSize??100).select(["billing.imei as imei","imeiIccidCarrier.iccid as iccid","client.id as clientId","client.clientTypeId as clientTypeId","billing.subscriptionId as subscriptionId","billingSubscriptionBraintree.createdAt as createdAt","billingSubscriptionBraintree.updatedAt as updatedAt","billingSubscriptionBraintree.status as status","imeiIccidCarrier.carrier as carrier"]).getRawMany()}),"BillingRepository::getCanceledImeis"):(i.warn({params:t},"BillingRepository::getCanceledImeis - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::getCanceledImeis result"),i}async getCanceledImeisMatchingMagentoData(e){this.logger.trace(e,"BillingRepository::getCanceledImeis started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.minCancellationDate&&t?.filters?.maxCancellationDate&&t?.filters?.canceledIn&&null!=t?.filters?.excludeB2B&&null!=t?.filters?.excludeTest?e.safeQuery((async e=>{const i=e.getRepository(ut);let r="";switch(t.filters.canceledIn){case"carrier":r=" AND iccidStatus.status = 'active' ";break;case"device":r=" AND device.status = 'A' ";break;default:r=" AND (iccidStatus.status = 'active' OR device.status = 'A') "}const a=`SELECT \n billing.imei, \n imeiIccidCarrier.iccid,\n client.id as clientId,\n client.clientTypeId,\n client.email,\n billing.subscriptionId,\n billingSubscriptionBraintree.createdAt,\n billingSubscriptionBraintree.updatedAt,\n billingSubscriptionBraintree.status,\n imeiIccidCarrier.carrier\n FROM \n billing \n INNER JOIN \n billingSubscriptionBraintree ON billing.subscriptionId = billingSubscriptionBraintree.subscriptionId\n INNER JOIN \n imeiIccidCarrier ON imeiIccidCarrier.imei = billing.imei\n INNER JOIN \n device ON device.imei = billing.imei\n INNER JOIN \n client ON client.id = device.clientId\n INNER JOIN \n iccidStatus ON iccidStatus.iccid = imeiIccidCarrier.iccid\n WHERE \n iccidStatus.processing = false AND\n billingSubscriptionBraintree.updatedAt > ? AND\n billingSubscriptionBraintree.updatedAt < ? AND\n billingSubscriptionBraintree.status = 'Canceled' AND \n billingSubscriptionBraintree.nextBillingDate < ? AND \n client.id NOT IN (128, 686142) AND\n (EXISTS (SELECT 1 FROM \n (SELECT\n magento2Gps1.imei, \n billingSubscriptionBraintree2.subscriptionId,\n row_number() OVER (PARTITION BY magento2Gps1.imei ORDER BY billingSubscriptionBraintree2.subscriptionStart DESC) AS row_rank\n FROM magento2Gps magento2Gps1\n INNER JOIN billingSubscriptionBraintree billingSubscriptionBraintree2 ON billingSubscriptionBraintree2.subscriptionId = magento2Gps1.btSubscriptionId) ls\n WHERE ls.imei = billing.imei AND billing.subscriptionId = ls.subscriptionId AND ls.row_rank = 1) \n OR \n NOT EXISTS (SELECT 1 FROM magento2Gps magento2Gps2 WHERE magento2Gps2.imei = billing.imei) \n OR \n EXISTS (SELECT 1 FROM magento2Gps magento2Gps3 WHERE magento2Gps3.imei = billing.imei AND magento2Gps3.btSubscriptionId IS NULL)) \n ${r}\n ${t.filters.excludeB2B?`AND client.clientTypeId != ${Bn.b2b} `:""}\n ${t.filters.excludeTest?`AND client.clientTypeId != ${Bn.test} `:""}\n ORDER BY billingSubscriptionBraintree.updatedAt ASC\n LIMIT ?`;return(await i.query(a,[t.filters.minCancellationDate,t.filters.maxCancellationDate,new Date,t.pagingOptions.pageSize??100])).map((e=>({imei:e.imei,iccid:e.iccid,clientId:e.clientId,clientTypeId:e.clientTypeId,subscriptionId:e.subscriptionId,createdAt:e.createdAt,updatedAt:e.updatedAt,status:e.status,carrier:e.carrier})))}),"BillingRepository::getCanceledImeisMatchingMagentoData"):(i.warn({params:t},"BillingRepository::getCanceledImeisMatchingMagentoData - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::getCanceledImeisMatchingMagentoData result"),i}async getMagentoPlan(e){this.logger.trace(e,"BillingRepository::getMagentoPlan started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>null!=t?.filters?.annual&&t?.filters?.code?e.safeQuery((async e=>{const i=e.getRepository(kr).createQueryBuilder("plan").where("plan.planAnnual = :planAnnual",{planAnnual:t.filters.annual}).andWhere("plan.magentoPlanCode = :magentoPlanCode",{magentoPlanCode:t.filters.code}).limit(1);return await i.getOne()}),"BillingRepository::getMagentoPlan"):(i.warn({params:t},"BillingRepository::getMagentoPlan - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::getMagentoPlan result"),i}async createBillingHubspotPaymentLog(e){this.logger.trace(e,"BillingRepository::createBillingHubspotPaymentLog started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.amountPaid?e.safeQuery((async e=>{const i=e.getRepository(bt),r={id:t.id,amountPaid:t.amountPaid,owner:t.owner,bankOfIssuer:t.bankOfIssuer,billingAddress:t.billingAddress,billingAddressCity:t.billingAddressCity,billingAddressCountry:t.billingAddressCountry,billingAddressLine1:t.billingAddressLine1,billingAddressLine2:t.billingAddressLine2,billingAddressState:t.billingAddressState,billingAddressZip:t.billingAddressZip,createdByUserId:t.createdByUserId,currencyCode:t.currencyCode,customer:t.customer,grossAmount:t.grossAmount,lastFourDigits:t.lastFourDigits,lineItemDiscountAmount:t.lineItemDiscountAmount,netAmount:t.netAmount,objectCreateDateTime:t.objectCreateDateTime,objectId:t.objectId,objectLastModifiedDateTime:t.objectLastModifiedDateTime,orderDiscountAmount:t.orderDiscountAmount,orderDiscountCode:t.orderDiscountCode,orderDiscountPercentage:t.orderDiscountPercentage,ownerAssignedDateTime:t.ownerAssignedDateTime,paymentDateTime:t.paymentDateTime,paymentId:t.paymentId,paymentMethod:t.paymentMethod,paymentSourceName:t.paymentSourceName,paymentType:t.paymentType,processingFees:t.processingFees,refunded:t.refunded,shippingAddress:t.shippingAddress,shippingAddressCity:t.shippingAddressCity,shippingAddressCountry:t.shippingAddressCountry,shippingAddressLine1:t.shippingAddressLine1,shippingAddressLine2:t.shippingAddressLine2,shippingAddressState:t.shippingAddressState,shippingAddressZip:t.shippingAddressZip,source:t.source,sourceId:t.sourceId,sourceUrl:t.sourceUrl,status:t.status,statusUpdatedOn:t.statusUpdatedOn,totalDiscountAmount:t.totalDiscountAmount,totalFees:t.totalFees,totalTaxes:t.totalTaxes,updatedByUserId:t.updatedByUserId};return await i.save(r)}),"BillingRepository::createBillingHubspotPaymentLog"):(i.warn({params:t},"BillingRepository::createBillingHubspotPaymentLog - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::createBillingHubspotPaymentLog result"),i}async upsertBillingKlarnaCustomer(e){this.logger.trace(e,"BillingRepository::upsertBillingKlarnaCustomer started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.id&&(t?.firstName||t?.lastName||t?.billingEmail||t?.shippingEmail||t?.streetAddress||t?.city||t?.region||t?.country||t?.postalCode||t?.phone||t?.createdAt)?e.safeQuery((async e=>{const i=e.getRepository(wt),r=new Date,a={id:t.id?t.id:void 0,firstName:t.firstName?t.firstName:void 0,lastName:t.lastName?t.lastName:void 0,billingEmail:t.billingEmail?t.billingEmail:void 0,shippingEmail:t.shippingEmail?t.shippingEmail:void 0,streetAddress:t.streetAddress?t.streetAddress:void 0,city:t.city?t.city:void 0,region:t.region?t.region:void 0,country:t.country?t.country:void 0,postalCode:t.postalCode?t.postalCode:void 0,phone:t.phone?t.phone:void 0,createdAt:t.createdAt??r},n=await i.upsert(a,{conflictPaths:["id"]});return n?.raw?.affectedRows>0?await i.findOne({where:{id:t.id}}):null}),"BillingRepository::upsertBillingKlarnaCustomer"):(i.warn({params:t},"BillingRepository::upsertBillingKlarnaCustomer - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::upsertBillingKlarnaCustomer result"),i}async upsertBillingKlarnaOrder(e){this.logger.trace(e,"BillingRepository::upsertBillingKlarnaOrder started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.deviceId&&t?.klarnaCustomerId&&t?.orderId&&(t?.planId||t?.createdAt||t?.subscriptionStart||t?.subscriptionEnd||t?.nextBillingDate||t?.subscriptionValue||t?.status||t?.paymentType||t?.discounts||t?.addOns||t?.nextBillingPeriodAmount||t?.paymentMethodToken)?e.safeQuery((async e=>{const i=e.getRepository(Tt),r=new Date,a={deviceId:t.deviceId?t.deviceId:void 0,klarnaCustomerId:t.klarnaCustomerId?t.klarnaCustomerId:void 0,orderId:t.orderId?t.orderId:void 0,planId:t.planId?t.planId:void 0,createdAt:t.createdAt??r,subscriptionStart:t.subscriptionStart?t.subscriptionStart:void 0,subscriptionEnd:t.subscriptionEnd?t.subscriptionEnd:void 0,nextBillingDate:t.nextBillingDate?t.nextBillingDate:void 0,subscriptionValue:t.subscriptionValue?t.subscriptionValue:void 0,status:t.status?t.status:void 0,paymentType:t.paymentType?t.paymentType:void 0,discounts:t.discounts?t.discounts:void 0,addOns:t.addOns?t.addOns:void 0,nextBillingPeriodAmount:t.nextBillingPeriodAmount?t.nextBillingPeriodAmount:void 0,paymentMethodToken:t.paymentMethodToken?t.paymentMethodToken:void 0},n=await i.upsert(a,{conflictPaths:["deviceId"]});return n?.raw?.affectedRows>0?await i.findOne({where:{deviceId:t.deviceId}}):null}),"BillingRepository::upsertBillingKlarnaOrder"):(i.warn({params:t},"BillingRepository::upsertBillingKlarnaOrder - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::upsertBillingKlarnaOrder result"),i}async getBillingSubscriptionsBraintreeByImei(e){this.logger.trace(e,"BillingRepository::getBillingSubscriptionsBraintreeByImei started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.imei?e.safeQuery((async e=>{const i=e.getRepository(kt).createQueryBuilder("billingSubscriptionBraintree").innerJoin(ut,"billing","billingSubscriptionBraintree.subscriptionId = billing.subscriptionId").where("billing.imei = :imei",{imei:t.imei});return await i.getOne()}),"BillingRepository::getBillingSubscriptionsBraintreeByImei"):(i.warn({params:t},"BillingRepository::getBillingSubscriptionsBraintreeByImei - missing imei parameter"),null))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::getBillingSubscriptionsBraintreeByImei result"),i}async getBillingKlarnaOrderByImei(e){this.logger.trace(e,"BillingRepository::getBillingKlarnaOrderByImei started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.imei?e.safeQuery((async e=>{const i=e.getRepository(Tt).createQueryBuilder("billingKlarnaOrder").innerJoin(ut,"billing","billingKlarnaOrder.orderId = billing.subscriptionId").where("billing.imei = :imei",{imei:t.imei});return await i.getOne()}),"BillingRepository::getBillingKlarnaOrderByImei"):(i.warn({params:t},"BillingRepository::getBillingKlarnaOrderByImei - missing imei parameter"),null))(t,e,this.logger);return this.logger.trace(i,"BillingRepository::getBillingKlarnaOrderByImei result"),i}}class Dn extends yn{async getBlacklists(e){this.logger.trace(e,"BlacklistRepository::getBlacklists started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.blacklistType||t?.filters?.value?e.safeQuery((async e=>{const i=e.getRepository(jt).createQueryBuilder("blacklist").innerJoin(Lt,"blacklistType","blacklistType.id = blacklist.blacklistTypeId").where("blacklist.blacklistTypeId = :blacklistType",{blacklistType:t.filters.blacklistType}).andWhere("LOWER(blacklist.value) = LOWER(:value)",{value:t.filters.value});return await i.getMany()}),"BlacklistRepository::getBlacklists"):(i.warn({params:t},"BlacklistRepository::getBlacklists - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"BlacklistRepository::getBlacklists result"),i}}var Sn,An,Tn,Bn,Nn,Un,On,Pn,kn,En,xn,jn;!function(e){e[e.Admin=1]="Admin",e[e.Collaborator=2]="Collaborator",e[e.Owner=3]="Owner"}(Sn||(Sn={})),function(e){e.Active="A",e.Deleted="D"}(An||(An={})),function(e){e[e.Active=1]="Active",e[e.Inactive=2]="Inactive",e[e.Deleted=3]="Deleted"}(Tn||(Tn={})),function(e){e[e.b2c=1]="b2c",e[e.b2b=2]="b2b",e[e.test=3]="test"}(Bn||(Bn={})),function(e){e.ReportingFrequency="ReportingFrequency",e.Advanced="Advanced",e.Query="Query",e.General="General"}(Nn||(Nn={})),function(e){e.Active="active",e.Inactive="inactive"}(Un||(Un={})),function(e){e.InProgress="InProgress",e.Completed="Completed",e.Canceled="Canceled",e.Failed="Failed"}(On||(On={})),function(e){e[e.Email=1]="Email",e[e.Phone=2]="Phone"}(Pn||(Pn={})),function(e){e[e.CreditCard=1]="CreditCard",e[e.Email=2]="Email",e[e.Address=3]="Address",e[e.Ip=4]="Ip",e[e.Imei=5]="Imei",e[e.ClientId=6]="ClientId"}(kn||(kn={})),function(e){e[e.Trip=1]="Trip",e[e.Stop=2]="Stop"}(En||(En={})),function(e){e[e.Current=1]="Current",e[e.Completed=2]="Completed",e[e.Deleted=3]="Deleted",e[e.TempCurrent=10]="TempCurrent",e[e.TempCompleted=20]="TempCompleted"}(xn||(xn={})),function(e){e.Enter="boundaryEnter",e.Exit="boundaryExit"}(jn||(jn={}));const Mn=async(e,t,i)=>{const r=e.getRepository(Jt),a={deviceId:i,boundaryId:t.boundaryId,userId:vn(t.userId),inDate:t.eventType===jn.Enter?t.sendTime:null,inLat:t.eventType===jn.Enter?t.lat:null,inLon:t.eventType===jn.Enter?t.lon:null,inAddress:t.eventType===jn.Enter?t.address:null,outDate:t.eventType===jn.Exit?t.sendTime:null,outLat:t.eventType===jn.Exit?t.lat:null,outLon:t.eventType===jn.Exit?t.lon:null,outAddress:t.eventType===jn.Exit?t.address:null},n=await r.insert(a);return n?.raw.affectedRows>0},Fn=(e,t)=>{const i=e.getTime(),r=t.getTime();return Math.abs(r-i)/1e3};class Ln extends yn{async getBoundariesByClientId(e){this.logger.trace(e,"BoundariesRepository::getBoundariesByClientId started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t.filters.clientId?e.safeQuery((async e=>{const i=e.getRepository(Wt),r=t.filters.status?{where:{clientId:t.filters.clientId,status:t.filters.status}}:{where:{clientId:t.filters.clientId}};return await i.find(r)}),"BoundariesRepository::getBoundariesByClientId"):(i.warn({params:t},"BoundariesRepository::getBoundariesByClientId - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace({result:i.map((e=>e.id))},"BoundariesRepository::getBoundariesByClientId result"),i}async getBoundariesIdsByClientId(e){this.logger.trace(e,"BoundariesRepository::getBoundariesIdsByClientId started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t.filters.clientId?e.safeQuery((async e=>{const i=e.getRepository(Wt),r=t.filters.status?{clientId:t.filters.clientId,status:t.filters.status}:{clientId:t.filters.clientId};return(await i.createQueryBuilder().where(r).select("id").getRawMany()).map((e=>e.id))}),"BoundariesRepository::getBoundariesIdsByClientId"):(i.warn({params:t},"BoundariesRepository::getBoundariesIdsByClientId - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"BoundariesRepository::getBoundariesIdsByClientId result"),i}async getBoundaryById(e){this.logger.trace(e,"BoundariesRepository::getBoundaryById started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t.filters.boundaryId?e.safeQuery((async e=>{const i=e.getRepository(Wt);return await i.findOne({where:{id:t.filters.boundaryId}})}),"BoundariesRepository::getBoundaryById"):(i.warn({params:t},"BoundariesRepository::getBoundaryById - missing required parameters"),null))(t,e,this.logger);return this.logger.trace({result:{...i,geometry:void 0}},"BoundariesRepository::getBoundaryById result"),i}async createBoundary(e){this.logger.trace(e,"BoundariesRepository::createBoundary started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.clientId&&0!==t.clientId&&t?.name&&t?.type&&t?.location&&t?.geometry?e.safeQuery((async e=>{const i=e.getRepository(Wt),r=new Date;let a=parseFloat(t.buffer);Number.isNaN(a)&&(a=0);const n=Math.max(a,50),o=t.radiusDisplayUnit||"m",s=t.color||"#e74c3c",l=t.status>0&&t.status<4?t.status:Tn.Active,d={id:t.boundaryId,name:t.name,type:t.type,buffer:`${n}`,radiusDisplayUnit:o,clientId:t.clientId,createdAt:r,modifiedAt:r,createdBy:t.createdBy,modifiedBy:t.createdBy,location:t.location,color:s,geometry:t.geometry,isUserCreated:t.isUserCreated??!0,status:l,area:t.area,dataSourceTypeId:t.dataSourceTypeId};return await i.save(d)}),"BoundariesRepository::createBoundary"):(i.warn({params:t},"BoundariesRepository::createBoundary - missing required parameters"),null))(t,e,this.logger);return this.logger.trace({result:{...i,geometry:void 0}},"BoundariesRepository::createBoundary result"),i}async updateBoundary(e){this.logger.trace(e,"BoundariesRepository::updateBoundary started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.boundaryId)return i.warn({params:t},"BoundariesRepository::updateBoundary - missing required parameters"),!1;const r=t?.values?.status>0&&t?.values?.status<4?t.values.status:void 0;let a=t?.values?.buffer;if(a){const e=parseFloat(t.values.buffer);Number.isNaN(e)&&(a=void 0)}return t?.values?.name||t?.values?.type||t?.values?.location||a||t?.values?.radiusDisplayUnit||t?.values?.color||t?.values?.geometry||r||t?.values?.area?e.safeQuery((async e=>{const i=e.getRepository(Wt),n=new Date;return(await i.createQueryBuilder().update(Wt).set({name:t.values.name,type:t.values.type,modifiedBy:t.values.modifiedBy,location:t.values.location,buffer:a,radiusDisplayUnit:t.values.radiusDisplayUnit,color:t.values.color,geometry:t.values.geometry,status:r,modifiedAt:n}).where("id = :id",{id:t.filters.boundaryId}).execute()).affected>0}),"BoundariesRepository::updateBoundary"):(i.warn({params:t},"BoundariesRepository::updateBoundary - missing required parameters"),!1)})(t,e,this.logger);return this.logger.trace({result:i},"BoundariesRepository::updateBoundary result"),i}async deleteBoundary(e){this.logger.trace(e,"BoundariesRepository::deleteBoundary started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.boundaryId?e.safeQuery((async e=>{const i=e.getRepository(Wt),r=new Date;return(await i.createQueryBuilder().update(Wt).set({status:Tn.Deleted,modifiedBy:t.values.modifiedBy,modifiedAt:r}).where("id = :id",{id:t.filters.boundaryId}).execute()).affected>0}),"BoundariesRepository::deleteBoundary"):(i.warn({params:t},"BoundariesRepository::deleteBoundary - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"BoundariesRepository::deleteBoundary result"),i}async getBoundariesReport(e){this.logger.trace(e,"BoundariesRepository::getBoundariesReport started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.userId)return i.warn({params:t},"BoundariesRepository::getBoundariesReport - missing required parameters"),[];const r=vn(t?.filters?.userId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(Jt).createQueryBuilder("boundaryEvent").innerJoin(xe,"device","device.id = boundaryEvent.deviceId").innerJoin(Wt,"boundary","boundary.id = boundaryEvent.boundaryId").where("boundaryEvent.userId = :userId",{userId:r}).andWhere("device.status = :deviceStatus",{deviceStatus:An.Active});t.filters.boundaryId&&i.andWhere("boundaryEvent.boundaryId = :boundaryId",{boundaryId:t.filters.boundaryId}),t.filters.boundaryName&&i.andWhere("boundary.name LIKE :boundaryName",{boundaryName:`%${t.filters.boundaryName}%`}),t.filters.imeis?.length&&i.andWhere("device.imei IN (:...imeis)",{imeis:t.filters.imeis}),t.filters.boundaryInStartDate&&i.andWhere("boundaryEvent.inDate >= :boundaryInStartDate",{boundaryInStartDate:t.filters.boundaryInStartDate}),t.filters.boundaryInEndDate&&i.andWhere("boundaryEvent.inDate <= :boundaryInEndDate",{boundaryInEndDate:t.filters.boundaryInEndDate}),t.filters.boundaryOutStartDate&&i.andWhere("boundaryEvent.outDate >= :boundaryOutStartDate",{boundaryOutStartDate:t.filters.boundaryOutStartDate}),t.filters.boundaryOutEndDate&&i.andWhere("boundaryEvent.outDate <= :boundaryOutEndDate",{boundaryOutEndDate:t.filters.boundaryOutEndDate}),t.filters.minDuration&&i.andWhere("((boundaryEvent.inOutDuration IS NOT NULL AND boundaryEvent.inOutDuration >= :minDuration) OR \n (boundaryEvent.inOutDuration IS NULL AND boundaryEvent.inDate IS NOT NULL AND boundaryEvent.outDate IS NULL AND \n UNIX_TIMESTAMP(CONVERT_TZ(NOW(), @@session.time_zone, '+00:00')) - UNIX_TIMESTAMP(boundaryEvent.inDate) >= :minDuration\n ))",{minDuration:t.filters.minDuration}),t.filters.maxDuration&&i.andWhere("((boundaryEvent.inOutDuration IS NOT NULL AND boundaryEvent.inOutDuration <= :maxDuration) OR \n (boundaryEvent.inOutDuration IS NULL AND boundaryEvent.inDate IS NOT NULL AND boundaryEvent.outDate IS NULL AND \n UNIX_TIMESTAMP(CONVERT_TZ(NOW(), @@session.time_zone, '+00:00')) - UNIX_TIMESTAMP(boundaryEvent.inDate) <= :maxDuration\n ))",{maxDuration:t.filters.maxDuration});const a=i.clone().select("COUNT(boundaryEvent.id)","totalCount");if(i.innerJoin(`(${a.getQuery()})`,"sub"),t.sortOptions?.sortField){let e=null;switch(t.sortOptions.sortField){case"inDateTime":e="boundaryEvent.inDate";break;case"outDateTime":e="boundaryEvent.outDate";break;case"inOutDuration":e='CASE WHEN boundaryEvent.inOutDuration IS NOT NULL \n THEN boundaryEvent.inOutDuration \n WHEN boundaryEvent.inOutDuration IS NULL AND boundaryEvent.inDate IS NOT NULL AND boundaryEvent.outDate IS NULL \n THEN UNIX_TIMESTAMP(CONVERT_TZ(NOW(), @@session.time_zone, "+00:00")) - UNIX_TIMESTAMP(boundaryEvent.inDate) \n ELSE NULL\n END';break;case"name":e="boundary.name"}i.orderBy(e||"boundaryEvent.inDate",t.sortOptions.sortOrder||"DESC")}return(await i.select(["device.id AS deviceId","device.imei AS imei","device.name AS deviceName","boundary.id AS boundaryId","boundary.name AS boundaryName","boundaryEvent.inDate AS inDate","boundaryEvent.inLat AS inLat","boundaryEvent.inLon AS inLon","boundaryEvent.inAddress AS inAddress","boundaryEvent.outDate AS outDate","boundaryEvent.outLat AS outLat","boundaryEvent.outLon AS outLon","boundaryEvent.outAddress AS outAddress","CASE \n WHEN boundaryEvent.inOutDuration IS NOT NULL\n THEN boundaryEvent.inOutDuration\n WHEN boundaryEvent.inOutDuration IS NULL AND boundaryEvent.inDate IS NOT NULL AND boundaryEvent.outDate IS NULL \n THEN UNIX_TIMESTAMP(CONVERT_TZ(NOW(), @@session.time_zone, '+00:00')) - UNIX_TIMESTAMP(boundaryEvent.inDate)\n ELSE NULL\n END AS duration","sub.totalCount AS totalCount"]).limit(t.pagingOptions.pageSize).offset(t.pagingOptions.pageSize*t.pagingOptions.pageIndex).getRawMany()).map((e=>({deviceId:e.deviceId,imei:e.imei,deviceName:e.deviceName,boundaryId:e.boundaryId,boundaryName:e.boundaryName,inDate:e.inDate,inLat:e.inLat,inLon:e.inLon,inAddress:e.inAddress,outDate:e.outDate,outLat:e.outLat,outLon:e.outLon,outAddress:e.outAddress,inOutDuration:e.duration,totalCount:e.totalCount})))}),"BoundariesRepository::getBoundariesReport"):(i.warn({params:t},"BoundariesRepository::getBoundariesReport - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"BoundariesRepository::getBoundariesReport result"),i}async processBoundaryEvent(e){this.logger.trace(e,"BoundariesRepository::processBoundaryEvent started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.imei&&t?.boundaryId&&t?.userId&&t?.sendTime&&t?.lat&&t?.lon&&t?.address&&t?.eventType))return i.warn({params:t},"BoundariesRepository::processBoundaryEvent - missing required parameters"),!1;const r=vn(t.userId);return r?e.safeQuery((async e=>{const a=e.getRepository(xe),n=await a.findOne({where:{imei:t.imei}});if(!n)return i.warn({params:t},"BoundariesRepository::processBoundaryEvent - device not found"),!1;const o=e.getRepository(Jt);if(!await o.findOne({where:{deviceId:n.id,boundaryId:t.boundaryId,userId:r}}))return await Mn(e,t,n.id);const s=await(async(e,t,i)=>{let r=null;const a=e.getRepository(Jt).createQueryBuilder("boundaryEvent").where("boundaryEvent.deviceId = :deviceId",{deviceId:i}).andWhere("boundaryEvent.boundaryId = :boundaryId",{boundaryId:t.boundaryId}).andWhere("boundaryEvent.userId = :userId",{userId:vn(t.userId)});return r=t.eventType===jn.Enter?(await a.andWhere("boundaryEvent.inDate < :sendTime",{sendTime:t.sendTime}).orderBy("boundaryEvent.inDate","DESC").select("boundaryEvent.inDate").limit(1).getOne())?.inDate:(await a.andWhere("boundaryEvent.outDate < :sendTime",{sendTime:t.sendTime}).orderBy("boundaryEvent.outDate","DESC").select("boundaryEvent.outDate").limit(1).getOne())?.outDate,r})(e,t,n.id),l=await(async(e,t,i)=>{let r=null;const a=e.getRepository(Jt).createQueryBuilder("boundaryEvent").where("boundaryEvent.deviceId = :deviceId",{deviceId:i}).andWhere("boundaryEvent.boundaryId = :boundaryId",{boundaryId:t.boundaryId}).andWhere("boundaryEvent.userId = :userId",{userId:vn(t.userId)});return r=t.eventType===jn.Enter?(await a.andWhere("boundaryEvent.inDate > :sendTime",{sendTime:t.sendTime}).orderBy("boundaryEvent.inDate","ASC").select("boundaryEvent.inDate").limit(1).getOne())?.inDate:(await a.andWhere("boundaryEvent.outDate > :sendTime",{sendTime:t.sendTime}).orderBy("boundaryEvent.outDate","ASC").select("boundaryEvent.outDate").limit(1).getOne())?.outDate,r})(e,t,n.id);i.trace({previousEventDate:s,nextEventDate:l},"BoundariesRepository::processBoundaryEvent - previousEventDate, nextEventDate");const d=await(async(e,t,i,r,a)=>{let n=null;const o=e.getRepository(Jt).createQueryBuilder("boundaryEvent").where("boundaryEvent.deviceId = :deviceId",{deviceId:i}).andWhere("boundaryEvent.boundaryId = :boundaryId",{boundaryId:t.boundaryId}).andWhere("boundaryEvent.userId = :userId",{userId:vn(t.userId)});return t.eventType===jn.Enter?(o.andWhere("boundaryEvent.inDate IS NULL").andWhere("boundaryEvent.outDate > :sendTime",{sendTime:t.sendTime}),a&&o.andWhere("boundaryEvent.outDate <= :nextEventDate",{nextEventDate:a}),o.orderBy("boundaryEvent.outDate","ASC")):(o.andWhere("boundaryEvent.outDate IS NULL").andWhere("boundaryEvent.inDate < :sendTime",{sendTime:t.sendTime}),r&&o.andWhere("boundaryEvent.inDate >= :previousEventDate",{previousEventDate:r}),r||a?o.orderBy("boundaryEvent.inDate","ASC"):o.orderBy("boundaryEvent.inDate","DESC")),n=await o.limit(1).getOne(),n})(e,t,n.id,s,l);return i.trace({existingOrphanEventId:d?.id},"BoundariesRepository::processBoundaryEvent - existingOrphanEventId"),null!=d?(await o.update({id:d.id},{inDate:t.eventType===jn.Enter?t.sendTime:void 0,inLat:t.eventType===jn.Enter?t.lat:void 0,inLon:t.eventType===jn.Enter?t.lon:void 0,inAddress:t.eventType===jn.Enter?t.address:void 0,outDate:t.eventType===jn.Exit?t.sendTime:void 0,outLat:t.eventType===jn.Exit?t.lat:void 0,outLon:t.eventType===jn.Exit?t.lon:void 0,outAddress:t.eventType===jn.Exit?t.address:void 0,modifiedAt:new Date,inOutDuration:t.eventType===jn.Enter?Fn(t.sendTime,d.outDate):Fn(d.inDate,t.sendTime)})).affected>0:await Mn(e,t,n.id)}),"BoundariesRepository::processBoundaryEvent"):(i.warn({params:t},"BoundariesRepository::processBoundaryEvent - userId should be a valid uuid"),!1)})(t,e,this.logger);return this.logger.trace({result:i},"BoundariesRepository::processBoundaryEvent result"),i}async upsertBoundaryEvent(e){this.logger.trace(e,"BoundariesRepository::upsertBoundaryEvent started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.id&&t?.boundaryId&&t?.deviceId&&t?.imei))return i.warn({params:t},"BoundariesRepository::upsertBoundaryEvent missing required parameters"),!1;const r=vn(t.userId);return e.safeQuery((async e=>{const i=e.getRepository(Jt),a=new Date,n={...t,userId:r,createdAt:t.createdAt??a,modifiedAt:t.modifiedAt??a},o=await i.upsert(n,{conflictPaths:["id"]});return o?.raw?.affectedRows>0}),"BoundariesRepository::upsertBoundaryEvent")})(t,e,this.logger);return this.logger.trace({result:i},"BoundariesRepository::upsertBoundaryEvent result"),i}}class Qn extends yn{async getClient(e){this.logger.trace(e,"ClientsRepository::getClient started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t.filters.clientId||t.filters.email?e.safeQuery((async e=>{let i=e.getRepository(nt).createQueryBuilder("client").comment("test=value");return t.projectionOptions?.withCustomerAttribute&&(i=i.leftJoinAndSelect("client.customerAttribute","customerAttribute")),t.projectionOptions?.withOrganization&&(i=i.leftJoinAndSelect("client.organization","organization")),t.filters.clientId&&(i=i.where("client.id = :id",{id:t.filters.clientId})),t.filters.email&&(i=i.andWhere("LOWER(client.email) = LOWER(:email)",{email:t.filters.email})),await i.leftJoinAndSelect("client.clientType","clientType").select().getOne()}),"ClientsRepository::getClient"):(i.warn({params:t},"ClientsRepository::getClient - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"ClientsRepository::getClient result"),i}async getClients(e){this.logger.trace(e,"ClientsRepository::getClients started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t.filters.email?e.safeQuery((async e=>{let i=e.getRepository(nt).createQueryBuilder("client").where("LOWER(client.email) = LOWER(:email)",{email:t.filters.email});return t.projectionOptions?.withCustomerAttribute&&(i=i.leftJoinAndSelect("client.customerAttribute","customerAttribute")),t.projectionOptions?.withOrganization&&(i=i.leftJoinAndSelect("client.organization","organization")),await i.leftJoinAndSelect("client.clientType","clientType").select().getMany()}),"ClientsRepository::getClients"):(i.warn({params:t},"ClientsRepository::getClients - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"ClientsRepository::getClients result"),i}async createClient(e){this.logger.trace(e,"ClientsRepository::createClient started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.name&&t?.email&&t?.uuid?e.safeQuery((async e=>{const i=e.getRepository(nt),r=new Date,a={id:t.clientId,name:t.name,email:t.email,clientTypeId:t.clientTypeId??Bn.b2c,createdAt:r,modifiedAt:r,createdBy:0,modifiedBy:0,uuid:vn(t.uuid),dataSourceTypeId:t.dataSourceTypeId,sievaUserName:t.sievaUserName,sievaBatchId:t.sievaBatchId,salesforceId:t.salesforceId,accumaticaId:t.accumaticaId,expirationDate:t.expirationDate,useType:t.useType,btCustomerId:t.btCustomerId,activationCampaign:t.activationCampaign,organizationId:t.organizationId};return await i.save(a)}),"ClientsRepository::createClient"):(i.warn({params:t},"ClientsRepository::createClient - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"ClientsRepository::createClient result"),i}async updateClient(e){this.logger.trace(e,"ClientsRepository::updateClient started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.clientId&&(t?.values?.name||t?.values?.uuid||t?.values?.email||t?.values?.clientTypeId||t?.values?.dataSourceTypeId||t?.values?.sievaUserName||t?.values?.sievaBatchId||t?.values?.salesforceId||t?.values?.accumaticaId||t?.values?.expirationDate||t?.values?.useType||t?.values?.btCustomerId||t?.values?.activationCampaign||t?.values?.organizationId)?e.safeQuery((async e=>{const i=e.getRepository(nt),r=new Date;return(await i.createQueryBuilder().update(nt).set({name:t.values.name,uuid:t.values.uuid?vn(t.values.uuid):void 0,email:t.values.email,clientTypeId:t.values.clientTypeId,dataSourceTypeId:t.values.dataSourceTypeId,salesforceId:t.values.salesforceId,accumaticaId:t.values.accumaticaId,expirationDate:t.values.expirationDate,useType:t.values.useType,btCustomerId:t.values.btCustomerId,activationCampaign:t.values.activationCampaign,organizationId:t.values.organizationId,modifiedAt:r}).where("id = :id",{id:t.filters.clientId}).execute()).affected>0}),"ClientsRepository::updateClient"):(i.warn({params:t},"ClientsRepository::updateClient - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"ClientsRepository::updateClient result"),i}async deleteClientAndConfigurations(e){this.logger.trace(e,"ClientsRepository::deleteClientAndConfigurations started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t.filters.clientId)return i.warn({params:t},"ClientsRepository::deleteClientAndConfiguration - missing required parameters"),!1;await e.connect();const r=e.createQueryRunner();try{await r.startTransaction(),await r.manager.delete(ei,t.filters.clientId);const e=await r.manager.delete(nt,t.filters.clientId);return await r.commitTransaction(),e.affected>0}catch(e){throw await r.rollbackTransaction(),i.error({error:e},"ClientsRepository::deleteClientAndConfigurations error"),e}finally{await r.release(),await e.disconnect()}})(t,e,this.logger);return this.logger.trace({result:i},"ClientsRepository::deleteClientAndConfigurations result"),i}async getClientConfiguration(e){this.logger.trace(e,"ClientsRepository::getClientConfiguration started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t.filters.clientId?e.safeQuery((async e=>{const i=e.getRepository(ei);return await i.findOne({where:{clientId:t.filters.clientId}})}),"ClientsRepository::getClientConfiguration"):(i.warn({params:t},"ClientsRepository::getClientConfiguration - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"ClientsRepository::getClientConfiguration result"),i}async createClientConfiguration(e){this.logger.trace(e,"ClientsRepository::createClientConfiguration started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.clientId?e.safeQuery((async e=>{const i=e.getRepository(ei),r={clientId:t.clientId,movementTripThreshold:t.movementTripThreshold,stopTripThreshold:t.stopTripThreshold,mapUpdateMode:t.mapUpdateMode,maxUsersAllowed:t.maxUsersAllowed};return await i.save(r)}),"ClientsRepository::createClientConfiguration"):(i.warn({params:t},"ClientsRepository::createClientConfiguration - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"ClientsRepository::createClientConfiguration result"),i}async updateClientConfiguration(e){this.logger.trace(e,"ClientsRepository::updateClientConfiguration started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.clientId&&(t?.values?.movementTripThreshold||t?.values?.stopTripThreshold||t?.values?.mapUpdateMode||t?.values?.maxUsersAllowed)?e.safeQuery((async e=>{const i=e.getRepository(ei);return(await i.createQueryBuilder().update(ei).set({movementTripThreshold:t.values.movementTripThreshold,stopTripThreshold:t.values.stopTripThreshold,mapUpdateMode:t.values.mapUpdateMode,maxUsersAllowed:t.values.maxUsersAllowed}).where("clientId = :clientId",{clientId:t.filters.clientId}).execute()).affected>0}),"ClientsRepository::updateClientConfiguration"):(i.warn({params:t},"ClientsRepository::updateClientConfiguration - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"ClientsRepository::updateClientConfiguration result"),i}async createCustomerAttribute(e){this.logger.trace(e,"ClientsRepository::createCustomerAttribute started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.clientId?e.safeQuery((async e=>{const i=e.getRepository(Ae),r={clientId:t.clientId,enterprise:t.enterprise,maintenanceModule:t.maintenanceModule};return await i.save(r)}),"ClientsRepository::createCustomerAttribute"):(i.warn({params:t},"ClientsRepository::createCustomerAttribute - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"ClientsRepository::createCustomerAttribute result"),i}async updateCustomerAttribute(e){this.logger.trace(e,"ClientsRepository::updateCustomerAttribute started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.clientId?null==t?.values?.enterprise&&null==t?.values?.maintenanceModule?(i.warn({params:t},"ClientsRepository::updateClientConfiguration - missing required parameters"),!1):e.safeQuery((async e=>{const i=e.getRepository(ei);return(await i.createQueryBuilder().update(Ae).set({enterprise:t.values.enterprise,maintenanceModule:t.values.maintenanceModule}).where("clientId = :clientId",{clientId:t.filters.clientId}).execute()).affected>0}),"ClientsRepository::updateCustomerAttribute"):(i.warn({params:t},"ClientsRepository::updateClientConfiguration - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"ClientsRepository::updateCustomerAttribute result"),i}async getCustomerAttribute(e){this.logger.trace(e,"ClientsRepository::getCustomerAttribute started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t.filters.clientId?e.safeQuery((async e=>{const i=e.getRepository(Ae);return await i.findOne({where:{clientId:t.filters.clientId}})}),"ClientsRepository::getCustomerAttribute"):(i.warn({params:t},"ClientsRepository::getCustomerAttribute - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"ClientsRepository::getCustomerAttribute result"),i}}const qn=async(e,t,i)=>t?.filters?.id||t?.filters?.alpha2Code?e.safeQuery((async e=>{let i=e.getRepository(Ge).createQueryBuilder("country");return t.filters.id&&(i=i.where("country.id = :id",{id:t.filters.id})),t.filters.alpha2Code&&(i=i.where("country.alpha2Code = :alpha2Code",{alpha2Code:t.filters.alpha2Code})),await i.getOne()}),"CountriesRepository::getCountry"):(i.warn({params:t},"CountriesRepository::getCountry - missing required parameters"),null);class Wn extends yn{async getCountry(e){this.logger.trace(e,"CountriesRepository::getCountry started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await qn(t,e,this.logger);return this.logger.trace(i,"CountriesRepository::getCountry result"),i}async getCountries(e){this.logger.trace(e,"CountriesRepository::getCountries started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t)=>e.safeQuery((async e=>{let i=e.getRepository(Ge).createQueryBuilder("country");return t?.filters?.idList?.length&&(i=i.where("country.id IN (:...idList)",{idList:t.filters.idList})),await i.getMany()}),"CountriesRepository::getCountries"))(t,e);return this.logger.trace(i,"CountriesRepository::getCountries result"),i}}class Vn extends yn{async getDeactivationReasons(e){this.logger.trace(e,"DeactivationsRepository::getDeactivationReasons started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.code||null!=t?.filters?.customerVisible?e.safeQuery((async e=>{let i=e.getRepository(pi).createQueryBuilder("deactivationReason");return t.filters.code&&(i=i.andWhere("deactivationReason.code = :code",{code:t.filters.code})),null!=t.filters.customerVisible&&(i=i.andWhere("deactivationReason.customerVisible = :customerVisible",{customerVisible:t.filters.customerVisible})),i=i.orderBy("deactivationReason.id"),await i.getMany()}),"DeactivationsRepository::getDeactivationReasons"):(i.warn({params:t},"DeactivationsRepository::getDeactivationReasons - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DeactivationsRepository::getDeactivationReasons result"),i}async getLatestDeactivationByImei(e){this.logger.trace(e,"DeactivationsRepository::getLatestDeactivationByImei started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imei?e.safeQuery((async e=>{const i=e.getRepository(di).createQueryBuilder("deactivation").where("deactivation.imei = :imei",{imei:t.filters.imei}).orderBy("deactivation.createdAt","DESC").limit(1);return await i.getOne()}),"DeactivationsRepository::getLatestDeactivationByImei"):(i.warn({params:t},"DeactivationsRepository::getLatestDeactivationByImei - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"DeactivationsRepository::getLatestDeactivationByImei result"),i}async createDeactivation(e){this.logger.trace(e,"DeactivationsRepository::createDeactivation started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.imei&&t?.clientId&&t?.createdBy?e.safeQuery((async e=>{const i=e.getRepository(di),r=new Date,a={...t,createdAt:r};return await i.save(a)}),"DeactivationsRepository::createDeactivation"):(i.warn({params:t},"DeactivationsRepository::createDeactivation - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"DeactivationsRepository::createDeactivation result"),i}}class Gn extends yn{async getDeviceBehaviors(e){this.logger.trace(e,"DeviceBehaviorsRepository::getDeviceBehaviors started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.status&&t?.filters?.imeiList?.length&&t?.filters?.deviceTypeIdList?.length?e.safeQuery((async e=>{let i=e.getRepository(hi).createQueryBuilder("deviceBehavior");return i=i.andWhere("deviceBehavior.status = :status",{status:t.filters.status}),i=i.andWhere("deviceBehavior.imei IN (:...imeiList)",{imeiList:t.filters.imeiList}),i=i.andWhere("deviceBehavior.deviceTypeId IN (:...deviceTypeIdList)",{deviceTypeIdList:t.filters.deviceTypeIdList}),i=i.andWhere("(deviceBehavior.stage IS NULL OR deviceBehavior.stage = '' OR deviceBehavior.stage = :stage)",{stage:t.filters.stage}),i=t.filters.clientId?i.andWhere("(deviceBehavior.clientId IS NULL OR deviceBehavior.clientId <= 0 OR deviceBehavior.clientId = :clientId)",{clientId:t.filters.clientId}):i.andWhere("(deviceBehavior.clientId IS NULL OR deviceBehavior.clientId <= 0)"),t.filters.type&&(i=i.andWhere("deviceBehavior.type = :type",{type:t.filters.type})),i=i.orderBy("deviceBehavior.ordinalPosition"),await i.getMany()}),"DeviceBehaviorsRepository::getDeviceBehaviors"):(i.warn({params:t},"DeviceBehaviorsRepository::getDeviceBehaviors - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DeviceBehaviorsRepository::getDeviceBehaviors result"),i}async getDeviceBehaviorsByIds(e){this.logger.trace(e,"DeviceBehaviorsRepository::getDeviceBehaviorsByIds started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.deviceBehaviorIdList?.length?e.safeQuery((async e=>{let i=e.getRepository(hi).createQueryBuilder("deviceBehavior");return i=i.andWhere("deviceBehavior.id IN (:...deviceBehaviorIdList)",{deviceBehaviorIdList:t.filters.deviceBehaviorIdList}),await i.getMany()}),"DeviceBehaviorsRepository::getDeviceBehaviorsByIds"):(i.warn({params:t},"DeviceBehaviorsRepository::getDeviceBehaviorsByIds - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DeviceBehaviorsRepository::getDeviceBehaviorsByIds result"),i}async getDeviceBehaviorTasks(e){this.logger.trace(e,"DeviceBehaviorsRepository::getDeviceBehaviorTasks started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.taskId||t?.filters?.imeiList?.length?e.safeQuery((async e=>{let i=e.getRepository(Ka).createQueryBuilder("userDeviceBehaviorTask");if(t.filters.taskId){const e=vn(t?.filters?.taskId);i=i.andWhere("userDeviceBehaviorTask.id = :taskId",{taskId:e})}return t.filters.imeiList?.length&&(i=i.andWhere("userDeviceBehaviorTask.imei IN (:...imeiList)",{imeiList:t.filters.imeiList})),t.filters.status&&(i=i.andWhere("userDeviceBehaviorTask.status = :status",{status:t.filters.status})),t.filters.deviceBehaviorIdList?.length&&(i=i.andWhere("userDeviceBehaviorTask.deviceBehaviorId IN (:...deviceBehaviorIdList)",{deviceBehaviorIdList:t.filters.deviceBehaviorIdList})),i=i.orderBy("userDeviceBehaviorTask.modifiedAt","DESC"),t?.pagingOptions?.offset&&(i=i.offset(t?.pagingOptions?.offset)),i=i.limit(t?.pagingOptions?.limit??100),await i.getMany()}),"DeviceBehaviorsRepository::getDeviceBehaviorTasks"):(i.warn({params:t},"DeviceBehaviorsRepository::getDeviceBehaviorTasks - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DeviceBehaviorsRepository::getDeviceBehaviorTasks result"),i}async getDevicesLastBehaviorTask(e){this.logger.trace(e,"DeviceBehaviorsRepository::getDevicesLastBehaviorTask started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imeiList?.length?e.safeQuery((async e=>{let i=e.getRepository(Ka).createQueryBuilder("userDeviceBehaviorTask");return t.filters.imeiList?.length&&(i=i.andWhere("userDeviceBehaviorTask.imei IN (:...imeiList)",{imeiList:t.filters.imeiList})),t.filters.status&&(i=i.andWhere("userDeviceBehaviorTask.status = :status",{status:t.filters.status})),t.filters.deviceBehaviorIdList?.length&&(i=i.andWhere("userDeviceBehaviorTask.deviceBehaviorId IN (:...deviceBehaviorIdList)",{deviceBehaviorIdList:t.filters.deviceBehaviorIdList})),i.andWhere((e=>`userDeviceBehaviorTask.modifiedAt = (${e.subQuery().select("MAX(modifiedAt)").from(Ka,"subTask").where("subTask.imei = userDeviceBehaviorTask.imei").getQuery()})`)),i=i.orderBy("userDeviceBehaviorTask.modifiedAt","DESC"),t?.pagingOptions?.offset&&(i=i.offset(t?.pagingOptions?.offset)),i=i.limit(t?.pagingOptions?.limit??100),await i.getMany()}),"DeviceBehaviorsRepository::getDevicesLastBehaviorTask"):(i.warn({params:t},"DeviceBehaviorsRepository::getDevicesLastBehaviorTask - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DeviceBehaviorsRepository::getDevicesLastBehaviorTask result"),i}async createDeviceBehaviorTask(e){this.logger.trace(e,"DeviceBehaviorsRepository::createDeviceBehaviorTasks started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.taskId&&t?.deviceBehaviorId&&t?.clientId&&t?.userId&&t?.imei&&t?.behaviorName&&t?.status))return i.warn({params:t},"DeviceBehaviorsRepository::createDeviceBehaviorTask - missing required parameters"),null;const r=vn(t?.taskId);if(!r?.length)return i.warn({params:t},"DeviceBehaviorsRepository::createDeviceBehaviorTask - taskId should be a valid UUID"),null;const a=vn(t?.userId);if(!a?.length)return i.warn({params:t},"DeviceBehaviorsRepository::createDeviceBehaviorTask - user id should be a valid UUID"),null;const n=vn(t?.commandTaskId);return t.commandTaskId&&!n?(i.warn({params:t},"DeviceBehaviorsRepository::createDeviceBehaviorTask - command task id should be a valid UUID"),null):e.safeQuery((async e=>{const i=e.getRepository(Ka),o=new Date,s={id:r,deviceBehaviorId:t.deviceBehaviorId,clientId:t.clientId,userId:a,imei:t.imei,behaviorName:t.behaviorName,behaviorParams:t.behaviorParams,status:t.status,extraParams:t.extraParams,commandTaskId:n,createdAt:o,modifiedAt:o};return await i.save(s)}),"DeviceBehaviorsRepository::createDeviceBehaviorTask")})(t,e,this.logger);return this.logger.trace(i,"DeviceBehaviorsRepository::createDeviceBehaviorTasks result"),i}async updateDeviceBehaviorTask(e){this.logger.trace(e,"DeviceBehaviorsRepository::updateDeviceBehaviorTask started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.taskId||!t?.values?.status)return i.warn({params:t},"DeviceBehaviorsRepository::updateDeviceBehaviorTask - missing required parameters"),null;const r=vn(t?.filters.taskId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(Ka),a=new Date;let n=i.createQueryBuilder().update(Ka).set({status:t.values.status,modifiedAt:a});return n=n.where("id = :id",{id:r}),(await n.execute()).affected>0}),"DeviceBehaviorsRepository::updateDeviceBehaviorTask"):(i.warn({params:t},"DeviceBehaviorsRepository::updateDeviceBehaviorTask - taskId should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace({result:i},"DeviceBehaviorsRepository::updateDeviceBehaviorTask result"),i}async getLatestDeviceBehaviorTasks(e){this.logger.trace(e,"DeviceBehaviorsRepository::getLatestDeviceBehaviorTasks started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.clientId||t?.filters?.type||t?.filters?.status?e.safeQuery((async e=>{const i=e.getRepository(Ka);return(await i.query("SELECT sub.imei AS imei, \n sub.name AS name, \n sub.description AS description, \n sub.modifiedAt AS modifiedAt, \n sub.taskId AS taskId\n FROM (\n SELECT userDeviceBehaviorTask.imei AS imei,\n deviceBehavior.name as name,\n deviceBehavior.description as description,\n userDeviceBehaviorTask.modifiedAt AS modifiedAt,\n userDeviceBehaviorTask.id AS taskId,\n RANK() OVER (PARTITION BY userDeviceBehaviorTask.imei ORDER BY userDeviceBehaviorTask.modifiedAt DESC) AS rk\n FROM userDeviceBehaviorTask\n INNER JOIN deviceBehavior ON userDeviceBehaviorTask.deviceBehaviorId = deviceBehavior.id AND deviceBehavior.type = ?\n WHERE userDeviceBehaviorTask.clientId = ? AND userDeviceBehaviorTask.status = ?\n ) AS sub\n WHERE sub.rk = 1",[t.filters.type,t.filters.clientId,t.filters.status])).map((e=>({imei:e.imei,name:e.name,description:e.description,modifiedAt:e.modifiedAt,taskId:fn(e.taskId)})))}),"DeviceBehaviorsRepository::getLatestDeviceBehaviorTasks"):(i.warn({params:t},"DeviceBehaviorsRepository::getLatestDeviceBehaviorTasks - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DeviceBehaviorsRepository::getLatestDeviceBehaviorTasks result"),i}async upsertDeviceBehavior(e){this.logger.trace(e,"DeviceBehaviorsRepository::upsertDeviceBehavior started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.deviceTypeId&&t?.name&&t?.description&&t?.status&&t?.behaviorName?e.safeQuery((async e=>{const i=e.getRepository(hi),r={...t,ordinalPosition:t.ordinalPosition||1,blocking:t.blocking??!0};return await i.save(r)}),"DeviceBehaviorsRepository::upsertDeviceBehavior"):(i.warn({params:t},"DeviceBehaviorsRepository::upsertDeviceBehavior - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"DeviceBehaviorsRepository::upsertDeviceBehavior result"),i}}class Jn extends yn{async getDevicePairings(e){this.logger.trace(e,"DevicePairingsRepository::getDevicePairings started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imeiMain||t?.filters?.imeiSecondary||t?.filters?.btmacMain||t?.filters?.btmacSecondary?e.safeQuery((async e=>{let i=e.getRepository(Ti).createQueryBuilder("devicePairing");return t.filters.imeiMain&&(i=i.where("devicePairing.imeiMain = :imeiMain",{imeiMain:t.filters.imeiMain})),t.filters.imeiSecondary&&(i=i.andWhere("devicePairing.imeiSecondary = :imeiSecondary",{imeiSecondary:t.filters.imeiSecondary})),t.filters.btmacMain&&(i=i.andWhere("devicePairing.btmacMain = :btmacMain",{btmacMain:t.filters.btmacMain})),t.filters.btmacSecondary&&(i=i.andWhere("devicePairing.btmacSecondary = :btmacSecondary",{btmacSecondary:t.filters.btmacSecondary})),await i.getMany()}),"DevicePairingsRepository::getDevicePairings"):(i.warn({params:t},"DevicePairingsRepository::getDevicePairings missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DevicePairingsRepository::getDevicePairings result"),i}async getDevicePairingsByImei(e){this.logger.trace(e,"DevicePairingsRepository::getDevicePairingsByImei started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imei?e.safeQuery((async e=>{const i=e.getRepository(Ti).createQueryBuilder("devicePairing").where("devicePairing.imeiMain = :imeiMain",{imeiMain:t.filters.imei}).orWhere("devicePairing.imeiSecondary = :imeiSecondary",{imeiSecondary:t.filters.imei});return await i.getMany()}),"DevicePairingsRepository::getDevicePairingsByImei"):(i.warn({params:t},"DevicePairingsRepository::getDevicePairingsByImei missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DevicePairingsRepository::getDevicePairingsByImei result"),i}async createDevicePairing(e){this.logger.trace(e,"DevicePairingsRepository::createDevicePairing started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.imeiMain&&t?.imeiSecondary&&t?.btmacMain&&t?.btmacSecondary?e.safeQuery((async e=>{const i=e.getRepository(Ti),r=new Date,a={...t,createdAt:r,modifiedAt:r};return await i.save(a)}),"DevicePairingsRepository::createDevicePairing"):(i.warn({params:t},"DevicePairingsRepository::createDevicePairing missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"DevicePairingsRepository::createDevicePairing result"),i}async updateDevicePairing(e){this.logger.trace(e,"DevicePairingsRepository::updateDevicePairing started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.id&&(t?.values?.imeiMain||t?.values?.imeiSecondary||t?.values?.btmacMain||t?.values?.btmacSecondary||t?.values?.connectionType||t?.values?.pairingMode)?e.safeQuery((async e=>{const i=e.getRepository(Ti),r=new Date,a=i.createQueryBuilder().update(Ti).set({...t.values,modifiedAt:r}).where("id = :id",{id:t.filters.id});return(await a.execute()).affected>0}),"DevicePairingsRepository::updateDevicePairing"):(i.warn({params:t},"DevicePairingsRepository::updateDevicePairing missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"DevicePairingsRepository::updateDevicePairing result"),i}async deleteDevicePairing(e){this.logger.trace(e,"DevicePairingsRepository::deleteDevicePairing started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.id?e.safeQuery((async e=>{const i=e.getRepository(Ti).createQueryBuilder().delete().where("id = :id",{id:t.filters.id});return(await i.execute()).affected>0}),"DevicePairingsRepository::deleteDevicePairing"):(i.warn({params:t},"DevicePairingsRepository::deleteDevicePairing - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"DevicePairingsRepository::deleteDevicePairing result"),i}}const Hn=async(e,t,i)=>t?.deviceTypeId&&t?.deviceIdentifier?e.safeQuery((async e=>{const i=e.getRepository(Pe),r=await i.createQueryBuilder().where("id = :deviceTypeId",{deviceTypeId:t.deviceTypeId}).getOne();return r?`${r.identifierType}#${t.deviceIdentifier}`:null}),"DevicesRepository::generateDeviceIdentifierKey"):(i.warn({params:t},"DevicesRepository::generateDeviceIdentifierKey missing required parameters"),null);class Kn extends yn{async getDevice(e){this.logger.trace(e,"DevicesRepository::getDevice started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imei||t?.filters?.id?e.safeQuery((async e=>{let i=e.getRepository(xe).createQueryBuilder("device");return t.filters.id&&(i=i.where("device.id = :id",{id:t.filters.id})),t.filters.imei&&(i=i.andWhere("device.imei = :imei",{imei:t.filters.imei})),t.projectionOptions.withDeviceType&&(i=i.leftJoinAndSelect("device.deviceType","deviceType")),t.projectionOptions.withIccidCarrier&&(i=i.leftJoinAndMapOne("device.iccidCarrier",hr,"iccidCarrier","device.imei = iccidCarrier.imei"),i=i.leftJoinAndMapOne("iccidCarrier.serviceProvider",Yr,"serviceProvider","iccidCarrier.carrier = serviceProvider.id")),t.projectionOptions.withClientDeviceSettings&&(i=i.leftJoinAndMapOne("device.clientDeviceSetting",ri,"clientDeviceSetting","device.imei = clientDeviceSetting.imei and device.clientId = clientDeviceSetting.clientId")),await i.getOne()}),"DevicesRepository::getDevice"):(i.warn({params:t},"DevicesRepository::getDevice missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::getDevice result"),i}async getDevices(e){this.logger.trace(e,"DevicesRepository::getDevices started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.deviceTypeId||t?.filters?.clientId||t?.filters?.imeiList?.length||t?.filters?.status?e.safeQuery((async e=>{let i=e.getRepository(xe).createQueryBuilder("device");return t.filters.clientId&&(i=i.where("device.clientId = :clientId",{clientId:t.filters.clientId})),t.filters.deviceTypeId&&(i=i.andWhere("device.deviceTypeId = :deviceTypeId",{deviceTypeId:t.filters.deviceTypeId})),t.filters.status&&(i=i.andWhere("device.status = :status",{status:t.filters.status})),t.filters.imeiList?.length&&(i=i.andWhere("device.imei IN (:...imeiList)",{imeiList:t.filters.imeiList})),t.projectionOptions.withDeviceType&&(i=i.leftJoinAndSelect("device.deviceType","deviceType")),t.projectionOptions.withIccidCarrier&&(i=i.leftJoinAndMapOne("device.iccidCarrier",hr,"iccidCarrier","device.imei = iccidCarrier.imei"),i=i.leftJoinAndMapOne("iccidCarrier.serviceProvider",Yr,"serviceProvider","iccidCarrier.carrier = serviceProvider.id")),t.projectionOptions.withClientDeviceSettings&&(i=i.leftJoinAndMapOne("device.clientDeviceSetting",ri,"clientDeviceSetting","device.imei = clientDeviceSetting.imei and device.clientId = clientDeviceSetting.clientId")),await i.getMany()}),"DevicesRepository::getDevices"):(i.warn({params:t},"DevicesRepository::getDevices missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::getDevices result"),i}async getFilteredImeisWithStatus(e){this.logger.trace(e,"DevicesRepository::getFilteredImeisWithStatus started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imeiList?.length||t?.filters?.status?e.safeQuery((async e=>{const i=e.getRepository(xe).createQueryBuilder("device").where("imei IN (:...imeiList)",{imeiList:t.filters.imeiList}).andWhere("status = :status",{status:t.filters.status});return(await i.select("imei").getRawMany()).map((e=>e.imei))}),"DevicesRepository::getFilteredImeisWithStatus"):(i.warn({params:t},"DevicesRepository::getFilteredImeisWithStatus missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::getFilteredImeisWithStatus result"),i}async createDevice(e){this.logger.trace(e,"DevicesRepository::createDevice started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.imei||!t?.clientId||0===t?.clientId||!t?.deviceTypeId)return i.warn({params:t},"DevicesRepository::createDevice missing required parameters"),null;const r=t.identifier||t.imei,a=await Hn(e,{deviceTypeId:t.deviceTypeId,deviceIdentifier:r},i);return a?e.safeQuery((async e=>{const i=e.getRepository(xe),n=new Date,o={...t,identifier:r,identifierKey:a,modifiedBy:t.createdBy,createdAt:n,modifiedAt:n};return await i.save(o)}),"DevicesRepository::createDevice"):null})(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::createDevice result"),i}async updateDevice(e){this.logger.trace(e,"DevicesRepository::updateDevice started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.imei)return i.warn({params:t},"DevicesRepository::updateDevice missing required parameters"),!1;if(!(t?.values?.clientId||t?.values?.deviceTypeId||t?.values?.iccid||t?.values?.name||t?.values?.color||t?.values?.icon||t?.values?.status||null!=t?.values?.forward||t?.values?.description||t?.values?.dataSourceTypeId||t?.values?.assetCategoryId||t?.values?.usageRegion||t?.values?.btmac))return i.warn({params:t},"DevicesRepository::updateDevice missing required parameters"),!1;let r;if(t.values.deviceTypeId){const a=t.filters.imei;if(r=await Hn(e,{deviceTypeId:t.values.deviceTypeId,deviceIdentifier:a},i),!r)return!1}return e.safeQuery((async e=>{const i=e.getRepository(xe),a=new Date;let n=i.createQueryBuilder().update(xe).set({...t.values,identifierKey:r,modifiedAt:a}).where("imei = :imei",{imei:t.filters.imei});return t.filters.status&&(n=n.andWhere("status = :status",{status:t.filters.status})),(await n.execute()).affected>0}),"DevicesRepository::updateDevice")})(t,e,this.logger);return this.logger.trace({result:i},"DevicesRepository::updateDevice result"),i}async deleteDevice(e){this.logger.trace(e,"DevicesRepository::deleteDevice started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imei?e.safeQuery((async e=>{const i=e.getRepository(xe);return(await i.createQueryBuilder().delete().where("imei = :imei",{imei:t.filters.imei}).execute()).affected>0}),"DevicesRepository::deleteDevice"):(i.warn({params:t},"DevicesRepository::deleteDevice - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"DevicesRepository::deleteDevice result"),i}async generateDeviceIdentifierKey(e){this.logger.trace(e,"DevicesRepository::generateDeviceIdentifierKey started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await Hn(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::generateDeviceIdentifierKey result"),i}async getDeviceTypes(e){this.logger.trace(e,"DevicesRepository::getDeviceTypes started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t)=>e.safeQuery((async e=>{let i=e.getRepository(Pe).createQueryBuilder("deviceType");return t?.filters?.deviceTypeIdList?.length&&(i=i.where("deviceType.id IN (:...deviceTypeIdList)",{deviceTypeIdList:t.filters.deviceTypeIdList})),t?.filters?.brand&&(i=i.andWhere("LOWER(deviceType.brand) = LOWER(:brand)",{brand:t.filters.brand})),t?.filters?.model&&(i=i.andWhere("LOWER(deviceType.model) = LOWER(:model)",{model:t.filters.model})),t?.filters?.onlyWithRelatedIccidCarrier&&(i=i.innerJoin(hr,"iccidCarrier","deviceType.id = iccidCarrier.deviceTypeId").groupBy("deviceType.id")),i=i.orderBy("deviceType.id"),await i.getMany()}),"DevicesRepository::getDeviceTypes"))(t,e);return this.logger.trace(i,"DevicesRepository::getDeviceTypes result"),i}async getImeiIccidCarrier(e){this.logger.trace(e,"DevicesRepository::getImeiIccidCarrier started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imei||t?.filters?.iccid?e.safeQuery((async e=>{let i=e.getRepository(hr).createQueryBuilder("imeiIccidCarrier");return t?.filters?.imei&&(i=i.where("imeiIccidCarrier.imei = :imei",{imei:t.filters.imei})),t?.filters?.iccid&&(i=i.andWhere("imeiIccidCarrier.iccid = :iccid",{iccid:t.filters.iccid})),await i.getOne()}),"DevicesRepository::getImeiIccidCarrier"):(i.warn({params:t},"DevicesRepository::getImeiIccidCarrier missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::getImeiIccidCarrier result"),i}async getDeviceTypeByImei(e){this.logger.trace(e,"DevicesRepository::getDeviceTypeByImei started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imei?e.safeQuery((async e=>{const i=e.getRepository(Pe).createQueryBuilder("deviceType").innerJoin(hr,"imeiIccidCarrier","deviceType.id = imeiIccidCarrier.deviceTypeId").where("imeiIccidCarrier.imei = :imei",{imei:t.filters.imei});return await i.getOne()}),"DevicesRepository::getDeviceTypeByImei"):(i.warn({params:t},"DevicesRepository::getDeviceTypeByImei - missing imei parameter"),null))(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::getDeviceTypeByImei result"),i}async getImeiIccidCarriers(e){this.logger.trace(e,"DevicesRepository::getImeiIccidCarriers started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imeiList?.length?e.safeQuery((async e=>{const i=e.getRepository(hr).createQueryBuilder("imeiIccidCarrier").where("imeiIccidCarrier.imei IN (:...imeiList)",{imeiList:t.filters.imeiList});return await i.getMany()}),"DevicesRepository::getImeiIccidCarriers"):(i.warn({params:t},"DevicesRepository::getImeiIccidCarriers missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::getImeiIccidCarriers result"),i}async updateImeiIccidCarrier(e){this.logger.trace(e,"DevicesRepository::updateImeiIccidCarrier started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>(t?.filters?.imei||t?.filters?.iccid)&&(t?.values?.carrier||t?.values?.phone||t?.values?.deviceTypeId||t?.values?.serviceProviderProductId||null!=t?.values?.isValid||t?.values?.model||t?.values?.realModel||t?.values?.po||null!=t?.values?.outOfInventory||t?.values?.apn||null!=t?.values?.itsEsim||t?.values?.btmac)?e.safeQuery((async e=>{const i=e.getRepository(hr),r=new Date;let a=i.createQueryBuilder().update(hr).set({...t.values,modifiedAt:r});return t.filters.imei&&(a=a.where("imei = :imei",{imei:t.filters.imei})),t.filters.iccid&&(a=a.andWhere("iccid = :iccid",{iccid:t.filters.iccid})),(await a.execute()).affected>0}),"DevicesRepository::updateImeiIccidCarrier"):(i.warn({params:t},"DevicesRepository::updateImeiIccidCarrier missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"DevicesRepository::updateImeiIccidCarrier result"),i}async getClientDeviceSetting(e){this.logger.trace(e,"DevicesRepository::getClientDeviceSetting with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imei&&t?.filters?.clientId?e.safeQuery((async e=>{const i=e.getRepository(ri).createQueryBuilder("clientDeviceSetting").where("clientDeviceSetting.imei = :imei",{imei:t.filters.imei}).andWhere("clientDeviceSetting.clientId = :clientId",{clientId:t.filters.clientId});return await i.getOne()}),"DevicesRepository::getClientDeviceSetting"):(i.warn({params:t},"DevicesRepository::getClientDeviceSetting missing required parameters"),null))(t,e,this.logger);return this.logger.info(i,"DevicesRepository::getClientDeviceSetting result"),i}async getClientDeviceSettings(e){this.logger.trace(e,"DevicesRepository::getClientDeviceSettings started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.clientId?e.safeQuery((async e=>{const i=e.getRepository(ri).createQueryBuilder("clientDeviceSetting").where("clientDeviceSetting.clientId = :clientId",{clientId:t.filters.clientId});return await i.getMany()}),"DevicesRepository::getClientDeviceSettings"):(i.warn({params:t},"DevicesRepository::getClientDeviceSettings missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::getClientDeviceSettings result"),i}async createClientDeviceSetting(e){this.logger.trace(e,"DevicesRepository::createClientDeviceSetting started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.imei&&t?.clientId?e.safeQuery((async e=>{const i=e.getRepository(ri),r={id:t.id,imei:t.imei,clientId:t.clientId,generateTrips:t.generateTrips??!0,movingPingFrequency:t.movingPingFrequency,stoppedPingFrequency:t.stoppedPingFrequency,fixedStatus:t.fixedStatus,stopThresholdMinutes:t.stopThresholdMinutes,offlineThresholdMinutes:t.offlineThresholdMinutes,movementThresholdSpeed:t.movementThresholdSpeed,externalBatteryInformation:t.externalBatteryInformation};return await i.save(r)}),"DevicesRepository::createClientDeviceSetting"):(i.warn({params:t},"DevicesRepository::createClientDeviceSetting missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::createClientDeviceSetting result"),i}async updateClientDeviceSetting(e){this.logger.trace(e,"DevicesRepository::updateClientDeviceSetting started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imei&&t?.filters?.clientId&&(null!=t?.values?.generateTrips||t?.values?.movingPingFrequency||t?.values?.stoppedPingFrequency||t?.values?.fixedStatus||t?.values?.stopThresholdMinutes||t?.values?.offlineThresholdMinutes||t?.values?.movementThresholdSpeed||null!=t?.values?.externalBatteryInformation)?e.safeQuery((async e=>{const i=e.getRepository(ri).createQueryBuilder().update(ri).set({generateTrips:t.values.generateTrips,movingPingFrequency:t.values.movingPingFrequency,stoppedPingFrequency:t.values.stoppedPingFrequency,fixedStatus:t.values.fixedStatus,stopThresholdMinutes:t.values.stopThresholdMinutes,offlineThresholdMinutes:t.values.offlineThresholdMinutes,movementThresholdSpeed:t.values.movementThresholdSpeed,externalBatteryInformation:t.values.externalBatteryInformation}).where("imei = :imei",{imei:t.filters.imei}).andWhere("clientId = :clientId",{clientId:t.filters.clientId});return(await i.execute()).affected>0}),"DevicesRepository::updateClientDeviceSetting"):(i.warn({params:t},"DevicesRepository::updateClientDeviceSetting missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"DevicesRepository::updateClientDeviceSetting result"),i}async getDeviceTypesModelsOrderedByDeviceCount(e){this.logger.trace(e,"DevicesRepository::getDeviceTypesOrderedByDeviceCount started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t)=>e.safeQuery((async e=>{let i=e.getRepository(Pe).createQueryBuilder("dt").leftJoin(xe,"d","d.deviceTypeId = dt.id").select(["dt.id as id","dt.model as model","dt.protocol as protocol","dt.protocolMatch as protocolMatch"]).addSelect("COUNT(d.id)","deviceCount");return t?.filters?.deviceStatus&&(i=i.where("d.status = :deviceStatus",{deviceStatus:t.filters.deviceStatus})),i=i.groupBy("dt.id").orderBy("deviceCount","DESC"),(await i.getRawMany()).map((e=>({...e,deviceCount:parseInt(e.deviceCount,10)})))}),"DevicesRepository::getDeviceTypesModelsOrderedByDeviceCount"))(t,e);return this.logger.trace({result:i},"DevicesRepository::getDeviceTypesOrderedByDeviceCount result"),i}async getDeviceCustomConfigs(e){this.logger.trace(e,"DevicesRepository::getDeviceCustomConfig started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.clientId||t?.filters?.imei||t?.filters?.po?e.safeQuery((async e=>{let i=e.getRepository(Fe).createQueryBuilder("deviceCustomConfiguration");return t?.filters?.imei&&(i=i.orWhere("(LOWER(deviceCustomConfiguration.imei) = LOWER(:imei) AND deviceCustomConfiguration.clientId IS NULL AND (deviceCustomConfiguration.po IS NULL OR deviceCustomConfiguration.po = ''))",{imei:t.filters.imei})),t?.filters?.po&&(i=i.orWhere("(LOWER(deviceCustomConfiguration.po) = LOWER(:po) AND deviceCustomConfiguration.clientId IS NULL AND (deviceCustomConfiguration.imei IS NULL OR deviceCustomConfiguration.imei = ''))",{po:t.filters.po})),t?.filters?.clientId&&(i=i.orWhere("deviceCustomConfiguration.clientId = :clientId AND (deviceCustomConfiguration.po IS NULL OR deviceCustomConfiguration.po = '') AND (deviceCustomConfiguration.imei IS NULL OR deviceCustomConfiguration.imei = '')",{clientId:t.filters.clientId})),i=t?.filters?.deviceTypeId?i.andWhere("(deviceCustomConfiguration.deviceTypeId = :deviceTypeId OR deviceCustomConfiguration.deviceTypeId IS NULL)",{deviceTypeId:t.filters.deviceTypeId}):i.andWhere("deviceCustomConfiguration.deviceTypeId IS NULL"),i=i.orderBy("deviceCustomConfiguration.id"),await i.getMany()}),"DevicesRepository::getDeviceCustomConfig"):(i.warn({params:t},"DevicesRepository::getDeviceCustomConfig missing required params"),[]))(t,e,this.logger);return this.logger.trace({result:i},"DevicesRepository::getDeviceCustomConfig result"),i}async createDeviceReplacement(e){this.logger.trace(e,"DevicesRepository::createDeviceReplacement started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.imeiOld&&t?.imeiNew&&t?.iccidNew&&t?.iccidOld&&t?.userId&&t?.clientId&&0!==t?.clientId))return i.warn({params:t},"DevicesRepository::createDeviceReplacement missing required parameters"),null;const r=vn(t?.userId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(ki),a={id:t.id,imeiOld:t.imeiOld,imeiNew:t.imeiNew,iccidOld:t.iccidOld,iccidNew:t.iccidNew,userId:r,clientId:t.clientId,createAt:new Date};return await i.save(a)}),"DevicesRepository::createDeviceReplacement"):(i.warn({params:t},"DevicesRepository::createDeviceReplacement - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::createDeviceReplacement result"),i}async getIccidStatus(e){this.logger.trace(e,"DevicesRepository::getIccidStatus started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.iccid?e.safeQuery((async e=>{const i=e.getRepository(gr).createQueryBuilder("iccidStatus").where("iccidStatus.iccid = :iccid",{iccid:t.filters.iccid});return await i.getOne()}),"DevicesRepository::getIccidStatus"):(i.warn({params:t},"DevicesRepository::getIccidStatus missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::getIccidStatus result"),i}async updateIccidStatus(e){this.logger.trace(e,"DevicesRepository::updateIccidStatus started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.iccid&&(t?.values?.status||null!=t?.values?.processing||t?.values?.carrierFound)?e.safeQuery((async e=>{const i=e.getRepository(gr).createQueryBuilder("iccidStatus").update(gr).set({status:t.values.status,processing:t.values.processing,carrierFound:t.values.carrierFound}).where("iccid = :iccid",{iccid:t.filters.iccid});return(await i.execute()).affected>0}),"DevicesRepository::updateIccidStatus"):(i.warn({params:t},"DevicesRepository::updateIccidStatus missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"DevicesRepository::updateIccidStatus result"),i}async getCanceledDevicesWithActiveSimCards(e){this.logger.trace(e,"DevicesRepository::getCanceledDevicesWithActiveSimCards started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.lastAnalyzedDeviceId&&t?.pagingOptions?.limit?e.safeQuery((async e=>{const i=e.getRepository(Yr),r=await i.find(),a=e.getRepository(xe).createQueryBuilder("device").innerJoin(gr,"iccidStatus","device.iccid = iccidStatus.iccid").innerJoin(hr,"imeiIccidCarrier","device.iccid = imeiIccidCarrier.iccid").where("device.status = :deviceStatus",{deviceStatus:"D"}).andWhere("device.id > :lastAnalyzedDeviceId",{lastAnalyzedDeviceId:t.filters.lastAnalyzedDeviceId}).andWhere("iccidStatus.status = :iccidStatus",{iccidStatus:"active"}).select(["device.imei as imei","device.iccid as iccid","device.clientId as clientId","imeiIccidCarrier.carrier as carrierId","device.id as deviceId"]).orderBy("device.id","ASC").limit(t.pagingOptions.limit);return(await a.getRawMany()).map((e=>({imei:e.imei,iccid:e.iccid,clientId:e.clientId,carrier:r?.find((t=>t.id===e.carrierId))?.name||"Unknown Carrier",deviceId:e.deviceId})))}),"DevicesRepository::getCanceledDevicesWithActiveSimCards"):(i.warn({params:t},"DevicesRepository::getCanceledDevicesWithActiveSimCards missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::getCanceledDevicesWithActiveSimCards result"),i}async getCarrierStatusUpdatedBefore(e){this.logger.trace(e,"DevicesRepository::getCarrierStatusUpdatedBefore started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.beforeDate&&t?.pagingOptions?.limit?e.safeQuery((async e=>{const i=e.getRepository(gr).createQueryBuilder("iccidStatus").innerJoin(hr,"imeiIccidCarrier","iccidStatus.iccid = imeiIccidCarrier.iccid").where("iccidStatus.modifiedAt < :beforeDate",{beforeDate:t.filters.beforeDate}).andWhere("coalesce(iccidStatus.processing, false) <> :processing",{processing:!0}).andWhere("iccidStatus.status <> :status",{status:"not found in carrier"}).select(["imeiIccidCarrier.carrier as carrier","iccidStatus.iccid as iccid","iccidStatus.status as status","iccidStatus.processing as processing","iccidStatus.carrierFound as carrierFound","iccidStatus.modifiedAt as modifiedAt"]).orderBy("iccidStatus.modifiedAt","ASC").addOrderBy("iccidStatus.iccid","ASC").limit(t.pagingOptions.limit);return(await i.getRawMany()).map((e=>({carrier:e.carrier,iccid:e.iccid,status:e.status,processing:null!=e.processing?1===e.processing:null,carrierFound:e.carrierFound,modifiedAt:e.modifiedAt})))}),"DevicesRepository::getCarrierStatusUpdatedBefore"):(i.warn({params:t},"DevicesRepository::getCarrierStatusUpdatedBefore missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::getCarrierStatusUpdatedBefore result"),i}async upsertIccidStatus(e){this.logger.trace(e,"DevicesRepository::upsertIccidStatus started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.values.iccid&&(t?.options?.updateProcessing||t?.values?.status&&t?.values?.carrierFound)?e.safeQuery((async e=>{const i=e.getRepository(gr),r=null!=t.values.status?{iccid:t.values.iccid,status:t.values.status,modifiedAt:new Date,processing:!t.options?.updateProcessing&&void 0,carrierFound:t.values.carrierFound}:{iccid:t.values.iccid,status:void 0,modifiedAt:void 0,processing:!!t.options?.updateProcessing||void 0,carrierFound:t.values.carrierFound},a=await i.upsert(r,{conflictPaths:["iccid"]});return a?.raw?.affectedRows>0}),"DevicesRepository::upsertIccidStatus"):(i.warn({params:t},"DevicesRepository::upsertIccidStatus missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"DevicesRepository::upsertIccidStatus result"),i}async getDeviceWithUsersInfo(e){this.logger.trace(e,"DevicesRepository::getDeviceWithUsersInfo started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imei?e.safeQuery((async e=>{const i=e.getRepository(xe).createQueryBuilder("device").innerJoin(hr,"iccidCarrier","device.imei = iccidCarrier.imei").innerJoin(it,"user","device.clientId = user.clientId").innerJoin(on,"userSecurityRole","user.id = userSecurityRole.userId").innerJoin($r,"securityRole","userSecurityRole.securityRoleId = securityRole.id").innerJoin($e,"userAlertConfiguration","user.id = userAlertConfiguration.userId").leftJoin(ut,"billing","device.imei = billing.imei").innerJoin(re,"alertType","userAlertConfiguration.alertTypeId = alertType.id and alertType.id < 6").innerJoin(Na,"userActivationDevice","device.imei = userActivationDevice.imei and userActivationDevice.id = (\n select userActivationDevice.id from userActivationDevice where userActivationDevice.imei = :imei \n order by userActivationDevice.id desc limit 1)\n ",{imei:t.filters.imei.toLowerCase()}).leftJoin(Tr,"latestPosition","device.imei = latestPosition.imei").where("device.imei = :imei",{imei:t.filters.imei.toLowerCase()}).orderBy("user.createdAt, userAlertConfiguration.alertTypeId","DESC").select(["user.firstName as firstName","user.lastName as lastName","user.userName as username","user.email as email","latestPosition.createdAt as latestPositionCreatedAt","latestPosition.actualDate as latestPositionActualDate","latestPosition.lat as latestPositionLatitude","latestPosition.lon as latestPositionLongitude","latestPosition.odometer latestPositionOdometer","latestPosition.speed as latestPositionSpeed","device.status as deviceStatus","device.name as deviceName","iccidCarrier.iccid as iccid","alertType.name as alertName","userAlertConfiguration.alertValue as alertValue","userAlertConfiguration.smsNotification as smsNotification","userAlertConfiguration.emailNotification as emailNotification","userActivationDevice.servicePlan as servicePlan","securityRole.name as roleName","billing.subscriptionId as subscriptionId"]);return(await i.getRawMany()).map((e=>({...e,firstName:void 0,lastName:void 0,clientName:e.firstName?.length&&e.lastName?.length?`${e.firstName} ${e.lastName}`:e.firstName||e.lastName||"",smsNotification:1===e.smsNotification,emailNotification:1===e.emailNotification})))}),"DevicesRepository::getDeviceWithUsersInfo"):(i.warn({params:t},"DevicesRepository::getDeviceWithUsersInfo missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::getDeviceWithUsersInfo result"),i}async createDeviceType(e){this.logger.trace(e,"DevicesRepository::createDeviceType started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.brand&&t?.model&&t?.modelFamily&&t?.identifierType?e.safeQuery((async e=>{const i=e.getRepository(Pe),r={...t};return await i.save(r)}),"DevicesRepository::createDeviceType"):(i.warn({params:t},"DevicesRepository::createDeviceType missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"DevicesRepository::createDeviceType result"),i}async updateDeviceType(e){this.logger.trace(e,"DevicesRepository::updateDeviceType started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.id?t?.values?.brand||t?.values?.model||t?.values?.modelFamily||t?.values?.identifierType||t?.values?.description||t?.values?.tags||t?.values?.url||t?.values?.name||t?.values?.pictureUrl||t?.values?.userManualUrl||t?.values?.notes||null!=t?.values?.supported||null!=t?.values?.activatable||null!=t?.values?.selfActivatable||t?.values?.port||t?.values?.protocolMatch||t?.values?.stage||t?.values?.landingPage||t?.values?.troubleshooting||t?.values?.protocol?e.safeQuery((async e=>{const i=e.getRepository(Pe).createQueryBuilder("deviceType").update(Pe).set({...t.values}).where("id = :id",{id:t.filters.id});return(await i.execute()).affected>0}),"DevicesRepository::updateDeviceType"):(i.warn({params:t},"DevicesRepository::updateIccidStatus missing required parameters"),!1):(i.warn({params:t},"DevicesRepository::updateDeviceType missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"DevicesRepository::updateDeviceType result"),i}}class zn extends yn{async getDeviceFirmwares(e){this.logger.trace("FirmwaresRepository::getDeviceFirmwares started");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t)=>e.safeQuery((async e=>{let i=e.getRepository(zi).createQueryBuilder("deviceTypeFirmware");return t?.filters?.deviceTypeId&&(i=i.andWhere("deviceTypeFirmware.deviceTypeId = :deviceTypeId",{deviceTypeId:t.filters.deviceTypeId})),t?.filters?.firmwareId&&(i=i.andWhere("deviceTypeFirmware.id = :firmwareId",{firmwareId:t.filters.firmwareId})),t?.projectionOptions?.withDeviceType&&(i=i.leftJoinAndSelect("deviceTypeFirmware.deviceType","deviceType")),i=i.orderBy("deviceTypeFirmware.releaseDate","DESC"),await i.getMany()}),"FirmwaresRepository::getDeviceFirmwares"))(t,e);return this.logger.trace(i,"FirmwaresRepository::getDeviceFirmwares result"),i}async createDeviceFirmware(e){this.logger.trace("FirmwaresRepository::createDeviceFirmware started");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.deviceTypeId&&t?.firmwareCode&&t?.firmwareVersion&&t?.firmwareUrl&&t?.releaseDate&&t?.description&&null!=t?.enabled&&t?.upgradeType?await e.safeQuery((async e=>{const i=e.getRepository(zi),r={id:t.id,deviceTypeId:t.deviceTypeId,description:t.description,enabled:t.enabled,firmwareCode:t.firmwareCode,firmwareVersion:t.firmwareVersion,firmwareUrl:t.firmwareUrl,releaseDate:t.releaseDate,sourceFirmwareVersion:t.sourceFirmwareVersion,upgradeType:t.upgradeType,stage:t.stage,postUpgradeConfig:t.postUpgradeConfig,parentId:t.parentId,maxDeployPercentage:t.maxDeployPercentage,qmsRate:t.qmsRate,pendingTimeout:t.pendingTimeout};return await i.save(r)}),"FirmwaresRepository::createDeviceFirmware"):(i.warn({params:t},"FirmwaresRepository::createDeviceFirmware incorrect params"),null))(t,e,this.logger);return this.logger.trace(i,"FirmwaresRepository::createDeviceFirmware result"),i}async createFirmwareUpgradeTask(e){this.logger.trace("FirmwaresRepository::createFirmwareUpgradeTask started");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>(e=>!e?.id||!e?.deviceTypeFirmwareId||!e?.clientId||e.clientId<=0||!e.imei||!e?.status)(t)?(i.warn({params:t},"FirmwaresRepository::createFirmwareUpgradeTask incorrect params"),null):await e.safeQuery((async e=>{const i=e.getRepository(pr),r=new Date,a={id:vn(t.id),deviceTypeFirmwareId:t.deviceTypeFirmwareId,clientId:t.clientId,imei:t.imei,status:t.status,behaviorName:t.behaviorName,behaviorParams:t.behaviorParams,createdAt:t.createdAt??r,modifiedAt:t.modifiedAt??r,preConfig:t.preConfig,postConfig:t.postConfig,commandsTaskId:t.commandsTaskId,postUpgradeCompleted:t.postUpgradeCompleted,fwCompletedOn:null};return await i.save(a)}),"FirmwaresRepository::createFirmwareUpgradeTask"))(t,e,this.logger);return this.logger.trace(i,"FirmwaresRepository::createFirmwareUpgradeTask result"),i}async getFirmwareUpgradeTasks(e){this.logger.trace("FirmwaresRepository::getFirmwareUpgradeTasks started");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>(e=>!(e?.filters?.firmwareId||e?.filters?.taskId||e?.filters?.statuses?.length||e?.filters?.imeis?.length))(t)?(i.warn({params:t},"FirmwaresRepository::getFirmwareUpgradeTasks incorrect params"),null):await e.safeQuery((async e=>{let i=e.getRepository(pr).createQueryBuilder("firmwareUpgradeTask");return i=await(async(e,t)=>(e?.filters?.imeis?.length&&(t=t.andWhere("firmwareUpgradeTask.imei IN (:...imeis)",{imeis:e.filters.imeis})),t))(t,i),i=((e,t)=>(e?.filters?.statuses&&(t=t.andWhere("firmwareUpgradeTask.status IN (:...statuses)",{statuses:e.filters.statuses})),t))(t,i),i=((e,t)=>(e?.filters?.firmwareId&&(t=t.andWhere("firmwareUpgradeTask.deviceTypeFirmwareId = :deviceTypeFirmwareId",{deviceTypeFirmwareId:e.filters.firmwareId})),e?.filters?.firmwareIds?.length&&(t=t.andWhere("firmwareUpgradeTask.deviceTypeFirmwareId IN (:...deviceTypeFirmwareIds)",{deviceTypeFirmwareIds:e.filters.firmwareIds})),t))(t,i),i=((e,t)=>(e?.filters?.taskId&&(t=t.andWhere("firmwareUpgradeTask.id = :id",{id:vn(e.filters.taskId)})),t))(t,i),i=((e,t)=>(e?.projectionOptions?.withDeviceFirmware&&(t=t.leftJoinAndSelect("firmwareUpgradeTask.deviceTypeFirmware","deviceTypeFirmware")),t))(t,i),i=((e,t)=>(e?.projectionOptions?.withDevice&&(t=t.leftJoinAndMapOne("firmwareUpgradeTask.device",xe,"device","firmwareUpgradeTask.imei = device.imei"),e?.projectionOptions?.deviceWithDeviceType&&(t=t.leftJoinAndMapOne("device.deviceType",Pe,"deviceType","device.deviceTypeId = deviceType.id"))),t))(t,i),i=((e,t)=>(e?.filters?.startDate&&e?.filters?.endDate&&e?.filters?.endDate>e?.filters?.startDate&&(t=t.andWhere("firmwareUpgradeTask.modifiedAt between :modifiedFrom and :modifiedTo",{modifiedFrom:e.filters.startDate,modifiedTo:e.filters.endDate})),t))(t,i),i=((e,t)=>(!0!==e?.filters?.postUpgradeCompleted&&!1!==e?.filters?.postUpgradeCompleted||(t=t.andWhere("firmwareUpgradeTask.postUpgradeCompleted = :postUpgradeCompleted",{postUpgradeCompleted:e.filters.postUpgradeCompleted})),t))(t,i),i=i.orderBy("firmwareUpgradeTask.modifiedAt","DESC"),t?.pagingOptions?.offset&&(i=i.offset(t?.pagingOptions?.offset)),i=i.limit(t?.pagingOptions?.limit??100),await i.getMany()}),"FirmwaresRepository::getFirmwareUpgradeTasks"))(t,e,this.logger);return this.logger.trace(i,"FirmwaresRepository::getFirmwareUpgradeTasks result"),i}async getFirmwareUpgradeTasksCount(e){this.logger.trace("FirmwaresRepository::getFirmwareUpgradeTasksCount started");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>(e=>!(e?.filters?.firmwareId||e?.filters?.taskId||e?.filters?.statuses?.length||e?.filters?.imeis?.length))(t)?(i.warn({params:t},"FirmwaresRepository::getFirmwareUpgradeTasksCount incorrect params"),0):await e.safeQuery((async e=>{let i=e.getRepository(pr).createQueryBuilder("firmwareUpgradeTask");return i=await(async(e,t)=>(e?.filters?.imeis?.length&&(t=t.andWhere("firmwareUpgradeTask.imei IN (:...imeis)",{imeis:e.filters.imeis})),t))(t,i),i=((e,t)=>(e?.filters?.statuses&&(t=t.andWhere("firmwareUpgradeTask.status IN (:...statuses)",{statuses:e.filters.statuses})),t))(t,i),i=((e,t)=>(e?.filters?.firmwareId&&(t=t.andWhere("firmwareUpgradeTask.deviceTypeFirmwareId = :deviceTypeFirmwareId",{deviceTypeFirmwareId:e.filters.firmwareId})),t))(t,i),i=((e,t)=>(e?.filters?.taskId&&(t=t.andWhere("firmwareUpgradeTask.id = :id",{id:vn(e.filters.taskId)})),t))(t,i),await i.getCount()}),"FirmwaresRepository::getFirmwareUpgradeTasksCount"))(t,e,this.logger);return this.logger.trace({result:i},"FirmwaresRepository::getFirmwareUpgradeTasksCount result"),i}async updateFirmwareUpgradeTasks(e){this.logger.trace("FirmwaresRepository::updateFirmwareUpgradeTasks started");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.id&&(t?.behaviorName||t?.behaviorParams||t?.status||t?.preConfig||t?.postConfig||t?.commandsTaskId||null!=t?.postUpgradeCompleted||t?.fwCompletedOn)?await e.safeQuery((async e=>{const i=e.getRepository(pr),r=new Date,a=i.createQueryBuilder("firmwareUpgradeTask").update(pr).set({modifiedAt:r,behaviorName:t.behaviorName,behaviorParams:t.behaviorParams,status:t.status,preConfig:t.preConfig,postConfig:t.postConfig,commandsTaskId:t.commandsTaskId,postUpgradeCompleted:t.postUpgradeCompleted,fwCompletedOn:t.fwCompletedOn}).where("id = :id",{id:vn(t.id)});return(await a.execute()).affected>0}),"FirmwaresRepository::updateFirmwareUpgradeTasks"):(i.warn({params:t},"FirmwaresRepository::updateFirmwareUpgradeTasks incorrect params"),!1))(t,e,this.logger);return this.logger.trace({result:i},"FirmwaresRepository::updateFirmwareUpgradeTasks result"),i}async updateDeviceFirmware(e){this.logger.trace("FirmwaresRepository::updateDeviceFirmware started");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.id&&t?.deviceTypeId&&t?.firmwareCode&&t?.firmwareVersion&&t?.firmwareUrl&&t?.releaseDate&&t?.description&&null!=t?.enabled&&t?.upgradeType?await e.safeQuery((async e=>{const i=e.getRepository(zi);return(await i.createQueryBuilder().update(zi).set({deviceTypeId:t.deviceTypeId,description:t.description,enabled:t.enabled,firmwareCode:t.firmwareCode,firmwareVersion:t.firmwareVersion,firmwareUrl:t.firmwareUrl,releaseDate:t.releaseDate,sourceFirmwareVersion:t.sourceFirmwareVersion,upgradeType:t.upgradeType,stage:t.stage,postUpgradeConfig:t.postUpgradeConfig,parentId:t.parentId,maxDeployPercentage:t.maxDeployPercentage,qmsRate:t.qmsRate,pendingTimeout:t.pendingTimeout}).where("id = :id",{id:t.id}).execute()).affected>0}),"FirmwaresRepository::updateDeviceFirmware"):(i.warn({params:t},"FirmwaresRepository::updateDeviceFirmware incorrect params"),!1))(t,e,this.logger);return this.logger.trace({result:i},"FirmwaresRepository::updateDeviceFirmware result"),i}async createFirmwareAutoUpgradeBlacklist(e){this.logger.trace("FirmwaresRepository::createFirmwareAutoUpgradeBlacklist started");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.clientId?await e.safeQuery((async e=>{const i=e.getRepository(dr),r={deviceTypeId:t.deviceTypeId,clientId:t.clientId};return await i.save(r)}),"FirmwaresRepository::createFirmwareAutoUpgradeBlacklist"):(i.warn({params:t},"FirmwaresRepository::createFirmwareAutoUpgradeBlacklist incorrect params"),null))(t,e,this.logger);return this.logger.trace({result:i},"FirmwaresRepository::createFirmwareAutoUpgradeBlacklist result"),i}async getFirmwareAutoUpgradeBlacklist(e){this.logger.trace("FirmwaresRepository::getFirmwareAutoUpgradeBlacklist started");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>(e=>!e?.filters?.clientId)(t)?(i.warn({params:t},"FirmwaresRepository::getFirmwareAutoUpgradeBlacklist incorrect params"),null):await e.safeQuery((async e=>{let i=e.getRepository(dr).createQueryBuilder("firmwareAutoUpgradeBlacklist");return i=i.andWhere("firmwareAutoUpgradeBlacklist.clientId = :clientId",{clientId:t.filters.clientId}),t?.pagingOptions?.offset&&(i=i.offset(t?.pagingOptions?.offset)),i=i.limit(t?.pagingOptions?.limit??100),await i.getMany()}),"FirmwaresRepository::getFirmwareAutoUpgradeBlacklist"))(t,e,this.logger);return this.logger.trace({result:i},"FirmwaresRepository::getFirmwareAutoUpgradeBlacklist result"),i}}class _n extends yn{async createNotificationRecipient(e){this.logger.trace(e,"NotificationRecipientsRepository::createNotificationRecipient started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.clientId&&t?.userId&&t?.notificationType&&t?.recipient&&null!=t?.isEnabled&&null!=t?.isUserProfile))return i.warn({params:t},"NotificationRecipientsRepository::createNotificationRecipient - missing required parameters"),null;const r=vn(t?.userId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(Lr),a=new Date,n={id:t.id,userId:r,clientId:t.clientId,notificationType:t.notificationType,recipient:t.recipient,isEnabled:t.isEnabled,isUserProfile:t.isUserProfile,unsubscribed:t.unsubscribed,unsubscribedInfo:t.unsubscribedInfo,dataSourceTypeId:t.dataSourceTypeId,createdAt:a,modifiedAt:a};return await i.save(n)}),"NotificationRecipientsRepository::createNotificationRecipient"):(i.warn({params:t},"NotificationRecipientsRepository::createNotificationRecipient - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"NotificationRecipientsRepository::createNotificationRecipient result"),i}async getNotificationRecipients(e){this.logger.trace(e,"NotificationRecipientsRepository::getNotificationRecipients started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.clientId?e.safeQuery((async e=>{let i=e.getRepository(Lr).createQueryBuilder("notificationRecipient");return i=i.where("notificationRecipient.clientId = :clientId",{clientId:t.filters.clientId}),await i.getMany()}),"NotificationRecipientsRepository::getNotificationRecipients"):(i.warn({params:t},"NotificationRecipientsRepository::getNotificationRecipients - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"NotificationRecipientsRepository::getNotificationRecipients result"),i}async updateNotificationRecipient(e){this.logger.trace(e,"NotificationRecipientsRepository::updateNotificationRecipient started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.id&&(t?.values?.notificationType||t?.values?.recipient||null!=t?.values?.isEnabled||null!=t?.values?.isUserProfile||null!=t?.values?.unsubscribed||null!=t?.values?.unsubscribedInfo)?e.safeQuery((async e=>{const i=e.getRepository(Lr),r=new Date;let a=i.createQueryBuilder().update(Lr).set({notificationType:t?.values?.notificationType,recipient:t?.values?.recipient,isEnabled:t?.values?.isEnabled,isUserProfile:t?.values?.isUserProfile,unsubscribed:t?.values?.unsubscribed,unsubscribedInfo:t?.values?.unsubscribedInfo,modifiedAt:r});return a=a.where("id = :id",{id:t?.filters?.id}),(await a.execute()).affected>0}),"NotificationRecipientsRepository::updateNotificationRecipient"):(i.warn({params:t},"NotificationRecipientsRepository::updateNotificationRecipient - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"NotificationRecipientsRepository::updateNotificationRecipient result"),i}async updateUsersNotificationsUnsuscribedStatus(e){this.logger.trace(e,"NotificationRecipientsRepository::updateUsersNotificationsUnsuscribedStatus started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.userPhone&&t?.filters?.userCountryCode?null==t?.values?.unsubscribed?(i.warn({params:t},"NotificationRecipientsRepository::updateUsersNotificationsUnsuscribedStatus - missing required parameters"),!1):e.safeQuery((async e=>{const i=e.getRepository(Lr),r=new Date;return(await i.query("UPDATE notificationRecipient nr\n INNER JOIN user u ON u.id = nr.userId\n SET nr.unsubscribed = ?, nr.unsubscribedInfo = ?, nr.modifiedAt = ?\n WHERE nr.notificationType = ?\n AND (CASE nr.recipient\n WHEN 'phone' THEN u.telephone \n ELSE nr.recipient \n END) = REPLACE(?, (SELECT c.internationalDirectDialing FROM country c WHERE c.alpha2Code = ? LIMIT 1), '');",[t.values.unsubscribed,t.values.unsubscribedInfo,r,Pn.Phone,t.filters.userPhone,t.filters.userCountryCode])).affectedRows>0}),"NotificationRecipientsRepository::updateUsersNotificationsUnsuscribedStatus"):(i.warn({params:t},"NotificationRecipientsRepository::updateUsersNotificationsUnsuscribedStatus - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"NotificationRecipientsRepository::updateUsersNotificationsUnsuscribedStatus result"),i}async updateUsersNotificationsUnsubscribedInfoStatus(e){this.logger.trace(e,"NotificationRecipientsRepository::updateUsersNotificationsUnsuscribedStatus started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>!t?.filters?.recipient||t?.filters?.notificationType==Pn.Phone&&!t?.filters?.countryCode||null==t?.values?.unsubscribed||null==t?.values.unsubscribedInfo?(i.warn({params:t},"NotificationRecipientsRepository::updateUsersNotificationsUnsuscribedStatus - missing required parameters"),null):e.safeQuery((async e=>{const r=e.getRepository(Lr),a=new Date;let n,o,s,l;switch(t?.filters?.notificationType){case Pn.Phone:o="SELECT \n nr.userId\n FROM notificationRecipient nr\n INNER JOIN user u ON u.id = nr.userId\n WHERE nr.notificationType = ?\n AND (CASE nr.recipient\n WHEN 'phone' THEN u.telephone \n ELSE nr.recipient \n END) = REPLACE(?, (SELECT c.internationalDirectDialing FROM country c WHERE c.alpha2Code = ? LIMIT 1), '');",l=[Pn.Phone,t.filters.recipient,t.filters.countryCode],n="UPDATE notificationRecipient nr\n INNER JOIN user u ON u.id = nr.userId\n SET nr.unsubscribed = ?, nr.unsubscribedInfo = ?, nr.modifiedAt = ?\n WHERE nr.notificationType = ?\n AND (CASE nr.recipient\n WHEN 'phone' THEN u.telephone \n ELSE nr.recipient \n END) = REPLACE(?, (SELECT c.internationalDirectDialing FROM country c WHERE c.alpha2Code = ? LIMIT 1), '')\n ;",s=[t.values.unsubscribed,t.values.unsubscribedInfo,a,Pn.Phone,t.filters.recipient,t.filters.countryCode];break;case Pn.Email:o="SELECT \n nr.userId\n FROM notificationRecipient nr\n INNER JOIN user u ON u.id = nr.userId\n WHERE nr.notificationType = ?\n AND (CASE nr.recipient\n WHEN 'email' THEN u.email \n ELSE nr.recipient \n END) = ?\n ;",l=[Pn.Email,t.filters.recipient],n="UPDATE notificationRecipient nr\n INNER JOIN user u ON u.id = nr.userId\n SET nr.unsubscribed = ?, nr.unsubscribedInfo = ?, nr.modifiedAt = ?\n WHERE nr.notificationType = ?\n AND (CASE nr.recipient\n WHEN 'email' THEN u.email \n ELSE nr.recipient \n END) = ?\n ;",s=[t.values.unsubscribed,t.values.unsubscribedInfo,a,Pn.Email,t.filters.recipient];break;default:return i.warn({params:t},"NotificationRecipientsRepository::updateUsersNotificationsUnsuscribedStatus - NotificationRecipientType not implemented"),null}const d=await r.query(o,l);return console.log(d),d.length?(await r.query(n,s),d.map((e=>fn(e.userId)))):null}),"NotificationRecipientsRepository::updateUsersNotificationsUnsuscribedStatus"))(t,e,this.logger);return this.logger.trace({result:i},"NotificationRecipientsRepository::updateUsersNotificationsUnsuscribedStatus result"),i}async deleteNotificationRecipients(e){this.logger.trace(e,"NotificationRecipientsRepository::deleteNotificationRecipients started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.id&&!t?.filters?.userId)return i.warn({params:t},"NotificationRecipientsRepository::deleteNotificationRecipients - missing required parameters"),!1;const r=vn(t?.filters?.userId);return t?.filters?.userId&&!r?(i.warn({params:t},"NotificationRecipientsRepository::deleteNotificationRecipients - userId is not a valid uuid"),!1):e.safeQuery((async e=>{let i=e.getRepository(Lr).createQueryBuilder().delete();return t?.filters?.id&&(i=i.where("id = :id",{id:t?.filters?.id})),t?.filters?.userId&&(i=i.where("userId = :userId",{userId:r})),(await i.execute()).affected>0}),"NotificationRecipientsRepository::deleteNotificationRecipients")})(t,e,this.logger);return this.logger.trace({result:i},"NotificationRecipientsRepository::deleteNotificationRecipients result"),i}async deleteNotificationRecipientsByEmailOrPhone(e){this.logger.trace(e,"NotificationRecipientsRepository::deleteNotificationRecipientsByEmailOrPhone started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.clientId&&t?.filters?.notificationType&&t?.filters?.recipient?"email"===t?.filters?.recipient.toLowerCase()||"phone"===t?.filters?.recipient.toLowerCase()?(i.warn({params:t},"NotificationRecipientsRepository::deleteNotificationRecipientsByEmailOrPhone - recipient should be a valid email or phone"),!1):e.safeQuery((async e=>{const i=e.getRepository(Lr).createQueryBuilder().delete().where("clientId = :clientId",{clientId:t?.filters?.clientId}).andWhere("notificationType = :notificationType",{notificationType:t?.filters?.notificationType}).andWhere("recipient = :recipient",{recipient:t?.filters?.recipient});return(await i.execute()).affected>0}),"NotificationRecipientsRepository::deleteNotificationRecipientsByEmailOrPhone"):(i.warn({params:t},"NotificationRecipientsRepository::deleteNotificationRecipientsByEmailOrPhone - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"NotificationRecipientsRepository::deleteNotificationRecipientsByEmailOrPhone result"),i}}const $n=async(e,t,i)=>{if(!t?.id||!t?.imei)return!1;const r=e.getRepository(Tr);try{const{id:e,...i}=t,a=r.createQueryBuilder();return(await a.insert().into(Tr).values({...i,positionId:e}).orIgnore().execute()).raw.affectedRows>0||(await a.update(Tr).set({...i,positionId:e}).where("imei = :imei",{imei:t.imei}).andWhere("positionId < :positionId",{positionId:t.id}).execute()).affected>0}catch(e){return i.warn(e,"PositionsRepository::upsertLatestPosition error"),!1}};class Zn extends yn{async createPosition(e){this.logger.trace(e,"PositionsRepository::this.createPosition started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.messageId&&t?.actualDate&&t?.clientId&&t?.imei))return null;try{await e.connect();const r=e.getRepository(Wr),a=new Date,n={id:t.id,imei:t.imei,lat:t.lat,lon:t.lon,actualDate:t.actualDate,speed:t.speed,odometer:t.odometer,createdAt:t.createdAt??a,messageId:vn(t.messageId),batteryPercentage:t.batteryPercentage,clientId:t.clientId,address:t.address,sendTime:t.sendTime,gpsUtcTime:t.gpsUtcTime,externalBatteryPercentage:t.externalBatteryPercentage,externalPowerVoltage:t.externalPowerVoltage},o=await r.save(n);return o?(await $n(e,o,i),{...o,id:Number(o.id)}):null}catch(e){throw i.error(e,"PositionsRepository::createPosition error"),e}finally{await e.disconnect()}})(t,e,this.logger);return this.logger.trace(i,"PositionsRepository::insertPositions result"),i}async upsertPositions(e){this.logger.trace(e,"PositionsRepository::this.createPosition started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{try{await e.connect();const r=e.getRepository(Wr),a=[];t.forEach((e=>{if(!(e?.messageId&&e?.actualDate&&e?.clientId&&e?.imei))return null;const t=new Date,i={id:e.id,imei:e.imei,lat:e.lat,lon:e.lon,actualDate:e.actualDate,speed:e.speed,odometer:e.odometer,createdAt:e.createdAt??t,messageId:vn(e.messageId),batteryPercentage:e.batteryPercentage,clientId:e.clientId,address:e.address,sendTime:e.sendTime,gpsUtcTime:e.gpsUtcTime,externalBatteryPercentage:e.externalBatteryPercentage,externalPowerVoltage:e.externalPowerVoltage};a.push(i)})),await r.upsert(a,{conflictPaths:["messageId"]});const n=await r.createQueryBuilder("p").where("p.messageId IN (:messageIds)",{messageIds:a.map((e=>e.messageId))}).orderBy("p.id","ASC").getMany();for(const t of n)await $n(e,t,i);return n?.map((e=>({...e,id:Number(e.id)})))??[]}catch(e){throw i.error(e,"PositionsRepository::upsertPositions error"),e}finally{await e.disconnect()}})(t,e,this.logger);return this.logger.trace(i,"PositionsRepository::insertPositions result"),i}async getPositionsByImei(e){this.logger.trace(e,"PositionsRepository::this.getPositionsByImei started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.imei)return[];try{await e.connect();const i=e.getRepository(Wr),r={where:{imei:t.filters.imei}},a=await i.find(r);return a?.map((e=>({...e,id:Number(e.id)})))??[]}catch(e){throw i.error({error:e},"PositionsRepository::getPositionsByImei error"),e}finally{await e.disconnect()}})(t,e,this.logger);return this.logger.trace(i,"PositionsRepository::getPositionsByImei result"),i}async getPositionsReportByClient(e){this.logger.trace(e,"PositionsRepository::getPositionsReportByClientId started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t.filters.clientId)return[];try{await e.connect();let i=e.getRepository(Wr).createQueryBuilder("p").where("p.clientId = :clientId",{clientId:t.filters.clientId});t.filters.imeis&&(i=i.andWhere("p.imei IN (:...imeis)",{imeis:t.filters.imeis})),t.filters.actualDateFrom&&(i=i.andWhere("p.actualDate >= :actualDateFrom",{actualDateFrom:t.filters.actualDateFrom})),t.filters.actualDateTo&&(i=i.andWhere("p.actualDate <= :actualDateTo",{actualDateTo:t.filters.actualDateTo})),t.filters.speedMin&&(i=i.andWhere("p.speed >= :speedMin",{speedMin:t.filters.speedMin})),t.filters.speedMax&&(i=i.andWhere("p.speed <= :speedMax",{speedMax:t.filters.speedMax})),t.filters.odometerMin&&(i=i.andWhere("p.odometer >= :odometerMin",{odometerMin:t.filters.odometerMin})),t.filters.odometerMax&&(i=i.andWhere("p.odometer <= :odometerMax",{odometerMax:t.filters.odometerMax}));const r=i.clone().select("COUNT(p.id)","totalCount");return t.filters.imeis?.length?(i.useIndex("ixPositionClientId_Imei_ActualDate"),r.useIndex("ixPositionClientId_Imei_ActualDate")):(i.useIndex("ixPositionClientId_ActualDate"),r.useIndex("ixPositionClientId_ActualDate")),i.innerJoin(`(${r.getQuery()})`,"sub"),t.sortOptions?.sortField&&i.orderBy(t.sortOptions.sortField,t.sortOptions.sortOrder),await i.select(["p.imei as imei","p.createdAt as createdAt","p.actualDate as actualDate","p.lat as lat","p.lon as lon","p.address as address","p.speed as speed","p.odometer as odometer","p.batteryPercentage as batteryPercentage","p.externalPowerVoltage as externalPowerVoltage","p.externalBatteryPercentage as externalBatteryPercentage","sub.totalCount as totalCount"]).limit(t.pagingOptions.pageSize).offset(t.pagingOptions.pageSize*t.pagingOptions.pageIndex).getRawMany()}catch(e){throw i.error({error:e},"PositionsRepository::GetPositionsReportByClientId error"),e}finally{await e.disconnect()}})(t,e,this.logger);return this.logger.trace(i,"PositionsRepository::getPositionsReportByClientId result"),i}async getLatestPositionByImei(e){this.logger.trace(e,"PositionsRepository::this.getLatestPositionByImei started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.imei)return null;try{await e.connect();const i=e.getRepository(Tr),r={where:{imei:t.filters.imei}},a=await i.findOne(r);return a?{...a,positionId:Number(a.positionId)}:null}catch(e){throw i.error({error:e},"PositionsRepository::getLatestPositionsByImei error"),e}finally{await e.disconnect()}})(t,e,this.logger);return this.logger.trace(i,"PositionsRepository::getLatestPositionByImei result"),i}}class Xn extends yn{async getAllRoles(){this.logger.trace("SecurityRepository::getAllRoles started");const e=new un(this.novaDataSourceConfig,this.logger),t=await(async e=>e.safeQuery((async e=>{const t=e.getRepository($r);return await t.find()}),"SecurityRepository::getAllRoles"))(e);return this.logger.trace(t,"SecurityRepository::getAllRoles result"),t}async getUserRoles(e){this.logger.trace(e,"SecurityRepository::getUserRoles started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.userId?e.safeQuery((async e=>{const i=e.getRepository(on);return await i.find({where:{userId:vn(t.filters.userId)}})}),"SecurityRepository::getUserRoles"):(i.warn({params:t},"SecurityRepository::getUserRoles - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"SecurityRepository::getUserRoles result"),i}async getUserRolesByClientId(e){this.logger.trace(e,"SecurityRepository::getUserRolesByClientId started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.clientId?e.safeQuery((async e=>{const i=e.getRepository(on),r=t.filters.role?{where:{clientId:t.filters.clientId,securityRoleId:t.filters.role}}:{where:{clientId:t.filters.clientId}};return await i.find(r)}),"SecurityRepository::getUserRolesByClientId"):(i.warn({params:t},"SecurityRepository::getUserRolesByClientId - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"SecurityRepository::getUserRolesByClientId result"),i}async userIsInRole(e){this.logger.trace(e,"SecurityRepository::userIsInRole started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.userId?e.safeQuery((async e=>{const i=e.getRepository(on);return null!==await i.findOne({where:{userId:vn(t.filters.userId),securityRoleId:t.filters.role}})}),"SecurityRepository::userIsInRole"):(i.warn({params:t},"SecurityRepository::userIsInRole - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"SecurityRepository::userIsInRole result"),i}async userIsAdminOrOwner(e){this.logger.trace(e,"SecurityRepository::userIsAdminOrOwner started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.userId?e.safeQuery((async e=>{const i=e.getRepository(on);return null!==await i.findOne({where:{userId:vn(t.filters.userId),securityRoleId:(0,x.In)([Sn.Admin,Sn.Owner])}})}),"SecurityRepository::userIsAdminOrOwner"):(i.warn({params:t},"SecurityRepository::userIsAdminOrOwner - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"SecurityRepository::userIsAdminOrOwner result"),i}async createUserRole(e){this.logger.trace(e,"SecurityRepository::createUserRole started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.userId?e.safeQuery((async e=>{const i=e.getRepository(on),r=await i.findOne({where:{userId:vn(t.userId)}});if(!r){const e={userId:vn(t.userId),clientId:t.clientId,securityRoleId:t.roleId};return await i.save(e)}if(r.clientId===t.clientId&&r.securityRoleId===t.roleId)return r;throw new Error("User role cannot be created because another role already exists")}),"SecurityRepository::createUserRole"):(i.warn({params:t},"SecurityRepository::createUserRole - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"SecurityRepository::createUserRole result"),i}async updateUserRole(e){this.logger.trace(e,"SecurityRepository::updateUserRole started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.userId?e.safeQuery((async e=>{const i=e.getRepository(on),r=vn(t.filters.userId),a=await i.findOne({where:{userId:r}});if(!a)return!1;if(a.securityRoleId===t.values.roleId)return!0;const n=a.securityRoleId;return a.securityRoleId=t.values.roleId,(await i.update({userId:r,securityRoleId:n},a)).affected>0}),"SecurityRepository::updateUserRole"):(i.warn({params:t},"SecurityRepository::updateUserRole - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"SecurityRepository::updateUserRole result"),i}async removeUserRoles(e){this.logger.trace(e,"SecurityRepository::removeUserRoles started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.userId?e.safeQuery((async e=>{const i=e.getRepository(on),r=await i.find({where:{userId:vn(t.filters.userId)}});return!r.length||(await i.remove(r),!0)}),"SecurityRepository::removeUserRoles"):(i.warn({params:t},"SecurityRepository::removeUserRoles - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"SecurityRepository::removeUserRoles result"),i}}const Yn=e=>{if(!e)return!1;for(const t in e)if(e.hasOwnProperty(t)){const i=e[t];if(null!=i){if("object"!=typeof i)return!0;if(Yn(i))return!0}}return!1},eo=(e,t,i,r)=>{if(!e||!t)return e;for(const a of i){const i=t[a.filterName],n=a.targetFieldName;if(void 0!==i&&n&&a.comparisonOperator)if(null!==i)switch(a.comparisonOperator){case"RANGE":const t=i.minValue,o=i.maxValue;null!=t&&(e=e.andWhere(`${r}.${n} >= :${n}MinValue`,{[`${n}MinValue`]:t})),null!=o&&(e=e.andWhere(`${r}.${n} <= :${n}MaxValue`,{[`${n}MaxValue`]:o}));break;case"LIKE":e=e.andWhere(`LOWER(${r}.${n}) LIKE LOWER(:${n})`,{[n]:`%${i}%`});break;case"=":e=e.andWhere(`${r}.${n} = :${n}`,{[n]:i});break;case"IN":e=e.andWhere(`${r}.${n} IN (:...${n})`,{[n]:i});break;default:throw new Error(`Unknown comparison operator: ${a.comparisonOperator}`)}else e=e.andWhere(`${r}.${n} IS NULL`)}return e},to=[{targetFieldName:"clientId",filterName:"clientId",comparisonOperator:"="},{targetFieldName:"repeats",filterName:"repeats",comparisonOperator:"="},{targetFieldName:"createdBy",filterName:"createdBy",comparisonOperator:"="},{targetFieldName:"modifiedBy",filterName:"modifiedBy",comparisonOperator:"="},{targetFieldName:"deletedBy",filterName:"deletedBy",comparisonOperator:"="},{targetFieldName:"status",filterName:"statusList",comparisonOperator:"IN"},{targetFieldName:"title",filterName:"title",comparisonOperator:"LIKE"},{targetFieldName:"description",filterName:"description",comparisonOperator:"LIKE"},{targetFieldName:"notes",filterName:"notes",comparisonOperator:"LIKE"},{targetFieldName:"dueDate",filterName:"dueDateFilter",comparisonOperator:"RANGE"},{targetFieldName:"dueOdometer",filterName:"dueOdometerFilter",comparisonOperator:"RANGE"},{targetFieldName:"dueActiveHours",filterName:"dueActiveHoursFilter",comparisonOperator:"RANGE"},{targetFieldName:"intervalDays",filterName:"intervalDaysFilter",comparisonOperator:"RANGE"},{targetFieldName:"intervalStartDate",filterName:"intervalStartDateFilter",comparisonOperator:"RANGE"},{targetFieldName:"intervalOdometer",filterName:"intervalOdometerFilter",comparisonOperator:"RANGE"},{targetFieldName:"intervalStartingOdometer",filterName:"intervalStartingOdometerFilter",comparisonOperator:"RANGE"},{targetFieldName:"intervalActiveHours",filterName:"intervalActiveHoursFilter",comparisonOperator:"RANGE"},{targetFieldName:"intervalStartingActiveHours",filterName:"intervalStartingActiveHoursFilter",comparisonOperator:"RANGE"},{targetFieldName:"createdAt",filterName:"createdAtFilter",comparisonOperator:"RANGE"},{targetFieldName:"modifiedAt",filterName:"modifiedAtFilter",comparisonOperator:"RANGE"},{targetFieldName:"deletedAt",filterName:"deletedAtFilter",comparisonOperator:"RANGE"}],io=[{targetFieldName:"id",filterName:"taskId",comparisonOperator:"="},{targetFieldName:"taskScheduleId",filterName:"taskScheduleId",comparisonOperator:"="},{targetFieldName:"imei",filterName:"imeiList",comparisonOperator:"IN"},{targetFieldName:"clientId",filterName:"clientId",comparisonOperator:"="},{targetFieldName:"dueDate",filterName:"dueDateFilter",comparisonOperator:"RANGE"},{targetFieldName:"dueOdometer",filterName:"dueOdometerFilter",comparisonOperator:"RANGE"},{targetFieldName:"dueActiveHours",filterName:"dueActiveHoursFilter",comparisonOperator:"RANGE"},{targetFieldName:"startDate",filterName:"startDateFilter",comparisonOperator:"RANGE"},{targetFieldName:"startingOdometer",filterName:"startingOdometerFilter",comparisonOperator:"RANGE"},{targetFieldName:"startingActiveHours",filterName:"startingActiveHoursFilter",comparisonOperator:"RANGE"},{targetFieldName:"status",filterName:"statusList",comparisonOperator:"IN"},{targetFieldName:"createdAt",filterName:"createdAtFilter",comparisonOperator:"RANGE"},{targetFieldName:"pastDueAt",filterName:"pastDueAtFilter",comparisonOperator:"RANGE"},{targetFieldName:"completedAt",filterName:"completedAtFilter",comparisonOperator:"RANGE"},{targetFieldName:"completionNotes",filterName:"completionNotes",comparisonOperator:"LIKE"},{targetFieldName:"completionOdometer",filterName:"completionOdometerFilter",comparisonOperator:"RANGE"},{targetFieldName:"completionActiveHours",filterName:"completionActiveHoursFilter",comparisonOperator:"RANGE"},{targetFieldName:"completedBy",filterName:"completedBy",comparisonOperator:"LIKE"},{targetFieldName:"modifiedAt",filterName:"modifiedAtFilter",comparisonOperator:"RANGE"},{targetFieldName:"modifiedBy",filterName:"modifiedBy",comparisonOperator:"LIKE"},{targetFieldName:"queuedAt",filterName:"queuedAtFilter",comparisonOperator:"RANGE"},{targetFieldName:"predictedDueDate",filterName:"predictedDueDateFilter",comparisonOperator:"RANGE"},{targetFieldName:"deletedAt",filterName:"deletedAtFilter",comparisonOperator:"RANGE"},{targetFieldName:"deletedBy",filterName:"deletedBy",comparisonOperator:"LIKE"}],ro=[{targetFieldName:"title",filterName:"title",comparisonOperator:"LIKE"},{targetFieldName:"description",filterName:"description",comparisonOperator:"LIKE"}];class ao extends yn{async createTaskSchedule(e){this.logger.trace(e,"TasksRepository::createTaskSchedule started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.clientId&&t?.title&&t?.description&&null!=t?.repeats&&t?.createdBy&&(t.repeats||t.dueDate||t.dueOdometer||t.dueActiveHours)&&(!t.repeats||t.intervalDays||t.intervalOdometer||t.intervalActiveHours)?e.safeQuery((async e=>{const i=e.getRepository(ji),r=new Date,a={...t,createdAt:r,status:"active"};return await i.save(a)}),"TasksRepository::createTaskSchedule"):(i.warn({params:t},"TasksRepository::createTaskSchedule missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"TasksRepository::createTaskSchedule result"),i}async getTaskSchedule(e){this.logger.trace(e,"TasksRepository::getTaskSchedule started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.id?e.safeQuery((async e=>{const i=e.getRepository(ji),r=await i.createQueryBuilder("taskSchedule").where("taskSchedule.id = :id",{id:t.filters.id}).getOne();if(t.projectionOptions?.numberOfDevicesToGet>0&&r){const i=e.getRepository(Li),a=await i.createQueryBuilder("deviceTask").where("deviceTask.taskScheduleId = :taskScheduleId",{taskScheduleId:r.id}).limit(t.projectionOptions.numberOfDevicesToGet).getMany();r.deviceTasks=a;const n=await i.createQueryBuilder("deviceTask").select("deviceTask.taskScheduleId","taskScheduleId").addSelect("COUNT(*)","deviceCount").groupBy("deviceTask.taskScheduleId").getRawOne();r.totalDevicesCount=n?n.deviceCount:0}return r}),"TasksRepository::getTaskSchedule"):(i.warn({params:t},"TasksRepository::getTaskSchedule missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"TasksRepository::getTaskSchedule result"),i}async updateTaskSchedule(e){this.logger.trace(e,"TasksRepository::updateTaskSchedule started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.id&&t?.values?.modifiedBy&&(0!=t?.values?.repeats||t?.values?.dueDate||t?.values?.dueOdometer||t?.values?.dueActiveHours)&&(!t?.values?.repeats||t?.values?.intervalDays||t?.values?.intervalOdometer||t?.values?.intervalActiveHours)?e.safeQuery((async e=>{const i=e.getRepository(ji),r=new Date;return(await i.createQueryBuilder().update(ji).set({...t.values,modifiedAt:r}).where("id = :id",{id:t.filters.id}).execute()).affected>0}),"TasksRepository::updateTaskSchedule"):(i.warn({params:t},"TasksRepository::updateTaskSchedule missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"TasksRepository::updateTaskSchedule result"),i}async deleteTaskSchedule(e){this.logger.trace(e,"TasksRepository::deleteTaskSchedule started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.id&&t?.deletedBy?e.safeQuery((async e=>{const i=e.getRepository(ji),r=new Date;return(await i.createQueryBuilder().update(ji).set({status:"deleted",deletedBy:t.deletedBy,deletedAt:r}).where("id = :id",{id:t.id}).execute()).affected>0}),"TasksRepository::deleteTaskSchedule"):(i.warn({params:t},"TasksRepository::deleteTaskSchedule missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"TasksRepository::deleteTaskSchedule result"),i}async getTaskSchedules(e){this.logger.trace(e,"TasksRepository::getTaskSchedules started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>Yn(t?.filters)?e.safeQuery((async e=>{let i=e.getRepository(ji).createQueryBuilder("taskSchedule");t.filters.imei&&(i=i.innerJoin(Li,"dt","taskSchedule.id = dt.taskScheduleId").andWhere("dt.imei = :imei",{imei:t.filters.imei})),i=eo(i,t.filters,to,"taskSchedule");const r=t.sortOptions?.sortField??"id",a=t.sortOptions?.sortOrder??"DESC";i=i.orderBy(`taskSchedule.${r}`,a);const n=await i.limit(t?.pagingOptions?.pageSize??100).offset((t?.pagingOptions?.pageSize??100)*(t?.pagingOptions?.pageIndex??0)).getMany();if(t.projectionOptions?.numberOfDevicesToGet>0){const i=await(async(e,t,i)=>{const r=e.map((e=>({id:e,deviceTasks:[],deviceCount:0}))),a=i.getRepository(Li),n=a.createQueryBuilder("deviceTask").where("deviceTask.taskScheduleId IN (:...taskSchedulesIds)",{taskSchedulesIds:e}).andWhere(`(deviceTask.taskScheduleId, deviceTask.imei) in (\n select taskScheduleId, imei from \n (\n select dt.*, ROW_NUMBER() over (partition by dt.taskScheduleId order by dt.taskScheduleId) as row_rank\n from deviceTask dt \n ) sub\n where sub.row_rank <= ${t}\n )`),o=await n.getMany(),s=await a.createQueryBuilder("deviceTask").select("deviceTask.taskScheduleId as taskScheduleId").addSelect("COUNT(deviceTask.taskScheduleId)","deviceCount").where("deviceTask.taskScheduleId IN (:...taskSchedulesIds)",{taskSchedulesIds:e}).groupBy("deviceTask.taskScheduleId").getRawMany();for(const e of r)e.deviceTasks=o.filter((t=>t.taskScheduleId===e.id)),e.deviceCount=s.find((t=>t.taskScheduleId===e.id))?.deviceCount??0;return r})(n.map((e=>e.id)),t.projectionOptions.numberOfDevicesToGet,e);for(const e of n){const t=i.filter((t=>t.id===e.id));e.deviceTasks=t.length?t[0].deviceTasks:[],e.totalDevicesCount=t.length?t[0].deviceCount:0}}return n}),"TasksRepository::getTaskSchedules"):(i.warn({params:t},"TasksRepository::getTaskSchedules missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"TasksRepository::getTaskSchedules result"),i}async getTaskSchedulesCount(e){this.logger.trace(e,"TasksRepository::getTaskSchedulesCount started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>Yn(t?.filters)?e.safeQuery((async e=>{let i=e.getRepository(ji).createQueryBuilder("taskSchedule");return t.filters.imei&&(i=i.innerJoin(Li,"dt","taskSchedule.id = dt.taskScheduleId").andWhere("dt.imei = :imei",{imei:t.filters.imei})),i=eo(i,t.filters,to,"taskSchedule"),await i.getCount()}),"TasksRepository::getTaskSchedulesCount"):(i.warn({params:t},"TasksRepository::getTaskSchedulesCount missing required parameters"),-1))(t,e,this.logger);return this.logger.trace({result:i},"TasksRepository::getTaskSchedulesCount result"),i}async getDeviceTasks(e){this.logger.trace(e,"TasksRepository::getDeviceTasks started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.taskScheduleId||t?.filters?.imei||t?.filters?.clientId?e.safeQuery((async e=>{let i=e.getRepository(Li).createQueryBuilder("deviceTask");return t.filters.taskScheduleId&&(i=i.where("deviceTask.taskScheduleId = :taskScheduleId",{taskScheduleId:t.filters.taskScheduleId})),t.filters.imei&&(i=i.andWhere("deviceTask.imei = :imei",{imei:t.filters.imei})),t.filters.clientId&&(i=i.andWhere("deviceTask.clientId = :clientId",{clientId:t.filters.clientId})),await i.getMany()}),"TasksRepository::getDeviceTasks"):(i.warn({params:t},"TasksRepository::getDeviceTasks missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"TasksRepository::getDeviceTasks result"),i}async setTaskScheduleDevices(e){this.logger.trace(e,"TasksRepository::setTaskScheduleDevices started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.taskScheduleId?e.safeQuery((async e=>{const i=e.getRepository(ji),r=await i.findOne({where:{id:t.taskScheduleId}});if(!r)return!1;const a=e.getRepository(Li);if(await a.createQueryBuilder().delete().where("taskScheduleId = :taskScheduleId",{taskScheduleId:t.taskScheduleId}).execute(),!t?.imeis?.length)return!0;const n=[];for(let e=0;e<t.imeis.length;e+=50)n.push(t.imeis.slice(e,e+50));for(const e of n){const i=e.map((e=>({taskScheduleId:t.taskScheduleId,imei:e,clientId:r.clientId}))),n=await a.insert(i);if(!n?.raw?.affectedRows)return!1}return!0}),"TasksRepository::setTaskScheduleDevices"):(i.error("TasksRepository::setTaskScheduleDevices - taskScheduleId is required"),!1))(t,e,this.logger);return this.logger.trace({result:i},"TasksRepository::setTaskScheduleDevices result"),i}async addTaskScheduleDevices(e){this.logger.trace(e,"TasksRepository::addTaskScheduleDevices started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.taskScheduleId&&t?.imeis?.length?e.safeQuery((async e=>{const i=e.getRepository(ji),r=await i.findOne({where:{id:t.taskScheduleId}});if(!r)return!1;const a=e.getRepository(Li),n=[];for(let e=0;e<t.imeis.length;e+=50)n.push(t.imeis.slice(e,e+50));for(const e of n){const i=e.map((e=>({taskScheduleId:t.taskScheduleId,imei:e,clientId:r.clientId}))),n=await a.upsert(i,{conflictPaths:["taskScheduleId","imei"]});if(!n?.raw?.affectedRows)return!1}return!0}),"TasksRepository::addTaskScheduleDevices"):(i.error("TasksRepository::addTaskScheduleDevices - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"TasksRepository::addTaskScheduleDevices result"),i}async deleteTaskScheduleDevices(e){this.logger.trace(e,"TasksRepository::deleteTaskScheduleDevices started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.taskScheduleId&&t?.imeis?.length?e.safeQuery((async e=>{const i=e.getRepository(Li),r=await i.createQueryBuilder().delete().where("taskScheduleId = :taskScheduleId",{taskScheduleId:t.taskScheduleId}).andWhere("imei IN (:...imeis)",{imeis:t.imeis}).execute();return r?.affected>0}),"TasksRepository::deleteTaskScheduleDevices"):(i.error("TasksRepository::deleteTaskScheduleDevices - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"TasksRepository::deleteTaskScheduleDevices result"),i}async createTask(e){this.logger.trace(e,"TasksRepository::createTask started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.taskScheduleId&&t?.imei&&t?.clientId&&(t.dueDate||t.dueOdometer||t.dueActiveHours)?e.safeQuery((async e=>{const i=e.getRepository(ya),r=new Date,a={...t,createdAt:r,status:"pending"};return await i.save(a)}),"TasksRepository::createTask"):(i.warn({params:t},"TasksRepository::createTask missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"TasksRepository::createTask result"),i}async getTasks(e){this.logger.trace(e,"TasksRepository::getTasks started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>Yn(t?.filters)?e.safeQuery((async e=>{let i=e.getRepository(ya).createQueryBuilder("task");t.projectionOptions?.includeTaskSchedule?i=i.leftJoinAndSelect("task.taskSchedule","taskSchedule"):(t.filters.title||t.filters.description)&&(i=i.innerJoin("task.taskSchedule","taskSchedule")),i=eo(i,t.filters,io,"task"),i=eo(i,t.filters,ro,"taskSchedule");const r=t.sortOptions?.sortField??"id",a=t.sortOptions?.sortOrder??"DESC";return i=i.orderBy(`task.${r}`,a),await i.limit(t?.pagingOptions?.pageSize??100).offset((t?.pagingOptions?.pageSize??100)*(t?.pagingOptions?.pageIndex??0)).getMany()}),"TasksRepository::getTasks"):(i.warn({params:t},"TasksRepository::getTasks missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"TasksRepository::getTasks result"),i}async getTasksCount(e){this.logger.trace(e,"TasksRepository::getTasksCount started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>Yn(t?.filters)?e.safeQuery((async e=>{let i=e.getRepository(ya).createQueryBuilder("task");return(t.filters.title||t.filters.description)&&(i=i.innerJoin("task.taskSchedule","taskSchedule")),i=eo(i,t.filters,io,"task"),i=eo(i,t.filters,ro,"taskSchedule"),await i.getCount()}),"TasksRepository::getTasksCount"):(i.warn({params:t},"TasksRepository::getTasksCount missing required parameters"),-1))(t,e,this.logger);return this.logger.trace({result:i},"TasksRepository::getTasksCount result"),i}async updateTask(e){this.logger.trace(e,"TasksRepository::updateTask started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.id&&t?.values?.modifiedBy?e.safeQuery((async e=>{const i=e.getRepository(ya),r=new Date;return(await i.createQueryBuilder().update(ya).set({...t.values,modifiedAt:r}).where("id = :id",{id:t.filters.id}).execute()).affected>0}),"TasksRepository::updateTask"):(i.warn({params:t},"TasksRepository::updateTask missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"TasksRepository::updateTask result"),i}async setTaskAsPastDue(e){this.logger.trace(e,"TasksRepository::setTaskAsPastDue started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.id&&t?.modifiedBy?e.safeQuery((async e=>{const i=e.getRepository(ya),r=new Date;return(await i.createQueryBuilder().update(ya).set({status:"past_due",modifiedBy:t.modifiedBy,modifiedAt:r,pastDueAt:t.pastDueAt??r}).where("id = :id",{id:t.id}).execute()).affected>0}),"TasksRepository::setTaskAsPastDue"):(i.warn({params:t},"TasksRepository::setTaskAsPastDue missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"TasksRepository::setTaskAsPastDue result"),i}async completeTask(e){this.logger.trace(e,"TasksRepository::completeTask started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.id&&t?.completedBy?e.safeQuery((async e=>{const i=e.getRepository(ya),r=new Date;return(await i.createQueryBuilder().update(ya).set({status:"completed",completedBy:t.completedBy,completedAt:r,completionNotes:t.completionNotes,completionOdometer:t.completionOdometer,completionActiveHours:t.completionActiveHours}).where("id = :id",{id:t.id}).execute()).affected>0}),"TasksRepository::completeTask"):(i.warn({params:t},"TasksRepository::completeTask missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"TasksRepository::completeTask result"),i}async deleteTask(e){this.logger.trace(e,"TasksRepository::deleteTask started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.id&&t?.deletedBy?e.safeQuery((async e=>{const i=e.getRepository(ya),r=new Date;return(await i.createQueryBuilder().update(ya).set({status:"deleted",deletedBy:t.deletedBy,deletedAt:r}).where("id = :id",{id:t.id}).execute()).affected>0}),"TasksRepository::deleteTask"):(i.warn({params:t},"TasksRepository::deleteTask missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"TasksRepository::deleteTask result"),i}}const no=["tripGuid","imei","startDate","distance","startLat","startLon","startAddress","positionStart","tripCompletionStatusId","clientId","duration","tripType","startMessageId"],oo=["filters.tripGuid","values.endDate","values.endLat","values.endLon","values.endAddress","values.positionEnd","values.endMessageId","values.distance","values.duration","values.tripType","values.tripCompletionStatusId"],so=["filters.clientId","filters.from","filters.to"],lo=(e,t)=>!e||!t||t.some((t=>null==((e,t)=>{const i=t.split(".");let r=e;for(const e of i){if(null==r[e])return null;r=r[e]}return r})(e,t))),co=(e,t,i,r,a)=>{if(null!=t[a]){const n={};n[a]=t[a],e.andWhere(`${i} ${r} :${a}`,n)}};class uo extends yn{async createTrip(e){this.logger.trace(e,"TripRepository::this.createTrip started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{const r=vn(t?.tripGuid),a=vn(t?.startMessageId),n=vn(t?.endMessageId);return!r||t?.startMessageId&&!a||t?.endMessageId&&!n||lo(t,no)?(i.warn({params:t},"TripRepository::upsertTrip missing required parameters"),null):e.safeQuery((async e=>{const i=e.getRepository(fa),o=new Date,s={...t,tripGuid:r,createdAt:t.createdAt??o,startMessageId:a,endMessageId:n};return await i.save(s)??null}),"TripRepository::createTrip error")})(t,e,this.logger);return this.logger.trace(i,"TripRepository::createTrip result"),i}async updateTripEndValues(e){this.logger.trace(e,"TripRepository::this.updateTripEndValues started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{const r=vn(t?.filters?.tripGuid),a=vn(t?.values?.endMessageId);return r&&a&&!lo(t,oo)?e.safeQuery((async e=>{const i=e.getRepository(fa),{values:n}=t;return(await i.createQueryBuilder().update(fa).set({endDate:n.endDate,endLat:n.endLat,endLon:n.endLon,endAddress:n.endAddress,positionEnd:n.positionEnd,endMessageId:a,distance:n.distance,duration:n.duration,tripType:n.tripType,tripCompletionStatusId:n.tripCompletionStatusId}).where("tripGuid = :tripGuid",{tripGuid:r}).execute()).affected>0}),"TripRepository::updateTripEndValues error"):(i.warn({params:t},"TripRepository::updateTripEndValues missing required parameters"),!1)})(t,e,this.logger);return this.logger.trace({result:i},"TripRepository::updateTripEndValues result"),i}async getTripById(e){this.logger.trace({},"TripRepository::this.getTripById started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{const r=vn(t);return r?e.safeQuery((async e=>{const t=e.getRepository(fa);return await t.findOne({where:{tripGuid:r}})}),"TripRepository::getTripById error"):(i.warn("TripRepository::getTripById missing required parameter tripGuid"),null)})(t,e,this.logger);return this.logger.trace(i,"TripRepository::getTripById result"),i}async getTrips(e){this.logger.trace({},"TripRepository::this.getTrips started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>lo(t,so)?(i.warn("TripRepository::getTrips missing required parameters"),null):e.safeQuery((async e=>{const i=e.getRepository(fa).createQueryBuilder("trip").innerJoin(xe,"device","device.imei = trip.imei AND device.clientId = trip.clientId"),{filters:r,pagingOptions:a,sortOptions:n}=t;i.where("trip.startDate between :from and :to",{from:r.from,to:r.to}),co(i,r,"trip.clientId","=","clientId"),r.deviceStatus||(r.deviceStatus="A"),co(i,r,"device.status","=","deviceStatus"),r.imeis?.length&&i.andWhere("trip.imei IN (:imeiList)",{imeiList:r.imeis}),co(i,r,"device.name","=","deviceName"),co(i,r,"trip.tripCompletionStatusId","=","completionStatus"),co(i,r,"trip.tripType","=","tripType"),co(i,r,"trip.duration",">=","durationMin"),co(i,r,"trip.duration","<=","durationMax"),co(i,r,"trip.distance",">=","distanceMin"),co(i,r,"trip.distance","<=","distanceMax"),((e,t)=>{let i="trip",r=t?.sortField??"startDate";"deviceName"===r&&(i="device",r="name"),e.orderBy(`${i}.${r}`,"ASC"===t?.sortOrder?"ASC":"DESC")})(i,n);const o=await i.getCount(),s=a.pageSize??50;i.limit(s);const l=(a.pageIndex??0)*s;return i.offset(l),{trips:await i.getMany(),totalCount:o}}),"TripRepository::getTrips error"))(t,e,this.logger);return this.logger.trace(i,"TripRepository::getTrips result"),i}async upsertTrip(e){this.logger.trace(e,"TripRepository::this.upsertTrip started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{const r=vn(t?.tripGuid),a=vn(t?.startMessageId),n=vn(t?.endMessageId);return!r||t?.startMessageId&&!a||t?.endMessageId&&!n||lo(t,no)?(i.warn({params:t},"TripRepository::upsertTrip missing required parameters"),!1):e.safeQuery((async e=>{const i=e.getRepository(fa),o=new Date,s={...t,tripGuid:r,createdAt:t.createdAt??o,startMessageId:a,endMessageId:n},l=await i.upsert(s,{conflictPaths:["tripGuid"]});return l?.raw?.affectedRows>0}),"TripRepository::upsertTrip error")})(t,e,this.logger);return this.logger.trace({result:i},"TripRepository::upsertTrip result"),i}}class po extends yn{async createUserActivation(e){this.logger.trace(e,"UserActivationsRepository::createUserActivation started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.userId||!t?.clientId)return i.warn({params:t},"UserActivationsRepository::createUserActivation - missing required parameters"),null;const r=vn(t?.userId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(Aa),a=new Date,n={id:t?.id,userId:r,clientId:t?.clientId,createdAt:a,legacyCreatedAt:a,status:t?.status??"A"};return await i.save(n)}),"UserActivationsRepository::createUserActivation"):(i.warn({params:t},"UserActivationsRepository::createUserActivation - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"UserActivationsRepository::createUserActivation result"),i}async getUserActivations(e){this.logger.trace(e,"UserActivationsRepository::getUserActivations started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.userId&&!t?.filters?.clientId)return i.warn({params:t},"UserActivationsRepository::getUserActivations - missing required parameters"),[];const r=vn(t?.filters?.userId);return t?.filters?.userId&&!r?.length?(i.warn({params:t},"UserActivationsRepository::getUserActivations - user id should be a valid UUID"),[]):e.safeQuery((async e=>{let i=e.getRepository(Aa).createQueryBuilder("userActivation");return t.filters.userId&&(i=i.where("userActivation.userId = :userId",{userId:r})),t.filters.clientId&&(i=i.andWhere("userActivation.clientId = :clientId",{clientId:t.filters.clientId})),await i.getMany()}),"UserActivationsRepository::getUserActivations")})(t,e,this.logger);return this.logger.trace(i,"UserActivationsRepository::getUserActivations result"),i}async deleteUserActivation(e){this.logger.trace(e,"UserActivationsRepository::deleteUserActivation started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.userId)return i.warn({params:t},"UserActivationsRepository::deleteUserActivation - missing required parameters"),!1;const r=vn(t?.userId);return r?.length?e.safeQuery((async e=>{const t=e.getRepository(Aa);return(await t.createQueryBuilder("userActivation").delete().where("userId = :userId",{userId:r}).execute()).affected>0}),"UserActivationsRepository::deleteUserActivation"):(i.warn({params:t},"UserActivationsRepository::deleteUserActivation - user id should be a valid UUID"),!1)})(t,e,this.logger);return this.logger.trace({result:i},"UserActivationsRepository::deleteUserActivation result"),i}async getUserActivationDevices(e){this.logger.trace(e,"UserActivationsRepository::getUserActivationDevices started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.id||t?.filters?.imei?e.safeQuery((async e=>{let i=e.getRepository(Na).createQueryBuilder("userActivationDevice");return t.filters.id&&(i=i.where("userActivationDevice.id = :id",{id:t.filters.id})),t.filters.imei&&(i=i.andWhere("userActivationDevice.imei = :imei",{imei:t.filters.imei})),i=i.orderBy("userActivationDevice.id","DESC"),await i.getMany()}),"UserActivationsRepository::getUserActivationDevices"):(i.warn({params:t},"UserActivationsRepository::getUserActivations - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"UserActivationsRepository::getUserActivationDevices result"),i}async getUserActivationDevicesByClientId(e){this.logger.trace(e,"UserActivationsRepository::getUserActivationDevicesByClientId started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.clientId?e.safeQuery((async e=>{const i=e.getRepository(Na);return(await i.query("SELECT *\n FROM (\n SELECT uad.*,\n row_number() over (partition by uad.imei order by uad.createdAt desc) as rk\n FROM userActivationDevice uad\n INNER JOIN device d on uad.deviceId = d.id\n WHERE d.clientId = ?\n ) AS sub\n WHERE sub.rk = 1",[t.filters.clientId])).map((e=>({...e,notificationByEmail:1===e.notificationByEmail,notificationBySms:1===e.notificationBySms,planAnnual:1===e.planAnnual})))}),"UserActivationsRepository::getUserActivationDevicesByClientId"):(i.warn({params:t},"UserActivationsRepository::getUserActivationDevicesByClientId - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"UserActivationsRepository::getUserActivationDevicesByClientId result"),i}async createUserActivationDevice(e){this.logger.trace(e,"UserActivationsRepository::createUserActivationDevice started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.userActivationId&&t?.deviceId&&t?.imei?e.safeQuery((async e=>{const i=e.getRepository(Na),r=new Date,a={id:t?.id,deviceId:t?.deviceId,billingInterval:t?.billingInterval,deviceName:t?.deviceName,userActivationId:t?.userActivationId,trackingReason:t?.trackingReason,deviceColor:t?.deviceColor,notificationByEmail:t?.notificationByEmail,notificationBySms:t?.notificationBySms,planAnnual:t?.planAnnual,dataSourceTypeId:t?.dataSourceTypeId,subscriptionId:t?.subscriptionId,platform:t?.platform,eventType:t?.eventType,planCode:t?.planCode,servicePlan:t?.servicePlan,model:t?.model,imei:t?.imei,status:t?.status,createdAt:r,modifiedAt:r};return await i.save(a)}),"UserActivationsRepository::createUserActivation"):(i.warn({params:t},"UserActivationsRepository::createUserActivation - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"UserActivationsRepository::createUserActivationDevice result"),i}async getLastActivationDevice(e){this.logger.trace(e,"UserActivationsRepository::getLastActivationDevice started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imei?e.safeQuery((async e=>{let i=e.getRepository(Na).createQueryBuilder("userActivationDevice");t.projectionOptions?.withDevice&&(i=i.innerJoinAndSelect("userActivationDevice.device","device")),t.projectionOptions?.withUserActivation&&(i=i.innerJoinAndSelect("userActivationDevice.userActivation","userActivation")),i=i.where("LOWER(userActivationDevice.imei) = LOWER(:imei)",{imei:t.filters.imei});const r=t.sortOptions?.sortField?`userActivationDevice.${t.sortOptions.sortField}`:"userActivationDevice.id";return i=i.orderBy(r,"DESC").limit(1),await i.getOne()}),"UserActivationsRepository::getLastActivationDevice"):(i.warn({params:t},"UserActivationsRepository::getLastActivationDevice - missing required parameters"),null))(t,e,this.logger);return this.logger.trace(i,"UserActivationsRepository::getLastActivationDevice result"),i}async updateUserActivationDevice(e){this.logger.trace(e,"UserActivationsRepository::updateUserActivationDevice started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>(t?.filters?.imei||t?.filters?.id)&&(t?.values?.trackingReason||t?.values?.deviceName||t?.values?.deviceColor||null!=t?.values?.planAnnual||t?.values?.subscriptionId||t?.values?.platform||t?.values?.model||t?.values?.servicePlan)?e.safeQuery((async e=>{const i=e.getRepository(Na),r=new Date;let a=i.createQueryBuilder().update(Na).set({...t.values,modifiedAt:r});return t.filters.imei&&(a=a.where("imei = :imei",{imei:t.filters.imei})),t.filters.id&&(a=a.andWhere("id = :id",{id:t.filters.id})),(await a.execute()).affected>0}),"UserActivationsRepository::updateUserActivationDevice"):(i.warn({params:t},"UserActivationsRepository::updateUserActivationDevice - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"UserActivationsRepository::updateUserActivationDevice result"),i}async getUserActivationMetrics(e){this.logger.trace(e,"UserActivationsRepository::getUserActivationMetrics started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.userId)return i.warn({params:t},"UserActivationsRepository::getUserActivationMetrics - missing required parameters"),null;const r=vn(t?.filters?.userId);return r?.length?e.safeQuery((async e=>{let i=e.getRepository(xa).createQueryBuilder("userActivationMetric");return t.filters.userId&&(i=i.where("userActivationMetric.userId = :userId",{userId:r})),await i.getOne()}),"UserActivationsRepository::getUserActivationMetrics"):(i.warn({params:t},"UserActivationsRepository::getUserActivationMetrics - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"UserActivationsRepository::getUserActivationMetrics result"),i}async updateUserActivationMetrics(e){this.logger.trace(e,"UserActivationsRepository::updateUserActivationMetrics started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{const r=vn(t?.filters?.userId);return r&&(t?.values?.firstName||t?.values?.lastName||t?.values?.email||t?.values?.phone||t?.values?.trackingReason||t?.values?.companyName||t?.values?.role||t?.values?.industry||t?.values?.devicesActivatingCategory||t?.values?.assetsCountRange||t?.values?.devicesActivatingCount||t?.values?.plan||t?.values?.usersInvitedCount||null!=t?.values?.meetingScheduled||t?.values?.planAnnual||t?.values?.planId||t?.values?.spyEnvironment||t?.values?.jarvisScore||t?.values?.enrichmentCompanyDescription||t?.values?.jarvisEnrichmentCompanyEin||t?.values?.enrichmentCompanyEmployees||t?.values?.enrichmentCompanyIndustry||t?.values?.enrichmentCompanyLocation||t?.values?.enrichmentCompanyName||t?.values?.enrichmentCompanyRevenue||t?.values?.enrichmentPrivateDomain||t?.values?.enrichmentPublicTicker||t?.values?.enrichmentRole||t?.values?.enrichmentTags||t?.values?.jenrichmentTitle||t?.values?.enrichmentVerifiedEmployment)?e.safeQuery((async e=>{const i=e.getRepository(xa),a=new Date;let n=i.createQueryBuilder().update(xa).set({...t.values,modifiedAt:a});return r&&(n=n.andWhere("userId = :userId",{userId:r})),(await n.execute()).affected>0}),"UserActivationsRepository::UpdateUserActivationMetrics"):(i.warn({params:t},"UserActivationsRepository::UpdateUserActivationMetrics - missing required parameters"),!1)})(t,e,this.logger);return this.logger.trace({result:i},"UserActivationsRepository::updateUserActivationMetrics result"),i}async createUserActivationEvent(e){this.logger.trace(e,"UserActivationsRepository::createUserActivationEvent started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.userId||!t?.eventId||!t?.eventName)return i.warn({params:t},"UserActivationsRepository::createUserActivationEvent - missing required parameters"),null;const r=vn(t?.userId);if(!r?.length)return i.warn({params:t},"UserActivationsRepository::createUserActivationEvent - user id should be a valid UUID"),null;const a=vn(t?.eventId);return a?.length?e.safeQuery((async e=>{const i=e.getRepository(Pa),n=new Date,o={userId:r,eventId:a,eventName:t?.eventName,eventValue:t?.eventValue,eventMetadata:t?.eventMetadata,platform:t?.platform,ip:t?.ip,userAgent:t?.userAgent,createdAt:t?.createdAt??n};return await i.save(o)}),"UserActivationsRepository::createUserActivationEvent"):(i.warn({params:t},"UserActivationsRepository::createUserActivationEvent - event id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"UserActivationsRepository::createUserActivationEvent result"),i}async createUserActivationMetric(e){this.logger.trace(e,"UserActivationsRepository::createUserActivationMetric started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.userId&&t?.firstName&&t?.lastName&&t?.email))return i.warn({params:t},"UserActivationsRepository::createUserActivationMetric - missing required parameters"),null;const r=vn(t?.userId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(xa),a=new Date,n={id:t?.id,userId:r,firstName:t?.firstName,lastName:t?.lastName,email:t?.email,phone:t?.phone,createdAt:a,modifiedAt:a};return await i.save(n)}),"UserActivationsRepository::createUserActivationMetric"):(i.warn({params:t},"UserActivationsRepository::createUserActivationMetric - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"UserActivationsRepository::createUserActivationMetric result"),i}}class mo extends yn{async createUserAppFeedback(e){this.logger.trace(e,"UserAppFeedbackRepository::createUserAppFeedback started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.userId||!t?.platform||!t?.appVersion)return i.warn({params:t},"UserAppFeedbackRepository::createUserAppFeedback - missing required parameters"),null;const r=vn(t?.userId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(Fa),a={id:t.id,userId:r,platform:t.platform,appVersion:t.appVersion,feedback:t.feedback,amazonReviewDate:t.amazonReviewDate,createdAt:new Date};return await i.save(a)}),"UserAppFeedbackRepository::createUserAppFeedback"):(i.warn({userId:t?.userId},"UserAppFeedbackRepository::createUserAppFeedback - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"UserAppFeedbackRepository::createUserAppFeedback result"),i}}class yo extends yn{async getUserAppIncidents(e){this.logger.trace(e,"UserAppIncidentsRepository::getUserAppIncidents started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.userId)return i.warn({params:t},"UserAppIncidentsRepository::getUserAppIncidents - missing required parameters"),[];const r=vn(t.filters.userId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(qa).createQueryBuilder("userAppIncident").where("userAppIncident.userId = :userId",{userId:r}).andWhere("userAppIncident.createdAt between :createdFrom and :createdTo",{createdFrom:t.filters.createdFrom,createdTo:t.filters.createdTo}).orderBy("userAppIncident.createdAt","DESC");return await i.getMany()}),"UserAppIncidentsRepository::getUserAppIncidents"):(i.warn({params:t},"UserAppIncidentsRepository::getUserAppIncidents - userId is not a valid UUID"),[])})(t,e,this.logger);return this.logger.trace(i,"UserAppIncidentsRepository::getUserAppIncidents result"),i}async upsertUserAppIncident(e){this.logger.trace(e,"UserAppIncidentsRepository::upsertUserAppIncident started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.userId&&t.deviceOs&&t.stage&&t.appVersion&&t?.errorId))return i.warn({params:t},"UserAppIncidentsRepository::upsertUserAppIncident - missing required parameters"),!1;const r=vn(t?.userId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(qa),a=new Date,n={id:t.id,userId:r,userName:t.userName,userEmail:t.userEmail,deviceOs:t.deviceOs,deviceManufacturer:t.deviceManufacturer,deviceModel:t.deviceModel,stage:t.stage,appVersion:t.appVersion,errorMessage:t.errorMessage,errorFirstReceivedAt:t.errorFirstReceivedAt,errorReceivedAt:t.errorReceivedAt,deviceJailbroken:t.deviceJailbroken,deviceOsVersion:t.deviceOsVersion,deviceFreeMemory:t.deviceFreeMemory,deviceTotalMemory:t.deviceTotalMemory,deviceCharging:t.deviceCharging,deviceBatteryLevel:t.deviceBatteryLevel,deviceNetworkAccess:t.deviceNetworkAccess,appActiveScreen:t.appActiveScreen,appInForeground:t.appInForeground,appDurationInForeground:t.appDurationInForeground,appBundleId:t.appBundleId,incidentUrl:t.incidentUrl,errorId:t.errorId,createdAt:a},o=await i.upsert(n,{conflictPaths:["userId","errorId"]});return o?.raw?.affectedRows>0}),"UserAppIncidentsRepository::upsertUserAppIncident"):(i.warn({params:t},"UserAppIncidentsRepository::upsertUserAppIncident - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace({result:i},"UserAppIncidentsRepository::upsertUserAppIncident result"),i}}class go extends yn{async getUserConfigurations(e){this.logger.trace(e,"UserConfigurationsRepository::getUserConfigurations started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.clientId&&!t?.filters?.userId)return i.warn({params:t},"UserConfigurationsRepository::getUserConfigurations - missing required parameters"),[];const r=vn(t?.filters?.userId);return t?.filters?.userId&&!r?(i.warn({params:t},"UserConfigurationsRepository::getUserConfigurations - user id should be a valid UUID"),[]):e.safeQuery((async e=>{let i=e.getRepository(Ye).createQueryBuilder("userConfiguration");return t.filters.clientId&&(i=i.innerJoin("userConfiguration.user","user"),i=i.andWhere("user.clientId = :clientId",{clientId:t.filters.clientId})),r&&(i=i.andWhere("userConfiguration.userId = :userId",{userId:r})),await i.getMany()}),"UserConfigurationsRepository::getUserConfigurations")})(t,e,this.logger);return this.logger.trace(i,"UserConfigurationsRepository::getUserConfigurations result"),i}async createUserConfiguration(e){this.logger.trace(e,"UserConfigurationsRepository::createUserConfiguration started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.userId||null==t?.isMetric)return i.warn({params:t},"UserConfigurationsRepository::createUserConfiguration - missing required parameters"),null;const r=vn(t?.userId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(Ye),a=new Date,n={id:t?.id,userId:r,isMetric:t?.isMetric,timezone:t?.timezone,defaultMapLayer:t?.defaultMapLayer,speedUnits:t?.speedUnits,distanceUnits:t?.distanceUnits,alertsNotificationsOn:null==t?.alertsNotificationsOn||t?.alertsNotificationsOn,dataSourceTypeId:t?.dataSourceTypeId,homepage:t?.homepage,temperatureUnits:t?.temperatureUnits,addressFormat:t?.addressFormat,createdAt:a,modifiedAt:a};return await i.save(n)}),"UserConfigurationsRepository::createUserConfiguration"):(i.warn({params:t},"UserConfigurationsRepository::createUserConfiguration - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"UserConfigurationsRepository::createUserConfiguration result"),i}async createUserAlertTimeWindows(e){this.logger.trace(e,"UserConfigurationsRepository::createUserAlertTimeWindows started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.userId&&t?.clientId&&t?.alertTypeId&&t?.daysOfTheWeek&&t.startTime&&t.endTime))return i.warn({params:t},"UserConfigurationsRepository::createUserAlertTimeWindows - missing required parameters"),null;const r=vn(t?.userId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(ye),a={id:t?.id??null,alertId:t?.alertTypeId,clientId:t?.clientId,userId:r,daysOfTheWeek:t?.daysOfTheWeek,startTime:t?.startTime,endTime:t?.endTime,alertConfigurationId:t?.alertConfigurationId??null,label:t?.label??null};return await i.save(a)}),"UserConfigurationsRepository::createUserAlertTimeWindows"):(i.warn({params:t},"UserConfigurationsRepository::createUserAlertTimeWindows - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"UserConfigurationsRepository::createUserAlertTimeWindows result"),i}async createDeviceAlertTimeWindows(e){this.logger.trace(e,"UserConfigurationsRepository::createDeviceAlertTimeWindows started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.userId&&t?.clientId&&t?.alertTypeId&&t?.daysOfTheWeek&&t.startTime&&t.endTime&&t.imei))return i.warn({params:t},"UserConfigurationsRepository::createDeviceAlertTimeWindows - missing required parameters"),null;const r=vn(t?.userId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(gi),a={id:t?.id??null,alertTypeId:t?.alertTypeId,clientId:t?.clientId,userId:r,daysOfTheWeek:t?.daysOfTheWeek,startTime:t?.startTime,endTime:t?.endTime,alertConfigurationId:t?.alertConfigurationId??null,filter:t?.filter??null,imei:t?.imei,label:t?.label??null};return await i.save(a)}),"UserConfigurationsRepository::createDeviceAlertTimeWindows"):(i.warn({params:t},"UserConfigurationsRepository::createDeviceAlertTimeWindows - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"UserConfigurationsRepository::createDeviceAlertTimeWindows result"),i}async updateUserConfiguration(e){this.logger.trace(e,"UserConfigurationsRepository::updateUserConfiguration started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.userId)return i.warn({params:t},"UserConfigurationsRepository::updateUserConfiguration - missing required parameters"),!1;const r=vn(t?.filters?.userId);return r?t?.values?.timezone||t?.values?.defaultMapLayer||t?.values?.speedUnits||t?.values?.distanceUnits||null!=t?.values?.alertsNotificationsOn||t?.values?.dataSourceTypeId||t?.values?.homepage||t?.values?.temperatureUnits||t?.values?.addressFormat?e.safeQuery((async e=>{const i=e.getRepository(Ye),a=new Date,n=i.createQueryBuilder().update(Ye).set({timezone:t.values.timezone,defaultMapLayer:t.values.defaultMapLayer,speedUnits:t.values.speedUnits,distanceUnits:t.values.distanceUnits,alertsNotificationsOn:t.values.alertsNotificationsOn,dataSourceTypeId:t.values.dataSourceTypeId,homepage:t.values.homepage,temperatureUnits:t.values.temperatureUnits,modifiedAt:a,addressFormat:t.values.addressFormat}).where("userId = :userId",{userId:r});return(await n.execute()).affected>0}),"UserConfigurationsRepository::updateUserConfiguration"):(i.warn({params:t},"UserConfigurationsRepository::updateUserConfiguration - missing required parameters"),!1):(i.warn({userId:t?.filters?.userId},"UserConfigurationsRepository::updateUserConfiguration - user id should be a valid UUID"),!1)})(t,e,this.logger);return this.logger.trace({result:i},"UserConfigurationsRepository::updateUserConfiguration result"),i}async deleteUserConfiguration(e){this.logger.trace(e,"UserConfigurationsRepository::deleteUserConfiguration started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.userId)return i.warn({params:t},"UserConfigurationsRepository::deleteUserConfiguration - missing required parameters"),!1;const r=vn(t?.filters?.userId);return r?e.safeQuery((async e=>{const t=e.getRepository(Ye).createQueryBuilder().delete().where("userId = :userId",{userId:r});return(await t.execute()).affected>0}),"UserConfigurationsRepository::deleteUserConfiguration"):(i.warn({userId:t?.filters?.userId},"UserConfigurationsRepository::deleteUserConfiguration - user id should be a valid UUID"),!1)})(t,e,this.logger);return this.logger.trace({result:i},"UserConfigurationsRepository::deleteUserConfiguration result"),i}async getUserAlertConfigurations(e){this.logger.trace(e,"UserConfigurationsRepository::getUserAlertConfigurations started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.userId)return i.warn({params:t},"UserConfigurationsRepository::getUserAlertConfigurations - missing required parameters"),[];const r=vn(t?.filters?.userId);return r?e.safeQuery((async e=>{let i=e.getRepository($e).createQueryBuilder("userAlertConfiguration");return i=i.innerJoinAndSelect("userAlertConfiguration.alertType","alertType",t.filters.includeBeta?void 0:"alertType.stage = 'prod'"),i=i.where("userAlertConfiguration.userId = :userId",{userId:r}),i=i.orderBy("userAlertConfiguration.alertTypeId"),await i.getMany()}),"UserConfigurationsRepository::getUserAlertConfigurations"):(i.warn({params:t},"UserConfigurationsRepository::getUserAlertConfigurations - user id should be a valid UUID"),[])})(t,e,this.logger);return this.logger.trace(i,"UserConfigurationsRepository::getUserAlertConfigurations result"),i}async getUserAlertTimeWindows(e){this.logger.trace(e,"UserConfigurationsRepository::getUserAlertConfigurations started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.userId||t?.filters?.clientId||t?.filters?.configId?e.safeQuery((async e=>{let i=e.getRepository(ye).createQueryBuilder("alertTimeWindowConfiguration");if(t?.filters?.configId&&(i=i.where("alertTimeWindowConfiguration.id = :id",{id:t.filters.configId})),t?.filters?.userId){const e=vn(t?.filters?.userId);if(!e)return[];i=i.where("alertTimeWindowConfiguration.userId = :userId",{userId:e})}return t?.filters?.clientId&&(i=i.where("alertTimeWindowConfiguration.clientId = :clientId",{clientId:t.filters.clientId})),i=i.orderBy("alertTimeWindowConfiguration.alertId"),await i.getMany()}),"UserConfigurationsRepository::getUserAlertTimeWindows"):(i.warn({params:t},"UserConfigurationsRepository::getUserAlertTimeWindows - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"UserConfigurationsRepository::getUserAlertTimeWindows result"),i}async getDeviceAlertTimeWindows(e){this.logger.trace(e,"UserConfigurationsRepository::getUserAlertConfigurations started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.filters?.imei||t?.filters?.clientId||t?.filters?.userId||t?.filters?.configId))return i.warn({params:t},"UserConfigurationsRepository::getDeviceAlertTimeWindows - missing required parameters"),[];let r=null;return t?.filters?.userId&&(r=vn(t?.filters?.userId)),e.safeQuery((async e=>{let i=e.getRepository(gi).createQueryBuilder("deviceAlertConfiguration");return t?.filters?.configId&&(i=i.andWhere("deviceAlertConfiguration.id = :id",{id:t.filters.configId})),t?.filters?.imei&&(i=i.andWhere("deviceAlertConfiguration.imei = :imei",{imei:t.filters.imei})),t?.filters?.clientId&&(i=i.andWhere("deviceAlertConfiguration.clientId = :clientId",{clientId:t.filters.clientId})),r&&(i=i.andWhere("deviceAlertConfiguration.userId = :userId",{userId:r})),i=i.orderBy("deviceAlertConfiguration.alertTypeId"),await i.getMany()}),"UserConfigurationsRepository::getDeviceAlertTimeWindows")})(t,e,this.logger);return this.logger.trace(i,"UserConfigurationsRepository::getDeviceAlertTimeWindows result"),i}async bulkCreateUserAlertConfigurations(e){this.logger.trace(e,"UserConfigurationsRepository::bulkCreateUserAlertConfigurations started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.alertConfigurations?.length?e.safeQuery((async e=>{const r=e.getRepository($e),a=[];for(const e of t.alertConfigurations){if(!e?.userId||!e?.alertTypeId)return i.warn(e,"UserConfigurationsRepository::bulkCreateUserAlertConfigurations - User alert configuration could not be created: missing required parameters"),!1;const t=vn(e?.userId);if(!t?.length)return i.warn(e,"UserConfigurationsRepository::bulkCreateUserAlertConfigurations - User alert configuration could not be created: user id should be a valid UUID"),!1;const r={id:e?.id,userId:t,alertTypeId:e?.alertTypeId,smsNotification:e?.smsNotification,emailNotification:e?.emailNotification,appNotification:e?.appNotification,pushNotification:e?.pushNotification,alertValue:e?.alertValue,alertMetadata:e?.alertMetadata};a.push(r)}return!!a.length&&(await r.createQueryBuilder().insert().into($e).values(a).execute()).identifiers.length===a.length}),"UserConfigurationsRepository::bulkCreateUserAlertConfigurations"):(i.warn({params:t},"UserConfigurationsRepository::bulkCreateUserAlertConfigurations - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"UserConfigurationsRepository::bulkCreateUserAlertConfigurations result"),i}async updateUserAlertConfigurations(e){this.logger.trace(e,"UserConfigurationsRepository::updateUserAlertConfigurations started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.userId)return i.warn({params:t},"UserConfigurationsRepository::updateUserAlertConfigurations - missing required parameters"),!1;const r=vn(t?.filters?.userId);return r?null!=t?.values?.smsNotification||null!=t?.values?.emailNotification||null!=t?.values?.appNotification||null!=t?.values?.pushNotification||t?.values?.alertValue||t?.values?.alertMetadata?e.safeQuery((async e=>{const i=e.getRepository($e).createQueryBuilder().update($e).set({smsNotification:t?.values?.smsNotification,emailNotification:t?.values?.emailNotification,appNotification:t?.values?.appNotification,pushNotification:t?.values?.pushNotification,alertValue:t?.values?.alertValue,alertMetadata:t?.values?.alertMetadata}).where("userId = :userId",{userId:r});return t?.filters?.alertTypeId&&i.andWhere("alertTypeId = :alertTypeId",{alertTypeId:t?.filters?.alertTypeId}),(await i.execute()).affected>0}),"UserConfigurationsRepository::updateUserAlertConfiguration"):(i.warn({params:t},"UserConfigurationsRepository::updateUserAlertConfigurations - missing required parameters"),!1):(i.warn({userId:t?.filters?.userId},"UserConfigurationsRepository::updateUserAlertConfigurations - user id should be a valid UUID"),!1)})(t,e,this.logger);return this.logger.trace({result:i},"UserConfigurationsRepository::updateUserAlertConfigurations result"),i}async deleteUserAlertConfigurations(e){this.logger.trace(e,"UserConfigurationsRepository::deleteUserAlertConfigurations started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.userId)return i.warn({params:t},"UserConfigurationsRepository::deleteUserAlertConfigurations - missing required parameters"),!1;const r=vn(t?.filters?.userId);return r?e.safeQuery((async e=>{const t=e.getRepository($e).createQueryBuilder().delete().where("userId = :userId",{userId:r});return(await t.execute()).affected>0}),"UserConfigurationsRepository::deleteUserAlertConfigurations"):(i.warn({userId:t?.filters?.userId},"UserConfigurationsRepository::deleteUserAlertConfigurations - user id should be a valid UUID"),!1)})(t,e,this.logger);return this.logger.trace({result:i},"UserConfigurationsRepository::deleteUserAlertConfigurations result"),i}async deleteUserAlertTimeWindows(e){this.logger.trace(e,"UserConfigurationsRepository::deleteUserAlertTimeWindows started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.configId?e.safeQuery((async e=>{const i=e.getRepository(ye).createQueryBuilder().delete().where("id = :id",{id:t?.filters?.configId});return(await i.execute()).affected>0}),"UserConfigurationsRepository::deleteUserAlertTimeWindows"):(i.warn({params:t},"UserConfigurationsRepository::deleteUserAlertTimeWindows - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"UserConfigurationsRepository::deleteUserAlertTimeWindows result"),i}async deleteDeviceAlertTimeWindows(e){this.logger.trace(e,"UserConfigurationsRepository::deleteDeviceAlertTimeWindows started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.configId?e.safeQuery((async e=>{const i=e.getRepository(gi).createQueryBuilder().delete().where("id = :id",{id:t?.filters?.configId});return(await i.execute()).affected>0}),"UserConfigurationsRepository::deleteDeviceAlertTimeWindows"):(i.warn({params:t},"UserConfigurationsRepository::deleteDeviceAlertTimeWindows - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"UserConfigurationsRepository::deleteDeviceAlertTimeWindows result"),i}async updateUserAlertTimeWindows(e){this.logger.trace(e,"UserConfigurationsRepository::updateUserAlertTimeWindows started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.configId?Object.values(t?.values).every((e=>null==e))?(i.warn({params:t},"UserConfigurationsRepository::updateUserAlertConfigurations - missing required parameters"),!1):e.safeQuery((async e=>{const i=e.getRepository(ye).createQueryBuilder().update(ye).set({alertConfigurationId:t?.values?.alertConfigurationId??void 0,daysOfTheWeek:t?.values?.daysOfTheWeek??void 0,startTime:t?.values?.startTime??void 0,endTime:t?.values?.endTime??void 0,label:t?.values?.label??void 0}).where("id = :id",{id:t?.filters?.configId});return(await i.execute()).affected>0}),"UserConfigurationsRepository::updateUserAlertConfiguration"):(i.warn({params:t},"UserConfigurationsRepository::updateUserAlertConfigurations - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"UserConfigurationsRepository::updateUserAlertTimeWindows result"),i}async updateDeviceAlertTimeWindows(e){this.logger.trace(e,"UserConfigurationsRepository::updateDeviceAlertTimeWindows started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.configId?Object.values(t?.values).every((e=>null==e))?(i.warn({params:t},"UserConfigurationsRepository::updateDeviceAlertTimeWindows - missing required parameters"),!1):e.safeQuery((async e=>{const i=e.getRepository(gi).createQueryBuilder().update(gi).set({alertConfigurationId:t?.values?.alertConfigurationId??void 0,daysOfTheWeek:t?.values?.daysOfTheWeek??void 0,startTime:t?.values?.startTime??void 0,endTime:t?.values?.endTime??void 0,filter:t?.values?.filter??void 0,label:t?.values?.label??void 0}).where("id = :id",{id:t?.filters?.configId});return(await i.execute()).affected>0}),"UserConfigurationsRepository::updateUserAlertConfiguration"):(i.warn({params:t},"UserConfigurationsRepository::updateDeviceAlertTimeWindows - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"UserConfigurationsRepository::updateDeviceAlertTimeWindows result"),i}}class vo extends yn{async getUserDataDeletionRequest(e){this.logger.trace(e,"UserDataDeletionRequestsRepository::getUserDataDeletionRequest started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.userId&&!t?.filters?.id)return i.warn({params:t},"UserDataDeletionRequestsRepository::getUserDataDeletionRequest - missing required parameters"),null;const r=vn(t?.filters?.userId);return t?.filters?.userId&&!r?.length?(i.warn({params:t},"UserDataDeletionRequestsRepository::getUserDataDeletionRequest - user id should be a valid UUID"),null):e.safeQuery((async e=>{let i=e.getRepository(Ga).createQueryBuilder("userDataDeletionRequest");return t?.filters?.id&&(i=i.where("userDataDeletionRequest.id = :id",{id:t?.filters?.id})),t?.filters?.userId&&(i=i.where("userDataDeletionRequest.userId = :userId",{userId:r})),await i.getOne()}),"UserDataDeletionRequestsRepository::getUserDataDeletionRequest")})(t,e,this.logger);return this.logger.trace(i,"UserDataDeletionRequestsRepository::getUserDataDeletionRequest result"),i}async createUserDataDeletionRequest(e){this.logger.trace(e,"UserDataDeletionRequestsRepository::createUserDataDeletionRequest started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.userId&&t?.clientId&&t?.email&&t?.userSecurityRoleName))return i.warn({params:t},"UserDataDeletionRequestsRepository::createUserDataDeletionRequest - missing required parameters"),null;const r=vn(t?.userId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(Ga),a=new Date,n={id:t?.id,userId:r,clientId:t.clientId,email:t.email,userSecurityRoleName:t.userSecurityRoleName,status:t.status,createdAt:a,modifiedAt:a};return await i.save(n)}),"UserDataDeletionRequestsRepository::createUserDataDeletionRequest"):(i.warn({userId:t?.userId},"UserDataDeletionRequestsRepository::createUserDataDeletionRequest - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"UserDataDeletionRequestsRepository::createUserDataDeletionRequest result"),i}async updateUserDataDeletionRequest(e){this.logger.trace(e,"UserDataDeletionRequestsRepository::updateUserDataDeletionRequest started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.userId&&!t?.filters?.id)return i.warn({params:t},"UserDataDeletionRequestsRepository::updateUserDataDeletionRequest - missing required parameters"),!1;if(!t?.values?.status)return i.warn({params:t},"UserDataDeletionRequestsRepository::updateUserDataDeletionRequest - missing required parameters"),!1;const r=vn(t?.filters?.userId);return t?.filters?.userId&&!r?.length?(i.warn({userId:t?.filters?.userId},"UserDataDeletionRequestsRepository::updateUserDataDeletionRequest - user id should be a valid UUID"),!1):e.safeQuery((async e=>{const i=e.getRepository(Ga),a=new Date;let n=i.createQueryBuilder().update(Ga).set({status:t?.values?.status,modifiedAt:a});return t?.filters?.id&&(n=n.where("id = :id",{id:t?.filters?.id})),t?.filters?.userId&&(n=n.andWhere("userId = :userId",{userId:r})),(await n.execute()).affected>0}),"UserDataDeletionRequestsRepository::updateUserDataDeletionRequest")})(t,e,this.logger);return this.logger.trace({result:i},"UserDataDeletionRequestsRepository::updateUserDataDeletionRequest result"),i}async removeUserDataDeletionRequest(e){this.logger.trace(e,"UserDataDeletionRequestsRepository::removeUserDataDeletionRequest started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.id?e.safeQuery((async e=>{const i=e.getRepository(Ga).createQueryBuilder().delete().where("id = :id",{id:t?.filters?.id});return(await i.execute()).affected>0}),"UserDataDeletionRequestsRepository::removeUserDataDeletionRequest"):(i.warn({params:t},"UserDataDeletionRequestsRepository::removeUserDataDeletionRequest - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"UserDataDeletionRequestsRepository::removeUserDataDeletionRequest result"),i}}class fo extends yn{async getUserInvitationById(e){this.logger.trace(e,"UserInvitationsRepository::getUserInvitationById started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.id)return i.warn({params:t},"UserInvitationsRepository::getUserInvitationById - missing required parameters"),null;const r=vn(t?.filters?.id);return r?.length?e.safeQuery((async e=>{let t=e.getRepository($a).createQueryBuilder("userInvitation");return t=t.where("userInvitation.id = :id",{id:r}),await t.getOne()}),"UserInvitationsRepository::getUserInvitationById"):(i.warn({params:t},"UserInvitationsRepository::getUserInvitationById - user invitation id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"UserInvitationsRepository::getUserInvitationById result"),i}async getUserInvitations(e){this.logger.trace(e,"UserInvitationsRepository::getUserInvitations started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.inviteeEmails?.length||t?.filters?.inviterClientId||t?.filters?.statusList?.length?e.safeQuery((async e=>{let i=e.getRepository($a).createQueryBuilder("userInvitation");return t?.filters?.inviteeEmails?.length&&(i=i.andWhere("LOWER(userInvitation.inviteeEmail) IN (:...inviteeEmails)",{inviteeEmails:t.filters.inviteeEmails.map((e=>e.trim().toLowerCase()))})),t?.filters?.inviterClientId&&(i=i.andWhere("userInvitation.inviterClientId = :inviterClientId",{inviterClientId:t.filters.inviterClientId})),t?.filters?.statusList?.length&&(i=i.andWhere("userInvitation.statusId IN (:...statusList)",{statusList:t.filters.statusList})),i=i.orderBy("userInvitation.createdAt","DESC"),await i.getMany()}),"UserInvitationsRepository::getUserInvitations"):(i.warn({params:t},"UserInvitationsRepository::getUserInvitations - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"UserInvitationsRepository::getUserInvitations result"),i}async updateUserInvitation(e){this.logger.trace(e,"UserInvitationsRepository::updateUserInvitation started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.id)return i.warn({params:t},"UsersRepository::updateUserInvitation - missing required parameters"),!1;const r=vn(t?.filters?.id);if(!r?.length)return i.warn({invitationId:t?.filters?.id},"UsersRepository::updateUserInvitation - user invitation id should be a valid UUID"),!1;const a=vn(t?.values?.inviteeUserId);return t?.values?.statusId||a?.length||t?.values?.inviteeEmail||t?.values?.inviteeSecurityRoleId||t?.values?.trackerImeis||t?.values?.trackerAccess||t?.values?.minAccessDate||t?.values?.boundaries||t?.values?.boundaryAccess?e.safeQuery((async e=>{const i=e.getRepository($a),n=new Date;let o=i.createQueryBuilder().update($a).set({statusId:t?.values?.statusId,inviteeUserId:a,inviteeEmail:t?.values?.inviteeEmail,inviteeSecurityRoleId:t?.values?.inviteeSecurityRoleId,trackerImeis:t?.values?.trackerImeis,trackerAccess:t?.values?.trackerAccess,minAccessDate:t?.values?.minAccessDate,boundaries:t?.values?.boundaries,boundaryAccess:t?.values?.boundaryAccess,modifiedAt:n});return o=o.where("id = :id",{id:r}),(await o.execute()).affected>0}),"UsersRepository::updateUserInvitation"):(i.warn({params:t},"UsersRepository::updateUserInvitation - missing required parameters"),!1)})(t,e,this.logger);return this.logger.trace({result:i},"UserInvitationsRepository::updateUserInvitation result"),i}async createUserInvitation(e){this.logger.trace(e,"UserInvitationsRepository::createUserInvitation started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.id&&t?.inviterClientId&&t?.inviterUserId&&t?.inviteeEmail&&t?.inviteeSecurityRoleId&&t?.statusId))return i.warn({params:t},"UsersRepository::createUserInvitation - missing required parameters"),null;const r=vn(t?.id);if(!r?.length)return i.warn({invitationId:t?.id},"UsersRepository::createUserInvitation - user invitation id should be a valid UUID"),null;const a=vn(t?.inviterUserId);return a?.length?e.safeQuery((async e=>{const i=e.getRepository($a),n=new Date,o={id:r,inviterClientId:t.inviterClientId,inviterUserId:a,inviteeEmail:t.inviteeEmail,inviteeSecurityRoleId:t.inviteeSecurityRoleId,statusId:t.statusId,trackerImeis:t.trackerImeis,trackerAccess:t.trackerAccess,minAccessDate:t.minAccessDate,boundaries:t.boundaries,boundaryAccess:t.boundaryAccess,createdAt:n,modifiedAt:n};return await i.save(o)}),"UsersRepository::createUserInvitation"):(i.warn({inviterUserId:t?.inviterUserId},"UsersRepository::createUserInvitation - inviter user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace({result:i},"UserInvitationsRepository::createUserInvitation result"),i}}class ho extends yn{async getUserRatingRequests(e){this.logger.trace(e,"UserRatingRequestsRepository::getUserRatingRequests started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.userId)return i.warn({params:t},"UserRatingRequestsRepository::getUserRatingRequests - missing required parameters"),[];const r=vn(t?.filters?.userId);return r?.length?e.safeQuery((async e=>{let t=e.getRepository(Ya).createQueryBuilder("userRatingRequest");return t=t.where("userRatingRequest.userId = :userId",{userId:r}),t=t.orderBy("userRatingRequest.requestDate","DESC"),await t.getMany()}),"UserRatingRequestsRepository::getUserRatingRequests"):(i.warn({params:t},"UserRatingRequestsRepository::getUserRatingRequests - user id should be a valid UUID"),[])})(t,e,this.logger);return this.logger.trace(i,"UserRatingRequestsRepository::getUserRatingRequests result"),i}async createUserRatingRequest(e){this.logger.trace(e,"UserRatingRequestsRepository::createUserRatingRequest started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.userId&&t?.clientId&&t?.deviceManufacturer&&t?.deviceOs&&t.deviceOsVersion&&t?.appVersion))return i.warn({params:t},"UserRatingRequestsRepository::createUserRatingRequest - missing required parameters"),null;const r=vn(t?.userId);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(Ya),a={id:t?.id,userId:r,clientId:t.clientId,deviceManufacturer:t.deviceManufacturer,deviceOs:t.deviceOs,deviceOsVersion:t.deviceOsVersion,appVersion:t.appVersion,requestDate:t.requestDate,amazonRequestDate:t.amazonRequestDate,deviceIdentifierKey:t.deviceIdentifierKey};return await i.save(a)}),"UserRatingRequestsRepository::createUserRatingRequest"):(i.warn({userId:t?.userId},"UserRatingRequestsRepository::createUserRatingRequest - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"UserRatingRequestsRepository::createUserRatingRequest result"),i}}class Io extends yn{async getUserRegistrationAttempts(e){this.logger.trace(e,"UserRegistrationAttemptsRepository::getUserRegistrationAttempts started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.id&&!t?.filters?.tempUserId)return i.warn({params:t},"UserRegistrationAttemptsRepository::getUserRegistrationAttempts - missing required parameters"),[];const r=vn(t?.filters?.tempUserId);return t?.filters?.tempUserId&&!r?.length?(i.warn({params:t},"UserRegistrationAttemptsRepository::getUserRegistrationAttempts - temp user id should be a valid UUID"),[]):e.safeQuery((async e=>{let i=e.getRepository(rn).createQueryBuilder("userRegistrationAttempt");return t?.filters?.id&&(i=i.where("userRegistrationAttempt.id = :id",{id:t?.filters?.id})),t?.filters?.tempUserId&&(i=i.where("userRegistrationAttempt.tempUserId = :tempUserId",{tempUserId:r})),await i.getMany()}),"UserRegistrationAttemptsRepository::getUserRegistrationAttempts")})(t,e,this.logger);return this.logger.trace(i,"UserRegistrationAttemptsRepository::getUserRegistrationAttempts result"),i}async createUserRegistrationAttempt(e){this.logger.trace(e,"UserRegistrationAttemptsRepository::createUserRegistrationAttempt started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.firstName||t?.lastName||t?.email||t?.phoneNumber||t?.phoneCode||t?.phoneCodeCountryId||t?.imei||t?.platform||t?.status||t?.tempUserId))return i.warn({params:t},"UserRegistrationAttemptsRepository::createUserRegistrationAttempt - missing required parameters"),null;const r=vn(t?.tempUserId);return t?.tempUserId&&!r?.length?(i.warn({params:t},"UserRegistrationAttemptsRepository::getUserRegistrationAttempts - temp user id should be a valid UUID"),null):e.safeQuery((async e=>{const i=e.getRepository(rn),a={id:t?.id,firstName:t?.firstName,lastName:t?.lastName,email:t?.email,phoneNumber:t?.phoneNumber,phoneCode:t?.phoneCode,phoneCodeCountryId:t?.phoneCodeCountryId,imei:t?.imei,platform:t?.platform,status:t?.status,tempUserId:r,createdAt:new Date};return await i.save(a)}),"UserRegistrationAttemptsRepository::createUserRegistrationAttempt")})(t,e,this.logger);return this.logger.trace(i,"UserRegistrationAttemptsRepository::createUserRegistrationAttempt result"),i}async updateUserRegistrationAttempt(e){this.logger.trace(e,"UserRegistrationAttemptsRepository::updateUserRegistrationAttempt started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.id&&(t?.values?.clientId||t?.values?.userName||t?.values?.pin||t?.values?.street||t?.values?.city||t?.values?.state||t?.values?.postalCode||t?.values?.country||t?.values?.countryCode)?e.safeQuery((async e=>{const i=e.getRepository(rn).createQueryBuilder().update(rn).set({clientId:t?.values?.clientId,userName:t?.values?.userName,pin:t?.values?.pin,street:t?.values?.street,city:t?.values?.city,state:t?.values?.state,postalCode:t?.values?.postalCode,country:t?.values?.country,countryCode:t?.values?.countryCode,lastUpdatedAt:new Date}).where("id = :id",{id:t?.filters?.id});return(await i.execute()).affected>0}),"UserRegistrationAttemptsRepository::updateUserRegistrationAttempt"):(i.warn({params:t},"UserRegistrationAttemptsRepository::updateUserRegistrationAttempt - missing required parameters"),!1))(t,e,this.logger);return this.logger.trace({result:i},"UserRegistrationAttemptsRepository::updateUserRegistrationAttempt result"),i}}const bo=async(e,t,i)=>{let r=await qn(t,{filters:{alpha2Code:e}},i);return r||(r=await qn(t,{filters:{alpha2Code:"US"}},i)),r?.id};class Co extends yn{async getUserById(e){this.logger.trace(e,"UsersRepository::getUserById started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.filters?.id)return i.warn({params:t},"UsersRepository::getUserById - missing required parameters"),null;const r=vn(t?.filters?.id);return r?.length?e.safeQuery((async e=>{let t=e.getRepository(it).createQueryBuilder("user");return t=t.where("user.id = :id",{id:r}),await t.getOne()}),"UsersRepository::getUserById"):(i.warn({params:t},"UsersRepository::getUserById - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"UsersRepository::getUserById result"),i}async getUsers(e){this.logger.trace(e,"UsersRepository::getUsers started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.emailList?.length||t?.filters?.userName||t?.filters?.clientId||t?.filters?.search||t?.filters?.status?e.safeQuery((async e=>{let i=e.getRepository(it).createQueryBuilder("user");if(t.filters.emailList?.length&&(i=i.where("LOWER(user.email) IN (:...emailList)",{emailList:t.filters.emailList.map((e=>e.trim().toLowerCase()))})),t.filters.userName&&(i=i.andWhere("(LOWER(user.userName) = LOWER(:userName) OR LOWER(user.preferredUserName) = LOWER(:userName))",{userName:t.filters.userName.trim()})),t.filters.clientId&&(i=i.andWhere("user.clientId = :clientId",{clientId:t.filters.clientId})),t.filters.search){const e=vn(t.filters.search);i=i.andWhere("(LOWER(user.userName) = LOWER(:search) OR \n LOWER(user.preferredUserName) = LOWER(:search) OR \n LOWER(user.email) = LOWER(:search) OR \n user.id = :binaryBuffer)",{search:t.filters.search.trim(),binaryBuffer:e})}return t.filters.status&&(i=i.andWhere("user.status = :status",{status:t.filters.status})),i=i.orderBy("user.lastname","DESC"),await i.getMany()}),"UsersRepository::getUsers"):(i.warn({params:t},"UsersRepository::getUsers - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"UsersRepository::getUsers result"),i}async getUsersConfigurationByImei(e){this.logger.trace(e,"UsersRepository::getUsersConfigurationByImei started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{try{return await e.connect(),e.getRepository(it).createQueryBuilder("user").innerJoin("user.client","client").innerJoinAndSelect("client.devices","device").innerJoinAndSelect("user.userConfiguration","userConfiguration").innerJoinAndSelect("user.userAlertConfiguration","userAlertConfiguration").innerJoinAndSelect("user.country","country").where("device.imei = :imei",{imei:t.filters.imei}).getMany()}catch(e){throw i.error({error:e},"UsersRepository::getUsersConfigurationByImei error"),e}finally{await e.disconnect()}})(t,e,this.logger);return this.logger.trace(i,"UsersRepository::getUsersConfigurationByImei result"),i}async getUsersIdsByPhoneAndCountryCode(e){this.logger.trace(e,"UsersRepository::getUsersIdsByPhoneAndCountryCode started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.phone&&t?.filters?.countryCode?e.safeQuery((async e=>{let i=e.getRepository(it).createQueryBuilder("user").innerJoin(Ge,"country","country.id = user.countryId").where("country.alpha2Code = :countryCode",{countryCode:t.filters.countryCode}).andWhere("user.telephone = REPLACE(:phone, country.internationalDirectDialing, '')",{phone:t.filters.phone});i=i.select("user.id as id");const r=await i.getRawMany();return r?.map((e=>fn(e.id)))}),"UsersRepository::getUsersIdsByPhoneAndCountryCode"):(i.warn({params:t},"UsersRepository::getUsersIdsByPhoneAndCountryCode - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"UsersRepository::getUsersIdsByPhoneAndCountryCode result"),i}async getUsersWithRoles(e){this.logger.trace(e,"UsersRepository::getUsersWithRoles started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.clientId&&(t?.filters?.status||t?.filters?.roleId)?e.safeQuery((async e=>{let i=e.getRepository(it).createQueryBuilder("user").innerJoin(on,"userSecurityRole","userSecurityRole.userId = user.id").innerJoin($r,"securityRole","securityRole.id = userSecurityRole.securityRoleId").where("user.clientId = :clientId",{clientId:t.filters.clientId});return t.filters.roleId&&(i=i.andWhere("securityRole.id = :roleId",{roleId:t.filters.roleId})),t.filters.status&&(i=i.andWhere("user.status = :status",{status:t.filters.status})),i=i.addSelect("securityRole.name","role"),(await i.getRawMany()).map((e=>((e,t="")=>{if(!e)return null;const i={};return Object.keys(e).forEach((r=>{const a=new RegExp(`^${t}`),n=r.replace(a,"");i[n]=e[r]})),i})(e,"user_")))}),"UsersRepository::getUsersWithRoles"):(i.warn({params:t},"UsersRepository::getUsersWithRoles - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace(i,"UsersRepository::getUsersWithRoles result"),i}async createUser(e){this.logger.trace(e,"UsersRepository::createUser started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!(t?.id&&t?.firstName&&t?.lastName&&t?.email&&t?.userName&&t?.clientId))return i.warn({params:t},"UsersRepository::createUser - missing required parameters"),null;const r=vn(t?.id);return r?.length?e.safeQuery((async e=>{const i=e.getRepository(it),a=new Date,n={id:r,firstName:t.firstName,lastName:t.lastName,companyName:t.companyName,telephone:t.telephone,street:t.street,postalCode:t.postalCode,city:t.city,region:t.region,email:t.email?.toLowerCase(),userName:t.userName,preferredUserName:t.preferredUserName,status:t.status??"A",clientId:t.clientId,pincode:t.pinCode,isAdmin:t.isAdmin??!1,countryId:t.countryId,telephoneCountryId:t.telephoneCountryId,dataSourceTypeId:t.dataSourceTypeId,emailVerified:t.emailVerified??!0,createdAt:a,modifiedAt:a};return await i.save(n)}),"UsersRepository::createUser"):(i.warn({params:t},"UsersRepository::createUser - user id should be a valid UUID"),null)})(t,e,this.logger);return this.logger.trace(i,"UsersRepository::createUser result"),i}async deleteUser(e){this.logger.trace(e,"UsersRepository::deleteUser started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{if(!t?.id)return i.warn({params:t},"UsersRepository::deleteUser - missing required parameters"),!1;const r=vn(t?.id);return r?.length?e.safeQuery((async e=>{const t=e.getRepository(it);return(await t.createQueryBuilder("user").delete().where("id = :id",{id:r}).execute()).affected>0}),"UsersRepository::deleteUser"):(i.warn({params:t},"UsersRepository::deleteUser - user id should be a valid UUID"),!1)})(t,e,this.logger);return this.logger.trace({result:i},"UsersRepository::deleteUser result"),i}async updateUser(e){this.logger.trace(e,"UsersRepository::updateUser started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{const r=vn(t?.filters?.userId);if(!(r||t?.filters?.email||t?.filters?.statusList?.length||t?.filters?.userName))return i.warn({params:t},"UsersRepository::updateUser - missing required parameters"),!1;if(!(void 0!==t?.values?.city||void 0!==t?.values?.companyName||t?.values?.countryCode||t?.values?.countryId||t?.values?.dataSourceTypeId||t?.values?.email||null!=t?.values?.emailVerified||t?.values?.firstName||null!=t?.values?.isAdmin||t?.values?.lastName||t?.values?.postalCode||t?.values?.preferredUserName||void 0!==t?.values?.region||t?.values?.status||void 0!==t?.values?.street||void 0!==t?.values?.telephone||t?.values?.telephoneCountryCode||t?.values?.telephoneCountryId||t?.values?.userName||t?.values?.latitude||t?.values?.longitude||t?.values?.lastLoginAt))return i.warn({params:t},"UsersRepository::updateUser - missing required parameters"),!1;let a=t.values.countryId;!a&&t.values.countryCode&&(a=await bo(t.values.countryCode,e,i));let n=t.values.telephoneCountryId;return!n&&t.values.telephoneCountryCode&&(n=await bo(t.values.telephoneCountryCode,e,i)),e.safeQuery((async e=>{const i=e.getRepository(it),o=new Date;let s=i.createQueryBuilder().update(it).set({firstName:t.values.firstName,lastName:t.values.lastName,companyName:t.values.companyName,telephone:t.values.telephone,street:t.values.street,postalCode:t.values.postalCode,city:t.values.city,region:t.values.region,email:t.values.email?.toLowerCase(),userName:t.values.userName,preferredUserName:t.values.preferredUserName,status:t.values.status,isAdmin:t.values.isAdmin,countryId:a,telephoneCountryId:n,dataSourceTypeId:t.values.dataSourceTypeId,emailVerified:t.values.emailVerified,modifiedAt:o,lat:t.values.latitude,lon:t.values.longitude,lastLoginAt:t.values.lastLoginAt});return r&&(s=s.andWhere("id = :id",{id:r})),t.filters.email&&(s=s.andWhere("LOWER(email) = LOWER(:email)",{email:t.filters.email})),t.filters.statusList?.length&&(s=s.andWhere("status IN (:statusList)",{statusList:t.filters.statusList})),t.filters.userName&&(s=s.andWhere("userName = :userName",{userName:t.filters.userName})),(await s.execute()).affected>0}),"UsersRepository::updateUser")})(t,e,this.logger);return this.logger.trace({result:i},"UsersRepository::updateUser result"),i}async getUsersData(e){this.logger.trace(e,"UsersRepository::getUsersData started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>t?.filters?.imei?e.safeQuery((async e=>{const i=e.getRepository(it);return(await i.query("SELECT U.id as userId, U.telephone, U.email\n , UC.isMetric, coalesce (UC.timezone, '') as timezone, UC.alertsNotificationsOn, UC.speedUnits , UC.distanceUnits\n , AC.alertTypeId, AC.smsNotification, AC.emailNotification, AC.alertValue, AC.pushNotification , AC.appNotification , AC.alertMetadata\n , D.name as deviceName, D.deviceTypeId\n , C.id as clientId\n , U.isAdmin\n , CO.internationalDirectDialing\n , ( SELECT CONCAT('[',\n GROUP_CONCAT( distinct case when NR.isUserProfile = true\n then CONCAT('\"', U.telephone, '\"') else CONCAT('\"', NR.recipient, '\"') end SEPARATOR ','), \n ']') AS JSON\n from notificationRecipient as NR\n where NR.clientId = C.id\n and NR.userId = U.id\n and NR.notificationType = 2\n and NR.isEnabled = true\n and NR.unsubscribed = false ) as phoneNumbers\n , ( SELECT CONCAT('[',\n GROUP_CONCAT( distinct case when NR.isUserProfile = true\n then CONCAT('\"', U.email, '\"') else CONCAT('\"', NR.recipient, '\"') end SEPARATOR ','),\n ']') AS JSON\n from notificationRecipient as NR\n where NR.clientId = C.id\n and NR.userId = U.id\n and NR.notificationType = 1\n and NR.isEnabled = true\n and NR.unsubscribed = false ) as emailAddresses\n FROM device AS D\n JOIN client AS C\n ON D.clientId = C.id\n JOIN user AS U\n ON U.clientId = C.id and U.status = 'A'\n JOIN userConfiguration AS UC\n ON UC.userId = U.id\n JOIN userAlertConfiguration as AC\n ON AC.userId = U.id\n JOIN alertType AS A\n ON A.id = AC.alertTypeId\n JOIN country AS CO\n ON CO.id = CASE WHEN(U.countryId IS NULL OR U.countryId = 0) THEN 236 ELSE U.countryId END\n WHERE D.imei = ?",[t.filters.imei])).map((e=>({...e,userId:fn(e.userId),isAdmin:1===e.isAdmin,isMetric:1===e.isMetric,alertsNotificationOn:1===e.alertsNotificationsOn,smsNotification:1===e.smsNotification,emailNotification:1===e.emailNotification,pushNotification:1===e.pushNotification,appNotification:1===e.appNotification,phoneNumbers:e.phoneNumbers?JSON.parse(e.phoneNumbers):[],emailAddresses:e.emailAddresses?JSON.parse(e.emailAddresses):[]})))}),"UsersRepository::getUsersData"):(i.warn({params:t},"UsersRepository::getUsersData - missing required parameters"),[]))(t,e,this.logger);return this.logger.trace({result:i},"UsersRepository::getUsersData result"),i}async deleteAccount(e){this.logger.trace(e,"UsersRepository::deleteAccount started with params");const t=new un(this.novaDataSourceConfig,this.logger),i=await(async(e,t,i)=>{let r=vn(t?.filters?.userId);await e.connect();const a=e.createQueryRunner();try{if(!r&&t?.filters?.email){const i=e.getRepository(it),a=await i.createQueryBuilder().where("email = :email",{email:t.filters.email}).select("id").getRawOne();a&&(r=a.id)}let i=t.filters.clientId;if(!i&&t.filters.email){const r=e.getRepository(nt),a=await r.createQueryBuilder().where("email = :email",{email:t.filters.email}).select("id").getRawOne();a&&(i=a.id)}await a.startTransaction();let n=!1;if(i){await a.manager.delete(Lr,{clientId:i}),await a.manager.delete(on,{clientId:i}),await a.manager.delete($a,{inviterClientId:i});const e=await a.manager.createQueryBuilder().select("boundary.id").from(Wt,"boundary").where("boundary.clientId = :clientId",{clientId:i}).getMany();e?.length&&(await a.manager.createQueryBuilder().delete().from(Jt,"boundaryEvent").where("boundaryEvent.boundaryId IN (:ids)",{ids:e.map((e=>e.id))}).execute(),await a.manager.delete(Wt,{clientId:i})),await a.manager.delete(fa,{clientId:i}),await a.manager.delete(ei,{clientId:i}),await a.manager.delete(di,{clientId:i}),n=(await a.manager.delete(nt,i)).affected>0}let o=!1;if(r){await a.manager.delete(Ye,{userId:r}),await a.manager.delete($e,{userId:r});const e=await a.manager.createQueryBuilder().select("userActivation.id").from(Aa,"userActivation").where("userActivation.userId = :userId",{userId:r}).getMany();e?.length&&(await a.manager.createQueryBuilder().delete().from(Na,"userActivationDevice").where(`userActivationDevice.userActivationId IN (${e?.map((e=>e.id)).join(",")})`).execute(),await a.manager.delete(Aa,{userId:r})),await a.manager.delete(Ya,{userId:r}),await a.manager.delete(Fa,{userId:r}),o=(await a.manager.delete(it,{id:r})).affected>0}return await a.commitTransaction(),n||o}catch(e){throw await a.rollbackTransaction(),i.error({error:e},"UsersRepository::deleteAccount error"),e}finally{await a.release(),await e.disconnect()}})(t,e,this.logger);return this.logger.trace({result:i},"UsersRepository::deleteAccount result"),i}}var Ro,wo;!function(e){e.BB="0",e.MCU="1",e.BLE="2",e.MODEM="7"}(Ro||(Ro={})),function(e){e.Queued="Queued",e.QueuedWaitingForConfig="QueuedWaitingForConfig",e.QueuedWaitingForVersionMessage="QueuedWaitingForVersionMessage",e.InProgress="InProgress",e.Completed="Completed",e.Canceled="Canceled",e.Failed="Failed"}(wo||(wo={}));const Do={uuidStringToBinaryBuffer:vn,binaryBufferToUuidString:fn};return t})()));