@apolitical/sdk 4.1.3-aquila.0 → 4.2.0-beta.1

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,6 +5,10 @@ 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
+ ## [4.2.0] - 2023-03-15
9
+ ### Added
10
+ - API call to expose POST `/event-registrations` request on the Management API
11
+
8
12
  ## [4.1.3] - 2023-03-15
9
13
  ### Fixed
10
14
  - buildCarouselCard to handle event speakers
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,a,r,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=a},300:function(t){t.exports=r},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 a=i[t]={exports:{}};return o[t](a,a.exports,c),a.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 a in e)c.o(e,a)&&!c.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:e[a]})},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 f},auth:function(){return O},buildCarouselCard:function(){return me},buildQuestion:function(){return Pe},buildQuestions:function(){return fe},carouselCards:function(){return oe},contentInteraction:function(){return x},contentSuggestion:function(){return X},decodeBase64:function(){return _e},default:function(){return $e},editorialPages:function(){return le},getEntries:function(){return t.getEntries},getEntry:function(){return t.getEntry},management:function(){return nt},payments:function(){return ct},people:function(){return kt},peopleEngagement:function(){return ae},qaQuestions:function(){return Ae},reportError:function(){return e.reportError}});var t=c(809),e=c(30),a=c(36),r={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",LIKES:"/likes"}},CONTENT_SUGGESTIONS_API:{BASE_URL:"/api/content-suggestions-api",ENDPOINTS:{SUGGESTIONS:"/suggest"}},MANAGEMENT_API:{BASE_URL:"/api/management-api",ENDPOINTS:{ACCOUNTS:"/accounts",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_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"},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.updatedAt",SELECT:"sys.createdAt,sys.updatedAt,fields.title,fields.slug,fields.authorId,fields.answers,fields.isEdited",SKIP:0}},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:E,LOCAL:l}}}=r,{HUBSPOT:{ENVIRONMENTS_MAPPING:S,EMAIL_IDS:d}}=r;let p={emailIds:{}};var I=c(300),w=c.n(I);const N=async t=>{try{const{message:a,response:r,request:n}=t;let s=a;return r?s+=` - The request was made and the server responded with ${JSON.stringify({status:r.status,data:r.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:T,ENDPOINTS:{USERS:A,CERTIFICATES:P}}}}=r;var f={certificates:{create:async(t,e)=>{let a=[];try{const{data:r}=await w().post(`${T}${A}/${t}${P}`,e);r&&(a=r)}catch(t){await N(t)}return a}}};const{APIS:{AUTH_API:{BASE_URL:y,ENDPOINTS:{USER_PASSWORD:g,USERS:R}}},USERS:{MYSELF:h}}=r;var O={userPassword:{update:async t=>{let e=null;try{e=await w().put(`${y}${R}/${h}${g}`,t)}catch(t){e={message:(((t||{}).response||{}).data||{}).message},await N(t)}return e}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:U,ENDPOINTS:{ANSWERS:L,QUESTIONS:m}}}}=r,C=`${U}${m}`;var _={create:async(t,e)=>{try{await w().post(`${C}/${encodeURIComponent(t)}${L}`,e)}catch(t){const e=await N(t);throw new Error(e)}},remove:async(t,e)=>{try{await w().delete(`${C}/${encodeURIComponent(t)}${L}/${encodeURIComponent(e)}`)}catch(t){const e=await N(t);throw new Error(e)}},update:async(t,e,a)=>{try{return await w().put(`${C}/${encodeURIComponent(t)}${L}/${encodeURIComponent(e)}`,{body:a})}catch(t){const e=await N(t);throw new Error(e)}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:$,ENDPOINTS:{QUESTIONS:D}}}}=r,v=`${$}${D}`;var b={create:async t=>{try{return await w().post(v,t)}catch(t){const e=await N(t);throw new Error(e)}},remove:async t=>{try{await w().delete(`${v}/${encodeURIComponent(t)}`)}catch(t){const e=await N(t);throw new Error(e)}},update:async(t,e)=>{try{return await w().put(`${v}/${encodeURIComponent(t)}`,{title:e})}catch(t){const e=await N(t);throw new Error(e)}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:B,ENDPOINTS:{QUESTIONS:G,ANSWERS:M,LIKES:q}}}}=r,Y=`${B}${G}`;var x={answers:_,questions:b,likes:{create:async(t,e)=>{try{return await w().post(`${Y}/${encodeURIComponent(t)}${M}/${encodeURIComponent(e)}${q}`)}catch(t){const e=await N(t);throw new Error(e)}},remove:async(t,e)=>{try{return await w().delete(`${Y}/${encodeURIComponent(t)}${M}/${encodeURIComponent(e)}${q}`)}catch(t){const e=await N(t);throw new Error(e)}}}},V=c(25);const{OK:F,MULTIPLE_CHOICES:Q,NOT_FOUND:j,FORBIDDEN:W}=V.StatusCodes,k=t=>t>=F&&t<Q||t===W||t===j,{APIS:{CONTENT_SUGGESTIONS_API:{BASE_URL:H,ENDPOINTS:{SUGGESTIONS:K}}}}=r;var X={suggestions:{list:async(t={})=>{let e=[],a=Object.assign({validateStatus:k},t);try{const{data:t}=await w().get(`${H}${K}`,a);t&&t.length&&(e=t)}catch(t){await N(t)}return e}}};const{APIS:{MANAGEMENT_API:{BASE_URL:J,ENDPOINTS:{ACCOUNTS:z}}}}=r;var Z={create:async t=>{try{await w().post(`${J}${z}`,t)}catch(t){throw await N(t),t}},read:async t=>{let e=null;try{({data:e}=await w().get(`${J}${z}/${encodeURIComponent(t)}`))}catch(t){await N(t)}return e},update:async(t,e)=>{try{await w().put(`${J}${z}/${encodeURIComponent(t)}`,e)}catch(t){throw await N(t),t}}};const{APIS:{MANAGEMENT_API:{BASE_URL:tt,ENDPOINTS:{LOGINS:et,LOGIN_PASSWORDLESS:at}}}}=r,rt=`${tt}${et}`;var nt={accounts:Z,passwordless:{update:async t=>{try{await w().put(`${rt}/${encodeURIComponent(t)}${at}`)}catch(t){throw await N(t),t}}}};const{APIS:{PAYMENTS_API:{BASE_URL_V2:st,ENDPOINTS:{PRODUCTS:ot}}}}=r,it=`${st}${ot}`;var ct={products:{list:async t=>{let e=[],a=t?{params:t}:{params:{}};try{const{data:t}=await w().get(it,a);t&&t.length&&(e=t)}catch(t){await N(t)}return e}}};const{APIS:{PEOPLE_API:{BASE_URL_V2:ut,ENDPOINTS:{USERS:Et}}}}=r,lt=async t=>{let e=null;try{const{data:a}=await w().get(`${ut}${Et}/${encodeURIComponent(t)}`,{validateStatus:k});a&&a.id&&(e=a)}catch(t){await N(t)}return e};var St={read:lt,update:async(t,e)=>{let a=!1;try{const{data:r}=await w().put(`${ut}${Et}/${encodeURIComponent(t)}`,e);a=!(!r||!r.id)}catch(t){await N(t)}return a}};const{APIS:{PEOPLE_API:{BASE_URL_V2:dt,ENDPOINTS:{USERS:pt,USER_ANSWERS:It}}},USERS:{MYSELF:wt}}=r,Nt=`${dt}${pt}/${wt}${It}`,Tt=async t=>{let e=[],a=t?{params:t}:{params:{}};try{const{data:t}=await w().get(Nt,a);t&&t.length&&(e=t)}catch(t){await N(t)}return e};var At={list:Tt},Pt={authors:{readQuestionAuthors:async(t,e,a=!1)=>{try{if(t.author=await lt(t.authorId),t.answers&&t.answers.length&&!a){const a=[];if(e){const e=(await Tt("me",t.slug)).filter((t=>t.liked));for(const t of e)a.push(t.answerSlug)}for(let e of t.answers)e.author=e.authorId&&await lt(e.authorId)||{},e.userLiked=a.includes(e.slug);t.answers.sort(((t,e)=>new Date(e.updatedAt)-new Date(t.updatedAt)))}return t}catch(t){throw await N(t),new Error(`Cannot read question authors: ${t.message}`)}}}};const{APIS:{PEOPLE_API:{BASE_URL:ft,ENDPOINTS:{REGISTRATIONS:yt}}}}=r;var gt={list:async t=>{let e=[];try{const{data:a}=await w().get(`${ft}${yt}`,{params:t});a&&a.length&&(e=a)}catch(t){await N(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Rt,ENDPOINTS:{USERS:ht,USER_COURSES:Ot}}},USERS:{MYSELF:Ut}}=r,Lt=`${Rt}${ht}/${Ut}${Ot}`;var mt={create:async t=>{try{await w().post(Lt,t)}catch(t){await N(t)}},list:async t=>{let e=[],a=t?{params:t}:{params:{}};try{const{data:t}=await w().get(Lt,a);t&&t.length&&(e=t)}catch(t){await N(t)}return e},update:async(t,e)=>{try{await w().put(`${Lt}/${t}`,e)}catch(t){await N(t)}}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Ct,ENDPOINTS:{USERS:_t,USER_EVENTS:$t}}},USERS:{MYSELF:Dt}}=r,vt=`${Ct}${_t}/${Dt}${$t}`;var bt={list:async t=>{let e=[],a=t?{params:t}:{params:{}};try{const{data:t}=await w().get(vt,a);t&&t.length&&(e=t)}catch(t){await N(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Bt,ENDPOINTS:{USERS:Gt,USER_LESSONS:Mt}}},USERS:{MYSELF:qt}}=r,Yt=`${Bt}${Gt}/${qt}${Mt}`;var xt={create:async t=>{let e=null;try{e=await w().post(Yt,t)}catch(t){await N(t)}return e},list:async t=>{let e=[],a=t?{params:t}:{params:{}};try{const{data:t}=await w().get(Yt,a);t&&t.length&&(e=t)}catch(t){await N(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Vt,ENDPOINTS:{USERS:Ft,USER_PRODUCTS:Qt}}},USERS:{MYSELF:jt}}=r,Wt=`${Vt}${Ft}/${jt}${Qt}`;var kt={handlers:Pt,registrations:gt,users:St,userAnswers:At,userCourses:mt,userEvents:bt,userLessons:xt,userProducts:{create:async t=>{let e=null;try{e=await w().post(Wt,t)}catch(t){await N(t)}return e},list:async t=>{let e=[],a=t?{params:t}:{params:{}};try{const{data:t}=await w().get(Wt,a);t&&t.length&&(e=t)}catch(t){await N(t)}return e},update:async(t,e)=>{try{await w().put(`${Wt}/${t}`,e)}catch(t){await N(t)}}}};const{APIS:{PEOPLE_ENGAGEMENT_API:{BASE_URL:Ht,ENDPOINTS:{ENQUIRY_EMAILS:Kt}}}}=r;var Xt={create:async t=>{let e=null;try{const{data:a}=await w().post(`${Ht}${Kt}`,t);a&&(e=a)}catch(t){await N(t)}return e}},Jt={forms:{sendEnquiryEmails:async t=>{let e=null;try{const{emailIds:a}=p;e=await ae.emails.create({...a,...t})}catch(t){await N(t)}return e}}};const{APIS:{PEOPLE_ENGAGEMENT_API:{BASE_URL:zt,ENDPOINTS:{USERS:Zt,USER_PROPERTIES:te}}},USERS:{MYSELF:ee}}=r;var ae={emails:Xt,handlers:Jt,userProperties:{update:async(t,e)=>{try{await w().put(`${zt}${Zt}/${ee}${te}/${t}`,e)}catch(t){await N(t)}}}};const{CONTENTFUL:re}=r,{CARD_TYPES:ne}=re.CAROUSELS,se={read:async(e,a)=>{try{if(!a||!a.sys||!a.sys.id)throw new Error("Invalid link to card");if(!e||!ne[e])throw new Error("Unsupported card content type");const{INCLUDE:r,SELECT:n}=ne[e];return await(0,t.getEntry)({content_type:e,"sys.id":a.sys.id,include:r,select:n},{assetDetails:!0})}catch(t){throw await N(t),new Error(`Cannot read carousel card: ${t.message}`)}}};var oe=se;const{CONTENTFUL:ie}=r,{INCLUDE:ce,SELECT:ue,TYPE:Ee}=ie.EDITORIAL_PAGES;var le={read:async e=>{try{return await(0,t.getEntry)({content_type:Ee,"fields.slug":e,include:ce,select:ue})}catch(t){throw await N(t),new Error(`Cannot read editorial page: ${t.message}`)}}};const{CONTENTFUL:Se}=r,{TYPE:de,ORDER:pe,SELECT:Ie,SKIP:we,LIMIT:Ne,INCLUDE:Te}=Se.QUESTIONS;var Ae={read:async e=>{try{return await(0,t.getEntry)({content_type:de,"fields.slug":e,include:2,select:Ie})}catch(t){throw await N(t),new Error(`Cannot read question: ${t.message}`)}},list:async(e={})=>{try{return await(0,t.getEntries)({content_type:de,include:Te,limit:Ne,order:pe,select:Ie,skip:we,"fields.private[ne]":!0,...e})}catch(t){throw await N(t),new Error(`Cannot list questions: ${t.message}`)}}},Pe=async(t,e,a=!1)=>{try{let r={};return r=await Ae.read(t),r=await kt.handlers.authors.readQuestionAuthors(r,e,a),r}catch(t){throw await N(t),new Error(`Cannot build question: ${t.message}`)}},fe=async(t,e=10,a={})=>{try{let r=[];const n=e*(t-1);r=await Ae.list({...a,limit:e,skip:n});for(let t of r)t.author=t.authorId&&await kt.users.read(t.authorId)||{};return r}catch(t){throw await N(t),new Error(`Cannot build questions: ${t.message}`)}};const{ARTICLES:{TYPE:ye},COURSES:{TYPE:ge},EVENTS:{TYPE:Re},LISTS:{TYPE:he},QUESTIONS:{TYPE:Oe}}=r.CONTENTFUL,Ue=t=>t&&t.url?(Object.assign(t,{aspect:"responsiveCard",query:"q=90&fit=fill"}),t):null,Le={[ye]:async t=>{const{authorIds:e,authorTag:a,image:r,publishedDate:n,readingTime:s,slug:o,title:i}=t;let c=[];if(e&&e.length)for(const t of e){const e=await kt.users.read(t);e&&c.push(e)}const u=c&&c.length?c:a?[a]:null;return{banner:Ue(r),contributors:u,publishedDate:n,readingTime:s,slug:o,title:i}},[ge]:async(t,e)=>{const{banner:a,freeCourse:r,partnershipDetails:n,slug:s,title:o,registered:i}=t,c={banner:Ue(a),slug:s,title:o,pill:r?"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 kt.userProducts.list({courseSlug:s,isEnrolled:!0,scope:"active"});c.registered=!!t}return c},[Re]:async(t,e)=>{const{bannerImage:a,defaultStartDate:r,slug:n,speakers:s,title:o,registered:i}=t,c=new Date(r),u=!!c&&c<new Date;if(s&&s.length)for(const t of s)t.image=(E=t.image)&&E.url?`${E.url}?w=100&h=100&fit=thumb&f=center`:null;var E;const l={banner:Ue(a),dateHasPassed:u,title:o,slug:n,contributors:s,startDate:c,registered:!!i};if(void 0===i&&e){const[t]=await kt.userEvents.list({eventSlug:n});l.registered=!!t}return l},[he]:async t=>{const{hero:e,slug:a,title:r}=t;return{banner:Ue(e),slug:a,title:r}},[Oe]:async t=>{const{answers:e,authorId:a,createdAt:r,slug:n,title:s}=t;let o=null;if(a){const t=await kt.users.read(a);t&&(o=t)}return{answers:e&&e.length?e.length:0,contributors:o?[o]:[],createdAt:r,slug:n,title:s}}};var me=async({contentType:t,...e}={},a)=>{try{if(!Le[t])throw new Error("Content type not supported");if("function"!=typeof Le[t])throw new Error("No builder function for content type");return e.sys&&e.sys.type&&"Link"===e.sys.type&&(e=await oe.read(t,e)),{contentType:t,...await Le[t](e,a)}}catch(t){throw await N(t),new Error(`Cannot build carousel card: ${t.message}`)}},Ce=c(408);const _e=t=>t&&Ce.Buffer.from(t,"base64").toString("ascii");function $e({contentContext:r=null,errorsContext:c=null,gtmContext:u=null,origin:I}){try{const w=(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 a=null;const r=e.match(o);return r?a=r[1].split(i)[0]:e===n?a=E:e.includes(s)&&(a=l),a||new Error(`Cannot select environment: No rule for website ${e}`),a})(I);return r&&(0,t.setContext)(Object.assign({},r,{environment:w})),c&&(0,e.setContext)(Object.assign({},c,{environment:w})),u&&((0,a.setContext)(Object.assign({},u,{environment:w})),(0,a.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:w})),w}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,a,r,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=a},300:function(t){t.exports=r},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 a=i[t]={exports:{}};return o[t](a,a.exports,c),a.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 a in e)c.o(e,a)&&!c.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:e[a]})},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 E={};return function(){c.r(E),c.d(E,{assets:function(){return f},auth:function(){return h},buildCarouselCard:function(){return me},buildQuestion:function(){return Pe},buildQuestions:function(){return fe},carouselCards:function(){return oe},contentInteraction:function(){return x},contentSuggestion:function(){return X},decodeBase64:function(){return _e},default:function(){return $e},editorialPages:function(){return le},getEntries:function(){return t.getEntries},getEntry:function(){return t.getEntry},management:function(){return nt},payments:function(){return ct},people:function(){return kt},peopleEngagement:function(){return ae},qaQuestions:function(){return Ae},reportError:function(){return e.reportError}});var t=c(809),e=c(30),a=c(36),r={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",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_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"},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.updatedAt",SELECT:"sys.createdAt,sys.updatedAt,fields.title,fields.slug,fields.authorId,fields.answers,fields.isEdited",SKIP:0}},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:u,LOCAL:l}}}=r,{HUBSPOT:{ENVIRONMENTS_MAPPING:S,EMAIL_IDS:d}}=r;let p={emailIds:{}};var I=c(300),w=c.n(I);const N=async t=>{try{const{message:a,response:r,request:n}=t;let s=a;return r?s+=` - The request was made and the server responded with ${JSON.stringify({status:r.status,data:r.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:T,ENDPOINTS:{USERS:A,CERTIFICATES:P}}}}=r;var f={certificates:{create:async(t,e)=>{let a=[];try{const{data:r}=await w().post(`${T}${A}/${t}${P}`,e);r&&(a=r)}catch(t){await N(t)}return a}}};const{APIS:{AUTH_API:{BASE_URL:y,ENDPOINTS:{USER_PASSWORD:g,USERS:R}}},USERS:{MYSELF:O}}=r;var h={userPassword:{update:async t=>{let e=null;try{e=await w().put(`${y}${R}/${O}${g}`,t)}catch(t){e={message:(((t||{}).response||{}).data||{}).message},await N(t)}return e}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:U,ENDPOINTS:{ANSWERS:L,QUESTIONS:m}}}}=r,C=`${U}${m}`;var _={create:async(t,e)=>{try{await w().post(`${C}/${encodeURIComponent(t)}${L}`,e)}catch(t){const e=await N(t);throw new Error(e)}},remove:async(t,e)=>{try{await w().delete(`${C}/${encodeURIComponent(t)}${L}/${encodeURIComponent(e)}`)}catch(t){const e=await N(t);throw new Error(e)}},update:async(t,e,a)=>{try{return await w().put(`${C}/${encodeURIComponent(t)}${L}/${encodeURIComponent(e)}`,{body:a})}catch(t){const e=await N(t);throw new Error(e)}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:$,ENDPOINTS:{QUESTIONS:D}}}}=r,v=`${$}${D}`;var b={create:async t=>{try{return await w().post(v,t)}catch(t){const e=await N(t);throw new Error(e)}},remove:async t=>{try{await w().delete(`${v}/${encodeURIComponent(t)}`)}catch(t){const e=await N(t);throw new Error(e)}},update:async(t,e)=>{try{return await w().put(`${v}/${encodeURIComponent(t)}`,{title:e})}catch(t){const e=await N(t);throw new Error(e)}}};const{APIS:{CONTENT_INTERACTION_API:{BASE_URL:B,ENDPOINTS:{QUESTIONS:G,ANSWERS:M,LIKES:q}}}}=r,Y=`${B}${G}`;var x={answers:_,questions:b,likes:{create:async(t,e)=>{try{return await w().post(`${Y}/${encodeURIComponent(t)}${M}/${encodeURIComponent(e)}${q}`)}catch(t){const e=await N(t);throw new Error(e)}},remove:async(t,e)=>{try{return await w().delete(`${Y}/${encodeURIComponent(t)}${M}/${encodeURIComponent(e)}${q}`)}catch(t){const e=await N(t);throw new Error(e)}}}},V=c(25);const{OK:F,MULTIPLE_CHOICES:Q,NOT_FOUND:j,FORBIDDEN:W}=V.StatusCodes,k=t=>t>=F&&t<Q||t===W||t===j,{APIS:{CONTENT_SUGGESTIONS_API:{BASE_URL:H,ENDPOINTS:{SUGGESTIONS:K}}}}=r;var X={suggestions:{list:async(t={})=>{let e=[],a=Object.assign({validateStatus:k},t);try{const{data:t}=await w().get(`${H}${K}`,a);t&&t.length&&(e=t)}catch(t){await N(t)}return e}}};const{APIS:{MANAGEMENT_API:{BASE_URL:J,ENDPOINTS:{ACCOUNTS:z}}}}=r;var Z={create:async t=>{try{await w().post(`${J}${z}`,t)}catch(t){throw await N(t),t}},read:async t=>{let e=null;try{({data:e}=await w().get(`${J}${z}/${encodeURIComponent(t)}`))}catch(t){await N(t)}return e},update:async(t,e)=>{try{await w().put(`${J}${z}/${encodeURIComponent(t)}`,e)}catch(t){throw await N(t),t}}};const{APIS:{MANAGEMENT_API:{BASE_URL:tt,ENDPOINTS:{LOGINS:et,LOGIN_PASSWORDLESS:at}}}}=r,rt=`${tt}${et}`;var nt={accounts:Z,passwordless:{update:async t=>{try{await w().put(`${rt}/${encodeURIComponent(t)}${at}`)}catch(t){throw await N(t),t}}}};const{APIS:{PAYMENTS_API:{BASE_URL_V2:st,ENDPOINTS:{PRODUCTS:ot}}}}=r,it=`${st}${ot}`;var ct={products:{list:async t=>{let e=[],a=t?{params:t}:{params:{}};try{const{data:t}=await w().get(it,a);t&&t.length&&(e=t)}catch(t){await N(t)}return e}}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Et,ENDPOINTS:{USERS:ut}}}}=r,lt=async t=>{let e=null;try{const{data:a}=await w().get(`${Et}${ut}/${encodeURIComponent(t)}`,{validateStatus:k});a&&a.id&&(e=a)}catch(t){await N(t)}return e};var St={read:lt,update:async(t,e)=>{let a=!1;try{const{data:r}=await w().put(`${Et}${ut}/${encodeURIComponent(t)}`,e);a=!(!r||!r.id)}catch(t){await N(t)}return a}};const{APIS:{PEOPLE_API:{BASE_URL_V2:dt,ENDPOINTS:{USERS:pt,USER_ANSWERS:It}}},USERS:{MYSELF:wt}}=r,Nt=`${dt}${pt}/${wt}${It}`,Tt=async t=>{let e=[],a=t?{params:t}:{params:{}};try{const{data:t}=await w().get(Nt,a);t&&t.length&&(e=t)}catch(t){await N(t)}return e};var At={list:Tt},Pt={authors:{readQuestionAuthors:async(t,e,a=!1)=>{try{if(t.author=await lt(t.authorId),t.answers&&t.answers.length&&!a){const a=[];if(e){const e=(await Tt("me",t.slug)).filter((t=>t.liked));for(const t of e)a.push(t.answerSlug)}for(let e of t.answers)e.author=e.authorId&&await lt(e.authorId)||{},e.userLiked=a.includes(e.slug);t.answers.sort(((t,e)=>new Date(e.updatedAt)-new Date(t.updatedAt)))}return t}catch(t){throw await N(t),new Error(`Cannot read question authors: ${t.message}`)}}}};const{APIS:{PEOPLE_API:{BASE_URL:ft,ENDPOINTS:{REGISTRATIONS:yt}}}}=r;var gt={list:async t=>{let e=[];try{const{data:a}=await w().get(`${ft}${yt}`,{params:t});a&&a.length&&(e=a)}catch(t){await N(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Rt,ENDPOINTS:{USERS:Ot,USER_COURSES:ht}}},USERS:{MYSELF:Ut}}=r,Lt=`${Rt}${Ot}/${Ut}${ht}`;var mt={create:async t=>{try{await w().post(Lt,t)}catch(t){await N(t)}},list:async t=>{let e=[],a=t?{params:t}:{params:{}};try{const{data:t}=await w().get(Lt,a);t&&t.length&&(e=t)}catch(t){await N(t)}return e},update:async(t,e)=>{try{await w().put(`${Lt}/${t}`,e)}catch(t){await N(t)}}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Ct,ENDPOINTS:{USERS:_t,USER_EVENTS:$t}}},USERS:{MYSELF:Dt}}=r,vt=`${Ct}${_t}/${Dt}${$t}`;var bt={list:async t=>{let e=[],a=t?{params:t}:{params:{}};try{const{data:t}=await w().get(vt,a);t&&t.length&&(e=t)}catch(t){await N(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Bt,ENDPOINTS:{USERS:Gt,USER_LESSONS:Mt}}},USERS:{MYSELF:qt}}=r,Yt=`${Bt}${Gt}/${qt}${Mt}`;var xt={create:async t=>{let e=null;try{e=await w().post(Yt,t)}catch(t){await N(t)}return e},list:async t=>{let e=[],a=t?{params:t}:{params:{}};try{const{data:t}=await w().get(Yt,a);t&&t.length&&(e=t)}catch(t){await N(t)}return e}};const{APIS:{PEOPLE_API:{BASE_URL_V2:Vt,ENDPOINTS:{USERS:Ft,USER_PRODUCTS:Qt}}},USERS:{MYSELF:jt}}=r,Wt=`${Vt}${Ft}/${jt}${Qt}`;var kt={handlers:Pt,registrations:gt,users:St,userAnswers:At,userCourses:mt,userEvents:bt,userLessons:xt,userProducts:{create:async t=>{let e=null;try{e=await w().post(Wt,t)}catch(t){await N(t)}return e},list:async t=>{let e=[],a=t?{params:t}:{params:{}};try{const{data:t}=await w().get(Wt,a);t&&t.length&&(e=t)}catch(t){await N(t)}return e},update:async(t,e)=>{try{await w().put(`${Wt}/${t}`,e)}catch(t){await N(t)}}}};const{APIS:{PEOPLE_ENGAGEMENT_API:{BASE_URL:Ht,ENDPOINTS:{ENQUIRY_EMAILS:Kt}}}}=r;var Xt={create:async t=>{let e=null;try{const{data:a}=await w().post(`${Ht}${Kt}`,t);a&&(e=a)}catch(t){await N(t)}return e}},Jt={forms:{sendEnquiryEmails:async t=>{let e=null;try{const{emailIds:a}=p;e=await ae.emails.create({...a,...t})}catch(t){await N(t)}return e}}};const{APIS:{PEOPLE_ENGAGEMENT_API:{BASE_URL:zt,ENDPOINTS:{USERS:Zt,USER_PROPERTIES:te}}},USERS:{MYSELF:ee}}=r;var ae={emails:Xt,handlers:Jt,userProperties:{update:async(t,e)=>{try{await w().put(`${zt}${Zt}/${ee}${te}/${t}`,e)}catch(t){await N(t)}}}};const{CONTENTFUL:re}=r,{CARD_TYPES:ne}=re.CAROUSELS,se={read:async(e,a)=>{try{if(!a||!a.sys||!a.sys.id)throw new Error("Invalid link to card");if(!e||!ne[e])throw new Error("Unsupported card content type");const{INCLUDE:r,SELECT:n}=ne[e];return await(0,t.getEntry)({content_type:e,"sys.id":a.sys.id,include:r,select:n},{assetDetails:!0})}catch(t){throw await N(t),new Error(`Cannot read carousel card: ${t.message}`)}}};var oe=se;const{CONTENTFUL:ie}=r,{INCLUDE:ce,SELECT:Ee,TYPE:ue}=ie.EDITORIAL_PAGES;var le={read:async e=>{try{return await(0,t.getEntry)({content_type:ue,"fields.slug":e,include:ce,select:Ee})}catch(t){throw await N(t),new Error(`Cannot read editorial page: ${t.message}`)}}};const{CONTENTFUL:Se}=r,{TYPE:de,ORDER:pe,SELECT:Ie,SKIP:we,LIMIT:Ne,INCLUDE:Te}=Se.QUESTIONS;var Ae={read:async e=>{try{return await(0,t.getEntry)({content_type:de,"fields.slug":e,include:2,select:Ie})}catch(t){throw await N(t),new Error(`Cannot read question: ${t.message}`)}},list:async(e={})=>{try{return await(0,t.getEntries)({content_type:de,include:Te,limit:Ne,order:pe,select:Ie,skip:we,"fields.private[ne]":!0,...e})}catch(t){throw await N(t),new Error(`Cannot list questions: ${t.message}`)}}},Pe=async(t,e,a=!1)=>{try{let r={};return r=await Ae.read(t),r=await kt.handlers.authors.readQuestionAuthors(r,e,a),r}catch(t){throw await N(t),new Error(`Cannot build question: ${t.message}`)}},fe=async(t,e=10,a={})=>{try{let r=[];const n=e*(t-1);r=await Ae.list({...a,limit:e,skip:n});for(let t of r)t.author=t.authorId&&await kt.users.read(t.authorId)||{};return r}catch(t){throw await N(t),new Error(`Cannot build questions: ${t.message}`)}};const{ARTICLES:{TYPE:ye},COURSES:{TYPE:ge},EVENTS:{TYPE:Re},LISTS:{TYPE:Oe},QUESTIONS:{TYPE:he}}=r.CONTENTFUL,Ue=t=>t&&t.url?(Object.assign(t,{aspect:"responsiveCard",query:"q=90&fit=fill"}),t):null,Le={[ye]:async t=>{const{authorIds:e,authorTag:a,image:r,publishedDate:n,readingTime:s,slug:o,title:i}=t;let c=[];if(e&&e.length)for(const t of e){const e=await kt.users.read(t);e&&c.push(e)}const E=c&&c.length?c:a?[a]:null;return{banner:Ue(r),contributors:E,publishedDate:n,readingTime:s,slug:o,title:i}},[ge]:async(t,e)=>{const{banner:a,freeCourse:r,partnershipDetails:n,slug:s,title:o,registered:i}=t,c={banner:Ue(a),slug:s,title:o,pill:r?"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 kt.userProducts.list({courseSlug:s,isEnrolled:!0,scope:"active"});c.registered=!!t}return c},[Re]:async(t,e)=>{const{bannerImage:a,defaultStartDate:r,slug:n,speakers:s,title:o,registered:i}=t,c=new Date(r),E=!!c&&c<new Date;if(s&&s.length)for(const t of s)t.image=(u=t.image)&&u.url?`${u.url}?w=100&h=100&fit=thumb&f=center`:null;var u;const l={banner:Ue(a),dateHasPassed:E,title:o,slug:n,contributors:s,startDate:c,registered:!!i};if(void 0===i&&e){const[t]=await kt.userEvents.list({eventSlug:n});l.registered=!!t}return l},[Oe]:async t=>{const{hero:e,slug:a,title:r}=t;return{banner:Ue(e),slug:a,title:r}},[he]:async t=>{const{answers:e,authorId:a,createdAt:r,slug:n,title:s}=t;let o=null;if(a){const t=await kt.users.read(a);t&&(o=t)}return{answers:e&&e.length?e.length:0,contributors:o?[o]:[],createdAt:r,slug:n,title:s}}};var me=async({contentType:t,...e}={},a)=>{try{if(!Le[t])throw new Error("Content type not supported");if("function"!=typeof Le[t])throw new Error("No builder function for content type");return e.sys&&e.sys.type&&"Link"===e.sys.type&&(e=await oe.read(t,e)),{contentType:t,...await Le[t](e,a)}}catch(t){throw await N(t),new Error(`Cannot build carousel card: ${t.message}`)}},Ce=c(408);const _e=t=>t&&Ce.Buffer.from(t,"base64").toString("ascii");function $e({contentContext:r=null,errorsContext:c=null,gtmContext:E=null,origin:I}){try{const w=(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 a=null;const r=e.match(o);return r?a=r[1].split(i)[0]:e===n?a=u:e.includes(s)&&(a=l),a||new Error(`Cannot select environment: No rule for website ${e}`),a})(I);return r&&(0,t.setContext)(Object.assign({},r,{environment:w})),c&&(0,e.setContext)(Object.assign({},c,{environment:w})),E&&((0,a.setContext)(Object.assign({},E,{environment:w})),(0,a.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:w})),w}catch(t){console.warn(`Cannot load SDK: ${t.message}`)}}}(),E}()}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apolitical/sdk",
3
- "version": "4.1.3-aquila.0",
3
+ "version": "4.2.0-beta.1",
4
4
  "description": "Browser library to interact with Apolitical's APIs",
5
5
  "author": "Apolitical Group Limited <engineering@apolitical.co>",
6
6
  "license": "MIT",