@apolitical/sdk 7.4.3-beta.1 → 7.4.3

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.
Files changed (2) hide show
  1. package/build/index.js +1 -1
  2. package/package.json +1 -1
package/build/index.js CHANGED
@@ -1 +1 @@
1
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("@apolitical/content"),require("@apolitical/error-reporting"),require("@apolitical/gtm"),require("axios"),require("http-status-codes"),require("socket.io-client"),require("buffer")):"function"==typeof define&&define.amd?define(["@apolitical/content","@apolitical/error-reporting","@apolitical/gtm","axios","http-status-codes","socket.io-client","buffer"],e):"object"==typeof exports?exports.ApoliticalSDK=e(require("@apolitical/content"),require("@apolitical/error-reporting"),require("@apolitical/gtm"),require("axios"),require("http-status-codes"),require("socket.io-client"),require("buffer")):t.ApoliticalSDK=e(t["@apolitical/content"],t["@apolitical/error-reporting"],t["@apolitical/gtm"],t.axios,t["http-status-codes"],t["socket.io-client"],t.buffer)}(this,(function(t,e,r,a,n,s,o){return function(){"use strict";var i={809:function(e){e.exports=t},30:function(t){t.exports=e},36:function(t){t.exports=r},300:function(t){t.exports=a},408:function(t){t.exports=o},25:function(t){t.exports=n},130:function(t){t.exports=s}},c={};function l(t){var e=c[t];if(void 0!==e)return e.exports;var r=c[t]={exports:{}};return i[t](r,r.exports,l),r.exports}l.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return l.d(e,{a:e}),e},l.d=function(t,e){for(var r in e)l.o(e,r)&&!l.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},l.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},l.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var u={};return function(){l.r(u),l.d(u,{assets:function(){return P},auth:function(){return U},buildAnswer:function(){return ir},buildCarouselCard:function(){return or},buildQuestion:function(){return Je},carouselCards:function(){return Be},contentInteraction:function(){return X},decodeBase64:function(){return lr},default:function(){return ur},editorialPages:function(){return ke},features:function(){return tt},getEntries:function(){return t.getEntries},getEntry:function(){return t.getEntry},management:function(){return pt},payments:function(){return gt},people:function(){return Ae},peopleEngagement:function(){return me},qaQuestions:function(){return Xe},reportError:function(){return e.reportError},search:function(){return De}});var t=l(809),e=l(30),r=l(36),a={APOLITICAL:{WEBSITES:{LIVE:"https://apolitical.co",LOCALHOST:"localhost",STAGING:/https:\/\/([\w|\d|-]+)\.apolitical\.co/i,STAGING_SPLITTER:"-"},ENVIRONMENTS:{PRODUCTION:"live",LOCAL:"local"}},APIS:{ASSETS_API:{BASE_URL:"/api/assets-api",ENDPOINTS:{USERS:"/users",CERTIFICATES:"/certificates"}},AUTH_API:{BASE_URL:"/api/auth-api",ENDPOINTS:{USER_PASSWORD:"/password",USERS:"/users"}},CONTENT_INTERACTION_API:{BASE_URL:"/api/content-interaction-api",ENDPOINTS:{QUESTIONS:"/questions",ANSWERS:"/answers",REPLIES:"/replies",LIKES:"/likes"}},FEATURES_API:{BASE_URL:"/api/features-api",ENDPOINTS:{FLAGS:"/features"}},MANAGEMENT_API:{BASE_URL:"/api/management-api",ENDPOINTS:{ACCOUNTS:"/accounts",EVENT_REGISTRATIONS:"/event-registrations",LOGINS:"/logins",LOGIN_PASSWORDLESS:"/passwordless",BULK_ENROLMENTS:"/bulk-enrolments"}},PAYMENTS_API:{BASE_URL:"/api/payments-api",BASE_URL_V2:"/api/payments-api/v2",ENDPOINTS:{PRODUCTS:"/products"}},PEOPLE_API:{BASE_URL:"/api/people-api",BASE_URL_V2:"/api/people-api/v2",ENDPOINTS:{BULK_ENROLMENTS:"/bulk-enrolments",REGISTRATIONS:"/registrations",USERS:"/users",USER_ANSWERS:"/answers",USER_COURSES:"/courses",USER_EVENTS:"/events",USER_LIKES:"/likes",USER_LESSONS:"/lessons",USER_PRODUCTS:"/products",USER_RATINGS:"/ratings",USER_SUBSCRIPTIONS:"/subscriptions"}},PEOPLE_ENGAGEMENT_API:{BASE_URL:"/api/people-engagement-api",ENDPOINTS:{ENQUIRY_EMAILS:"/enquiry-emails",USERS:"/users",USER_PROPERTIES:"/properties"}},SEARCH_API:{BASE_URL:"/api/search-api",ENDPOINTS:{SEARCH:"/search"}}},CONTENTFUL:{ARTICLES:{TYPE:"solutionArticle"},CAROUSELS:{CARD_TYPES:{solutionArticle:{INCLUDE:1,SELECT:"fields.authorIds,fields.authorTag,fields.image,fields.publishedDate,fields.readingTime,fields.slug,fields.title"},microcourse:{INCLUDE:2,SELECT:"fields.banner,fields.freeCourse,fields.partnershipDetails,fields.slug,fields.title"},event:{INCLUDE:1,SELECT:"fields.bannerImage,fields.defaultStartDate,fields.slug,fields.speakers,fields.title,fields.isEventOngoing"},listPage:{INCLUDE:1,SELECT:"fields.hero,fields.slug,fields.title"},qaQuestion:{INCLUDE:0,SELECT:"fields.answers,fields.authorId,fields.slug,fields.title,sys.createdAt,fields.projectNames"},learningHub:{INCLUDE:0,SELECT:"fields.image,fields.label,fields.slug,fields.title"}}},COURSES:{TYPE:"microcourse"},EDITORIAL_PAGES:{INCLUDE:1,SELECT:"fields.carousels,fields.slug",TYPE:"editorialPage"},EVENTS:{TYPE:"event"},LISTS:{TYPE:"listPage"},QUESTIONS:{TYPE:"qaQuestion",INCLUDE:1,LIMIT:10,ORDER:"-sys.createdAt",SELECT:"sys.createdAt,sys.updatedAt,fields.title,fields.slug,fields.authorId,fields.answers,fields.isEdited,fields.projectNames",SKIP:0},ANSWERS:{TYPE:"qaAnswer"},REPLIES:{TYPE:"reply"},PAGES:{TYPE:"learningHub"}},HUBSPOT:{ENVIRONMENTS_MAPPING:{local:"SANDBOX",beta:"SANDBOX",rc:"SANDBOX",live:"LIVE"},EMAIL_IDS:{SANDBOX:{internalEmailId:49099078634,externalEmailId:55196526554},LIVE:{internalEmailId:55233583049,externalEmailId:55231159239}}},USERS:{MYSELF:"me"}};const{APOLITICAL:{WEBSITES:{LIVE:n,LOCALHOST:s,STAGING:o,STAGING_SPLITTER:i},ENVIRONMENTS:{PRODUCTION:c,LOCAL:E}}}=a,{HUBSPOT:{ENVIRONMENTS_MAPPING:S,EMAIL_IDS:d}}=a;let p={emailIds:{}};var w=l(300),I=l.n(w);const N=async t=>{try{const{message:r,response:a,request:n}=t;let s=r;return a?s+=` - The request was made and the server responded with ${JSON.stringify({status:a.status,data:a.data})}`:n&&(s+=" - The request was made but no response was received"),console.warn(s),await(0,e.reportError)(new Error(s)),s}catch(t){return console.warn(`Cannot handle error: ${t.message}`),t.message}},{APIS:{ASSETS_API:{BASE_URL:g,ENDPOINTS:{USERS:A,CERTIFICATES:T}}}}=a;var P={certificates:{create:async(t,e)=>{let r=[];try{const{data:a}=await I().post(`${g}${A}/${t}${T}`,e);a&&(r=a)}catch(t){await N(t)}return r}}};const{APIS:{AUTH_API:{BASE_URL:h,ENDPOINTS:{USER_PASSWORD:y,USERS:R}}},USERS:{MYSELF:f}}=a;var U={userPassword:{update:async t=>{let e=null;try{e=await I().put(`${h}${R}/${f}${y}`,t)}catch(t){e={message:(((t||{}).response||{}).data||{}).message},await N(t)}return e}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:L,ENDPOINTS:{ANSWERS:m,QUESTIONS:$,LIKES:O}}}}=a,_=`${L}${$}`;var C={create:async({questionSlug:t},e)=>{try{await I().post(`${_}/${encodeURIComponent(t)}${m}`,e)}catch(t){const e=await N(t);throw new Error(e)}},remove:async({questionSlug:t,answerSlug:e})=>{try{await I().delete(`${_}/${encodeURIComponent(t)}${m}/${encodeURIComponent(e)}`)}catch(t){const e=await N(t);throw new Error(e)}},update:async({questionSlug:t,answerSlug:e},r)=>{try{return await I().put(`${_}/${encodeURIComponent(t)}${m}/${encodeURIComponent(e)}`,r)}catch(t){const e=await N(t);throw new Error(e)}},like:async({questionSlug:t,answerSlug:e},r)=>{try{return await I().post(`${_}/${encodeURIComponent(t)}${m}/${encodeURIComponent(e)}${O}`,r)}catch(t){const e=await N(t);throw new Error(e)}},unlike:async({questionSlug:t,answerSlug:e})=>{try{return await I().delete(`${_}/${encodeURIComponent(t)}${m}/${encodeURIComponent(e)}${O}`)}catch(t){const e=await N(t);throw new Error(e)}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:D,ENDPOINTS:{QUESTIONS:v}}}}=a,b=`${D}${v}`;var q={create:async t=>{try{return await I().post(b,t)}catch(t){const e=await N(t);throw new Error(e)}},remove:async({questionSlug:t})=>{try{await I().delete(`${b}/${encodeURIComponent(t)}`)}catch(t){const e=await N(t);throw new Error(e)}},update:async({questionSlug:t},e)=>{try{return await I().put(`${b}/${encodeURIComponent(t)}`,e)}catch(t){const e=await N(t);throw new Error(e)}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:B,ENDPOINTS:{REPLIES:M,ANSWERS:G,QUESTIONS:Y,LIKES:x}}}}=a,k=`${B}${Y}`,V=({questionSlug:t,answerSlug:e,replySlug:r},a=!1)=>{let n=`${k}/${encodeURIComponent(t)}${G}/${encodeURIComponent(e)}${M}`;return r&&(n=`${n}/${encodeURIComponent(r)}`,a&&(n=`${n}${x}`)),n};var F={create:async({questionSlug:t,answerSlug:e},r)=>{try{return await I().post(V({questionSlug:t,answerSlug:e}),r)}catch(t){const e=await N(t);throw new Error(e)}},update:async({questionSlug:t,answerSlug:e,replySlug:r},a)=>{try{return await I().put(V({questionSlug:t,answerSlug:e,replySlug:r}),a)}catch(t){const e=await N(t);throw new Error(e)}},remove:async({questionSlug:t,answerSlug:e,replySlug:r})=>{try{await I().delete(V({questionSlug:t,answerSlug:e,replySlug:r}))}catch(t){const e=await N(t);throw new Error(e)}},like:async({questionSlug:t,answerSlug:e,replySlug:r},a)=>{try{await I().post(V({questionSlug:t,answerSlug:e,replySlug:r},!0),a)}catch(t){const e=await N(t);throw new Error(e)}},unlike:async({questionSlug:t,answerSlug:e,replySlug:r})=>{try{await I().delete(V({questionSlug:t,answerSlug:e,replySlug:r},!0))}catch(t){const e=await N(t);throw new Error(e)}},getReplyUrl:V};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:j,ENDPOINTS:{QUESTIONS:K,ANSWERS:Q,LIKES:H}}}}=a,W=`${j}${K}`;var X={answers:C,questions:q,replies:F,likes:{create:async(t,e)=>{try{return await I().post(`${W}/${encodeURIComponent(t)}${Q}/${encodeURIComponent(e)}${H}`)}catch(t){const e=await N(t);throw new Error(e)}},remove:async(t,e)=>{try{return await I().delete(`${W}/${encodeURIComponent(t)}${Q}/${encodeURIComponent(e)}${H}`)}catch(t){const e=await N(t);throw new Error(e)}}}};const{APIS:{FEATURES_API:{BASE_URL:J,ENDPOINTS:{FLAGS:z}}}}=a,Z=`${J}${z}`;var tt={flags:{read:async t=>{let e=null;try{const{data:r}=await I().get(`${Z}/${encodeURIComponent(t)}`);r?.name&&r?.featureState&&(e=r)}catch(t){await N(t)}return e}}};const{APIS:{MANAGEMENT_API:{BASE_URL:et,ENDPOINTS:{ACCOUNTS:rt}}}}=a;var at={create:async t=>{try{await I().post(`${et}${rt}`,t)}catch(t){throw await N(t),t}},read:async t=>{let e=null;try{({data:e}=await I().get(`${et}${rt}/${encodeURIComponent(t)}`))}catch(t){await N(t)}return e},update:async(t,e)=>{try{await I().put(`${et}${rt}/${encodeURIComponent(t)}`,e)}catch(t){throw await N(t),t}}};const{APIS:{MANAGEMENT_API:{BASE_URL:nt,ENDPOINTS:{BULK_ENROLMENTS:st}}}}=a;var ot={create:async t=>{try{await I().post(`${nt}${st}`,t)}catch(t){throw await N(t),t}}};const{APIS:{MANAGEMENT_API:{BASE_URL:it,ENDPOINTS:{EVENT_REGISTRATIONS:ct}}}}=a;var lt={create:async t=>{try{await I().post(`${it}${ct}`,t)}catch(t){const e=await N(t);throw new Error(e)}}};const{APIS:{MANAGEMENT_API:{BASE_URL:ut,ENDPOINTS:{LOGINS:Et,LOGIN_PASSWORDLESS:St}}}}=a,dt=`${ut}${Et}`;var pt={accounts:at,bulkEnrolments:ot,eventRegistrations:lt,passwordless:{update:async t=>{try{await I().put(`${dt}/${encodeURIComponent(t)}${St}`)}catch(t){throw await N(t),t}}}};const{APIS:{PAYMENTS_API:{BASE_URL_V2:wt,ENDPOINTS:{PRODUCTS:It}}}}=a,Nt=`${wt}${It}`;var gt={products:{list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(Nt,r);t&&t.length&&(e=t)}catch(t){await N(t)}return e}}};const{APIS:{PEOPLE_API:{BASE_URL_V2:At,ENDPOINTS:{BULK_ENROLMENTS:Tt}}}}=a;var Pt={list:async t=>{let e=[];try{const{data:r}=await I().get(`${At}${Tt}`,{params:t});r&&r.length&&(e=r)}catch(t){await N(t)}return e}},ht=l(25);const{OK:yt,MULTIPLE_CHOICES:Rt,NOT_FOUND:ft,FORBIDDEN:Ut}=ht.StatusCodes,Lt=t=>t>=yt&&t<Rt||t===Ut||t===ft,{APIS:{PEOPLE_API:{BASE_URL_V2:mt,ENDPOINTS:{USERS:$t}}}}=a,Ot=async t=>{let e=null;try{const{data:r}=await I().get(`${mt}${$t}/${encodeURIComponent(t)}`,{validateStatus:Lt});r&&r.id&&(e=r)}catch(t){await N(t)}return e},_t=async t=>{let e=[];try{if(t&&t.length<2)throw new Error("users list method requires at least two ids");const r=t.map((t=>`ids=${encodeURIComponent(t)}`)).join("&"),a=await I().get(`${mt}${$t}?${r}`,{validateStatus:Lt});a&&a.length&&(e=a)}catch(t){await N(t)}return e};var Ct={read:Ot,update:async(t,e)=>{let r=!1;try{const{data:a}=await I().put(`${mt}${$t}/${encodeURIComponent(t)}`,e);r=!(!a||!a.id)}catch(t){await N(t)}return r},list:_t};const{APIS:{PEOPLE_API:{BASE_URL_V2:Dt,ENDPOINTS:{USERS:vt,USER_LIKES:bt}}},USERS:{MYSELF:qt}}=a,Bt=`${Dt}${vt}/${qt}${bt}`,Mt=async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(Bt,r);t&&t.length&&(e=t)}catch(t){await N(t)}return e};var Gt={list:Mt};var Yt={authors:{readQuestionAuthors:async(t,e,r)=>{try{if(t.author=await Ot(t.authorId),t.answers&&t.answers.length&&!r.ignoreAnswersAuthors){t.answers.sort(((t,e)=>new Date(e.updatedAt)-new Date(t.updatedAt))),t.totalAnswers=t.answers.length;let n=t.answers;if(r.limit&&r.pageNumber){const e=r.limit*(r.pageNumber-1);n=t.answers.slice(e,e+r.limit)}for(let t of n){t.author=t.authorId&&await Ot(t.authorId)||{};const[r]=e?await Mt({contentType:a.CONTENTFUL.ANSWERS.TYPE,contentSlug:t.slug}):[null];t.userLiked=!!r}t.answers=n}else t.answers||(t.answers=[]);return t}catch(t){throw await N(t),new Error(`Cannot read authors for question: ${t.message}`)}},readAuthors:async(t=[])=>{let e=[];try{if(!1===Array.isArray(t))throw new Error("authorIds is not an array!");if(t&&1===t.length){const r=await Ot(t[0]);r&&e.push(r)}else if(t&&t.length>1){const r=await _t(t);r&&r.length>0&&(e=r)}}catch(t){throw await N(t),new Error(`Cannot read authors: ${t.message}`)}return e}}};const{APIS:{PEOPLE_API:{BASE_URL:xt,ENDPOINTS:{REGISTRATIONS:kt}}}}=a;var Vt={list:async t=>{let e=[];try{const{data:r}=await I().get(`${xt}${kt}`,{params:t});r&&r.length&&(e=r)}catch(t){await N(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Ft,ENDPOINTS:{USERS:jt,USER_COURSES:Kt}}},USERS:{MYSELF:Qt}}=a,Ht=`${Ft}${jt}/${Qt}${Kt}`;var Wt={create:async t=>{try{await I().post(Ht,t)}catch(t){await N(t)}},list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(Ht,r);t&&t.length&&(e=t)}catch(t){await N(t)}return e},update:async(t,e)=>{try{await I().put(`${Ht}/${t}`,e)}catch(t){await N(t)}}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Xt,ENDPOINTS:{USERS:Jt,USER_EVENTS:zt}}},USERS:{MYSELF:Zt}}=a,te=`${Xt}${Jt}/${Zt}${zt}`;var ee={list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(te,r);t&&t.length&&(e=t)}catch(t){await N(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:re,ENDPOINTS:{USERS:ae,USER_LESSONS:ne}}},USERS:{MYSELF:se}}=a,oe=`${re}${ae}/${se}${ne}`;var ie={create:async t=>{let e=null;try{e=await I().post(oe,t)}catch(t){await N(t)}return e},list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(oe,r);t&&t.length&&(e=t)}catch(t){await N(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:ce,ENDPOINTS:{USERS:le,USER_PRODUCTS:ue}}},USERS:{MYSELF:Ee}}=a,Se=`${ce}${le}/${Ee}${ue}`;var de={create:async t=>{let e=null;try{e=await I().post(Se,t)}catch(t){await N(t)}return e},list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(Se,r);t&&t.length&&(e=t)}catch(t){await N(t)}return e},update:async(t,e)=>{try{await I().put(`${Se}/${t}`,e)}catch(t){await N(t)}}};const{APIS:{PEOPLE_API:{BASE_URL_V2:pe,ENDPOINTS:{USERS:we,USER_RATINGS:Ie}}},USERS:{MYSELF:Ne}}=a,ge=`${pe}${we}/${Ne}${Ie}`;var Ae={bulkEnrolments:Pt,handlers:Yt,registrations:Vt,users:Ct,userCourses:Wt,userEvents:ee,userLessons:ie,userLikes:Gt,userProducts:de,userRatings:{create:async t=>{let e=null;try{const{data:r}=await I().post(ge,t);r?.id&&(e=r)}catch(t){await N(t)}return e},update:async(t,e)=>{try{await I().put(`${ge}/${t}`,e)}catch(t){await N(t)}}}};const{APIS:{PEOPLE_ENGAGEMENT_API:{BASE_URL:Te,ENDPOINTS:{ENQUIRY_EMAILS:Pe}}}}=a;var he={create:async t=>{let e=null;try{const{data:r}=await I().post(`${Te}${Pe}`,t);r&&(e=r)}catch(t){await N(t)}return e}},ye={forms:{sendEnquiryEmails:async t=>{let e=null;try{const{emailIds:r}=p;e=await me.emails.create({...r,...t})}catch(t){await N(t)}return e}}};const{APIS:{PEOPLE_ENGAGEMENT_API:{BASE_URL:Re,ENDPOINTS:{USERS:fe,USER_PROPERTIES:Ue}}},USERS:{MYSELF:Le}}=a;var me={emails:he,handlers:ye,userProperties:{update:async(t,e)=>{try{await I().put(`${Re}${fe}/${Le}${Ue}/${t}`,e)}catch(t){await N(t)}}}},$e=l(130);const{APIS:{SEARCH_API:{BASE_URL:Oe,ENDPOINTS:{SEARCH:_e}}}}=a,Ce=`${Oe}${_e}`;var De={ask:async t=>{try{let e=null;const{data:r}=await I().get(Ce,{params:{question:t}});return r?.answer&&r?.references&&r?.version&&(e=r),e}catch(t){const e=await N(t);throw new Error(e)}},stream:(t,e,r)=>{const a=(0,$e.io)(void 0,{path:"/api/search-api/web-sockets"});function n(){a.emit("search",{question:t})}function s(t){r(t),o(),a.disconnect()}function o(){a.off("connect",n),a.off("update",e),a.off("result",s)}return a.on("connect",n),a.on("update",e),a.on("result",s),o}};const{CONTENTFUL:ve}=a,{CARD_TYPES:be}=ve.CAROUSELS,qe={read:async(e,r)=>{try{if(!r||!r.sys||!r.sys.id)throw new Error("Invalid link to card");if(!e||!be[e])throw new Error("Unsupported card content type");const{INCLUDE:a,SELECT:n}=be[e];return await(0,t.getEntry)({content_type:e,"sys.id":r.sys.id,include:a,select:n},{assetDetails:!0})}catch(t){throw await N(t),new Error(`Cannot read carousel card: ${t.message}`)}}};var Be=qe;const{CONTENTFUL:Me}=a,{INCLUDE:Ge,SELECT:Ye,TYPE:xe}=Me.EDITORIAL_PAGES;var ke={read:async e=>{try{return await(0,t.getEntry)({content_type:xe,"fields.slug":e,include:Ge,select:Ye})}catch(t){throw await N(t),new Error(`Cannot read editorial page: ${t.message}`)}}};const{CONTENTFUL:Ve}=a,{TYPE:Fe,ORDER:je,SELECT:Ke,SKIP:Qe,LIMIT:He,INCLUDE:We}=Ve.QUESTIONS;var Xe={read:async e=>{try{return await(0,t.getEntry)({content_type:Fe,"fields.slug":e,include:2,select:Ke})}catch(t){throw await N(t),new Error(`Cannot read question: ${t.message}`)}},list:async(e={})=>{try{return await(0,t.getEntries)({content_type:Fe,include:We,limit:He,order:je,select:Ke,skip:Qe,...e})}catch(t){throw await N(t),new Error(`Cannot list questions: ${t.message}`)}}},Je=async(t,e,r={ignoreAnswersAuthors:!1})=>{try{let a={};return a=await Xe.read(t),a=await Ae.handlers.authors.readQuestionAuthors(a,e,r),a}catch(t){throw await N(t),new Error(`Cannot build question: ${t.message}`)}};const{ARTICLES:{TYPE:ze},COURSES:{TYPE:Ze},EVENTS:{TYPE:tr},LISTS:{TYPE:er},QUESTIONS:{TYPE:rr},PAGES:{TYPE:ar}}=a.CONTENTFUL,nr=t=>t&&t.url?(Object.assign(t,{aspect:"responsiveCard",query:"q=90&fit=fill"}),t):null,sr={[ze]:async t=>{const{authorIds:e,authorTag:r,image:a,publishedDate:n,readingTime:s,slug:o,title:i}=t,c=await Ae.handlers.authors.readAuthors(e),l=c&&c.length?c:r?[r]:null;return{banner:nr(a),contributors:l,publishedDate:n,readingTime:s,slug:o,title:i}},[Ze]:async(t,e)=>{const{banner:r,freeCourse:a,partnershipDetails:n,slug:s,title:o,registered:i}=t,c={banner:nr(r),slug:s,title:o,pill:a?"free":"premium",registered:!!i};if(n){const{partners:t}=n;c.partner=t&&t.length&&n.partners[0]}if(void 0===i&&e){const[t]=await Ae.userProducts.list({courseSlug:s,isEnrolled:!0,scope:"active"});c.registered=!!t}return c},[tr]:async(t,e)=>{const{bannerImage:r,defaultStartDate:a,isEventOngoing:n,slug:s,speakers:o,title:i,registered:c}=t,l=new Date(a),u=!!l&&l<new Date;if(o&&o.length)for(const t of o)t.image=(E=t.image)&&E.url?`${E.url}?w=100&h=100&fit=thumb&f=center`:null;var E;const S={banner:nr(r),dateHasPassed:u,title:i,slug:s,isOngoingEvent:n,contributors:o,startDate:l,registered:!!c};if(void 0===c&&e){const[t]=await Ae.userEvents.list({eventSlug:s});S.registered=!!t}return S},[er]:async t=>{const{hero:e,slug:r,title:a}=t;return{banner:nr(e),slug:r,title:a}},[rr]:async t=>{const{answers:e,authorId:r,createdAt:a,slug:n,title:s}=t;let o=null;if(r){const t=await Ae.users.read(r);t&&(o=t)}return{answers:e&&e.length?e.length:0,contributors:o?[o]:[],createdAt:a,slug:n,title:s}},[ar]:t=>{const{image:e,slug:r,title:a,label:n}=t;return{banner:nr(e),slug:r,title:a,label:n}},people:t=>{const{id:e,name:r,jobTitle:a,location:n,image:s}=t;return{profile:s,slug:e,title:r,text:a,secondaryText:n}}};var or=async({contentType:t,...e}={},r)=>{try{if(!sr[t])throw new Error("Content type not supported");if("function"!=typeof sr[t])throw new Error("No builder function for content type");return"people"!==t&&e.sys&&e.sys.type&&"Link"===e.sys.type&&(e=await Be.read(t,e)),{contentType:t,...await sr[t](e,r)}}catch(t){throw await N(t),new Error(`Cannot build carousel card: ${t.message}`)}},ir=async(t,e,r={})=>{try{if(!t.replies||0===t.replies.length)return t.replies=[],t;t.replies.sort(((t,e)=>new Date(t.createdAt)-new Date(e.createdAt))),t.totalReplies=t.totalReplies||t.replies.length;let n=t.replies;if(r.limit&&r.pageNumber){const e=r.limit*(r.pageNumber-1);n=t.replies.slice(e,e+r.limit)}for(const r of n){if(r.authorId===t.authorId){r.author=t.author,r.userLiked=!1;continue}r.author=r.authorId&&await Ot(r.authorId)||{};const[n]=e?await Mt({contentType:a.CONTENTFUL.REPLIES.TYPE,contentSlug:r.slug}):[null];r.userLiked=!!n}return t.replies=n,t}catch(t){throw await N(t),new Error(`Cannot build replies for answer: ${t.message}`)}},cr=l(408);const lr=t=>t&&cr.Buffer.from(t,"base64").toString("ascii");function ur({contentContext:a=null,errorsContext:l=null,gtmContext:u=null,origin:w}){try{const I=(t=>{let e=null;t?e=t:"undefined"!=typeof window&&(e=window.origin||window.location.origin),e||new Error("Cannot select environment: Website not defined");let r=null;const a=e.match(o);return a?r=a[1].split(i)[0]:e===n?r=c:e.includes(s)&&(r=E),r||new Error(`Cannot select environment: No rule for website ${e}`),r})(w);return a&&(0,t.setContext)(Object.assign({},a,{environment:I})),l&&(0,e.setContext)(Object.assign({},l,{environment:I})),u&&((0,r.setContext)(Object.assign({},u,{environment:I})),(0,r.setupGTM)()),(({environment:t})=>{const e=(t=>{if(!t)throw new Error("Cannot map environment: Environment not defined");if(!S[t])throw new Error(`Cannot map environment: No mapping found for environment ${t}`);return S[t]})(t);p.emailIds=d[e]})(Object.assign({},{environment:I})),I}catch(t){console.warn(`Cannot load SDK: ${t.message}`)}}}(),u}()}));
1
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("@apolitical/content"),require("@apolitical/error-reporting"),require("@apolitical/gtm"),require("axios"),require("http-status-codes"),require("socket.io-client"),require("buffer")):"function"==typeof define&&define.amd?define(["@apolitical/content","@apolitical/error-reporting","@apolitical/gtm","axios","http-status-codes","socket.io-client","buffer"],e):"object"==typeof exports?exports.ApoliticalSDK=e(require("@apolitical/content"),require("@apolitical/error-reporting"),require("@apolitical/gtm"),require("axios"),require("http-status-codes"),require("socket.io-client"),require("buffer")):t.ApoliticalSDK=e(t["@apolitical/content"],t["@apolitical/error-reporting"],t["@apolitical/gtm"],t.axios,t["http-status-codes"],t["socket.io-client"],t.buffer)}(this,(function(t,e,r,a,n,s,o){return function(){"use strict";var i={809:function(e){e.exports=t},30:function(t){t.exports=e},36:function(t){t.exports=r},300:function(t){t.exports=a},408:function(t){t.exports=o},25:function(t){t.exports=n},130:function(t){t.exports=s}},c={};function l(t){var e=c[t];if(void 0!==e)return e.exports;var r=c[t]={exports:{}};return i[t](r,r.exports,l),r.exports}l.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return l.d(e,{a:e}),e},l.d=function(t,e){for(var r in e)l.o(e,r)&&!l.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},l.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},l.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var u={};return function(){l.r(u),l.d(u,{assets:function(){return P},auth:function(){return U},buildAnswer:function(){return ir},buildCarouselCard:function(){return or},buildQuestion:function(){return Je},carouselCards:function(){return qe},contentInteraction:function(){return X},decodeBase64:function(){return lr},default:function(){return ur},editorialPages:function(){return ke},features:function(){return tt},getEntries:function(){return t.getEntries},getEntry:function(){return t.getEntry},management:function(){return pt},payments:function(){return gt},people:function(){return Ae},peopleEngagement:function(){return $e},qaQuestions:function(){return Xe},reportError:function(){return e.reportError},search:function(){return De}});var t=l(809),e=l(30),r=l(36),a={APOLITICAL:{WEBSITES:{LIVE:"https://apolitical.co",LOCALHOST:"localhost",STAGING:/https:\/\/([\w|\d|-]+)\.apolitical\.co/i,STAGING_SPLITTER:"-"},ENVIRONMENTS:{PRODUCTION:"live",LOCAL:"local"}},APIS:{ASSETS_API:{BASE_URL:"/api/assets-api",ENDPOINTS:{USERS:"/users",CERTIFICATES:"/certificates"}},AUTH_API:{BASE_URL:"/api/auth-api",ENDPOINTS:{USER_PASSWORD:"/password",USERS:"/users"}},CONTENT_INTERACTION_API:{BASE_URL:"/api/content-interaction-api",ENDPOINTS:{QUESTIONS:"/questions",ANSWERS:"/answers",REPLIES:"/replies",LIKES:"/likes"}},FEATURES_API:{BASE_URL:"/api/features-api",ENDPOINTS:{FLAGS:"/features"}},MANAGEMENT_API:{BASE_URL:"/api/management-api",ENDPOINTS:{ACCOUNTS:"/accounts",EVENT_REGISTRATIONS:"/event-registrations",LOGINS:"/logins",LOGIN_PASSWORDLESS:"/passwordless",BULK_ENROLMENTS:"/bulk-enrolments"}},PAYMENTS_API:{BASE_URL:"/api/payments-api",BASE_URL_V2:"/api/payments-api/v2",ENDPOINTS:{PRODUCTS:"/products"}},PEOPLE_API:{BASE_URL:"/api/people-api",BASE_URL_V2:"/api/people-api/v2",ENDPOINTS:{BULK_ENROLMENTS:"/bulk-enrolments",REGISTRATIONS:"/registrations",USERS:"/users",USER_ANSWERS:"/answers",USER_COURSES:"/courses",USER_EVENTS:"/events",USER_LIKES:"/likes",USER_LESSONS:"/lessons",USER_PRODUCTS:"/products",USER_RATINGS:"/ratings",USER_SUBSCRIPTIONS:"/subscriptions"}},PEOPLE_ENGAGEMENT_API:{BASE_URL:"/api/people-engagement-api",ENDPOINTS:{ENQUIRY_EMAILS:"/enquiry-emails",USERS:"/users",USER_PROPERTIES:"/properties"}},SEARCH_API:{BASE_URL:"/api/search-api",ENDPOINTS:{SEARCH:"/search"}}},CONTENTFUL:{ARTICLES:{TYPE:"solutionArticle"},CAROUSELS:{CARD_TYPES:{solutionArticle:{INCLUDE:1,SELECT:"fields.authorIds,fields.authorTag,fields.image,fields.publishedDate,fields.readingTime,fields.slug,fields.title"},microcourse:{INCLUDE:2,SELECT:"fields.banner,fields.freeCourse,fields.partnershipDetails,fields.slug,fields.title"},event:{INCLUDE:1,SELECT:"fields.bannerImage,fields.defaultStartDate,fields.slug,fields.speakers,fields.title,fields.isEventOngoing"},listPage:{INCLUDE:1,SELECT:"fields.hero,fields.slug,fields.title"},qaQuestion:{INCLUDE:0,SELECT:"fields.answers,fields.authorId,fields.slug,fields.title,sys.createdAt,fields.projectNames"},learningHub:{INCLUDE:1,SELECT:"fields.bannerSection,fields.label,fields.slug,fields.title"}}},COURSES:{TYPE:"microcourse"},EDITORIAL_PAGES:{INCLUDE:1,SELECT:"fields.carousels,fields.slug",TYPE:"editorialPage"},EVENTS:{TYPE:"event"},LISTS:{TYPE:"listPage"},QUESTIONS:{TYPE:"qaQuestion",INCLUDE:1,LIMIT:10,ORDER:"-sys.createdAt",SELECT:"sys.createdAt,sys.updatedAt,fields.title,fields.slug,fields.authorId,fields.answers,fields.isEdited,fields.projectNames",SKIP:0},ANSWERS:{TYPE:"qaAnswer"},REPLIES:{TYPE:"reply"},LEARNING_HUB:{TYPE:"learningHub"}},HUBSPOT:{ENVIRONMENTS_MAPPING:{local:"SANDBOX",beta:"SANDBOX",rc:"SANDBOX",live:"LIVE"},EMAIL_IDS:{SANDBOX:{internalEmailId:49099078634,externalEmailId:55196526554},LIVE:{internalEmailId:55233583049,externalEmailId:55231159239}}},USERS:{MYSELF:"me"}};const{APOLITICAL:{WEBSITES:{LIVE:n,LOCALHOST:s,STAGING:o,STAGING_SPLITTER:i},ENVIRONMENTS:{PRODUCTION:c,LOCAL:E}}}=a,{HUBSPOT:{ENVIRONMENTS_MAPPING:S,EMAIL_IDS:d}}=a;let p={emailIds:{}};var w=l(300),I=l.n(w);const N=async t=>{try{const{message:r,response:a,request:n}=t;let s=r;return a?s+=` - The request was made and the server responded with ${JSON.stringify({status:a.status,data:a.data})}`:n&&(s+=" - The request was made but no response was received"),console.warn(s),await(0,e.reportError)(new Error(s)),s}catch(t){return console.warn(`Cannot handle error: ${t.message}`),t.message}},{APIS:{ASSETS_API:{BASE_URL:g,ENDPOINTS:{USERS:A,CERTIFICATES:T}}}}=a;var P={certificates:{create:async(t,e)=>{let r=[];try{const{data:a}=await I().post(`${g}${A}/${t}${T}`,e);a&&(r=a)}catch(t){await N(t)}return r}}};const{APIS:{AUTH_API:{BASE_URL:h,ENDPOINTS:{USER_PASSWORD:R,USERS:y}}},USERS:{MYSELF:f}}=a;var U={userPassword:{update:async t=>{let e=null;try{e=await I().put(`${h}${y}/${f}${R}`,t)}catch(t){e={message:(((t||{}).response||{}).data||{}).message},await N(t)}return e}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:L,ENDPOINTS:{ANSWERS:$,QUESTIONS:m,LIKES:O}}}}=a,_=`${L}${m}`;var C={create:async({questionSlug:t},e)=>{try{await I().post(`${_}/${encodeURIComponent(t)}${$}`,e)}catch(t){const e=await N(t);throw new Error(e)}},remove:async({questionSlug:t,answerSlug:e})=>{try{await I().delete(`${_}/${encodeURIComponent(t)}${$}/${encodeURIComponent(e)}`)}catch(t){const e=await N(t);throw new Error(e)}},update:async({questionSlug:t,answerSlug:e},r)=>{try{return await I().put(`${_}/${encodeURIComponent(t)}${$}/${encodeURIComponent(e)}`,r)}catch(t){const e=await N(t);throw new Error(e)}},like:async({questionSlug:t,answerSlug:e},r)=>{try{return await I().post(`${_}/${encodeURIComponent(t)}${$}/${encodeURIComponent(e)}${O}`,r)}catch(t){const e=await N(t);throw new Error(e)}},unlike:async({questionSlug:t,answerSlug:e})=>{try{return await I().delete(`${_}/${encodeURIComponent(t)}${$}/${encodeURIComponent(e)}${O}`)}catch(t){const e=await N(t);throw new Error(e)}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:D,ENDPOINTS:{QUESTIONS:v}}}}=a,b=`${D}${v}`;var B={create:async t=>{try{return await I().post(b,t)}catch(t){const e=await N(t);throw new Error(e)}},remove:async({questionSlug:t})=>{try{await I().delete(`${b}/${encodeURIComponent(t)}`)}catch(t){const e=await N(t);throw new Error(e)}},update:async({questionSlug:t},e)=>{try{return await I().put(`${b}/${encodeURIComponent(t)}`,e)}catch(t){const e=await N(t);throw new Error(e)}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:q,ENDPOINTS:{REPLIES:M,ANSWERS:G,QUESTIONS:Y,LIKES:x}}}}=a,k=`${q}${Y}`,V=({questionSlug:t,answerSlug:e,replySlug:r},a=!1)=>{let n=`${k}/${encodeURIComponent(t)}${G}/${encodeURIComponent(e)}${M}`;return r&&(n=`${n}/${encodeURIComponent(r)}`,a&&(n=`${n}${x}`)),n};var F={create:async({questionSlug:t,answerSlug:e},r)=>{try{return await I().post(V({questionSlug:t,answerSlug:e}),r)}catch(t){const e=await N(t);throw new Error(e)}},update:async({questionSlug:t,answerSlug:e,replySlug:r},a)=>{try{return await I().put(V({questionSlug:t,answerSlug:e,replySlug:r}),a)}catch(t){const e=await N(t);throw new Error(e)}},remove:async({questionSlug:t,answerSlug:e,replySlug:r})=>{try{await I().delete(V({questionSlug:t,answerSlug:e,replySlug:r}))}catch(t){const e=await N(t);throw new Error(e)}},like:async({questionSlug:t,answerSlug:e,replySlug:r},a)=>{try{await I().post(V({questionSlug:t,answerSlug:e,replySlug:r},!0),a)}catch(t){const e=await N(t);throw new Error(e)}},unlike:async({questionSlug:t,answerSlug:e,replySlug:r})=>{try{await I().delete(V({questionSlug:t,answerSlug:e,replySlug:r},!0))}catch(t){const e=await N(t);throw new Error(e)}},getReplyUrl:V};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:j,ENDPOINTS:{QUESTIONS:H,ANSWERS:K,LIKES:Q}}}}=a,W=`${j}${H}`;var X={answers:C,questions:B,replies:F,likes:{create:async(t,e)=>{try{return await I().post(`${W}/${encodeURIComponent(t)}${K}/${encodeURIComponent(e)}${Q}`)}catch(t){const e=await N(t);throw new Error(e)}},remove:async(t,e)=>{try{return await I().delete(`${W}/${encodeURIComponent(t)}${K}/${encodeURIComponent(e)}${Q}`)}catch(t){const e=await N(t);throw new Error(e)}}}};const{APIS:{FEATURES_API:{BASE_URL:J,ENDPOINTS:{FLAGS:z}}}}=a,Z=`${J}${z}`;var tt={flags:{read:async t=>{let e=null;try{const{data:r}=await I().get(`${Z}/${encodeURIComponent(t)}`);r?.name&&r?.featureState&&(e=r)}catch(t){await N(t)}return e}}};const{APIS:{MANAGEMENT_API:{BASE_URL:et,ENDPOINTS:{ACCOUNTS:rt}}}}=a;var at={create:async t=>{try{await I().post(`${et}${rt}`,t)}catch(t){throw await N(t),t}},read:async t=>{let e=null;try{({data:e}=await I().get(`${et}${rt}/${encodeURIComponent(t)}`))}catch(t){await N(t)}return e},update:async(t,e)=>{try{await I().put(`${et}${rt}/${encodeURIComponent(t)}`,e)}catch(t){throw await N(t),t}}};const{APIS:{MANAGEMENT_API:{BASE_URL:nt,ENDPOINTS:{BULK_ENROLMENTS:st}}}}=a;var ot={create:async t=>{try{await I().post(`${nt}${st}`,t)}catch(t){throw await N(t),t}}};const{APIS:{MANAGEMENT_API:{BASE_URL:it,ENDPOINTS:{EVENT_REGISTRATIONS:ct}}}}=a;var lt={create:async t=>{try{await I().post(`${it}${ct}`,t)}catch(t){const e=await N(t);throw new Error(e)}}};const{APIS:{MANAGEMENT_API:{BASE_URL:ut,ENDPOINTS:{LOGINS:Et,LOGIN_PASSWORDLESS:St}}}}=a,dt=`${ut}${Et}`;var pt={accounts:at,bulkEnrolments:ot,eventRegistrations:lt,passwordless:{update:async t=>{try{await I().put(`${dt}/${encodeURIComponent(t)}${St}`)}catch(t){throw await N(t),t}}}};const{APIS:{PAYMENTS_API:{BASE_URL_V2:wt,ENDPOINTS:{PRODUCTS:It}}}}=a,Nt=`${wt}${It}`;var gt={products:{list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(Nt,r);t&&t.length&&(e=t)}catch(t){await N(t)}return e}}};const{APIS:{PEOPLE_API:{BASE_URL_V2:At,ENDPOINTS:{BULK_ENROLMENTS:Tt}}}}=a;var Pt={list:async t=>{let e=[];try{const{data:r}=await I().get(`${At}${Tt}`,{params:t});r&&r.length&&(e=r)}catch(t){await N(t)}return e}},ht=l(25);const{OK:Rt,MULTIPLE_CHOICES:yt,NOT_FOUND:ft,FORBIDDEN:Ut}=ht.StatusCodes,Lt=t=>t>=Rt&&t<yt||t===Ut||t===ft,{APIS:{PEOPLE_API:{BASE_URL_V2:$t,ENDPOINTS:{USERS:mt}}}}=a,Ot=async t=>{let e=null;try{const{data:r}=await I().get(`${$t}${mt}/${encodeURIComponent(t)}`,{validateStatus:Lt});r&&r.id&&(e=r)}catch(t){await N(t)}return e},_t=async t=>{let e=[];try{if(t&&t.length<2)throw new Error("users list method requires at least two ids");const r=t.map((t=>`ids=${encodeURIComponent(t)}`)).join("&"),a=await I().get(`${$t}${mt}?${r}`,{validateStatus:Lt});a&&a.length&&(e=a)}catch(t){await N(t)}return e};var Ct={read:Ot,update:async(t,e)=>{let r=!1;try{const{data:a}=await I().put(`${$t}${mt}/${encodeURIComponent(t)}`,e);r=!(!a||!a.id)}catch(t){await N(t)}return r},list:_t};const{APIS:{PEOPLE_API:{BASE_URL_V2:Dt,ENDPOINTS:{USERS:vt,USER_LIKES:bt}}},USERS:{MYSELF:Bt}}=a,qt=`${Dt}${vt}/${Bt}${bt}`,Mt=async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(qt,r);t&&t.length&&(e=t)}catch(t){await N(t)}return e};var Gt={list:Mt};var Yt={authors:{readQuestionAuthors:async(t,e,r)=>{try{if(t.author=await Ot(t.authorId),t.answers&&t.answers.length&&!r.ignoreAnswersAuthors){t.answers.sort(((t,e)=>new Date(e.updatedAt)-new Date(t.updatedAt))),t.totalAnswers=t.answers.length;let n=t.answers;if(r.limit&&r.pageNumber){const e=r.limit*(r.pageNumber-1);n=t.answers.slice(e,e+r.limit)}for(let t of n){t.author=t.authorId&&await Ot(t.authorId)||{};const[r]=e?await Mt({contentType:a.CONTENTFUL.ANSWERS.TYPE,contentSlug:t.slug}):[null];t.userLiked=!!r}t.answers=n}else t.answers||(t.answers=[]);return t}catch(t){throw await N(t),new Error(`Cannot read authors for question: ${t.message}`)}},readAuthors:async(t=[])=>{let e=[];try{if(!1===Array.isArray(t))throw new Error("authorIds is not an array!");if(t&&1===t.length){const r=await Ot(t[0]);r&&e.push(r)}else if(t&&t.length>1){const r=await _t(t);r&&r.length>0&&(e=r)}}catch(t){throw await N(t),new Error(`Cannot read authors: ${t.message}`)}return e}}};const{APIS:{PEOPLE_API:{BASE_URL:xt,ENDPOINTS:{REGISTRATIONS:kt}}}}=a;var Vt={list:async t=>{let e=[];try{const{data:r}=await I().get(`${xt}${kt}`,{params:t});r&&r.length&&(e=r)}catch(t){await N(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Ft,ENDPOINTS:{USERS:jt,USER_COURSES:Ht}}},USERS:{MYSELF:Kt}}=a,Qt=`${Ft}${jt}/${Kt}${Ht}`;var Wt={create:async t=>{try{await I().post(Qt,t)}catch(t){await N(t)}},list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(Qt,r);t&&t.length&&(e=t)}catch(t){await N(t)}return e},update:async(t,e)=>{try{await I().put(`${Qt}/${t}`,e)}catch(t){await N(t)}}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Xt,ENDPOINTS:{USERS:Jt,USER_EVENTS:zt}}},USERS:{MYSELF:Zt}}=a,te=`${Xt}${Jt}/${Zt}${zt}`;var ee={list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(te,r);t&&t.length&&(e=t)}catch(t){await N(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:re,ENDPOINTS:{USERS:ae,USER_LESSONS:ne}}},USERS:{MYSELF:se}}=a,oe=`${re}${ae}/${se}${ne}`;var ie={create:async t=>{let e=null;try{e=await I().post(oe,t)}catch(t){await N(t)}return e},list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(oe,r);t&&t.length&&(e=t)}catch(t){await N(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:ce,ENDPOINTS:{USERS:le,USER_PRODUCTS:ue}}},USERS:{MYSELF:Ee}}=a,Se=`${ce}${le}/${Ee}${ue}`;var de={create:async t=>{let e=null;try{e=await I().post(Se,t)}catch(t){await N(t)}return e},list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(Se,r);t&&t.length&&(e=t)}catch(t){await N(t)}return e},update:async(t,e)=>{try{await I().put(`${Se}/${t}`,e)}catch(t){await N(t)}}};const{APIS:{PEOPLE_API:{BASE_URL_V2:pe,ENDPOINTS:{USERS:we,USER_RATINGS:Ie}}},USERS:{MYSELF:Ne}}=a,ge=`${pe}${we}/${Ne}${Ie}`;var Ae={bulkEnrolments:Pt,handlers:Yt,registrations:Vt,users:Ct,userCourses:Wt,userEvents:ee,userLessons:ie,userLikes:Gt,userProducts:de,userRatings:{create:async t=>{let e=null;try{const{data:r}=await I().post(ge,t);r?.id&&(e=r)}catch(t){await N(t)}return e},update:async(t,e)=>{try{await I().put(`${ge}/${t}`,e)}catch(t){await N(t)}}}};const{APIS:{PEOPLE_ENGAGEMENT_API:{BASE_URL:Te,ENDPOINTS:{ENQUIRY_EMAILS:Pe}}}}=a;var he={create:async t=>{let e=null;try{const{data:r}=await I().post(`${Te}${Pe}`,t);r&&(e=r)}catch(t){await N(t)}return e}},Re={forms:{sendEnquiryEmails:async t=>{let e=null;try{const{emailIds:r}=p;e=await $e.emails.create({...r,...t})}catch(t){await N(t)}return e}}};const{APIS:{PEOPLE_ENGAGEMENT_API:{BASE_URL:ye,ENDPOINTS:{USERS:fe,USER_PROPERTIES:Ue}}},USERS:{MYSELF:Le}}=a;var $e={emails:he,handlers:Re,userProperties:{update:async(t,e)=>{try{await I().put(`${ye}${fe}/${Le}${Ue}/${t}`,e)}catch(t){await N(t)}}}},me=l(130);const{APIS:{SEARCH_API:{BASE_URL:Oe,ENDPOINTS:{SEARCH:_e}}}}=a,Ce=`${Oe}${_e}`;var De={ask:async t=>{try{let e=null;const{data:r}=await I().get(Ce,{params:{question:t}});return r?.answer&&r?.references&&r?.version&&(e=r),e}catch(t){const e=await N(t);throw new Error(e)}},stream:(t,e,r)=>{const a=(0,me.io)(void 0,{path:"/api/search-api/web-sockets"});function n(){a.emit("search",{question:t})}function s(t){r(t),o(),a.disconnect()}function o(){a.off("connect",n),a.off("update",e),a.off("result",s)}return a.on("connect",n),a.on("update",e),a.on("result",s),o}};const{CONTENTFUL:ve}=a,{CARD_TYPES:be}=ve.CAROUSELS,Be={read:async(e,r)=>{try{if(!r||!r.sys||!r.sys.id)throw new Error("Invalid link to card");if(!e||!be[e])throw new Error("Unsupported card content type");const{INCLUDE:a,SELECT:n}=be[e];return await(0,t.getEntry)({content_type:e,"sys.id":r.sys.id,include:a,select:n},{assetDetails:!0})}catch(t){throw await N(t),new Error(`Cannot read carousel card: ${t.message}`)}}};var qe=Be;const{CONTENTFUL:Me}=a,{INCLUDE:Ge,SELECT:Ye,TYPE:xe}=Me.EDITORIAL_PAGES;var ke={read:async e=>{try{return await(0,t.getEntry)({content_type:xe,"fields.slug":e,include:Ge,select:Ye})}catch(t){throw await N(t),new Error(`Cannot read editorial page: ${t.message}`)}}};const{CONTENTFUL:Ve}=a,{TYPE:Fe,ORDER:je,SELECT:He,SKIP:Ke,LIMIT:Qe,INCLUDE:We}=Ve.QUESTIONS;var Xe={read:async e=>{try{return await(0,t.getEntry)({content_type:Fe,"fields.slug":e,include:2,select:He})}catch(t){throw await N(t),new Error(`Cannot read question: ${t.message}`)}},list:async(e={})=>{try{return await(0,t.getEntries)({content_type:Fe,include:We,limit:Qe,order:je,select:He,skip:Ke,...e})}catch(t){throw await N(t),new Error(`Cannot list questions: ${t.message}`)}}},Je=async(t,e,r={ignoreAnswersAuthors:!1})=>{try{let a={};return a=await Xe.read(t),a=await Ae.handlers.authors.readQuestionAuthors(a,e,r),a}catch(t){throw await N(t),new Error(`Cannot build question: ${t.message}`)}};const{ARTICLES:{TYPE:ze},COURSES:{TYPE:Ze},EVENTS:{TYPE:tr},LISTS:{TYPE:er},QUESTIONS:{TYPE:rr},LEARNING_HUB:{TYPE:ar}}=a.CONTENTFUL,nr=t=>t&&t.url?(Object.assign(t,{aspect:"responsiveCard",query:"q=90&fit=fill"}),t):null,sr={[ze]:async t=>{const{authorIds:e,authorTag:r,image:a,publishedDate:n,readingTime:s,slug:o,title:i}=t,c=await Ae.handlers.authors.readAuthors(e),l=c&&c.length?c:r?[r]:null;return{banner:nr(a),contributors:l,publishedDate:n,readingTime:s,slug:o,title:i}},[Ze]:async(t,e)=>{const{banner:r,freeCourse:a,partnershipDetails:n,slug:s,title:o,registered:i}=t,c={banner:nr(r),slug:s,title:o,pill:a?"free":"premium",registered:!!i};if(n){const{partners:t}=n;c.partner=t&&t.length&&n.partners[0]}if(void 0===i&&e){const[t]=await Ae.userProducts.list({courseSlug:s,isEnrolled:!0,scope:"active"});c.registered=!!t}return c},[tr]:async(t,e)=>{const{bannerImage:r,defaultStartDate:a,isEventOngoing:n,slug:s,speakers:o,title:i,registered:c}=t,l=new Date(a),u=!!l&&l<new Date;if(o&&o.length)for(const t of o)t.image=(E=t.image)&&E.url?`${E.url}?w=100&h=100&fit=thumb&f=center`:null;var E;const S={banner:nr(r),dateHasPassed:u,title:i,slug:s,isOngoingEvent:n,contributors:o,startDate:l,registered:!!c};if(void 0===c&&e){const[t]=await Ae.userEvents.list({eventSlug:s});S.registered=!!t}return S},[er]:async t=>{const{hero:e,slug:r,title:a}=t;return{banner:nr(e),slug:r,title:a}},[rr]:async t=>{const{answers:e,authorId:r,createdAt:a,slug:n,title:s}=t;let o=null;if(r){const t=await Ae.users.read(r);t&&(o=t)}return{answers:e&&e.length?e.length:0,contributors:o?[o]:[],createdAt:a,slug:n,title:s}},[ar]:t=>{const{bannerSection:e,label:r,slug:a,title:n}=t;return{banner:nr(e.image),slug:a,title:n,label:r}},people:t=>{const{id:e,name:r,jobTitle:a,location:n,image:s}=t;return{profile:s,slug:e,title:r,text:a,secondaryText:n}}};var or=async({contentType:t,...e}={},r)=>{try{if(!sr[t])throw new Error("Content type not supported");if("function"!=typeof sr[t])throw new Error("No builder function for content type");return"people"!==t&&e.sys&&e.sys.type&&"Link"===e.sys.type&&(e=await qe.read(t,e)),{contentType:t,...await sr[t](e,r)}}catch(t){throw await N(t),new Error(`Cannot build carousel card: ${t.message}`)}},ir=async(t,e,r={})=>{try{if(!t.replies||0===t.replies.length)return t.replies=[],t;t.replies.sort(((t,e)=>new Date(t.createdAt)-new Date(e.createdAt))),t.totalReplies=t.totalReplies||t.replies.length;let n=t.replies;if(r.limit&&r.pageNumber){const e=r.limit*(r.pageNumber-1);n=t.replies.slice(e,e+r.limit)}for(const r of n){if(r.authorId===t.authorId){r.author=t.author,r.userLiked=!1;continue}r.author=r.authorId&&await Ot(r.authorId)||{};const[n]=e?await Mt({contentType:a.CONTENTFUL.REPLIES.TYPE,contentSlug:r.slug}):[null];r.userLiked=!!n}return t.replies=n,t}catch(t){throw await N(t),new Error(`Cannot build replies for answer: ${t.message}`)}},cr=l(408);const lr=t=>t&&cr.Buffer.from(t,"base64").toString("ascii");function ur({contentContext:a=null,errorsContext:l=null,gtmContext:u=null,origin:w}){try{const I=(t=>{let e=null;t?e=t:"undefined"!=typeof window&&(e=window.origin||window.location.origin),e||new Error("Cannot select environment: Website not defined");let r=null;const a=e.match(o);return a?r=a[1].split(i)[0]:e===n?r=c:e.includes(s)&&(r=E),r||new Error(`Cannot select environment: No rule for website ${e}`),r})(w);return a&&(0,t.setContext)(Object.assign({},a,{environment:I})),l&&(0,e.setContext)(Object.assign({},l,{environment:I})),u&&((0,r.setContext)(Object.assign({},u,{environment:I})),(0,r.setupGTM)()),(({environment:t})=>{const e=(t=>{if(!t)throw new Error("Cannot map environment: Environment not defined");if(!S[t])throw new Error(`Cannot map environment: No mapping found for environment ${t}`);return S[t]})(t);p.emailIds=d[e]})(Object.assign({},{environment:I})),I}catch(t){console.warn(`Cannot load SDK: ${t.message}`)}}}(),u}()}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apolitical/sdk",
3
- "version": "7.4.3-beta.1",
3
+ "version": "7.4.3",
4
4
  "description": "Browser library to interact with Apolitical's APIs",
5
5
  "author": "Apolitical Group Limited <engineering@apolitical.co>",
6
6
  "license": "MIT",