@apolitical/sdk 6.1.0-draco.0 → 7.0.0-draco.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,9 +5,11 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [6.1.0] - 2023-04-14
8
+ ## [7.0.0] - 2023-04-18
9
9
  ### Added
10
- - users list method
10
+ - list to user resources
11
+ - readAuthors to authors handlers
12
+ - removed buildQuestions to solvers
11
13
 
12
14
  ## [6.0.0] - 2023-04-04
13
15
  ### Added
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("buffer")):"function"==typeof define&&define.amd?define(["@apolitical/content","@apolitical/error-reporting","@apolitical/gtm","axios","http-status-codes","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("buffer")):t.ApoliticalSDK=e(t["@apolitical/content"],t["@apolitical/error-reporting"],t["@apolitical/gtm"],t.axios,t["http-status-codes"],t.buffer)}(this,(function(t,e,r,a,n,s){return function(){"use strict";var o={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=s},25:function(t){t.exports=n}},i={};function c(t){var e=i[t];if(void 0!==e)return e.exports;var r=i[t]={exports:{}};return o[t](r,r.exports,c),r.exports}c.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return c.d(e,{a:e}),e},c.d=function(t,e){for(var r in e)c.o(e,r)&&!c.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},c.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},c.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(){c.r(u),c.d(u,{assets:function(){return y},auth:function(){return O},buildCarouselCard:function(){return xe},buildQuestion:function(){return _e},buildQuestions:function(){return De},carouselCards:function(){return Ne},contentInteraction:function(){return X},contentSuggestion:function(){return st},decodeBase64:function(){return Fe},default:function(){return Qe},editorialPages:function(){return Re},getEntries:function(){return t.getEntries},getEntry:function(){return t.getEntry},management:function(){return It},payments:function(){return At},people:function(){return se},peopleEngagement:function(){return we},qaQuestions:function(){return Ce},reportError:function(){return e.reportError}});var t=c(809),e=c(30),r=c(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"}},CONTENT_SUGGESTIONS_API:{BASE_URL:"/api/content-suggestions-api",ENDPOINTS:{SUGGESTIONS:"/suggest"}},MANAGEMENT_API:{BASE_URL:"/api/management-api",ENDPOINTS:{ACCOUNTS:"/accounts",EVENT_REGISTRATIONS:"/event-registrations",LOGINS:"/logins",LOGIN_PASSWORDLESS:"/passwordless"}},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:{REGISTRATIONS:"/registrations",USERS:"/users",USER_ANSWERS:"/answers",USER_COURSES:"/courses",USER_EVENTS:"/events",USER_LIKES:"/likes",USER_LESSONS:"/lessons",USER_PRODUCTS:"/products",USER_SUBSCRIPTIONS:"/subscriptions"}},PEOPLE_ENGAGEMENT_API:{BASE_URL:"/api/people-engagement-api",ENDPOINTS:{ENQUIRY_EMAILS:"/enquiry-emails",USERS:"/users",USER_PROPERTIES:"/properties"}}},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"}}},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",SKIP:0},ANSWERS:{TYPE:"qaAnswer"}},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:l,LOCAL:S}}}=a,{HUBSPOT:{ENVIRONMENTS_MAPPING:E,EMAIL_IDS:d}}=a;let w={emailIds:{}};var p=c(300),I=c.n(p);const g=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:N,ENDPOINTS:{USERS:T,CERTIFICATES:A}}}}=a;var y={certificates:{create:async(t,e)=>{let r=[];try{const{data:a}=await I().post(`${N}${T}/${t}${A}`,e);a&&(r=a)}catch(t){await g(t)}return r}}};const{APIS:{AUTH_API:{BASE_URL:P,ENDPOINTS:{USER_PASSWORD:R,USERS:h}}},USERS:{MYSELF:f}}=a;var O={userPassword:{update:async t=>{let e=null;try{e=await I().put(`${P}${h}/${f}${R}`,t)}catch(t){e={message:(((t||{}).response||{}).data||{}).message},await g(t)}return e}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:U,ENDPOINTS:{ANSWERS:$,QUESTIONS:m,LIKES:L}}}}=a,C=`${U}${m}`;var _={create:async({questionSlug:t},e)=>{try{await I().post(`${C}/${encodeURIComponent(t)}${$}`,e)}catch(t){const e=await g(t);throw new Error(e)}},remove:async({questionSlug:t,answerSlug:e})=>{try{await I().delete(`${C}/${encodeURIComponent(t)}${$}/${encodeURIComponent(e)}`)}catch(t){const e=await g(t);throw new Error(e)}},update:async({questionSlug:t,answerSlug:e},r)=>{try{return await I().put(`${C}/${encodeURIComponent(t)}${$}/${encodeURIComponent(e)}`,r)}catch(t){const e=await g(t);throw new Error(e)}},like:async({questionSlug:t,answerSlug:e})=>{try{return await I().post(`${C}/${encodeURIComponent(t)}${$}/${encodeURIComponent(e)}${L}`)}catch(t){const e=await g(t);throw new Error(e)}},unlike:async({questionSlug:t,answerSlug:e})=>{try{return await I().delete(`${C}/${encodeURIComponent(t)}${$}/${encodeURIComponent(e)}${L}`)}catch(t){const e=await g(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 g(t);throw new Error(e)}},remove:async({questionSlug:t})=>{try{await I().delete(`${b}/${encodeURIComponent(t)}`)}catch(t){const e=await g(t);throw new Error(e)}},update:async({questionSlug:t},e)=>{try{return await I().put(`${b}/${encodeURIComponent(t)}`,e)}catch(t){const e=await g(t);throw new Error(e)}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:B,ENDPOINTS:{REPLIES:G,ANSWERS:M,QUESTIONS:Y,LIKES:x}}}}=a,V=`${B}${Y}`,F=({questionSlug:t,answerSlug:e,replySlug:r},a=!1)=>{let n=`${V}/${encodeURIComponent(t)}${M}/${encodeURIComponent(e)}${G}`;return r&&(n=`${n}/${encodeURIComponent(r)}`,a&&(n=`${n}${x}`)),n};var Q={create:async({questionSlug:t,answerSlug:e},r)=>{try{return await I().post(F({questionSlug:t,answerSlug:e}),r)}catch(t){const e=await g(t);throw new Error(e)}},update:async({questionSlug:t,answerSlug:e,replySlug:r},a)=>{try{return await I().put(F({questionSlug:t,answerSlug:e,replySlug:r}),a)}catch(t){const e=await g(t);throw new Error(e)}},remove:async({questionSlug:t,answerSlug:e,replySlug:r})=>{try{await I().delete(F({questionSlug:t,answerSlug:e,replySlug:r}))}catch(t){const e=await g(t);throw new Error(e)}},like:async({questionSlug:t,answerSlug:e,replySlug:r})=>{try{await I().post(F({questionSlug:t,answerSlug:e,replySlug:r},!0))}catch(t){const e=await g(t);throw new Error(e)}},unlike:async({questionSlug:t,answerSlug:e,replySlug:r})=>{try{await I().delete(F({questionSlug:t,answerSlug:e,replySlug:r},!0))}catch(t){const e=await g(t);throw new Error(e)}},getReplyUrl:F};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:k,ENDPOINTS:{QUESTIONS:j,ANSWERS:W,LIKES:K}}}}=a,H=`${k}${j}`;var X={answers:_,questions:q,replies:Q,likes:{create:async(t,e)=>{try{return await I().post(`${H}/${encodeURIComponent(t)}${W}/${encodeURIComponent(e)}${K}`)}catch(t){const e=await g(t);throw new Error(e)}},remove:async(t,e)=>{try{return await I().delete(`${H}/${encodeURIComponent(t)}${W}/${encodeURIComponent(e)}${K}`)}catch(t){const e=await g(t);throw new Error(e)}}}},J=c(25);const{OK:z,MULTIPLE_CHOICES:Z,NOT_FOUND:tt,FORBIDDEN:et}=J.StatusCodes,rt=t=>t>=z&&t<Z||t===et||t===tt,{APIS:{CONTENT_SUGGESTIONS_API:{BASE_URL:at,ENDPOINTS:{SUGGESTIONS:nt}}}}=a;var st={suggestions:{list:async(t={})=>{let e=[],r=Object.assign({validateStatus:rt},t);try{const{data:t}=await I().get(`${at}${nt}`,r);t&&t.length&&(e=t)}catch(t){await g(t)}return e}}};const{APIS:{MANAGEMENT_API:{BASE_URL:ot,ENDPOINTS:{ACCOUNTS:it}}}}=a;var ct={create:async t=>{try{await I().post(`${ot}${it}`,t)}catch(t){throw await g(t),t}},read:async t=>{let e=null;try{({data:e}=await I().get(`${ot}${it}/${encodeURIComponent(t)}`))}catch(t){await g(t)}return e},update:async(t,e)=>{try{await I().put(`${ot}${it}/${encodeURIComponent(t)}`,e)}catch(t){throw await g(t),t}}};const{APIS:{MANAGEMENT_API:{BASE_URL:ut,ENDPOINTS:{EVENT_REGISTRATIONS:lt}}}}=a;var St={create:async t=>{try{await I().post(`${ut}${lt}`,t)}catch(t){const e=await g(t);throw new Error(e)}}};const{APIS:{MANAGEMENT_API:{BASE_URL:Et,ENDPOINTS:{LOGINS:dt,LOGIN_PASSWORDLESS:wt}}}}=a,pt=`${Et}${dt}`;var It={accounts:ct,eventRegistrations:St,passwordless:{update:async t=>{try{await I().put(`${pt}/${encodeURIComponent(t)}${wt}`)}catch(t){throw await g(t),t}}}};const{APIS:{PAYMENTS_API:{BASE_URL_V2:gt,ENDPOINTS:{PRODUCTS:Nt}}}}=a,Tt=`${gt}${Nt}`;var At={products:{list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(Tt,r);t&&t.length&&(e=t)}catch(t){await g(t)}return e}}};const{APIS:{PEOPLE_API:{BASE_URL_V2:yt,ENDPOINTS:{USERS:Pt}}}}=a,Rt=async t=>{let e=null;try{const{data:r}=await I().get(`${yt}${Pt}/${encodeURIComponent(t)}`,{validateStatus:rt});r&&r.id&&(e=r)}catch(t){await g(t)}return e};var ht={read:Rt,update:async(t,e)=>{let r=!1;try{const{data:a}=await I().put(`${yt}${Pt}/${encodeURIComponent(t)}`,e);r=!(!a||!a.id)}catch(t){await g(t)}return r},list:async t=>{let e=[];try{if(t&&t.length<2)throw new Error("users list method requires at least two ids, [sdk, users, list]");const r=t.map((t=>`ids=${encodeURIComponent(t)}`)).join("&"),a=await I().get(`${yt}${Pt}?${r}`,{validateStatus:rt});a&&a.length&&(e=a)}catch(t){await g(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:ft,ENDPOINTS:{USERS:Ot,USER_LIKES:Ut}}},USERS:{MYSELF:$t}}=a,mt=`${ft}${Ot}/${$t}${Ut}`,Lt=async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(mt,r);t&&t.length&&(e=t)}catch(t){await g(t)}return e};var Ct={list:Lt},_t={authors:{readQuestionAuthors:async(t,e,r)=>{try{if(t.author=await Rt(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 Rt(t.authorId)||{};const[r]=e?await Lt({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 g(t),new Error(`Cannot read authors: ${t.message}`)}}}};const{APIS:{PEOPLE_API:{BASE_URL:Dt,ENDPOINTS:{REGISTRATIONS:vt}}}}=a;var bt={list:async t=>{let e=[];try{const{data:r}=await I().get(`${Dt}${vt}`,{params:t});r&&r.length&&(e=r)}catch(t){await g(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:qt,ENDPOINTS:{USERS:Bt,USER_COURSES:Gt}}},USERS:{MYSELF:Mt}}=a,Yt=`${qt}${Bt}/${Mt}${Gt}`;var xt={create:async t=>{try{await I().post(Yt,t)}catch(t){await g(t)}},list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(Yt,r);t&&t.length&&(e=t)}catch(t){await g(t)}return e},update:async(t,e)=>{try{await I().put(`${Yt}/${t}`,e)}catch(t){await g(t)}}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Vt,ENDPOINTS:{USERS:Ft,USER_EVENTS:Qt}}},USERS:{MYSELF:kt}}=a,jt=`${Vt}${Ft}/${kt}${Qt}`;var Wt={list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(jt,r);t&&t.length&&(e=t)}catch(t){await g(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Kt,ENDPOINTS:{USERS:Ht,USER_LESSONS:Xt}}},USERS:{MYSELF:Jt}}=a,zt=`${Kt}${Ht}/${Jt}${Xt}`;var Zt={create:async t=>{let e=null;try{e=await I().post(zt,t)}catch(t){await g(t)}return e},list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(zt,r);t&&t.length&&(e=t)}catch(t){await g(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:te,ENDPOINTS:{USERS:ee,USER_PRODUCTS:re}}},USERS:{MYSELF:ae}}=a,ne=`${te}${ee}/${ae}${re}`;var se={handlers:_t,registrations:bt,users:ht,userCourses:xt,userEvents:Wt,userLessons:Zt,userLikes:Ct,userProducts:{create:async t=>{let e=null;try{e=await I().post(ne,t)}catch(t){await g(t)}return e},list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(ne,r);t&&t.length&&(e=t)}catch(t){await g(t)}return e},update:async(t,e)=>{try{await I().put(`${ne}/${t}`,e)}catch(t){await g(t)}}}};const{APIS:{PEOPLE_ENGAGEMENT_API:{BASE_URL:oe,ENDPOINTS:{ENQUIRY_EMAILS:ie}}}}=a;var ce={create:async t=>{let e=null;try{const{data:r}=await I().post(`${oe}${ie}`,t);r&&(e=r)}catch(t){await g(t)}return e}},ue={forms:{sendEnquiryEmails:async t=>{let e=null;try{const{emailIds:r}=w;e=await we.emails.create({...r,...t})}catch(t){await g(t)}return e}}};const{APIS:{PEOPLE_ENGAGEMENT_API:{BASE_URL:le,ENDPOINTS:{USERS:Se,USER_PROPERTIES:Ee}}},USERS:{MYSELF:de}}=a;var we={emails:ce,handlers:ue,userProperties:{update:async(t,e)=>{try{await I().put(`${le}${Se}/${de}${Ee}/${t}`,e)}catch(t){await g(t)}}}};const{CONTENTFUL:pe}=a,{CARD_TYPES:Ie}=pe.CAROUSELS,ge={read:async(e,r)=>{try{if(!r||!r.sys||!r.sys.id)throw new Error("Invalid link to card");if(!e||!Ie[e])throw new Error("Unsupported card content type");const{INCLUDE:a,SELECT:n}=Ie[e];return await(0,t.getEntry)({content_type:e,"sys.id":r.sys.id,include:a,select:n},{assetDetails:!0})}catch(t){throw await g(t),new Error(`Cannot read carousel card: ${t.message}`)}}};var Ne=ge;const{CONTENTFUL:Te}=a,{INCLUDE:Ae,SELECT:ye,TYPE:Pe}=Te.EDITORIAL_PAGES;var Re={read:async e=>{try{return await(0,t.getEntry)({content_type:Pe,"fields.slug":e,include:Ae,select:ye})}catch(t){throw await g(t),new Error(`Cannot read editorial page: ${t.message}`)}}};const{CONTENTFUL:he}=a,{TYPE:fe,ORDER:Oe,SELECT:Ue,SKIP:$e,LIMIT:me,INCLUDE:Le}=he.QUESTIONS;var Ce={read:async e=>{try{return await(0,t.getEntry)({content_type:fe,"fields.slug":e,include:2,select:Ue})}catch(t){throw await g(t),new Error(`Cannot read question: ${t.message}`)}},list:async(e={})=>{try{return await(0,t.getEntries)({content_type:fe,include:Le,limit:me,order:Oe,select:Ue,skip:$e,"fields.private[ne]":!0,...e})}catch(t){throw await g(t),new Error(`Cannot list questions: ${t.message}`)}}},_e=async(t,e,r={ignoreAnswersAuthors:!1})=>{try{let a={};return a=await Ce.read(t),a=await se.handlers.authors.readQuestionAuthors(a,e,r),a}catch(t){throw await g(t),new Error(`Cannot build question: ${t.message}`)}},De=async(t,e=10,r={})=>{try{let a=[];const n=e*(t-1);a=await Ce.list({...r,limit:e,skip:n});for(let t of a)t.author=t.authorId&&await se.users.read(t.authorId)||{};return a}catch(t){throw await g(t),new Error(`Cannot build questions: ${t.message}`)}};const{ARTICLES:{TYPE:ve},COURSES:{TYPE:be},EVENTS:{TYPE:qe},LISTS:{TYPE:Be},QUESTIONS:{TYPE:Ge}}=a.CONTENTFUL,Me=t=>t&&t.url?(Object.assign(t,{aspect:"responsiveCard",query:"q=90&fit=fill"}),t):null,Ye={[ve]:async t=>{const{authorIds:e,authorTag:r,image:a,publishedDate:n,readingTime:s,slug:o,title:i}=t;let c=[];if(e&&e.length)for(const t of e){const e=await se.users.read(t);e&&c.push(e)}const u=c&&c.length?c:r?[r]:null;return{banner:Me(a),contributors:u,publishedDate:n,readingTime:s,slug:o,title:i}},[be]:async(t,e)=>{const{banner:r,freeCourse:a,partnershipDetails:n,slug:s,title:o,registered:i}=t,c={banner:Me(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 se.userProducts.list({courseSlug:s,isEnrolled:!0,scope:"active"});c.registered=!!t}return c},[qe]:async(t,e)=>{const{bannerImage:r,defaultStartDate:a,isEventOngoing:n,slug:s,speakers:o,title:i,registered:c}=t,u=new Date(a),l=!!u&&u<new Date;if(o&&o.length)for(const t of o)t.image=(S=t.image)&&S.url?`${S.url}?w=100&h=100&fit=thumb&f=center`:null;var S;const E={banner:Me(r),dateHasPassed:l,title:i,slug:s,isOngoingEvent:n,contributors:o,startDate:u,registered:!!c};if(void 0===c&&e){const[t]=await se.userEvents.list({eventSlug:s});E.registered=!!t}return E},[Be]:async t=>{const{hero:e,slug:r,title:a}=t;return{banner:Me(e),slug:r,title:a}},[Ge]:async t=>{const{answers:e,authorId:r,createdAt:a,slug:n,title:s}=t;let o=null;if(r){const t=await se.users.read(r);t&&(o=t)}return{answers:e&&e.length?e.length:0,contributors:o?[o]:[],createdAt:a,slug:n,title:s}}};var xe=async({contentType:t,...e}={},r)=>{try{if(!Ye[t])throw new Error("Content type not supported");if("function"!=typeof Ye[t])throw new Error("No builder function for content type");return e.sys&&e.sys.type&&"Link"===e.sys.type&&(e=await Ne.read(t,e)),{contentType:t,...await Ye[t](e,r)}}catch(t){throw await g(t),new Error(`Cannot build carousel card: ${t.message}`)}},Ve=c(408);const Fe=t=>t&&Ve.Buffer.from(t,"base64").toString("ascii");function Qe({contentContext:a=null,errorsContext:c=null,gtmContext:u=null,origin:p}){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=l:e.includes(s)&&(r=S),r||new Error(`Cannot select environment: No rule for website ${e}`),r})(p);return a&&(0,t.setContext)(Object.assign({},a,{environment:I})),c&&(0,e.setContext)(Object.assign({},c,{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(!E[t])throw new Error(`Cannot map environment: No mapping found for environment ${t}`);return E[t]})(t);w.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("buffer")):"function"==typeof define&&define.amd?define(["@apolitical/content","@apolitical/error-reporting","@apolitical/gtm","axios","http-status-codes","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("buffer")):t.ApoliticalSDK=e(t["@apolitical/content"],t["@apolitical/error-reporting"],t["@apolitical/gtm"],t.axios,t["http-status-codes"],t.buffer)}(this,(function(t,e,r,a,n,s){return function(){"use strict";var o={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=s},25:function(t){t.exports=n}},i={};function c(t){var e=i[t];if(void 0!==e)return e.exports;var r=i[t]={exports:{}};return o[t](r,r.exports,c),r.exports}c.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return c.d(e,{a:e}),e},c.d=function(t,e){for(var r in e)c.o(e,r)&&!c.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},c.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},c.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(){c.r(u),c.d(u,{assets:function(){return y},auth:function(){return O},buildCarouselCard:function(){return xe},buildQuestion:function(){return De},carouselCards:function(){return Te},contentInteraction:function(){return X},contentSuggestion:function(){return st},decodeBase64:function(){return Fe},default:function(){return Qe},editorialPages:function(){return Re},getEntries:function(){return t.getEntries},getEntry:function(){return t.getEntry},management:function(){return It},payments:function(){return At},people:function(){return oe},peopleEngagement:function(){return pe},qaQuestions:function(){return _e},reportError:function(){return e.reportError}});var t=c(809),e=c(30),r=c(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"}},CONTENT_SUGGESTIONS_API:{BASE_URL:"/api/content-suggestions-api",ENDPOINTS:{SUGGESTIONS:"/suggest"}},MANAGEMENT_API:{BASE_URL:"/api/management-api",ENDPOINTS:{ACCOUNTS:"/accounts",EVENT_REGISTRATIONS:"/event-registrations",LOGINS:"/logins",LOGIN_PASSWORDLESS:"/passwordless"}},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:{REGISTRATIONS:"/registrations",USERS:"/users",USER_ANSWERS:"/answers",USER_COURSES:"/courses",USER_EVENTS:"/events",USER_LIKES:"/likes",USER_LESSONS:"/lessons",USER_PRODUCTS:"/products",USER_SUBSCRIPTIONS:"/subscriptions"}},PEOPLE_ENGAGEMENT_API:{BASE_URL:"/api/people-engagement-api",ENDPOINTS:{ENQUIRY_EMAILS:"/enquiry-emails",USERS:"/users",USER_PROPERTIES:"/properties"}}},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"}}},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",SKIP:0},ANSWERS:{TYPE:"qaAnswer"}},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:l,LOCAL:S}}}=a,{HUBSPOT:{ENVIRONMENTS_MAPPING:E,EMAIL_IDS:d}}=a;let w={emailIds:{}};var p=c(300),I=c.n(p);const g=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:N,ENDPOINTS:{USERS:T,CERTIFICATES:A}}}}=a;var y={certificates:{create:async(t,e)=>{let r=[];try{const{data:a}=await I().post(`${N}${T}/${t}${A}`,e);a&&(r=a)}catch(t){await g(t)}return r}}};const{APIS:{AUTH_API:{BASE_URL:P,ENDPOINTS:{USER_PASSWORD:h,USERS:R}}},USERS:{MYSELF:f}}=a;var O={userPassword:{update:async t=>{let e=null;try{e=await I().put(`${P}${R}/${f}${h}`,t)}catch(t){e={message:(((t||{}).response||{}).data||{}).message},await g(t)}return e}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:U,ENDPOINTS:{ANSWERS:$,QUESTIONS:m,LIKES:L}}}}=a,C=`${U}${m}`;var _={create:async({questionSlug:t},e)=>{try{await I().post(`${C}/${encodeURIComponent(t)}${$}`,e)}catch(t){const e=await g(t);throw new Error(e)}},remove:async({questionSlug:t,answerSlug:e})=>{try{await I().delete(`${C}/${encodeURIComponent(t)}${$}/${encodeURIComponent(e)}`)}catch(t){const e=await g(t);throw new Error(e)}},update:async({questionSlug:t,answerSlug:e},r)=>{try{return await I().put(`${C}/${encodeURIComponent(t)}${$}/${encodeURIComponent(e)}`,r)}catch(t){const e=await g(t);throw new Error(e)}},like:async({questionSlug:t,answerSlug:e})=>{try{return await I().post(`${C}/${encodeURIComponent(t)}${$}/${encodeURIComponent(e)}${L}`)}catch(t){const e=await g(t);throw new Error(e)}},unlike:async({questionSlug:t,answerSlug:e})=>{try{return await I().delete(`${C}/${encodeURIComponent(t)}${$}/${encodeURIComponent(e)}${L}`)}catch(t){const e=await g(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 g(t);throw new Error(e)}},remove:async({questionSlug:t})=>{try{await I().delete(`${b}/${encodeURIComponent(t)}`)}catch(t){const e=await g(t);throw new Error(e)}},update:async({questionSlug:t},e)=>{try{return await I().put(`${b}/${encodeURIComponent(t)}`,e)}catch(t){const e=await g(t);throw new Error(e)}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:B,ENDPOINTS:{REPLIES:G,ANSWERS:M,QUESTIONS:Y,LIKES:x}}}}=a,V=`${B}${Y}`,F=({questionSlug:t,answerSlug:e,replySlug:r},a=!1)=>{let n=`${V}/${encodeURIComponent(t)}${M}/${encodeURIComponent(e)}${G}`;return r&&(n=`${n}/${encodeURIComponent(r)}`,a&&(n=`${n}${x}`)),n};var Q={create:async({questionSlug:t,answerSlug:e},r)=>{try{return await I().post(F({questionSlug:t,answerSlug:e}),r)}catch(t){const e=await g(t);throw new Error(e)}},update:async({questionSlug:t,answerSlug:e,replySlug:r},a)=>{try{return await I().put(F({questionSlug:t,answerSlug:e,replySlug:r}),a)}catch(t){const e=await g(t);throw new Error(e)}},remove:async({questionSlug:t,answerSlug:e,replySlug:r})=>{try{await I().delete(F({questionSlug:t,answerSlug:e,replySlug:r}))}catch(t){const e=await g(t);throw new Error(e)}},like:async({questionSlug:t,answerSlug:e,replySlug:r})=>{try{await I().post(F({questionSlug:t,answerSlug:e,replySlug:r},!0))}catch(t){const e=await g(t);throw new Error(e)}},unlike:async({questionSlug:t,answerSlug:e,replySlug:r})=>{try{await I().delete(F({questionSlug:t,answerSlug:e,replySlug:r},!0))}catch(t){const e=await g(t);throw new Error(e)}},getReplyUrl:F};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:k,ENDPOINTS:{QUESTIONS:j,ANSWERS:W,LIKES:K}}}}=a,H=`${k}${j}`;var X={answers:_,questions:q,replies:Q,likes:{create:async(t,e)=>{try{return await I().post(`${H}/${encodeURIComponent(t)}${W}/${encodeURIComponent(e)}${K}`)}catch(t){const e=await g(t);throw new Error(e)}},remove:async(t,e)=>{try{return await I().delete(`${H}/${encodeURIComponent(t)}${W}/${encodeURIComponent(e)}${K}`)}catch(t){const e=await g(t);throw new Error(e)}}}},J=c(25);const{OK:z,MULTIPLE_CHOICES:Z,NOT_FOUND:tt,FORBIDDEN:et}=J.StatusCodes,rt=t=>t>=z&&t<Z||t===et||t===tt,{APIS:{CONTENT_SUGGESTIONS_API:{BASE_URL:at,ENDPOINTS:{SUGGESTIONS:nt}}}}=a;var st={suggestions:{list:async(t={})=>{let e=[],r=Object.assign({validateStatus:rt},t);try{const{data:t}=await I().get(`${at}${nt}`,r);t&&t.length&&(e=t)}catch(t){await g(t)}return e}}};const{APIS:{MANAGEMENT_API:{BASE_URL:ot,ENDPOINTS:{ACCOUNTS:it}}}}=a;var ct={create:async t=>{try{await I().post(`${ot}${it}`,t)}catch(t){throw await g(t),t}},read:async t=>{let e=null;try{({data:e}=await I().get(`${ot}${it}/${encodeURIComponent(t)}`))}catch(t){await g(t)}return e},update:async(t,e)=>{try{await I().put(`${ot}${it}/${encodeURIComponent(t)}`,e)}catch(t){throw await g(t),t}}};const{APIS:{MANAGEMENT_API:{BASE_URL:ut,ENDPOINTS:{EVENT_REGISTRATIONS:lt}}}}=a;var St={create:async t=>{try{await I().post(`${ut}${lt}`,t)}catch(t){const e=await g(t);throw new Error(e)}}};const{APIS:{MANAGEMENT_API:{BASE_URL:Et,ENDPOINTS:{LOGINS:dt,LOGIN_PASSWORDLESS:wt}}}}=a,pt=`${Et}${dt}`;var It={accounts:ct,eventRegistrations:St,passwordless:{update:async t=>{try{await I().put(`${pt}/${encodeURIComponent(t)}${wt}`)}catch(t){throw await g(t),t}}}};const{APIS:{PAYMENTS_API:{BASE_URL_V2:gt,ENDPOINTS:{PRODUCTS:Nt}}}}=a,Tt=`${gt}${Nt}`;var At={products:{list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(Tt,r);t&&t.length&&(e=t)}catch(t){await g(t)}return e}}};const{APIS:{PEOPLE_API:{BASE_URL_V2:yt,ENDPOINTS:{USERS:Pt}}}}=a,ht=async t=>{let e=null;try{const{data:r}=await I().get(`${yt}${Pt}/${encodeURIComponent(t)}`,{validateStatus:rt});r&&r.id&&(e=r)}catch(t){await g(t)}return e},Rt=async t=>{let e=[];try{if(t&&t.length<2)throw new Error("users list method requires at least two ids, [sdk, users, list]");const r=t.map((t=>`ids=${encodeURIComponent(t)}`)).join("&"),a=await I().get(`${yt}${Pt}?${r}`,{validateStatus:rt});a&&a.length&&(e=a)}catch(t){await g(t)}return e};var ft={read:ht,update:async(t,e)=>{let r=!1;try{const{data:a}=await I().put(`${yt}${Pt}/${encodeURIComponent(t)}`,e);r=!(!a||!a.id)}catch(t){await g(t)}return r},list:Rt};const{APIS:{PEOPLE_API:{BASE_URL_V2:Ot,ENDPOINTS:{USERS:Ut,USER_LIKES:$t}}},USERS:{MYSELF:mt}}=a,Lt=`${Ot}${Ut}/${mt}${$t}`,Ct=async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(Lt,r);t&&t.length&&(e=t)}catch(t){await g(t)}return e};var _t={list:Ct};var Dt={authors:{readQuestionAuthors:async(t,e,r)=>{try{if(t.author=await ht(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 ht(t.authorId)||{};const[r]=e?await Ct({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 g(t),new Error(`Cannot question read authors: ${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 ht(t[0]);r&&e.push(r)}else if(t&&t.length>1){const r=await Rt(t);r&&r.length>0&&(e=r)}}catch(t){throw await g(t),new Error(`Cannot read authors: ${t.message}`)}return e}}};const{APIS:{PEOPLE_API:{BASE_URL:vt,ENDPOINTS:{REGISTRATIONS:bt}}}}=a;var qt={list:async t=>{let e=[];try{const{data:r}=await I().get(`${vt}${bt}`,{params:t});r&&r.length&&(e=r)}catch(t){await g(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Bt,ENDPOINTS:{USERS:Gt,USER_COURSES:Mt}}},USERS:{MYSELF:Yt}}=a,xt=`${Bt}${Gt}/${Yt}${Mt}`;var Vt={create:async t=>{try{await I().post(xt,t)}catch(t){await g(t)}},list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(xt,r);t&&t.length&&(e=t)}catch(t){await g(t)}return e},update:async(t,e)=>{try{await I().put(`${xt}/${t}`,e)}catch(t){await g(t)}}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Ft,ENDPOINTS:{USERS:Qt,USER_EVENTS:kt}}},USERS:{MYSELF:jt}}=a,Wt=`${Ft}${Qt}/${jt}${kt}`;var Kt={list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(Wt,r);t&&t.length&&(e=t)}catch(t){await g(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Ht,ENDPOINTS:{USERS:Xt,USER_LESSONS:Jt}}},USERS:{MYSELF:zt}}=a,Zt=`${Ht}${Xt}/${zt}${Jt}`;var te={create:async t=>{let e=null;try{e=await I().post(Zt,t)}catch(t){await g(t)}return e},list:async t=>{let e=[],r=t?{params:t}:{params:{}};try{const{data:t}=await I().get(Zt,r);t&&t.length&&(e=t)}catch(t){await g(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:ee,ENDPOINTS:{USERS:re,USER_PRODUCTS:ae}}},USERS:{MYSELF:ne}}=a,se=`${ee}${re}/${ne}${ae}`;var oe={handlers:Dt,registrations:qt,users:ft,userCourses:Vt,userEvents:Kt,userLessons:te,userLikes:_t,userProducts:{create:async t=>{let e=null;try{e=await I().post(se,t)}catch(t){await g(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 g(t)}return e},update:async(t,e)=>{try{await I().put(`${se}/${t}`,e)}catch(t){await g(t)}}}};const{APIS:{PEOPLE_ENGAGEMENT_API:{BASE_URL:ie,ENDPOINTS:{ENQUIRY_EMAILS:ce}}}}=a;var ue={create:async t=>{let e=null;try{const{data:r}=await I().post(`${ie}${ce}`,t);r&&(e=r)}catch(t){await g(t)}return e}},le={forms:{sendEnquiryEmails:async t=>{let e=null;try{const{emailIds:r}=w;e=await pe.emails.create({...r,...t})}catch(t){await g(t)}return e}}};const{APIS:{PEOPLE_ENGAGEMENT_API:{BASE_URL:Se,ENDPOINTS:{USERS:Ee,USER_PROPERTIES:de}}},USERS:{MYSELF:we}}=a;var pe={emails:ue,handlers:le,userProperties:{update:async(t,e)=>{try{await I().put(`${Se}${Ee}/${we}${de}/${t}`,e)}catch(t){await g(t)}}}};const{CONTENTFUL:Ie}=a,{CARD_TYPES:ge}=Ie.CAROUSELS,Ne={read:async(e,r)=>{try{if(!r||!r.sys||!r.sys.id)throw new Error("Invalid link to card");if(!e||!ge[e])throw new Error("Unsupported card content type");const{INCLUDE:a,SELECT:n}=ge[e];return await(0,t.getEntry)({content_type:e,"sys.id":r.sys.id,include:a,select:n},{assetDetails:!0})}catch(t){throw await g(t),new Error(`Cannot read carousel card: ${t.message}`)}}};var Te=Ne;const{CONTENTFUL:Ae}=a,{INCLUDE:ye,SELECT:Pe,TYPE:he}=Ae.EDITORIAL_PAGES;var Re={read:async e=>{try{return await(0,t.getEntry)({content_type:he,"fields.slug":e,include:ye,select:Pe})}catch(t){throw await g(t),new Error(`Cannot read editorial page: ${t.message}`)}}};const{CONTENTFUL:fe}=a,{TYPE:Oe,ORDER:Ue,SELECT:$e,SKIP:me,LIMIT:Le,INCLUDE:Ce}=fe.QUESTIONS;var _e={read:async e=>{try{return await(0,t.getEntry)({content_type:Oe,"fields.slug":e,include:2,select:$e})}catch(t){throw await g(t),new Error(`Cannot read question: ${t.message}`)}},list:async(e={})=>{try{return await(0,t.getEntries)({content_type:Oe,include:Ce,limit:Le,order:Ue,select:$e,skip:me,"fields.private[ne]":!0,...e})}catch(t){throw await g(t),new Error(`Cannot list questions: ${t.message}`)}}},De=async(t,e,r={ignoreAnswersAuthors:!1})=>{try{let a={};return a=await _e.read(t),a=await oe.handlers.authors.readQuestionAuthors(a,e,r),a}catch(t){throw await g(t),new Error(`Cannot build question: ${t.message}`)}};const{ARTICLES:{TYPE:ve},COURSES:{TYPE:be},EVENTS:{TYPE:qe},LISTS:{TYPE:Be},QUESTIONS:{TYPE:Ge}}=a.CONTENTFUL,Me=t=>t&&t.url?(Object.assign(t,{aspect:"responsiveCard",query:"q=90&fit=fill"}),t):null,Ye={[ve]:async t=>{const{authorIds:e,authorTag:r,image:a,publishedDate:n,readingTime:s,slug:o,title:i}=t,c=await oe.handlers.authors.readAuthors(e),u=c&&c.length?c:r?[r]:null;return{banner:Me(a),contributors:u,publishedDate:n,readingTime:s,slug:o,title:i}},[be]:async(t,e)=>{const{banner:r,freeCourse:a,partnershipDetails:n,slug:s,title:o,registered:i}=t,c={banner:Me(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 oe.userProducts.list({courseSlug:s,isEnrolled:!0,scope:"active"});c.registered=!!t}return c},[qe]:async(t,e)=>{const{bannerImage:r,defaultStartDate:a,isEventOngoing:n,slug:s,speakers:o,title:i,registered:c}=t,u=new Date(a),l=!!u&&u<new Date;if(o&&o.length)for(const t of o)t.image=(S=t.image)&&S.url?`${S.url}?w=100&h=100&fit=thumb&f=center`:null;var S;const E={banner:Me(r),dateHasPassed:l,title:i,slug:s,isOngoingEvent:n,contributors:o,startDate:u,registered:!!c};if(void 0===c&&e){const[t]=await oe.userEvents.list({eventSlug:s});E.registered=!!t}return E},[Be]:async t=>{const{hero:e,slug:r,title:a}=t;return{banner:Me(e),slug:r,title:a}},[Ge]:async t=>{const{answers:e,authorId:r,createdAt:a,slug:n,title:s}=t;let o=null;if(r){const t=await oe.users.read(r);t&&(o=t)}return{answers:e&&e.length?e.length:0,contributors:o?[o]:[],createdAt:a,slug:n,title:s}}};var xe=async({contentType:t,...e}={},r)=>{try{if(!Ye[t])throw new Error("Content type not supported");if("function"!=typeof Ye[t])throw new Error("No builder function for content type");return e.sys&&e.sys.type&&"Link"===e.sys.type&&(e=await Te.read(t,e)),{contentType:t,...await Ye[t](e,r)}}catch(t){throw await g(t),new Error(`Cannot build carousel card: ${t.message}`)}},Ve=c(408);const Fe=t=>t&&Ve.Buffer.from(t,"base64").toString("ascii");function Qe({contentContext:a=null,errorsContext:c=null,gtmContext:u=null,origin:p}){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=l:e.includes(s)&&(r=S),r||new Error(`Cannot select environment: No rule for website ${e}`),r})(p);return a&&(0,t.setContext)(Object.assign({},a,{environment:I})),c&&(0,e.setContext)(Object.assign({},c,{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(!E[t])throw new Error(`Cannot map environment: No mapping found for environment ${t}`);return E[t]})(t);w.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": "6.1.0-draco.0",
3
+ "version": "7.0.0-draco.0",
4
4
  "description": "Browser library to interact with Apolitical's APIs",
5
5
  "author": "Apolitical Group Limited <engineering@apolitical.co>",
6
6
  "license": "MIT",