@bolttech/server-side-next
Version:
This library was generated with [Nx](https://nx.dev).
3 lines (2 loc) • 6.82 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./index-8bd90896.js"),t=require("./_rollupPluginBabelHelpers-41c00fec.js"),r=require("./_tslib-0e64cda4.js"),n=require("lodash"),a=require("./session.service-2824c584.js"),s=require("mongoose"),i=require("./Partner-af991104.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("@bolttech/essentials"),require("./quote.constants-da151fc5.js"),require("@edirect/request"),require("@edirect/oidc-client"),require("./logger.service-16a2faf9.js"),require("lodash/fp"),require("cookie"),require("./index-3f29ef8b.js"),require("./url.util-0719d39e.js"),require("url"),require("querystring"),require("./index-775f264f.js"),require("next-session"),require("next-session/lib/compat"),require("ioredis"),require("connect-redis"),require("cookie-signature"),require("uid-safe"),require("dotenv"),require("./utm.constants-b9759669.js");var o=u(s);function c(e,t,r){return!n.isObject(r)||n.isArray(r)||n.isDate(r)||n.isEmpty(r)||n.isNull(r)?n.isArray(r)&&!n.isEmpty(r)?r.forEach((function(r,n){return c(e,"".concat(t,".").concat(n),r)})):void("$unset"!==r?n.set(e,t,r):n.unset(e,t)):Object.keys(r).forEach((function(a){return c(e,"".concat(t,".").concat(a),n.get(r,a))}))}function l(e,t){var r=t.split(".");r.pop();var a=r.join(".");if(!n.isEmpty(a)){var s=n.get(e,a);if(n.isArray(s)&&!n.isEmpty(s)&&JSON.stringify(s).includes("null")){var i=s.filter((function(e){return!n.isNull(e)}));i.forEach((function(r){!n.isObject(r)||n.isArray(r)||n.isDate(r)||n.isEmpty(r)||n.isNull(r)||Object.keys(r).forEach((function(r){return l(e,"".concat(t,".").concat(r))})),n.isArray(r)&&!n.isEmpty(r)&&r.forEach((function(r,n){return l(e,"".concat(t,".").concat(n))}))})),n.set(e,a,i)}}}function p(e,s){return r.__awaiter(this,void 0,void 0,t._regeneratorRuntime().mark((function r(){var i;return t._regeneratorRuntime().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,a.getSession(e,s);case 2:return i=t.sent,Object.keys(e.body).forEach((function(t){c(i,t,n.get(e.body,t)),l(i,t)})),t.abrupt("return",i);case 5:case"end":return t.stop()}}),r)})))}p.$methods=["PUT"];var m=Object.freeze({__proto__:null,default:p}),f=function(){function e(r){t._classCallCheck(this,e),this.db={},this.toCamelCame=function(e){return e.replace(/_([a-z])/g,(function(e){return e[1].toUpperCase()}))},this.connectToMongo(r).then((function(){return console.log("UtmService connected successfully!")})).catch((function(e){return console.log("Failed to connect UtmServices to Mongo DB: ",e)}))}return t._createClass(e,[{key:"connectToMongo",value:function(e){return r.__awaiter(this,void 0,void 0,t._regeneratorRuntime().mark((function r(){return t._regeneratorRuntime().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,o.default.connect(e||"");case 3:this.db=t.sent,t.next=9;break;case 6:t.prev=6,t.t0=t.catch(0),console.log("Failed to connect UtmServices to Mongo DB: ",t.t0);case 9:case"end":return t.stop()}}),r,this,[[0,6]])})))}},{key:"generateUtmData",value:function(e,t){var r={};return t.map((function(t){r[t]={source:e.utmSource||"Direct",campaign:e.utmCampaign||null,medium:e.utmMedium||null,content:e.utmContent||null,term:e.utmTerm||null,transaction:e.utmTransaction||null,customer:e.utmCustomer||null}})),r}},{key:"generatePartnerData",value:function(t,r){var n=e.getPartnerExpiration(r),a={};return r.vertical.map((function(e){a[e]={source:t.utmSource||"Direct",agentId:r.agentId,transaction:t.utmTransactionId||null,expires:n,scope:r.scope,platinum:r.platinum,filters:null,partnerId:r.partnerId}})),a}},{key:"getDefaultPartnerData",value:function(e,t){var r=Object.assign(Object.assign({},e),{utmSource:"Direct"}),n={name:"Direct",expires:0,scope:"global",vertical:t,platinum:!0,paymentExpire:!1,partnerId:null,agentId:null,hasHomepage:!1};return{partnerData:n,cookie:{utm:this.generateUtmData(r,n.vertical)},session:{name:n.name,platinum:n.platinum,hasHomepage:n.hasHomepage||!1,partner:this.generatePartnerData(r,n)}}}},{key:"getPartner",value:function(e,n){return r.__awaiter(this,void 0,void 0,t._regeneratorRuntime().mark((function r(){var a,s,u,c,l,p=this;return t._regeneratorRuntime().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a=Object.assign({},e),"utm_source"in e&&Object.keys(e).forEach((function(t){a[p.toCamelCame(t)]=e[t]||null})),!this.db||!a.utmSource||"Direct"!==a.utmSource){t.next=4;break}return t.abrupt("return",this.getDefaultPartnerData(a,n));case 4:return s=o.default.model("Partners",i.schemaPartner),t.next=7,s.findOne({name:a.utmSource||""});case 7:if(u=t.sent){t.next=10;break}return t.abrupt("return",this.getDefaultPartnerData(e,n));case 10:return c=this.generateUtmData(a,u.vertical),l=this.generatePartnerData(a,u),t.abrupt("return",{partnerData:u,cookie:{utm:c},session:{name:u.name,platinum:u.platinum,hasHomepage:u.hasHomepage||!1,partner:l}});case 13:case"end":return t.stop()}}),r,this)})))}}],[{key:"getPartnerExpiration",value:function(e){var t=e.expires,r=e.paymentExpire;if(0===t)return{date:null,paymentExpire:r};var n=new Date;return n.setDate(n.getDate()+t),{date:n,paymentExpire:r}}}])}(),d=process.env.PARTNER_MONGO_URI||"";var g=Object.freeze({__proto__:null,default:function(e,s){return r.__awaiter(this,void 0,void 0,t._regeneratorRuntime().mark((function r(){var i,u,o,c,l,p,m;return t._regeneratorRuntime().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=e.body,u=i.utms,o=i.utmsFromUrl,c=i.locale,t.prev=1,t.next=4,a.getSession(e,s);case 4:return l=t.sent,p=new f(d),t.next=8,p.getPartner(o,[]);case 8:return m=t.sent,n.set(l,"utms",u),n.set(l,"utm",u),n.set(l,"utmsFromUrl",o),n.set(l,"locale",c),n.set(l,"partner",m.session),t.next=16,l.commit();case 16:s.setHeader("Content-Type","application/json"),s.status(200).send({success:!0,error:""}),t.next=25;break;case 20:t.prev=20,t.t0=t.catch(1),console.log("failed to save",t.t0),s.setHeader("Content-Type","application/json"),s.status(500).send({success:!1,error:"Failed to update session:"+t.t0});case 25:case"end":return t.stop()}}),r,null,[[1,20]])})))}});var v=Object.freeze({__proto__:null,default:function(e,n){return r.__awaiter(this,void 0,void 0,t._regeneratorRuntime().mark((function r(){var s;return t._regeneratorRuntime().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,a.getSession(e,n);case 3:s=t.sent,console.log("session",s,e.headers),n.status(200).send(s),t.next=11;break;case 8:return t.prev=8,t.t0=t.catch(0),t.abrupt("return",n.status(422).send({message:"Unable to get the session",error:t.t0}));case 11:case"end":return t.stop()}}),r,null,[[0,8]])})))}});exports.ApiSession=e.index,exports.ApiUtm=e.index$1,exports.ApiRedis=g,exports.ApiUpdate=m,exports.ApiUtmView=v;
//# sourceMappingURL=pages.js.map