bundlesocial 1.5.0 → 2.0.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/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var F=Object.create;var f=Object.defineProperty,W=Object.defineProperties,$=Object.getOwnPropertyDescriptor,V=Object.getOwnPropertyDescriptors,J=Object.getOwnPropertyNames,N=Object.getOwnPropertySymbols,K=Object.getPrototypeOf,j=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable;var U=(t,e,r)=>e in t?f(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,u=(t,e)=>{for(var r in e||(e={}))j.call(e,r)&&U(t,r,e[r]);if(N)for(var r of N(e))z.call(e,r)&&U(t,r,e[r]);return t},b=(t,e)=>W(t,V(e));var Q=(t,e)=>{for(var r in e)f(t,r,{get:e[r],enumerable:!0})},G=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of J(e))!j.call(t,o)&&o!==r&&f(t,o,{get:()=>e[o],enumerable:!(s=$(e,o))||s.enumerable});return t};var X=(t,e,r)=>(r=t!=null?F(K(t)):{},G(e||!t||!t.__esModule?f(r,"default",{value:t,enumerable:!0}):r,t)),Y=t=>G(f({},"__esModule",{value:!0}),t);var h=(t,e,r)=>new Promise((s,o)=>{var n=p=>{try{i(r.next(p))}catch(l){o(l)}},a=p=>{try{i(r.throw(p))}catch(l){o(l)}},i=p=>p.done?s(p.value):Promise.resolve(p.value).then(n,a);i((r=r.apply(t,e)).next())});var le={};Q(le,{ApiError:()=>d,BaseHttpRequest:()=>m,Bundlesocial:()=>g,CancelError:()=>y,CancelablePromise:()=>R,OpenAPI:()=>q});module.exports=Y(le);var c=class{constructor(){this._fns=[]}eject(e){let r=this._fns.indexOf(e);r!==-1&&(this._fns=[...this._fns.slice(0,r),...this._fns.slice(r+1)])}use(e){this._fns=[...this._fns,e]}},q={BASE:"https://api.bundle.social",CREDENTIALS:"include",ENCODE_PATH:void 0,HEADERS:void 0,PASSWORD:void 0,TOKEN:void 0,USERNAME:void 0,VERSION:"1.0.0",WITH_CREDENTIALS:!1,interceptors:{request:new c,response:new c}};var m=class{constructor(e){this.config=e}};var d=class extends Error{constructor(r,s,o){super(o);this.name="ApiError",this.url=s.url,this.status=s.status,this.statusText=s.statusText,this.body=s.body,this.request=r}};var y=class extends Error{constructor(e){super(e),this.name="CancelError"}get isCancelled(){return!0}},R=class{constructor(e){this._isResolved=!1,this._isRejected=!1,this._isCancelled=!1,this.cancelHandlers=[],this.promise=new Promise((r,s)=>{this._resolve=r,this._reject=s;let o=i=>{this._isResolved||this._isRejected||this._isCancelled||(this._isResolved=!0,this._resolve&&this._resolve(i))},n=i=>{this._isResolved||this._isRejected||this._isCancelled||(this._isRejected=!0,this._reject&&this._reject(i))},a=i=>{this._isResolved||this._isRejected||this._isCancelled||this.cancelHandlers.push(i)};return Object.defineProperty(a,"isResolved",{get:()=>this._isResolved}),Object.defineProperty(a,"isRejected",{get:()=>this._isRejected}),Object.defineProperty(a,"isCancelled",{get:()=>this._isCancelled}),e(o,n,a)})}get[Symbol.toStringTag](){return"Cancellable Promise"}then(e,r){return this.promise.then(e,r)}catch(e){return this.promise.catch(e)}finally(e){return this.promise.finally(e)}cancel(){if(!(this._isResolved||this._isRejected||this._isCancelled)){if(this._isCancelled=!0,this.cancelHandlers.length)try{for(let e of this.cancelHandlers)e()}catch(e){console.warn("Cancellation threw an error",e);return}this.cancelHandlers.length=0,this._reject&&this._reject(new y("Request aborted"))}}get isCancelled(){return this._isCancelled}};var T=t=>typeof t=="string",w=t=>T(t)&&t!=="",I=t=>t instanceof Blob,L=t=>t instanceof FormData,Z=t=>{try{return btoa(t)}catch(e){return Buffer.from(t).toString("base64")}},ee=t=>{let e=[],r=(o,n)=>{e.push(`${encodeURIComponent(o)}=${encodeURIComponent(String(n))}`)},s=(o,n)=>{n!=null&&(n instanceof Date?r(o,n.toISOString()):Array.isArray(n)?n.forEach(a=>s(o,a)):typeof n=="object"?Object.entries(n).forEach(([a,i])=>s(`${o}[${a}]`,i)):r(o,n))};return Object.entries(t).forEach(([o,n])=>s(o,n)),e.length?`?${e.join("&")}`:""},te=(t,e)=>{let r=t.ENCODE_PATH||encodeURI,s=e.url.replace("{api-version}",t.VERSION).replace(/{(.*?)}/g,(n,a)=>{var i;return(i=e.path)!=null&&i.hasOwnProperty(a)?r(String(e.path[a])):n}),o=t.BASE+s;return e.query?o+ee(e.query):o},re=t=>{if(t.formData){let e=new FormData,r=(s,o)=>{T(o)||I(o)?e.append(s,o):e.append(s,JSON.stringify(o))};return Object.entries(t.formData).filter(([,s])=>s!=null).forEach(([s,o])=>{Array.isArray(o)?o.forEach(n=>r(s,n)):r(s,o)}),e}},E=(t,e)=>h(void 0,null,function*(){return typeof e=="function"?e(t):e}),se=(t,e)=>h(void 0,null,function*(){let[r,s,o,n]=yield Promise.all([E(e,t.TOKEN),E(e,t.USERNAME),E(e,t.PASSWORD),E(e,t.HEADERS)]),a=Object.entries(u(u({Accept:"application/json"},n),e.headers)).filter(([,i])=>i!=null).reduce((i,[p,l])=>b(u({},i),{[p]:String(l)}),{});if(w(r)&&(a.Authorization=`Bearer ${r}`),w(s)&&w(o)){let i=Z(`${s}:${o}`);a.Authorization=`Basic ${i}`}return e.body!==void 0&&(e.mediaType?a["Content-Type"]=e.mediaType:I(e.body)?a["Content-Type"]=e.body.type||"application/octet-stream":T(e.body)?a["Content-Type"]="text/plain":L(e.body)||(a["Content-Type"]="application/json")),new Headers(a)}),oe=t=>{var e,r;if(t.body!==void 0)return(e=t.mediaType)!=null&&e.includes("application/json")||(r=t.mediaType)!=null&&r.includes("+json")?JSON.stringify(t.body):T(t.body)||I(t.body)||L(t.body)?t.body:JSON.stringify(t.body)},ne=(t,e,r,s,o,n,a)=>h(void 0,null,function*(){let i=new AbortController,p={headers:n,body:s!=null?s:o,method:e.method,signal:i.signal};t.WITH_CREDENTIALS&&(p.credentials=t.CREDENTIALS);for(let l of t.interceptors.request._fns)p=yield l(p);return a(()=>i.abort()),yield fetch(r,p)}),ie=(t,e)=>{if(e){let r=t.headers.get(e);if(T(r))return r}},ae=t=>h(void 0,null,function*(){if(t.status!==204)try{let e=t.headers.get("Content-Type");if(e){let r=["application/octet-stream","application/pdf","application/zip","audio/","image/","video/"];if(e.includes("application/json")||e.includes("+json"))return yield t.json();if(r.some(s=>e.includes(s)))return yield t.blob();if(e.includes("multipart/form-data"))return yield t.formData();if(e.includes("text/"))return yield t.text()}}catch(e){console.error(e)}}),pe=(t,e)=>{var o,n;let s=u({400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"Im a teapot",421:"Misdirected Request",422:"Unprocessable Content",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"},t.errors)[e.status];if(s)throw new d(t,e,s);if(!e.ok){let a=(o=e.status)!=null?o:"unknown",i=(n=e.statusText)!=null?n:"unknown",p=(()=>{try{return JSON.stringify(e.body,null,2)}catch(l){return}})();throw new d(t,e,`Generic Error: status: ${a}; status text: ${i}; body: ${p}`)}},B=(t,e)=>new R((r,s,o)=>h(void 0,null,function*(){try{let n=te(t,e),a=re(e),i=oe(e),p=yield se(t,e);if(!o.isCancelled){let l=yield ne(t,e,n,i,a,p,o);for(let M of t.interceptors.response._fns)l=yield M(l);let A=yield ae(l),x=ie(l,e.responseHeader),H={url:n,ok:l.ok,status:l.status,statusText:l.statusText,body:x!=null?x:A};pe(e,H),r(H.body)}}catch(n){s(n)}}));var C=class extends m{constructor(e){super(e)}request(e){return B(this.config,e)}};var O=class{constructor(e){this.httpRequest=e}appGetHealth(){return this.httpRequest.request({method:"GET",url:"/api/v1/",errors:{400:"400",401:"401",403:"403",404:"404",500:"500"}})}},D=class{constructor(e){this.httpRequest=e}teamGetTeam(){return this.httpRequest.request({method:"GET",url:"/api/v1/team/",errors:{400:"400",401:"401",403:"403",404:"404",500:"500"}})}},S=class{constructor(e){this.httpRequest=e}uploadCreate(e={}){return this.httpRequest.request({method:"POST",url:"/api/v1/upload/",formData:e.formData,mediaType:"multipart/form-data",errors:{400:"400",401:"401",403:"403",404:"404",500:"500"}})}uploadGetList(){return this.httpRequest.request({method:"GET",url:"/api/v1/upload/",errors:{400:"400",401:"401",403:"403",404:"404",500:"500"}})}uploadDeleteMany(e={}){return this.httpRequest.request({method:"DELETE",url:"/api/v1/upload/",body:e.requestBody,mediaType:"application/json",errors:{400:"400",401:"401",403:"403",404:"404",500:"500"}})}uploadGet(e){return this.httpRequest.request({method:"GET",url:"/api/v1/upload/{id}",path:{id:e.id},errors:{400:"400",401:"401",403:"403",404:"404",500:"500"}})}uploadDelete(e){return this.httpRequest.request({method:"DELETE",url:"/api/v1/upload/{id}",path:{id:e.id},errors:{400:"400",401:"401",403:"403",404:"404",500:"500"}})}},v=class{constructor(e){this.httpRequest=e}postCreate(e={}){return this.httpRequest.request({method:"POST",url:"/api/v1/post/",body:e.requestBody,mediaType:"application/json",errors:{400:"400",401:"401",403:"403",404:"404",500:"500"}})}postGetList(e={}){return this.httpRequest.request({method:"GET",url:"/api/v1/post/",query:{status:e.status,orderBy:e.orderBy,order:e.order,q:e.q,platforms:e.platforms,offset:e.offset,limit:e.limit},errors:{400:"400",401:"401",403:"403",404:"404",500:"500"}})}postGet(e){return this.httpRequest.request({method:"GET",url:"/api/v1/post/{id}",path:{id:e.id},errors:{400:"400",401:"401",403:"403",404:"404",500:"500"}})}postUpdate(e){return this.httpRequest.request({method:"PUT",url:"/api/v1/post/{id}",path:{id:e.id},body:e.requestBody,mediaType:"application/json",errors:{400:"400",401:"401",403:"403",404:"404",500:"500"}})}postDelete(e){return this.httpRequest.request({method:"DELETE",url:"/api/v1/post/{id}",path:{id:e.id},errors:{400:"400",401:"401",403:"403",404:"404",500:"500"}})}};var P=class{constructor(e,r=C){var s,o,n,a,i,p,l,A;this.request=new r({BASE:(s=e==null?void 0:e.BASE)!=null?s:"https://api.bundle.social",VERSION:(o=e==null?void 0:e.VERSION)!=null?o:"1.0.0",WITH_CREDENTIALS:(n=e==null?void 0:e.WITH_CREDENTIALS)!=null?n:!1,CREDENTIALS:(a=e==null?void 0:e.CREDENTIALS)!=null?a:"include",TOKEN:e==null?void 0:e.TOKEN,USERNAME:e==null?void 0:e.USERNAME,PASSWORD:e==null?void 0:e.PASSWORD,HEADERS:e==null?void 0:e.HEADERS,ENCODE_PATH:e==null?void 0:e.ENCODE_PATH,interceptors:{request:(p=(i=e==null?void 0:e.interceptors)==null?void 0:i.request)!=null?p:new c,response:(A=(l=e==null?void 0:e.interceptors)==null?void 0:l.response)!=null?A:new c}}),this.app=new O(this.request),this.post=new v(this.request),this.team=new D(this.request),this.upload=new S(this.request)}};var k=X(require("crypto"));var _=class{constructor(){}verifySignature(e,r,s){return k.default.createHmac("sha256",s).update(e).digest("hex")===r}constructEvent(e,r,s){let o=typeof e=="string"?e:JSON.stringify(e);if(!this.verifySignature(o,r,s))throw new Error("Invalid signature");return JSON.parse(o)}},g=class extends P{constructor(r,s){super(b(u({},s),{HEADERS:b(u(u({},q.HEADERS),s==null?void 0:s.HEADERS),{"x-api-key":r})}));this.webhooks=new _}};0&&(module.exports={ApiError,BaseHttpRequest,Bundlesocial,CancelError,CancelablePromise,OpenAPI});
1
+ "use strict";var W=Object.create;var y=Object.defineProperty,$=Object.defineProperties,V=Object.getOwnPropertyDescriptor,J=Object.getOwnPropertyDescriptors,K=Object.getOwnPropertyNames,j=Object.getOwnPropertySymbols,Q=Object.getPrototypeOf,B=Object.prototype.hasOwnProperty,X=Object.prototype.propertyIsEnumerable;var G=(t,e,s)=>e in t?y(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,u=(t,e)=>{for(var s in e||(e={}))B.call(e,s)&&G(t,s,e[s]);if(j)for(var s of j(e))X.call(e,s)&&G(t,s,e[s]);return t},b=(t,e)=>$(t,J(e));var Y=(t,e)=>{for(var s in e)y(t,s,{get:e[s],enumerable:!0})},L=(t,e,s,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of K(e))!B.call(t,o)&&o!==s&&y(t,o,{get:()=>e[o],enumerable:!(r=V(e,o))||r.enumerable});return t};var Z=(t,e,s)=>(s=t!=null?W(Q(t)):{},L(e||!t||!t.__esModule?y(s,"default",{value:t,enumerable:!0}):s,t)),ee=t=>L(y({},"__esModule",{value:!0}),t);var h=(t,e,s)=>new Promise((r,o)=>{var n=p=>{try{a(s.next(p))}catch(l){o(l)}},i=p=>{try{a(s.throw(p))}catch(l){o(l)}},a=p=>p.done?r(p.value):Promise.resolve(p.value).then(n,i);a((s=s.apply(t,e)).next())});var ce={};Y(ce,{ApiError:()=>c,BaseHttpRequest:()=>m,Bundlesocial:()=>U,CancelError:()=>T,CancelablePromise:()=>R,OpenAPI:()=>C});module.exports=ee(ce);var d=class{constructor(){this._fns=[]}eject(e){let s=this._fns.indexOf(e);s!==-1&&(this._fns=[...this._fns.slice(0,s),...this._fns.slice(s+1)])}use(e){this._fns=[...this._fns,e]}},C={BASE:"https://api.bundle.social",CREDENTIALS:"include",ENCODE_PATH:void 0,HEADERS:void 0,PASSWORD:void 0,TOKEN:void 0,USERNAME:void 0,VERSION:"1.0.0",WITH_CREDENTIALS:!1,interceptors:{request:new d,response:new d}};var m=class{constructor(e){this.config=e}};var c=class extends Error{constructor(s,r,o){super(o);this.name="ApiError",this.url=r.url,this.status=r.status,this.statusText=r.statusText,this.body=r.body,this.request=s}};var T=class extends Error{constructor(e){super(e),this.name="CancelError"}get isCancelled(){return!0}},R=class{constructor(e){this._isResolved=!1,this._isRejected=!1,this._isCancelled=!1,this.cancelHandlers=[],this.promise=new Promise((s,r)=>{this._resolve=s,this._reject=r;let o=a=>{this._isResolved||this._isRejected||this._isCancelled||(this._isResolved=!0,this._resolve&&this._resolve(a))},n=a=>{this._isResolved||this._isRejected||this._isCancelled||(this._isRejected=!0,this._reject&&this._reject(a))},i=a=>{this._isResolved||this._isRejected||this._isCancelled||this.cancelHandlers.push(a)};return Object.defineProperty(i,"isResolved",{get:()=>this._isResolved}),Object.defineProperty(i,"isRejected",{get:()=>this._isRejected}),Object.defineProperty(i,"isCancelled",{get:()=>this._isCancelled}),e(o,n,i)})}get[Symbol.toStringTag](){return"Cancellable Promise"}then(e,s){return this.promise.then(e,s)}catch(e){return this.promise.catch(e)}finally(e){return this.promise.finally(e)}cancel(){if(!(this._isResolved||this._isRejected||this._isCancelled)){if(this._isCancelled=!0,this.cancelHandlers.length)try{for(let e of this.cancelHandlers)e()}catch(e){console.warn("Cancellation threw an error",e);return}this.cancelHandlers.length=0,this._reject&&this._reject(new T("Request aborted"))}}get isCancelled(){return this._isCancelled}};var f=t=>typeof t=="string",I=t=>f(t)&&t!=="",H=t=>t instanceof Blob,k=t=>t instanceof FormData,te=t=>{try{return btoa(t)}catch(e){return Buffer.from(t).toString("base64")}},se=t=>{let e=[],s=(o,n)=>{e.push(`${encodeURIComponent(o)}=${encodeURIComponent(String(n))}`)},r=(o,n)=>{n!=null&&(n instanceof Date?s(o,n.toISOString()):Array.isArray(n)?n.forEach(i=>r(o,i)):typeof n=="object"?Object.entries(n).forEach(([i,a])=>r(`${o}[${i}]`,a)):s(o,n))};return Object.entries(t).forEach(([o,n])=>r(o,n)),e.length?`?${e.join("&")}`:""},re=(t,e)=>{let s=t.ENCODE_PATH||encodeURI,r=e.url.replace("{api-version}",t.VERSION).replace(/{(.*?)}/g,(n,i)=>{var a;return(a=e.path)!=null&&a.hasOwnProperty(i)?s(String(e.path[i])):n}),o=t.BASE+r;return e.query?o+se(e.query):o},oe=t=>{if(t.formData){let e=new FormData,s=(r,o)=>{f(o)||H(o)?e.append(r,o):e.append(r,JSON.stringify(o))};return Object.entries(t.formData).filter(([,r])=>r!=null).forEach(([r,o])=>{Array.isArray(o)?o.forEach(n=>s(r,n)):s(r,o)}),e}},P=(t,e)=>h(void 0,null,function*(){return typeof e=="function"?e(t):e}),ne=(t,e)=>h(void 0,null,function*(){let[s,r,o,n]=yield Promise.all([P(e,t.TOKEN),P(e,t.USERNAME),P(e,t.PASSWORD),P(e,t.HEADERS)]),i=Object.entries(u(u({Accept:"application/json"},n),e.headers)).filter(([,a])=>a!=null).reduce((a,[p,l])=>b(u({},a),{[p]:String(l)}),{});if(I(s)&&(i.Authorization=`Bearer ${s}`),I(r)&&I(o)){let a=te(`${r}:${o}`);i.Authorization=`Basic ${a}`}return e.body!==void 0&&(e.mediaType?i["Content-Type"]=e.mediaType:H(e.body)?i["Content-Type"]=e.body.type||"application/octet-stream":f(e.body)?i["Content-Type"]="text/plain":k(e.body)||(i["Content-Type"]="application/json")),new Headers(i)}),ae=t=>{var e,s;if(t.body!==void 0)return(e=t.mediaType)!=null&&e.includes("application/json")||(s=t.mediaType)!=null&&s.includes("+json")?JSON.stringify(t.body):f(t.body)||H(t.body)||k(t.body)?t.body:JSON.stringify(t.body)},ie=(t,e,s,r,o,n,i)=>h(void 0,null,function*(){let a=new AbortController,p={headers:n,body:r!=null?r:o,method:e.method,signal:a.signal};t.WITH_CREDENTIALS&&(p.credentials=t.CREDENTIALS);for(let l of t.interceptors.request._fns)p=yield l(p);return i(()=>a.abort()),yield fetch(s,p)}),pe=(t,e)=>{if(e){let s=t.headers.get(e);if(f(s))return s}},le=t=>h(void 0,null,function*(){if(t.status!==204)try{let e=t.headers.get("Content-Type");if(e){let s=["application/octet-stream","application/pdf","application/zip","audio/","image/","video/"];if(e.includes("application/json")||e.includes("+json"))return yield t.json();if(s.some(r=>e.includes(r)))return yield t.blob();if(e.includes("multipart/form-data"))return yield t.formData();if(e.includes("text/"))return yield t.text()}}catch(e){console.error(e)}}),ue=(t,e)=>{var o,n;let r=u({400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"Im a teapot",421:"Misdirected Request",422:"Unprocessable Content",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"},t.errors)[e.status];if(r)throw new c(t,e,r);if(!e.ok){let i=(o=e.status)!=null?o:"unknown",a=(n=e.statusText)!=null?n:"unknown",p=(()=>{try{return JSON.stringify(e.body,null,2)}catch(l){return}})();throw new c(t,e,`Generic Error: status: ${i}; status text: ${a}; body: ${p}`)}},M=(t,e)=>new R((s,r,o)=>h(void 0,null,function*(){try{let n=re(t,e),i=oe(e),a=ae(e),p=yield ne(t,e);if(!o.isCancelled){let l=yield ie(t,e,n,a,i,p,o);for(let F of t.interceptors.response._fns)l=yield F(l);let A=yield le(l),g=pe(l,e.responseHeader),N={url:n,ok:l.ok,status:l.status,statusText:l.statusText,body:g!=null?g:A};ue(e,N),s(N.body)}}catch(n){r(n)}}));var E=class extends m{constructor(e){super(e)}request(e){return M(this.config,e)}};var D=class{constructor(e){this.httpRequest=e}appGetHealth(){return this.httpRequest.request({method:"GET",url:"/api/v1/",errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}},S=class{constructor(e){this.httpRequest=e}organizationGetOrganization(){return this.httpRequest.request({method:"GET",url:"/api/v1/organization/",errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}},O=class{constructor(e){this.httpRequest=e}teamGetTeam(e){return this.httpRequest.request({method:"GET",url:"/api/v1/team/{id}",path:{id:e.id},errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}teamUpdateTeam(e){return this.httpRequest.request({method:"PATCH",url:"/api/v1/team/{id}",path:{id:e.id},body:e.requestBody,mediaType:"application/json",errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}teamDeleteTeam(e){return this.httpRequest.request({method:"DELETE",url:"/api/v1/team/{id}",path:{id:e.id},errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}teamCreateTeam(e={}){return this.httpRequest.request({method:"POST",url:"/api/v1/team/",body:e.requestBody,mediaType:"application/json",errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}},v=class{constructor(e){this.httpRequest=e}socialAccountConnect(e={}){return this.httpRequest.request({method:"POST",url:"/api/v1/social-account/connect",body:e.requestBody,mediaType:"application/json",errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}socialAccountDisconnect(e={}){return this.httpRequest.request({method:"DELETE",url:"/api/v1/social-account/disconnect",body:e.requestBody,mediaType:"application/json",errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}socialAccountSetChannel(e={}){return this.httpRequest.request({method:"POST",url:"/api/v1/social-account/set-channel",body:e.requestBody,mediaType:"application/json",errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}socialAccountRefreshChannels(e={}){return this.httpRequest.request({method:"POST",url:"/api/v1/social-account/refresh-channels",body:e.requestBody,mediaType:"application/json",errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}},x=class{constructor(e){this.httpRequest=e}uploadGetList(e){return this.httpRequest.request({method:"GET",url:"/api/v1/upload/",query:{teamId:e.teamId},errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}uploadCreate(e={}){return this.httpRequest.request({method:"POST",url:"/api/v1/upload/",formData:e.formData,mediaType:"multipart/form-data",errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}uploadDeleteMany(e={}){return this.httpRequest.request({method:"DELETE",url:"/api/v1/upload/",body:e.requestBody,mediaType:"application/json",errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}uploadGet(e){return this.httpRequest.request({method:"GET",url:"/api/v1/upload/{id}",path:{id:e.id},errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}uploadDelete(e){return this.httpRequest.request({method:"DELETE",url:"/api/v1/upload/{id}",path:{id:e.id},errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}},w=class{constructor(e){this.httpRequest=e}postGet(e){return this.httpRequest.request({method:"GET",url:"/api/v1/post/{id}",path:{id:e.id},errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}postUpdate(e){return this.httpRequest.request({method:"PATCH",url:"/api/v1/post/{id}",path:{id:e.id},body:e.requestBody,mediaType:"application/json",errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}postDelete(e){return this.httpRequest.request({method:"DELETE",url:"/api/v1/post/{id}",path:{id:e.id},errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}postGetList(e){return this.httpRequest.request({method:"GET",url:"/api/v1/post/",query:{teamId:e.teamId,status:e.status,orderBy:e.orderBy,order:e.order,q:e.q,platforms:e.platforms,offset:e.offset,limit:e.limit},errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}postCreate(e={}){return this.httpRequest.request({method:"POST",url:"/api/v1/post/",body:e.requestBody,mediaType:"application/json",errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}};var q=class{constructor(e,s=E){var r,o,n,i,a,p,l,A;this.request=new s({BASE:(r=e==null?void 0:e.BASE)!=null?r:"https://api.bundle.social",VERSION:(o=e==null?void 0:e.VERSION)!=null?o:"1.0.0",WITH_CREDENTIALS:(n=e==null?void 0:e.WITH_CREDENTIALS)!=null?n:!1,CREDENTIALS:(i=e==null?void 0:e.CREDENTIALS)!=null?i:"include",TOKEN:e==null?void 0:e.TOKEN,USERNAME:e==null?void 0:e.USERNAME,PASSWORD:e==null?void 0:e.PASSWORD,HEADERS:e==null?void 0:e.HEADERS,ENCODE_PATH:e==null?void 0:e.ENCODE_PATH,interceptors:{request:(p=(a=e==null?void 0:e.interceptors)==null?void 0:a.request)!=null?p:new d,response:(A=(l=e==null?void 0:e.interceptors)==null?void 0:l.response)!=null?A:new d}}),this.app=new D(this.request),this.organization=new S(this.request),this.post=new w(this.request),this.socialAccount=new v(this.request),this.team=new O(this.request),this.upload=new x(this.request)}};var z=Z(require("crypto"));var _=class{constructor(){}verifySignature(e,s,r){return z.default.createHmac("sha256",r).update(e).digest("hex")===s}constructEvent(e,s,r){let o=typeof e=="string"?e:JSON.stringify(e);if(!this.verifySignature(o,s,r))throw new Error("Invalid signature");return JSON.parse(o)}},U=class extends q{constructor(s,r){super(b(u({},r),{HEADERS:b(u(u({},C.HEADERS),r==null?void 0:r.HEADERS),{"x-api-key":s})}));this.webhooks=new _}};0&&(module.exports={ApiError,BaseHttpRequest,Bundlesocial,CancelError,CancelablePromise,OpenAPI});
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- var L=Object.defineProperty,B=Object.defineProperties;var k=Object.getOwnPropertyDescriptors;var g=Object.getOwnPropertySymbols;var M=Object.prototype.hasOwnProperty,F=Object.prototype.propertyIsEnumerable;var H=(t,e,r)=>e in t?L(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,u=(t,e)=>{for(var r in e||(e={}))M.call(e,r)&&H(t,r,e[r]);if(g)for(var r of g(e))F.call(e,r)&&H(t,r,e[r]);return t},y=(t,e)=>B(t,k(e));var m=(t,e,r)=>new Promise((s,o)=>{var n=p=>{try{i(r.next(p))}catch(l){o(l)}},a=p=>{try{i(r.throw(p))}catch(l){o(l)}},i=p=>p.done?s(p.value):Promise.resolve(p.value).then(n,a);i((r=r.apply(t,e)).next())});var d=class{constructor(){this._fns=[]}eject(e){let r=this._fns.indexOf(e);r!==-1&&(this._fns=[...this._fns.slice(0,r),...this._fns.slice(r+1)])}use(e){this._fns=[...this._fns,e]}},v={BASE:"https://api.bundle.social",CREDENTIALS:"include",ENCODE_PATH:void 0,HEADERS:void 0,PASSWORD:void 0,TOKEN:void 0,USERNAME:void 0,VERSION:"1.0.0",WITH_CREDENTIALS:!1,interceptors:{request:new d,response:new d}};var R=class{constructor(e){this.config=e}};var c=class extends Error{constructor(r,s,o){super(o);this.name="ApiError",this.url=s.url,this.status=s.status,this.statusText=s.statusText,this.body=s.body,this.request=r}};var f=class extends Error{constructor(e){super(e),this.name="CancelError"}get isCancelled(){return!0}},h=class{constructor(e){this._isResolved=!1,this._isRejected=!1,this._isCancelled=!1,this.cancelHandlers=[],this.promise=new Promise((r,s)=>{this._resolve=r,this._reject=s;let o=i=>{this._isResolved||this._isRejected||this._isCancelled||(this._isResolved=!0,this._resolve&&this._resolve(i))},n=i=>{this._isResolved||this._isRejected||this._isCancelled||(this._isRejected=!0,this._reject&&this._reject(i))},a=i=>{this._isResolved||this._isRejected||this._isCancelled||this.cancelHandlers.push(i)};return Object.defineProperty(a,"isResolved",{get:()=>this._isResolved}),Object.defineProperty(a,"isRejected",{get:()=>this._isRejected}),Object.defineProperty(a,"isCancelled",{get:()=>this._isCancelled}),e(o,n,a)})}get[Symbol.toStringTag](){return"Cancellable Promise"}then(e,r){return this.promise.then(e,r)}catch(e){return this.promise.catch(e)}finally(e){return this.promise.finally(e)}cancel(){if(!(this._isResolved||this._isRejected||this._isCancelled)){if(this._isCancelled=!0,this.cancelHandlers.length)try{for(let e of this.cancelHandlers)e()}catch(e){console.warn("Cancellation threw an error",e);return}this.cancelHandlers.length=0,this._reject&&this._reject(new f("Request aborted"))}}get isCancelled(){return this._isCancelled}};var b=t=>typeof t=="string",x=t=>b(t)&&t!=="",w=t=>t instanceof Blob,N=t=>t instanceof FormData,W=t=>{try{return btoa(t)}catch(e){return Buffer.from(t).toString("base64")}},$=t=>{let e=[],r=(o,n)=>{e.push(`${encodeURIComponent(o)}=${encodeURIComponent(String(n))}`)},s=(o,n)=>{n!=null&&(n instanceof Date?r(o,n.toISOString()):Array.isArray(n)?n.forEach(a=>s(o,a)):typeof n=="object"?Object.entries(n).forEach(([a,i])=>s(`${o}[${a}]`,i)):r(o,n))};return Object.entries(t).forEach(([o,n])=>s(o,n)),e.length?`?${e.join("&")}`:""},V=(t,e)=>{let r=t.ENCODE_PATH||encodeURI,s=e.url.replace("{api-version}",t.VERSION).replace(/{(.*?)}/g,(n,a)=>{var i;return(i=e.path)!=null&&i.hasOwnProperty(a)?r(String(e.path[a])):n}),o=t.BASE+s;return e.query?o+$(e.query):o},J=t=>{if(t.formData){let e=new FormData,r=(s,o)=>{b(o)||w(o)?e.append(s,o):e.append(s,JSON.stringify(o))};return Object.entries(t.formData).filter(([,s])=>s!=null).forEach(([s,o])=>{Array.isArray(o)?o.forEach(n=>r(s,n)):r(s,o)}),e}},A=(t,e)=>m(void 0,null,function*(){return typeof e=="function"?e(t):e}),K=(t,e)=>m(void 0,null,function*(){let[r,s,o,n]=yield Promise.all([A(e,t.TOKEN),A(e,t.USERNAME),A(e,t.PASSWORD),A(e,t.HEADERS)]),a=Object.entries(u(u({Accept:"application/json"},n),e.headers)).filter(([,i])=>i!=null).reduce((i,[p,l])=>y(u({},i),{[p]:String(l)}),{});if(x(r)&&(a.Authorization=`Bearer ${r}`),x(s)&&x(o)){let i=W(`${s}:${o}`);a.Authorization=`Basic ${i}`}return e.body!==void 0&&(e.mediaType?a["Content-Type"]=e.mediaType:w(e.body)?a["Content-Type"]=e.body.type||"application/octet-stream":b(e.body)?a["Content-Type"]="text/plain":N(e.body)||(a["Content-Type"]="application/json")),new Headers(a)}),z=t=>{var e,r;if(t.body!==void 0)return(e=t.mediaType)!=null&&e.includes("application/json")||(r=t.mediaType)!=null&&r.includes("+json")?JSON.stringify(t.body):b(t.body)||w(t.body)||N(t.body)?t.body:JSON.stringify(t.body)},Q=(t,e,r,s,o,n,a)=>m(void 0,null,function*(){let i=new AbortController,p={headers:n,body:s!=null?s:o,method:e.method,signal:i.signal};t.WITH_CREDENTIALS&&(p.credentials=t.CREDENTIALS);for(let l of t.interceptors.request._fns)p=yield l(p);return a(()=>i.abort()),yield fetch(r,p)}),X=(t,e)=>{if(e){let r=t.headers.get(e);if(b(r))return r}},Y=t=>m(void 0,null,function*(){if(t.status!==204)try{let e=t.headers.get("Content-Type");if(e){let r=["application/octet-stream","application/pdf","application/zip","audio/","image/","video/"];if(e.includes("application/json")||e.includes("+json"))return yield t.json();if(r.some(s=>e.includes(s)))return yield t.blob();if(e.includes("multipart/form-data"))return yield t.formData();if(e.includes("text/"))return yield t.text()}}catch(e){console.error(e)}}),Z=(t,e)=>{var o,n;let s=u({400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"Im a teapot",421:"Misdirected Request",422:"Unprocessable Content",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"},t.errors)[e.status];if(s)throw new c(t,e,s);if(!e.ok){let a=(o=e.status)!=null?o:"unknown",i=(n=e.statusText)!=null?n:"unknown",p=(()=>{try{return JSON.stringify(e.body,null,2)}catch(l){return}})();throw new c(t,e,`Generic Error: status: ${a}; status text: ${i}; body: ${p}`)}},U=(t,e)=>new h((r,s,o)=>m(void 0,null,function*(){try{let n=V(t,e),a=J(e),i=z(e),p=yield K(t,e);if(!o.isCancelled){let l=yield Q(t,e,n,i,a,p,o);for(let G of t.interceptors.response._fns)l=yield G(l);let P=yield Y(l),S=X(l,e.responseHeader),_={url:n,ok:l.ok,status:l.status,statusText:l.statusText,body:S!=null?S:P};Z(e,_),r(_.body)}}catch(n){s(n)}}));var q=class extends R{constructor(e){super(e)}request(e){return U(this.config,e)}};var E=class{constructor(e){this.httpRequest=e}appGetHealth(){return this.httpRequest.request({method:"GET",url:"/api/v1/",errors:{400:"400",401:"401",403:"403",404:"404",500:"500"}})}},C=class{constructor(e){this.httpRequest=e}teamGetTeam(){return this.httpRequest.request({method:"GET",url:"/api/v1/team/",errors:{400:"400",401:"401",403:"403",404:"404",500:"500"}})}},O=class{constructor(e){this.httpRequest=e}uploadCreate(e={}){return this.httpRequest.request({method:"POST",url:"/api/v1/upload/",formData:e.formData,mediaType:"multipart/form-data",errors:{400:"400",401:"401",403:"403",404:"404",500:"500"}})}uploadGetList(){return this.httpRequest.request({method:"GET",url:"/api/v1/upload/",errors:{400:"400",401:"401",403:"403",404:"404",500:"500"}})}uploadDeleteMany(e={}){return this.httpRequest.request({method:"DELETE",url:"/api/v1/upload/",body:e.requestBody,mediaType:"application/json",errors:{400:"400",401:"401",403:"403",404:"404",500:"500"}})}uploadGet(e){return this.httpRequest.request({method:"GET",url:"/api/v1/upload/{id}",path:{id:e.id},errors:{400:"400",401:"401",403:"403",404:"404",500:"500"}})}uploadDelete(e){return this.httpRequest.request({method:"DELETE",url:"/api/v1/upload/{id}",path:{id:e.id},errors:{400:"400",401:"401",403:"403",404:"404",500:"500"}})}},D=class{constructor(e){this.httpRequest=e}postCreate(e={}){return this.httpRequest.request({method:"POST",url:"/api/v1/post/",body:e.requestBody,mediaType:"application/json",errors:{400:"400",401:"401",403:"403",404:"404",500:"500"}})}postGetList(e={}){return this.httpRequest.request({method:"GET",url:"/api/v1/post/",query:{status:e.status,orderBy:e.orderBy,order:e.order,q:e.q,platforms:e.platforms,offset:e.offset,limit:e.limit},errors:{400:"400",401:"401",403:"403",404:"404",500:"500"}})}postGet(e){return this.httpRequest.request({method:"GET",url:"/api/v1/post/{id}",path:{id:e.id},errors:{400:"400",401:"401",403:"403",404:"404",500:"500"}})}postUpdate(e){return this.httpRequest.request({method:"PUT",url:"/api/v1/post/{id}",path:{id:e.id},body:e.requestBody,mediaType:"application/json",errors:{400:"400",401:"401",403:"403",404:"404",500:"500"}})}postDelete(e){return this.httpRequest.request({method:"DELETE",url:"/api/v1/post/{id}",path:{id:e.id},errors:{400:"400",401:"401",403:"403",404:"404",500:"500"}})}};var T=class{constructor(e,r=q){var s,o,n,a,i,p,l,P;this.request=new r({BASE:(s=e==null?void 0:e.BASE)!=null?s:"https://api.bundle.social",VERSION:(o=e==null?void 0:e.VERSION)!=null?o:"1.0.0",WITH_CREDENTIALS:(n=e==null?void 0:e.WITH_CREDENTIALS)!=null?n:!1,CREDENTIALS:(a=e==null?void 0:e.CREDENTIALS)!=null?a:"include",TOKEN:e==null?void 0:e.TOKEN,USERNAME:e==null?void 0:e.USERNAME,PASSWORD:e==null?void 0:e.PASSWORD,HEADERS:e==null?void 0:e.HEADERS,ENCODE_PATH:e==null?void 0:e.ENCODE_PATH,interceptors:{request:(p=(i=e==null?void 0:e.interceptors)==null?void 0:i.request)!=null?p:new d,response:(P=(l=e==null?void 0:e.interceptors)==null?void 0:l.response)!=null?P:new d}}),this.app=new E(this.request),this.post=new D(this.request),this.team=new C(this.request),this.upload=new O(this.request)}};import ee from"crypto";var I=class{constructor(){}verifySignature(e,r,s){return ee.createHmac("sha256",s).update(e).digest("hex")===r}constructEvent(e,r,s){let o=typeof e=="string"?e:JSON.stringify(e);if(!this.verifySignature(o,r,s))throw new Error("Invalid signature");return JSON.parse(o)}},j=class extends T{constructor(r,s){super(y(u({},s),{HEADERS:y(u(u({},v.HEADERS),s==null?void 0:s.HEADERS),{"x-api-key":r})}));this.webhooks=new I}};export{c as ApiError,R as BaseHttpRequest,j as Bundlesocial,f as CancelError,h as CancelablePromise,v as OpenAPI};
1
+ var k=Object.defineProperty,M=Object.defineProperties;var z=Object.getOwnPropertyDescriptors;var U=Object.getOwnPropertySymbols;var F=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable;var N=(t,e,s)=>e in t?k(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,u=(t,e)=>{for(var s in e||(e={}))F.call(e,s)&&N(t,s,e[s]);if(U)for(var s of U(e))W.call(e,s)&&N(t,s,e[s]);return t},T=(t,e)=>M(t,z(e));var m=(t,e,s)=>new Promise((r,o)=>{var n=p=>{try{a(s.next(p))}catch(l){o(l)}},i=p=>{try{a(s.throw(p))}catch(l){o(l)}},a=p=>p.done?r(p.value):Promise.resolve(p.value).then(n,i);a((s=s.apply(t,e)).next())});var c=class{constructor(){this._fns=[]}eject(e){let s=this._fns.indexOf(e);s!==-1&&(this._fns=[...this._fns.slice(0,s),...this._fns.slice(s+1)])}use(e){this._fns=[...this._fns,e]}},w={BASE:"https://api.bundle.social",CREDENTIALS:"include",ENCODE_PATH:void 0,HEADERS:void 0,PASSWORD:void 0,TOKEN:void 0,USERNAME:void 0,VERSION:"1.0.0",WITH_CREDENTIALS:!1,interceptors:{request:new c,response:new c}};var R=class{constructor(e){this.config=e}};var d=class extends Error{constructor(s,r,o){super(o);this.name="ApiError",this.url=r.url,this.status=r.status,this.statusText=r.statusText,this.body=r.body,this.request=s}};var y=class extends Error{constructor(e){super(e),this.name="CancelError"}get isCancelled(){return!0}},h=class{constructor(e){this._isResolved=!1,this._isRejected=!1,this._isCancelled=!1,this.cancelHandlers=[],this.promise=new Promise((s,r)=>{this._resolve=s,this._reject=r;let o=a=>{this._isResolved||this._isRejected||this._isCancelled||(this._isResolved=!0,this._resolve&&this._resolve(a))},n=a=>{this._isResolved||this._isRejected||this._isCancelled||(this._isRejected=!0,this._reject&&this._reject(a))},i=a=>{this._isResolved||this._isRejected||this._isCancelled||this.cancelHandlers.push(a)};return Object.defineProperty(i,"isResolved",{get:()=>this._isResolved}),Object.defineProperty(i,"isRejected",{get:()=>this._isRejected}),Object.defineProperty(i,"isCancelled",{get:()=>this._isCancelled}),e(o,n,i)})}get[Symbol.toStringTag](){return"Cancellable Promise"}then(e,s){return this.promise.then(e,s)}catch(e){return this.promise.catch(e)}finally(e){return this.promise.finally(e)}cancel(){if(!(this._isResolved||this._isRejected||this._isCancelled)){if(this._isCancelled=!0,this.cancelHandlers.length)try{for(let e of this.cancelHandlers)e()}catch(e){console.warn("Cancellation threw an error",e);return}this.cancelHandlers.length=0,this._reject&&this._reject(new y("Request aborted"))}}get isCancelled(){return this._isCancelled}};var b=t=>typeof t=="string",g=t=>b(t)&&t!=="",I=t=>t instanceof Blob,j=t=>t instanceof FormData,$=t=>{try{return btoa(t)}catch(e){return Buffer.from(t).toString("base64")}},V=t=>{let e=[],s=(o,n)=>{e.push(`${encodeURIComponent(o)}=${encodeURIComponent(String(n))}`)},r=(o,n)=>{n!=null&&(n instanceof Date?s(o,n.toISOString()):Array.isArray(n)?n.forEach(i=>r(o,i)):typeof n=="object"?Object.entries(n).forEach(([i,a])=>r(`${o}[${i}]`,a)):s(o,n))};return Object.entries(t).forEach(([o,n])=>r(o,n)),e.length?`?${e.join("&")}`:""},J=(t,e)=>{let s=t.ENCODE_PATH||encodeURI,r=e.url.replace("{api-version}",t.VERSION).replace(/{(.*?)}/g,(n,i)=>{var a;return(a=e.path)!=null&&a.hasOwnProperty(i)?s(String(e.path[i])):n}),o=t.BASE+r;return e.query?o+V(e.query):o},K=t=>{if(t.formData){let e=new FormData,s=(r,o)=>{b(o)||I(o)?e.append(r,o):e.append(r,JSON.stringify(o))};return Object.entries(t.formData).filter(([,r])=>r!=null).forEach(([r,o])=>{Array.isArray(o)?o.forEach(n=>s(r,n)):s(r,o)}),e}},A=(t,e)=>m(void 0,null,function*(){return typeof e=="function"?e(t):e}),Q=(t,e)=>m(void 0,null,function*(){let[s,r,o,n]=yield Promise.all([A(e,t.TOKEN),A(e,t.USERNAME),A(e,t.PASSWORD),A(e,t.HEADERS)]),i=Object.entries(u(u({Accept:"application/json"},n),e.headers)).filter(([,a])=>a!=null).reduce((a,[p,l])=>T(u({},a),{[p]:String(l)}),{});if(g(s)&&(i.Authorization=`Bearer ${s}`),g(r)&&g(o)){let a=$(`${r}:${o}`);i.Authorization=`Basic ${a}`}return e.body!==void 0&&(e.mediaType?i["Content-Type"]=e.mediaType:I(e.body)?i["Content-Type"]=e.body.type||"application/octet-stream":b(e.body)?i["Content-Type"]="text/plain":j(e.body)||(i["Content-Type"]="application/json")),new Headers(i)}),X=t=>{var e,s;if(t.body!==void 0)return(e=t.mediaType)!=null&&e.includes("application/json")||(s=t.mediaType)!=null&&s.includes("+json")?JSON.stringify(t.body):b(t.body)||I(t.body)||j(t.body)?t.body:JSON.stringify(t.body)},Y=(t,e,s,r,o,n,i)=>m(void 0,null,function*(){let a=new AbortController,p={headers:n,body:r!=null?r:o,method:e.method,signal:a.signal};t.WITH_CREDENTIALS&&(p.credentials=t.CREDENTIALS);for(let l of t.interceptors.request._fns)p=yield l(p);return i(()=>a.abort()),yield fetch(s,p)}),Z=(t,e)=>{if(e){let s=t.headers.get(e);if(b(s))return s}},ee=t=>m(void 0,null,function*(){if(t.status!==204)try{let e=t.headers.get("Content-Type");if(e){let s=["application/octet-stream","application/pdf","application/zip","audio/","image/","video/"];if(e.includes("application/json")||e.includes("+json"))return yield t.json();if(s.some(r=>e.includes(r)))return yield t.blob();if(e.includes("multipart/form-data"))return yield t.formData();if(e.includes("text/"))return yield t.text()}}catch(e){console.error(e)}}),te=(t,e)=>{var o,n;let r=u({400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"Im a teapot",421:"Misdirected Request",422:"Unprocessable Content",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"},t.errors)[e.status];if(r)throw new d(t,e,r);if(!e.ok){let i=(o=e.status)!=null?o:"unknown",a=(n=e.statusText)!=null?n:"unknown",p=(()=>{try{return JSON.stringify(e.body,null,2)}catch(l){return}})();throw new d(t,e,`Generic Error: status: ${i}; status text: ${a}; body: ${p}`)}},G=(t,e)=>new h((s,r,o)=>m(void 0,null,function*(){try{let n=J(t,e),i=K(e),a=X(e),p=yield Q(t,e);if(!o.isCancelled){let l=yield Y(t,e,n,a,i,p,o);for(let L of t.interceptors.response._fns)l=yield L(l);let q=yield ee(l),x=Z(l,e.responseHeader),_={url:n,ok:l.ok,status:l.status,statusText:l.statusText,body:x!=null?x:q};te(e,_),s(_.body)}}catch(n){r(n)}}));var C=class extends R{constructor(e){super(e)}request(e){return G(this.config,e)}};var P=class{constructor(e){this.httpRequest=e}appGetHealth(){return this.httpRequest.request({method:"GET",url:"/api/v1/",errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}},E=class{constructor(e){this.httpRequest=e}organizationGetOrganization(){return this.httpRequest.request({method:"GET",url:"/api/v1/organization/",errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}},D=class{constructor(e){this.httpRequest=e}teamGetTeam(e){return this.httpRequest.request({method:"GET",url:"/api/v1/team/{id}",path:{id:e.id},errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}teamUpdateTeam(e){return this.httpRequest.request({method:"PATCH",url:"/api/v1/team/{id}",path:{id:e.id},body:e.requestBody,mediaType:"application/json",errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}teamDeleteTeam(e){return this.httpRequest.request({method:"DELETE",url:"/api/v1/team/{id}",path:{id:e.id},errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}teamCreateTeam(e={}){return this.httpRequest.request({method:"POST",url:"/api/v1/team/",body:e.requestBody,mediaType:"application/json",errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}},S=class{constructor(e){this.httpRequest=e}socialAccountConnect(e={}){return this.httpRequest.request({method:"POST",url:"/api/v1/social-account/connect",body:e.requestBody,mediaType:"application/json",errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}socialAccountDisconnect(e={}){return this.httpRequest.request({method:"DELETE",url:"/api/v1/social-account/disconnect",body:e.requestBody,mediaType:"application/json",errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}socialAccountSetChannel(e={}){return this.httpRequest.request({method:"POST",url:"/api/v1/social-account/set-channel",body:e.requestBody,mediaType:"application/json",errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}socialAccountRefreshChannels(e={}){return this.httpRequest.request({method:"POST",url:"/api/v1/social-account/refresh-channels",body:e.requestBody,mediaType:"application/json",errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}},O=class{constructor(e){this.httpRequest=e}uploadGetList(e){return this.httpRequest.request({method:"GET",url:"/api/v1/upload/",query:{teamId:e.teamId},errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}uploadCreate(e={}){return this.httpRequest.request({method:"POST",url:"/api/v1/upload/",formData:e.formData,mediaType:"multipart/form-data",errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}uploadDeleteMany(e={}){return this.httpRequest.request({method:"DELETE",url:"/api/v1/upload/",body:e.requestBody,mediaType:"application/json",errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}uploadGet(e){return this.httpRequest.request({method:"GET",url:"/api/v1/upload/{id}",path:{id:e.id},errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}uploadDelete(e){return this.httpRequest.request({method:"DELETE",url:"/api/v1/upload/{id}",path:{id:e.id},errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}},v=class{constructor(e){this.httpRequest=e}postGet(e){return this.httpRequest.request({method:"GET",url:"/api/v1/post/{id}",path:{id:e.id},errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}postUpdate(e){return this.httpRequest.request({method:"PATCH",url:"/api/v1/post/{id}",path:{id:e.id},body:e.requestBody,mediaType:"application/json",errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}postDelete(e){return this.httpRequest.request({method:"DELETE",url:"/api/v1/post/{id}",path:{id:e.id},errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}postGetList(e){return this.httpRequest.request({method:"GET",url:"/api/v1/post/",query:{teamId:e.teamId,status:e.status,orderBy:e.orderBy,order:e.order,q:e.q,platforms:e.platforms,offset:e.offset,limit:e.limit},errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}postCreate(e={}){return this.httpRequest.request({method:"POST",url:"/api/v1/post/",body:e.requestBody,mediaType:"application/json",errors:{400:"400",401:"401",403:"403",404:"404",429:"429",500:"500"}})}};var f=class{constructor(e,s=C){var r,o,n,i,a,p,l,q;this.request=new s({BASE:(r=e==null?void 0:e.BASE)!=null?r:"https://api.bundle.social",VERSION:(o=e==null?void 0:e.VERSION)!=null?o:"1.0.0",WITH_CREDENTIALS:(n=e==null?void 0:e.WITH_CREDENTIALS)!=null?n:!1,CREDENTIALS:(i=e==null?void 0:e.CREDENTIALS)!=null?i:"include",TOKEN:e==null?void 0:e.TOKEN,USERNAME:e==null?void 0:e.USERNAME,PASSWORD:e==null?void 0:e.PASSWORD,HEADERS:e==null?void 0:e.HEADERS,ENCODE_PATH:e==null?void 0:e.ENCODE_PATH,interceptors:{request:(p=(a=e==null?void 0:e.interceptors)==null?void 0:a.request)!=null?p:new c,response:(q=(l=e==null?void 0:e.interceptors)==null?void 0:l.response)!=null?q:new c}}),this.app=new P(this.request),this.organization=new E(this.request),this.post=new v(this.request),this.socialAccount=new S(this.request),this.team=new D(this.request),this.upload=new O(this.request)}};import se from"crypto";var H=class{constructor(){}verifySignature(e,s,r){return se.createHmac("sha256",r).update(e).digest("hex")===s}constructEvent(e,s,r){let o=typeof e=="string"?e:JSON.stringify(e);if(!this.verifySignature(o,s,r))throw new Error("Invalid signature");return JSON.parse(o)}},B=class extends f{constructor(s,r){super(T(u({},r),{HEADERS:T(u(u({},w.HEADERS),r==null?void 0:r.HEADERS),{"x-api-key":s})}));this.webhooks=new H}};export{d as ApiError,R as BaseHttpRequest,B as Bundlesocial,y as CancelError,h as CancelablePromise,w as OpenAPI};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bundlesocial",
3
- "version": "1.5.0",
3
+ "version": "2.0.0",
4
4
  "description": "Node.js library for the bundle.social API",
5
5
  "keywords": [
6
6
  "bundle.social",
package/readme.md CHANGED
@@ -15,28 +15,89 @@ pnpm add bundlesocial
15
15
  ```ts
16
16
  import { BundleSocial } from 'bundlesocial';
17
17
 
18
- const bundleSocial = new BundleSocial('YOUR_API_KEY');
19
18
  // Get the API key from the bundle.social dashboard
19
+ const bundleSocial = new BundleSocial('YOUR_API_KEY');
20
20
  ```
21
21
 
22
22
  ## Usage
23
+ ### Get the organization information
24
+ ```ts
25
+ const organization = await bundlesocial.organization.organizationGetOrganization();
26
+ ```
27
+
28
+ ### Create a team
29
+ ```ts
30
+ const createdTeam = await bundlesocial.team.teamCreateTeam({
31
+ requestBody: {
32
+ name: 'Test Team',
33
+ tier: 'FREE',
34
+ },
35
+ });
36
+ ```
37
+
23
38
  ### Get the team information
24
39
  ```ts
25
- const team = await bundlesocial.team.teamGetTeam();
40
+ const team = await bundlesocial.team.teamGetTeam({
41
+ id: createdTeam?.id,
42
+ });
26
43
  ```
27
44
 
45
+ ### Manage social accounts (needed for product integration only)
46
+ If you can connect social accounts directly through our web app, you can skip this step.
47
+
48
+ For more info check out our docs: [https://info.bundle.social/api-reference](https://info.bundle.social/api-reference)
49
+
50
+ #### Connect social account
51
+ ```ts
52
+ const response = await bundlesocial.socialAccount.socialAccountConnect({
53
+ requestBody: {
54
+ type: 'TIKTOK',
55
+ teamId: team.id,
56
+ redirectUrl: 'https://your-redirect-url.com',
57
+ }
58
+ });
59
+
60
+ // Redirect the user to the response.url
61
+ // After the user has connected the account, the user will be redirected to the redirectUrl
62
+ ```
63
+
64
+ #### Select page, account or channel (required for FACEBOOK, INSTAGRAM, YOUTUBE, LINKEDIN, DISCORD AND SLACK)
65
+ After the user has connected the account and was redirected to your page, you can let the user select the page, account or channel. We unified the data for all platforms. Each social account has a `channels` field, that is an array of their channels (pages, accounts, channels depending on the platform).
66
+
67
+ ```ts
68
+ const team = await bundlesocial.team.teamGetTeam({
69
+ id: team.id,
70
+ });
71
+
72
+ const socialAccount = team?.socialAccounts?.find((account) => account.type === 'TIKTOK');
73
+ const socialAccountChannelId = socialAccount?.channels?.[0]?.id;
74
+
75
+ if (socialAccountChannelId) {
76
+ await bundlesocial.socialAccount.socialAccountSetChannel({
77
+ requestBody: {
78
+ type,
79
+ teamId: team.id,
80
+ channelId: socialAccountChannelId,
81
+ }
82
+ });
83
+ }
84
+ ```
85
+
86
+
28
87
  ### Upload a file
29
88
  ```ts
30
89
  const video = await fs.readFile('./video.mp4');
31
- const createdUpload = await bundlesocial.upload.uploadCreate({
90
+ const videoUpload = await bundlesocial.upload.uploadCreate({
32
91
  formData: {
92
+ teamId: team.id,
33
93
  file: new Blob([video], { type: 'video/mp4' }),
34
94
  }
35
95
  });
36
96
 
37
97
  const jpgImage = await fs.readFile('./image.jpg');
38
- const createdUpload = await bundlesocial.upload.uploadCreate({
98
+ const jpgUpload = await bundlesocial.upload.uploadCreate({
39
99
  formData: {
100
+ teamId: team.id,
40
101
  file: new Blob([jpgImage], { type: 'image/jpeg' }),
41
102
  }
42
103
  });
@@ -48,6 +109,7 @@ const createdUpload = await bundlesocial.upload.uploadCreate({
48
109
  // Make sure you have connected a social account to the team.
49
110
  const createdPost = await bundlesocial.post.postCreate({
50
111
  requestBody: {
112
+ teamId: team.id,
51
113
  data: {
52
114
  INSTAGRAM: {
53
115
  text: 'Test Post',
@@ -72,9 +134,16 @@ const createdPost = await bundlesocial.post.postCreate({
72
134
  ],
73
135
  privacy: 'PUBLIC_TO_EVERYONE',
74
136
  },
137
+ REDDIT: {
138
+ sr: 'r/bundlesocial',
139
+ text: 'Test Post',
140
+ uploadIds: [
141
+ jpgUpload.id
142
+ ],
143
+ },
75
144
  },
76
145
  postDate: new Date().toISOString(),
77
- socialAccountTypes: ['INSTAGRAM', 'YOUTUBE', 'TIKTOK'],
146
+ socialAccountTypes: ['INSTAGRAM', 'YOUTUBE', 'TIKTOK', 'REDDIT'],
78
147
  status: 'SCHEDULED',
79
148
  title: 'Test Post',
80
149
  }
@@ -91,7 +160,7 @@ const post = await bundlesocial.post.postGet({
91
160
  ## Handling errors
92
161
  ```ts
93
162
  try {
94
- const team = await bundlesocial.team.teamGetTeam();
163
+ const organization = await bundlesocial.organization.organizationGetOrganization();
95
164
  } catch (error) {
96
165
  if (error instanceof ApiError) {
97
166
  // Handle the error
@@ -102,5 +171,31 @@ try {
102
171
  }
103
172
  ```
104
173
 
174
+ ## Handling webhook events
175
+ ```ts
176
+ // this is a simple example using express
177
+ app.post('/webhook', express.json({ type: 'application/json' }), (req, res) => {
178
+ const bundlesocial = new Bundlesocial(apiKey);
179
+ const signature = req.headers['x-signature'];
180
+
181
+ let event: WebhookEvent;
182
+
183
+ try {
184
+ // Verify the webhook signature and return a typed event
185
+ event = bundlesocial.webhooks.constructEvent(
186
+ req.body,
187
+ signature as string,
188
+ secret,
189
+ );
190
+ // Do something with the event
191
+ } catch (err) {
192
+ console.log(`Webhook signature verification failed.`, err);
193
+ return res.sendStatus(400);
194
+ }
195
+
196
+ return res.send();
197
+ });
198
+ ```
199
+
105
200
  ## License
106
201
  MIT