@liberfi.io/ui-channels 0.1.9 → 0.1.20

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.
@@ -1,4 +1,4 @@
1
- import { API, Channel, ChannelSource } from '@liberfi.io/types';
1
+ import { API, Channel, ChannelSource, XEligibilityInfo } from '@liberfi.io/types';
2
2
 
3
3
  interface ChannelsClientOptions {
4
4
  endpoint: string;
@@ -21,6 +21,8 @@ declare class ChannelsClient implements API.IChannelsClient {
21
21
  update(options: API.UpdateChannelOptions): Promise<Channel>;
22
22
  updateSources(options: API.UpdateChannelSourcesOptions): Promise<Array<ChannelSource>>;
23
23
  getSources(channelId: string): Promise<Array<ChannelSource>>;
24
+ checkXEligibility(): Promise<XEligibilityInfo>;
25
+ getXAuthorizeUrl(returnUrl?: string): Promise<string>;
24
26
  _requestOptions(): Promise<Omit<RequestInit, "method">>;
25
27
  }
26
28
 
@@ -1,4 +1,4 @@
1
- import { API, Channel, ChannelSource } from '@liberfi.io/types';
1
+ import { API, Channel, ChannelSource, XEligibilityInfo } from '@liberfi.io/types';
2
2
 
3
3
  interface ChannelsClientOptions {
4
4
  endpoint: string;
@@ -21,6 +21,8 @@ declare class ChannelsClient implements API.IChannelsClient {
21
21
  update(options: API.UpdateChannelOptions): Promise<Channel>;
22
22
  updateSources(options: API.UpdateChannelSourcesOptions): Promise<Array<ChannelSource>>;
23
23
  getSources(channelId: string): Promise<Array<ChannelSource>>;
24
+ checkXEligibility(): Promise<XEligibilityInfo>;
25
+ getXAuthorizeUrl(returnUrl?: string): Promise<string>;
24
26
  _requestOptions(): Promise<Omit<RequestInit, "method">>;
25
27
  }
26
28
 
@@ -1,2 +1,2 @@
1
- 'use strict';var utils=require('@liberfi.io/utils');function c(a){let e=utils.chainIdBySlug(a.chain);if(!e)throw new Error(`Unsupported chain: ${a.chain}`);return {...a,chain:e}}function h(a){return {...a,list:a.list.map(c)}}var p=class{endpoint;accessToken;constructor({endpoint:e,accessToken:n}){this.endpoint=e,this.accessToken=n;}async get(e){let n=await this._requestOptions(),s=await utils.get(`${this.endpoint}/channels/${e}`,n);return c(s.data)}async subscribe(e){let n=await this._requestOptions();await utils.post(`${this.endpoint}/channels/${e}/subscribe`,{notification_enabled:true},n);}async unsubscribe(e){let n=await this._requestOptions();await utils.del(`${this.endpoint}/channels/${e}/subscribe`,n);}async getChannels(e){let n=await this._requestOptions(),s=new URLSearchParams;e?.chain&&s.set("chain",e.chain),e?.page&&s.set("page",e.page.toString()),e?.size&&s.set("size",e.size.toString()),e?.search&&s.set("search",e.search),e?.sort&&s.set("sort",e.sort),e?.order&&s.set("order",e.order);let t=s.toString(),r=`${this.endpoint}/channels${t?`?${t}`:""}`,i=await utils.get(r,n);return h(i.data)}async getSubscribedChannels(e){let n=await this._requestOptions(),s=new URLSearchParams;e?.chain&&s.set("chain",e.chain),e?.page&&s.set("page",e.page.toString()),e?.size&&s.set("size",e.size.toString()),e?.search&&s.set("search",e.search),e?.sort&&s.set("sort",e.sort),e?.order&&s.set("order",e.order);let t=s.toString(),r=`${this.endpoint}/channels/subscribed${t?`?${t}`:""}`,i=await utils.get(r,n);return h(i.data)}async getMyChannels(e){let n=await this._requestOptions(),s=new URLSearchParams;e?.chain&&s.set("chain",e.chain),e?.page&&s.set("page",e.page.toString()),e?.size&&s.set("size",e.size.toString()),e?.search&&s.set("search",e.search),e?.sort&&s.set("sort",e.sort),e?.order&&s.set("order",e.order);let t=s.toString(),r=`${this.endpoint}/channels/my${t?`?${t}`:""}`,i=await utils.get(r,n);return h(i.data)}async getChannelEvents(e,n){let s=await this._requestOptions(),t=new URLSearchParams;n?.limit&&t.set("limit",n.limit.toString()),n?.next_page&&t.set("next_page",n.next_page.toString()),n?.timestamp&&t.set("timestamp",n.timestamp.toString());let r=t.toString(),i=`${this.endpoint}/channels/${e}/events${r?`?${r}`:""}`;return await utils.get(i,s)}async create(e){let n=await this._requestOptions(),s=await utils.post(`${this.endpoint}/channels`,e,n);return c(s.data)}async update(e){let n=await this._requestOptions(),s=await utils.put(`${this.endpoint}/channels/${e.id}`,e,n);return c(s.data)}async updateSources(e){let n=await this._requestOptions();return (await utils.put(`${this.endpoint}/channels/${e.channel_id}/sources`,e,n)).data}async getSources(e){let n=await this._requestOptions();return (await utils.get(`${this.endpoint}/channels/${e}/sources`,n)).data}async _requestOptions(){let e=typeof this.accessToken=="string"?this.accessToken:await this.accessToken.getToken(),n={"Content-Type":"application/json"};return e&&(n.Authorization=`Bearer ${e}`),{headers:n}}};exports.ChannelsClient=p;//# sourceMappingURL=index.js.map
1
+ 'use strict';var utils=require('@liberfi.io/utils');function c(o){let e=utils.chainIdBySlug(o.chain);if(!e)throw new Error(`Unsupported chain: ${o.chain}`);return {...o,chain:e}}function h(o){return {...o,list:o.list.map(c)}}var p=class{endpoint;accessToken;constructor({endpoint:e,accessToken:t}){this.endpoint=e,this.accessToken=t;}async get(e){let t=await this._requestOptions(),s=await utils.get(`${this.endpoint}/channels/${e}`,t);return c(s.data)}async subscribe(e){let t=await this._requestOptions();await utils.post(`${this.endpoint}/channels/${e}/subscribe`,{notification_enabled:true},t);}async unsubscribe(e){let t=await this._requestOptions();await utils.del(`${this.endpoint}/channels/${e}/subscribe`,t);}async getChannels(e){let t=await this._requestOptions(),s=new URLSearchParams;e?.chain&&s.set("chain",e.chain),e?.page&&s.set("page",e.page.toString()),e?.size&&s.set("size",e.size.toString()),e?.search&&s.set("search",e.search),e?.sort&&s.set("sort",e.sort),e?.order&&s.set("order",e.order);let n=s.toString(),r=`${this.endpoint}/channels${n?`?${n}`:""}`,a=await utils.get(r,t);return h(a.data)}async getSubscribedChannels(e){let t=await this._requestOptions(),s=new URLSearchParams;e?.chain&&s.set("chain",e.chain),e?.page&&s.set("page",e.page.toString()),e?.size&&s.set("size",e.size.toString()),e?.search&&s.set("search",e.search),e?.sort&&s.set("sort",e.sort),e?.order&&s.set("order",e.order);let n=s.toString(),r=`${this.endpoint}/channels/subscribed${n?`?${n}`:""}`,a=await utils.get(r,t);return h(a.data)}async getMyChannels(e){let t=await this._requestOptions(),s=new URLSearchParams;e?.chain&&s.set("chain",e.chain),e?.page&&s.set("page",e.page.toString()),e?.size&&s.set("size",e.size.toString()),e?.search&&s.set("search",e.search),e?.sort&&s.set("sort",e.sort),e?.order&&s.set("order",e.order);let n=s.toString(),r=`${this.endpoint}/channels/my${n?`?${n}`:""}`,a=await utils.get(r,t);return h(a.data)}async getChannelEvents(e,t){let s=await this._requestOptions(),n=new URLSearchParams;t?.limit&&n.set("limit",t.limit.toString()),t?.next_page&&n.set("next_page",t.next_page.toString()),t?.timestamp&&n.set("timestamp",t.timestamp.toString());let r=n.toString(),a=`${this.endpoint}/channels/${e}/events${r?`?${r}`:""}`;return await utils.get(a,s)}async create(e){let t=await this._requestOptions(),s=await utils.post(`${this.endpoint}/channels`,e,t);return c(s.data)}async update(e){let t=await this._requestOptions(),s=await utils.put(`${this.endpoint}/channels/${e.id}`,e,t);return c(s.data)}async updateSources(e){let t=await this._requestOptions();return (await utils.put(`${this.endpoint}/channels/${e.channel_id}/sources`,e,t)).data}async getSources(e){let t=await this._requestOptions();return (await utils.get(`${this.endpoint}/channels/${e}/sources`,t)).data}async checkXEligibility(){let e=await this._requestOptions(),t=await utils.get(`${this.endpoint}/twitter/user`,e);return {status:t.data.status,message:t.data.message,twitter_id:t.data.twitter_id,twitter_name:t.data.twitter_name,follower_count:t.data.follower_count,account_age_days:t.data.account_age_days,has_violations:t.data.has_violations}}async getXAuthorizeUrl(e){let t=await this._requestOptions(),s=new URLSearchParams;e&&s.set("redirect_url",e);let n=s.toString(),r=`${this.endpoint}/twitter/auth-url${n?`?${n}`:""}`;return (await utils.get(r,t)).data.auth_url}async _requestOptions(){let e=typeof this.accessToken=="string"?this.accessToken:await this.accessToken.getToken(),t={"Content-Type":"application/json"};return e&&(t.Authorization=`Bearer ${e}`),{headers:t}}};exports.ChannelsClient=p;//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/client/utils.ts","../../src/client/client.ts"],"names":["convertFromChannelDTO","input","chain","chainIdBySlug","convertFromChannelsListDTO","ChannelsClient","endpoint","accessToken","id","requestOptions","resp","get","post","del","options","queryParams","queryString","url","channelId","params","put","token","headers"],"mappings":"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","file":"index.js","sourcesContent":["import { API, Channel } from \"@liberfi.io/types\";\nimport { chainIdBySlug } from \"@liberfi.io/utils\";\nimport { ChannelDTO, ChannelsListDTO } from \"./types\";\n\nexport function convertFromChannelDTO(input: ChannelDTO): Channel {\n const chain = chainIdBySlug(input.chain);\n if (!chain) throw new Error(`Unsupported chain: ${input.chain}`);\n return {\n ...input,\n chain,\n };\n}\n\nexport function convertFromChannelsListDTO(\n input: ChannelsListDTO,\n): API.ChannelsList {\n return {\n ...input,\n list: input.list.map(convertFromChannelDTO),\n };\n}\n","import { API, ChannelSource } from \"@liberfi.io/types\";\nimport { Channel } from \"@liberfi.io/types\";\nimport { del, get, post, put } from \"@liberfi.io/utils\";\nimport {\n ChannelEventsListResponse,\n ChannelResponse,\n ChannelsListResponse,\n ChannelSourcesResponse,\n SubscribeResponse,\n UnsubscribeResponse,\n} from \"./types\";\nimport { convertFromChannelDTO, convertFromChannelsListDTO } from \"./utils\";\n\nexport interface ChannelsClientOptions {\n endpoint: string;\n accessToken:\n | string\n | {\n getToken(): Promise<string | undefined | null>;\n };\n}\n\nexport class ChannelsClient implements API.IChannelsClient {\n private readonly endpoint: string;\n private readonly accessToken: ChannelsClientOptions[\"accessToken\"];\n\n constructor({ endpoint, accessToken }: ChannelsClientOptions) {\n this.endpoint = endpoint;\n this.accessToken = accessToken;\n }\n\n async get(id: string): Promise<Channel> {\n const requestOptions = await this._requestOptions();\n const resp = await get<ChannelResponse>(\n `${this.endpoint}/channels/${id}`,\n requestOptions,\n );\n return convertFromChannelDTO(resp.data);\n }\n\n async subscribe(id: string): Promise<void> {\n const requestOptions = await this._requestOptions();\n await post<SubscribeResponse>(\n `${this.endpoint}/channels/${id}/subscribe`,\n { notification_enabled: true },\n requestOptions,\n );\n }\n\n async unsubscribe(id: string): Promise<void> {\n const requestOptions = await this._requestOptions();\n await del<UnsubscribeResponse>(\n `${this.endpoint}/channels/${id}/subscribe`,\n requestOptions,\n );\n }\n\n async getChannels(\n options?: API.ListChannelsOptions,\n ): Promise<API.ChannelsList> {\n const requestOptions = await this._requestOptions();\n const queryParams = new URLSearchParams();\n if (options?.chain) {\n queryParams.set(\"chain\", options.chain);\n }\n if (options?.page) {\n queryParams.set(\"page\", options.page.toString());\n }\n if (options?.size) {\n queryParams.set(\"size\", options.size.toString());\n }\n if (options?.search) {\n queryParams.set(\"search\", options.search);\n }\n if (options?.sort) {\n queryParams.set(\"sort\", options.sort);\n }\n if (options?.order) {\n queryParams.set(\"order\", options.order);\n }\n const queryString = queryParams.toString();\n const url = `${this.endpoint}/channels${queryString ? `?${queryString}` : \"\"}`;\n const resp = await get<ChannelsListResponse>(url, requestOptions);\n return convertFromChannelsListDTO(resp.data);\n }\n\n async getSubscribedChannels(\n options?: API.ListChannelsOptions,\n ): Promise<API.ChannelsList> {\n const requestOptions = await this._requestOptions();\n const queryParams = new URLSearchParams();\n if (options?.chain) {\n queryParams.set(\"chain\", options.chain);\n }\n if (options?.page) {\n queryParams.set(\"page\", options.page.toString());\n }\n if (options?.size) {\n queryParams.set(\"size\", options.size.toString());\n }\n if (options?.search) {\n queryParams.set(\"search\", options.search);\n }\n if (options?.sort) {\n queryParams.set(\"sort\", options.sort);\n }\n if (options?.order) {\n queryParams.set(\"order\", options.order);\n }\n const queryString = queryParams.toString();\n const url = `${this.endpoint}/channels/subscribed${queryString ? `?${queryString}` : \"\"}`;\n const resp = await get<ChannelsListResponse>(url, requestOptions);\n return convertFromChannelsListDTO(resp.data);\n }\n\n async getMyChannels(\n options?: API.ListChannelsOptions,\n ): Promise<API.ChannelsList> {\n const requestOptions = await this._requestOptions();\n const queryParams = new URLSearchParams();\n if (options?.chain) {\n queryParams.set(\"chain\", options.chain);\n }\n if (options?.page) {\n queryParams.set(\"page\", options.page.toString());\n }\n if (options?.size) {\n queryParams.set(\"size\", options.size.toString());\n }\n if (options?.search) {\n queryParams.set(\"search\", options.search);\n }\n if (options?.sort) {\n queryParams.set(\"sort\", options.sort);\n }\n if (options?.order) {\n queryParams.set(\"order\", options.order);\n }\n const queryString = queryParams.toString();\n const url = `${this.endpoint}/channels/my${queryString ? `?${queryString}` : \"\"}`;\n const resp = await get<ChannelsListResponse>(url, requestOptions);\n return convertFromChannelsListDTO(resp.data);\n }\n\n async getChannelEvents(\n channelId: string,\n options?: API.ListChannelEventsOptions,\n ): Promise<API.ChannelEventsList> {\n const requestOptions = await this._requestOptions();\n const queryParams = new URLSearchParams();\n if (options?.limit) {\n queryParams.set(\"limit\", options.limit.toString());\n }\n if (options?.next_page) {\n queryParams.set(\"next_page\", options.next_page.toString());\n }\n if (options?.timestamp) {\n queryParams.set(\"timestamp\", options.timestamp.toString());\n }\n const queryString = queryParams.toString();\n const url = `${this.endpoint}/channels/${channelId}/events${queryString ? `?${queryString}` : \"\"}`;\n const resp = await get<ChannelEventsListResponse>(url, requestOptions);\n return resp;\n }\n\n async create(params: API.CreateChannelOptions): Promise<Channel> {\n const requestOptions = await this._requestOptions();\n const resp = await post<ChannelResponse>(\n `${this.endpoint}/channels`,\n params,\n requestOptions,\n );\n return convertFromChannelDTO(resp.data);\n }\n\n async update(options: API.UpdateChannelOptions): Promise<Channel> {\n const requestOptions = await this._requestOptions();\n const resp = await put<ChannelResponse>(\n `${this.endpoint}/channels/${options.id}`,\n options,\n requestOptions,\n );\n return convertFromChannelDTO(resp.data);\n }\n\n async updateSources(\n options: API.UpdateChannelSourcesOptions,\n ): Promise<Array<ChannelSource>> {\n const requestOptions = await this._requestOptions();\n const resp = await put<ChannelSourcesResponse>(\n `${this.endpoint}/channels/${options.channel_id}/sources`,\n options,\n requestOptions,\n );\n return resp.data;\n }\n\n async getSources(channelId: string): Promise<Array<ChannelSource>> {\n const requestOptions = await this._requestOptions();\n const resp = await get<ChannelSourcesResponse>(\n `${this.endpoint}/channels/${channelId}/sources`,\n requestOptions,\n );\n return resp.data;\n }\n\n async _requestOptions(): Promise<Omit<RequestInit, \"method\">> {\n const token =\n typeof this.accessToken === \"string\"\n ? this.accessToken\n : await this.accessToken.getToken();\n\n const headers: Record<string, string> = {\n \"Content-Type\": \"application/json\",\n };\n\n if (token) {\n headers.Authorization = `Bearer ${token}`;\n }\n\n return { headers };\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/client/utils.ts","../../src/client/client.ts"],"names":["convertFromChannelDTO","input","chain","chainIdBySlug","convertFromChannelsListDTO","ChannelsClient","endpoint","accessToken","id","requestOptions","resp","get","post","del","options","queryParams","queryString","url","channelId","params","put","returnUrl","token","headers"],"mappings":"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","file":"index.js","sourcesContent":["import { API, Channel } from \"@liberfi.io/types\";\nimport { chainIdBySlug } from \"@liberfi.io/utils\";\nimport { ChannelDTO, ChannelsListDTO } from \"./types\";\n\nexport function convertFromChannelDTO(input: ChannelDTO): Channel {\n const chain = chainIdBySlug(input.chain);\n if (!chain) throw new Error(`Unsupported chain: ${input.chain}`);\n return {\n ...input,\n chain,\n };\n}\n\nexport function convertFromChannelsListDTO(\n input: ChannelsListDTO,\n): API.ChannelsList {\n return {\n ...input,\n list: input.list.map(convertFromChannelDTO),\n };\n}\n","import { API, ChannelSource, XEligibilityInfo } from \"@liberfi.io/types\";\nimport { Channel } from \"@liberfi.io/types\";\nimport { del, get, post, put } from \"@liberfi.io/utils\";\nimport {\n ChannelEventsListResponse,\n ChannelResponse,\n ChannelsListResponse,\n ChannelSourcesResponse,\n SubscribeResponse,\n TwitterAuthURLResponse,\n TwitterUserInfoResponse,\n UnsubscribeResponse,\n} from \"./types\";\nimport { convertFromChannelDTO, convertFromChannelsListDTO } from \"./utils\";\n\nexport interface ChannelsClientOptions {\n endpoint: string;\n accessToken:\n | string\n | {\n getToken(): Promise<string | undefined | null>;\n };\n}\n\nexport class ChannelsClient implements API.IChannelsClient {\n private readonly endpoint: string;\n private readonly accessToken: ChannelsClientOptions[\"accessToken\"];\n\n constructor({ endpoint, accessToken }: ChannelsClientOptions) {\n this.endpoint = endpoint;\n this.accessToken = accessToken;\n }\n\n async get(id: string): Promise<Channel> {\n const requestOptions = await this._requestOptions();\n const resp = await get<ChannelResponse>(\n `${this.endpoint}/channels/${id}`,\n requestOptions,\n );\n return convertFromChannelDTO(resp.data);\n }\n\n async subscribe(id: string): Promise<void> {\n const requestOptions = await this._requestOptions();\n await post<SubscribeResponse>(\n `${this.endpoint}/channels/${id}/subscribe`,\n { notification_enabled: true },\n requestOptions,\n );\n }\n\n async unsubscribe(id: string): Promise<void> {\n const requestOptions = await this._requestOptions();\n await del<UnsubscribeResponse>(\n `${this.endpoint}/channels/${id}/subscribe`,\n requestOptions,\n );\n }\n\n async getChannels(\n options?: API.ListChannelsOptions,\n ): Promise<API.ChannelsList> {\n const requestOptions = await this._requestOptions();\n const queryParams = new URLSearchParams();\n if (options?.chain) {\n queryParams.set(\"chain\", options.chain);\n }\n if (options?.page) {\n queryParams.set(\"page\", options.page.toString());\n }\n if (options?.size) {\n queryParams.set(\"size\", options.size.toString());\n }\n if (options?.search) {\n queryParams.set(\"search\", options.search);\n }\n if (options?.sort) {\n queryParams.set(\"sort\", options.sort);\n }\n if (options?.order) {\n queryParams.set(\"order\", options.order);\n }\n const queryString = queryParams.toString();\n const url = `${this.endpoint}/channels${queryString ? `?${queryString}` : \"\"}`;\n const resp = await get<ChannelsListResponse>(url, requestOptions);\n return convertFromChannelsListDTO(resp.data);\n }\n\n async getSubscribedChannels(\n options?: API.ListChannelsOptions,\n ): Promise<API.ChannelsList> {\n const requestOptions = await this._requestOptions();\n const queryParams = new URLSearchParams();\n if (options?.chain) {\n queryParams.set(\"chain\", options.chain);\n }\n if (options?.page) {\n queryParams.set(\"page\", options.page.toString());\n }\n if (options?.size) {\n queryParams.set(\"size\", options.size.toString());\n }\n if (options?.search) {\n queryParams.set(\"search\", options.search);\n }\n if (options?.sort) {\n queryParams.set(\"sort\", options.sort);\n }\n if (options?.order) {\n queryParams.set(\"order\", options.order);\n }\n const queryString = queryParams.toString();\n const url = `${this.endpoint}/channels/subscribed${queryString ? `?${queryString}` : \"\"}`;\n const resp = await get<ChannelsListResponse>(url, requestOptions);\n return convertFromChannelsListDTO(resp.data);\n }\n\n async getMyChannels(\n options?: API.ListChannelsOptions,\n ): Promise<API.ChannelsList> {\n const requestOptions = await this._requestOptions();\n const queryParams = new URLSearchParams();\n if (options?.chain) {\n queryParams.set(\"chain\", options.chain);\n }\n if (options?.page) {\n queryParams.set(\"page\", options.page.toString());\n }\n if (options?.size) {\n queryParams.set(\"size\", options.size.toString());\n }\n if (options?.search) {\n queryParams.set(\"search\", options.search);\n }\n if (options?.sort) {\n queryParams.set(\"sort\", options.sort);\n }\n if (options?.order) {\n queryParams.set(\"order\", options.order);\n }\n const queryString = queryParams.toString();\n const url = `${this.endpoint}/channels/my${queryString ? `?${queryString}` : \"\"}`;\n const resp = await get<ChannelsListResponse>(url, requestOptions);\n return convertFromChannelsListDTO(resp.data);\n }\n\n async getChannelEvents(\n channelId: string,\n options?: API.ListChannelEventsOptions,\n ): Promise<API.ChannelEventsList> {\n const requestOptions = await this._requestOptions();\n const queryParams = new URLSearchParams();\n if (options?.limit) {\n queryParams.set(\"limit\", options.limit.toString());\n }\n if (options?.next_page) {\n queryParams.set(\"next_page\", options.next_page.toString());\n }\n if (options?.timestamp) {\n queryParams.set(\"timestamp\", options.timestamp.toString());\n }\n const queryString = queryParams.toString();\n const url = `${this.endpoint}/channels/${channelId}/events${queryString ? `?${queryString}` : \"\"}`;\n const resp = await get<ChannelEventsListResponse>(url, requestOptions);\n return resp;\n }\n\n async create(params: API.CreateChannelOptions): Promise<Channel> {\n const requestOptions = await this._requestOptions();\n const resp = await post<ChannelResponse>(\n `${this.endpoint}/channels`,\n params,\n requestOptions,\n );\n return convertFromChannelDTO(resp.data);\n }\n\n async update(options: API.UpdateChannelOptions): Promise<Channel> {\n const requestOptions = await this._requestOptions();\n const resp = await put<ChannelResponse>(\n `${this.endpoint}/channels/${options.id}`,\n options,\n requestOptions,\n );\n return convertFromChannelDTO(resp.data);\n }\n\n async updateSources(\n options: API.UpdateChannelSourcesOptions,\n ): Promise<Array<ChannelSource>> {\n const requestOptions = await this._requestOptions();\n const resp = await put<ChannelSourcesResponse>(\n `${this.endpoint}/channels/${options.channel_id}/sources`,\n options,\n requestOptions,\n );\n return resp.data;\n }\n\n async getSources(channelId: string): Promise<Array<ChannelSource>> {\n const requestOptions = await this._requestOptions();\n const resp = await get<ChannelSourcesResponse>(\n `${this.endpoint}/channels/${channelId}/sources`,\n requestOptions,\n );\n return resp.data;\n }\n\n async checkXEligibility(): Promise<XEligibilityInfo> {\n const requestOptions = await this._requestOptions();\n const resp = await get<TwitterUserInfoResponse>(\n `${this.endpoint}/twitter/user`,\n requestOptions,\n );\n return {\n status: resp.data.status,\n message: resp.data.message,\n twitter_id: resp.data.twitter_id,\n twitter_name: resp.data.twitter_name,\n follower_count: resp.data.follower_count,\n account_age_days: resp.data.account_age_days,\n has_violations: resp.data.has_violations,\n };\n }\n\n async getXAuthorizeUrl(returnUrl?: string): Promise<string> {\n const requestOptions = await this._requestOptions();\n const queryParams = new URLSearchParams();\n if (returnUrl) {\n queryParams.set(\"redirect_url\", returnUrl);\n }\n const queryString = queryParams.toString();\n const url = `${this.endpoint}/twitter/auth-url${queryString ? `?${queryString}` : \"\"}`;\n const resp = await get<TwitterAuthURLResponse>(url, requestOptions);\n return resp.data.auth_url;\n }\n\n async _requestOptions(): Promise<Omit<RequestInit, \"method\">> {\n const token =\n typeof this.accessToken === \"string\"\n ? this.accessToken\n : await this.accessToken.getToken();\n\n const headers: Record<string, string> = {\n \"Content-Type\": \"application/json\",\n };\n\n if (token) {\n headers.Authorization = `Bearer ${token}`;\n }\n\n return { headers };\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
- import {get,post,del,put,chainIdBySlug}from'@liberfi.io/utils';function c(a){let e=chainIdBySlug(a.chain);if(!e)throw new Error(`Unsupported chain: ${a.chain}`);return {...a,chain:e}}function h(a){return {...a,list:a.list.map(c)}}var p=class{endpoint;accessToken;constructor({endpoint:e,accessToken:n}){this.endpoint=e,this.accessToken=n;}async get(e){let n=await this._requestOptions(),s=await get(`${this.endpoint}/channels/${e}`,n);return c(s.data)}async subscribe(e){let n=await this._requestOptions();await post(`${this.endpoint}/channels/${e}/subscribe`,{notification_enabled:true},n);}async unsubscribe(e){let n=await this._requestOptions();await del(`${this.endpoint}/channels/${e}/subscribe`,n);}async getChannels(e){let n=await this._requestOptions(),s=new URLSearchParams;e?.chain&&s.set("chain",e.chain),e?.page&&s.set("page",e.page.toString()),e?.size&&s.set("size",e.size.toString()),e?.search&&s.set("search",e.search),e?.sort&&s.set("sort",e.sort),e?.order&&s.set("order",e.order);let t=s.toString(),r=`${this.endpoint}/channels${t?`?${t}`:""}`,i=await get(r,n);return h(i.data)}async getSubscribedChannels(e){let n=await this._requestOptions(),s=new URLSearchParams;e?.chain&&s.set("chain",e.chain),e?.page&&s.set("page",e.page.toString()),e?.size&&s.set("size",e.size.toString()),e?.search&&s.set("search",e.search),e?.sort&&s.set("sort",e.sort),e?.order&&s.set("order",e.order);let t=s.toString(),r=`${this.endpoint}/channels/subscribed${t?`?${t}`:""}`,i=await get(r,n);return h(i.data)}async getMyChannels(e){let n=await this._requestOptions(),s=new URLSearchParams;e?.chain&&s.set("chain",e.chain),e?.page&&s.set("page",e.page.toString()),e?.size&&s.set("size",e.size.toString()),e?.search&&s.set("search",e.search),e?.sort&&s.set("sort",e.sort),e?.order&&s.set("order",e.order);let t=s.toString(),r=`${this.endpoint}/channels/my${t?`?${t}`:""}`,i=await get(r,n);return h(i.data)}async getChannelEvents(e,n){let s=await this._requestOptions(),t=new URLSearchParams;n?.limit&&t.set("limit",n.limit.toString()),n?.next_page&&t.set("next_page",n.next_page.toString()),n?.timestamp&&t.set("timestamp",n.timestamp.toString());let r=t.toString(),i=`${this.endpoint}/channels/${e}/events${r?`?${r}`:""}`;return await get(i,s)}async create(e){let n=await this._requestOptions(),s=await post(`${this.endpoint}/channels`,e,n);return c(s.data)}async update(e){let n=await this._requestOptions(),s=await put(`${this.endpoint}/channels/${e.id}`,e,n);return c(s.data)}async updateSources(e){let n=await this._requestOptions();return (await put(`${this.endpoint}/channels/${e.channel_id}/sources`,e,n)).data}async getSources(e){let n=await this._requestOptions();return (await get(`${this.endpoint}/channels/${e}/sources`,n)).data}async _requestOptions(){let e=typeof this.accessToken=="string"?this.accessToken:await this.accessToken.getToken(),n={"Content-Type":"application/json"};return e&&(n.Authorization=`Bearer ${e}`),{headers:n}}};export{p as ChannelsClient};//# sourceMappingURL=index.mjs.map
1
+ import {get,post,del,put,chainIdBySlug}from'@liberfi.io/utils';function c(o){let e=chainIdBySlug(o.chain);if(!e)throw new Error(`Unsupported chain: ${o.chain}`);return {...o,chain:e}}function h(o){return {...o,list:o.list.map(c)}}var p=class{endpoint;accessToken;constructor({endpoint:e,accessToken:t}){this.endpoint=e,this.accessToken=t;}async get(e){let t=await this._requestOptions(),s=await get(`${this.endpoint}/channels/${e}`,t);return c(s.data)}async subscribe(e){let t=await this._requestOptions();await post(`${this.endpoint}/channels/${e}/subscribe`,{notification_enabled:true},t);}async unsubscribe(e){let t=await this._requestOptions();await del(`${this.endpoint}/channels/${e}/subscribe`,t);}async getChannels(e){let t=await this._requestOptions(),s=new URLSearchParams;e?.chain&&s.set("chain",e.chain),e?.page&&s.set("page",e.page.toString()),e?.size&&s.set("size",e.size.toString()),e?.search&&s.set("search",e.search),e?.sort&&s.set("sort",e.sort),e?.order&&s.set("order",e.order);let n=s.toString(),r=`${this.endpoint}/channels${n?`?${n}`:""}`,a=await get(r,t);return h(a.data)}async getSubscribedChannels(e){let t=await this._requestOptions(),s=new URLSearchParams;e?.chain&&s.set("chain",e.chain),e?.page&&s.set("page",e.page.toString()),e?.size&&s.set("size",e.size.toString()),e?.search&&s.set("search",e.search),e?.sort&&s.set("sort",e.sort),e?.order&&s.set("order",e.order);let n=s.toString(),r=`${this.endpoint}/channels/subscribed${n?`?${n}`:""}`,a=await get(r,t);return h(a.data)}async getMyChannels(e){let t=await this._requestOptions(),s=new URLSearchParams;e?.chain&&s.set("chain",e.chain),e?.page&&s.set("page",e.page.toString()),e?.size&&s.set("size",e.size.toString()),e?.search&&s.set("search",e.search),e?.sort&&s.set("sort",e.sort),e?.order&&s.set("order",e.order);let n=s.toString(),r=`${this.endpoint}/channels/my${n?`?${n}`:""}`,a=await get(r,t);return h(a.data)}async getChannelEvents(e,t){let s=await this._requestOptions(),n=new URLSearchParams;t?.limit&&n.set("limit",t.limit.toString()),t?.next_page&&n.set("next_page",t.next_page.toString()),t?.timestamp&&n.set("timestamp",t.timestamp.toString());let r=n.toString(),a=`${this.endpoint}/channels/${e}/events${r?`?${r}`:""}`;return await get(a,s)}async create(e){let t=await this._requestOptions(),s=await post(`${this.endpoint}/channels`,e,t);return c(s.data)}async update(e){let t=await this._requestOptions(),s=await put(`${this.endpoint}/channels/${e.id}`,e,t);return c(s.data)}async updateSources(e){let t=await this._requestOptions();return (await put(`${this.endpoint}/channels/${e.channel_id}/sources`,e,t)).data}async getSources(e){let t=await this._requestOptions();return (await get(`${this.endpoint}/channels/${e}/sources`,t)).data}async checkXEligibility(){let e=await this._requestOptions(),t=await get(`${this.endpoint}/twitter/user`,e);return {status:t.data.status,message:t.data.message,twitter_id:t.data.twitter_id,twitter_name:t.data.twitter_name,follower_count:t.data.follower_count,account_age_days:t.data.account_age_days,has_violations:t.data.has_violations}}async getXAuthorizeUrl(e){let t=await this._requestOptions(),s=new URLSearchParams;e&&s.set("redirect_url",e);let n=s.toString(),r=`${this.endpoint}/twitter/auth-url${n?`?${n}`:""}`;return (await get(r,t)).data.auth_url}async _requestOptions(){let e=typeof this.accessToken=="string"?this.accessToken:await this.accessToken.getToken(),t={"Content-Type":"application/json"};return e&&(t.Authorization=`Bearer ${e}`),{headers:t}}};export{p as ChannelsClient};//# sourceMappingURL=index.mjs.map
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/client/utils.ts","../../src/client/client.ts"],"names":["convertFromChannelDTO","input","chain","chainIdBySlug","convertFromChannelsListDTO","ChannelsClient","endpoint","accessToken","id","requestOptions","resp","get","post","del","options","queryParams","queryString","url","channelId","params","put","token","headers"],"mappings":"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","file":"index.mjs","sourcesContent":["import { API, Channel } from \"@liberfi.io/types\";\nimport { chainIdBySlug } from \"@liberfi.io/utils\";\nimport { ChannelDTO, ChannelsListDTO } from \"./types\";\n\nexport function convertFromChannelDTO(input: ChannelDTO): Channel {\n const chain = chainIdBySlug(input.chain);\n if (!chain) throw new Error(`Unsupported chain: ${input.chain}`);\n return {\n ...input,\n chain,\n };\n}\n\nexport function convertFromChannelsListDTO(\n input: ChannelsListDTO,\n): API.ChannelsList {\n return {\n ...input,\n list: input.list.map(convertFromChannelDTO),\n };\n}\n","import { API, ChannelSource } from \"@liberfi.io/types\";\nimport { Channel } from \"@liberfi.io/types\";\nimport { del, get, post, put } from \"@liberfi.io/utils\";\nimport {\n ChannelEventsListResponse,\n ChannelResponse,\n ChannelsListResponse,\n ChannelSourcesResponse,\n SubscribeResponse,\n UnsubscribeResponse,\n} from \"./types\";\nimport { convertFromChannelDTO, convertFromChannelsListDTO } from \"./utils\";\n\nexport interface ChannelsClientOptions {\n endpoint: string;\n accessToken:\n | string\n | {\n getToken(): Promise<string | undefined | null>;\n };\n}\n\nexport class ChannelsClient implements API.IChannelsClient {\n private readonly endpoint: string;\n private readonly accessToken: ChannelsClientOptions[\"accessToken\"];\n\n constructor({ endpoint, accessToken }: ChannelsClientOptions) {\n this.endpoint = endpoint;\n this.accessToken = accessToken;\n }\n\n async get(id: string): Promise<Channel> {\n const requestOptions = await this._requestOptions();\n const resp = await get<ChannelResponse>(\n `${this.endpoint}/channels/${id}`,\n requestOptions,\n );\n return convertFromChannelDTO(resp.data);\n }\n\n async subscribe(id: string): Promise<void> {\n const requestOptions = await this._requestOptions();\n await post<SubscribeResponse>(\n `${this.endpoint}/channels/${id}/subscribe`,\n { notification_enabled: true },\n requestOptions,\n );\n }\n\n async unsubscribe(id: string): Promise<void> {\n const requestOptions = await this._requestOptions();\n await del<UnsubscribeResponse>(\n `${this.endpoint}/channels/${id}/subscribe`,\n requestOptions,\n );\n }\n\n async getChannels(\n options?: API.ListChannelsOptions,\n ): Promise<API.ChannelsList> {\n const requestOptions = await this._requestOptions();\n const queryParams = new URLSearchParams();\n if (options?.chain) {\n queryParams.set(\"chain\", options.chain);\n }\n if (options?.page) {\n queryParams.set(\"page\", options.page.toString());\n }\n if (options?.size) {\n queryParams.set(\"size\", options.size.toString());\n }\n if (options?.search) {\n queryParams.set(\"search\", options.search);\n }\n if (options?.sort) {\n queryParams.set(\"sort\", options.sort);\n }\n if (options?.order) {\n queryParams.set(\"order\", options.order);\n }\n const queryString = queryParams.toString();\n const url = `${this.endpoint}/channels${queryString ? `?${queryString}` : \"\"}`;\n const resp = await get<ChannelsListResponse>(url, requestOptions);\n return convertFromChannelsListDTO(resp.data);\n }\n\n async getSubscribedChannels(\n options?: API.ListChannelsOptions,\n ): Promise<API.ChannelsList> {\n const requestOptions = await this._requestOptions();\n const queryParams = new URLSearchParams();\n if (options?.chain) {\n queryParams.set(\"chain\", options.chain);\n }\n if (options?.page) {\n queryParams.set(\"page\", options.page.toString());\n }\n if (options?.size) {\n queryParams.set(\"size\", options.size.toString());\n }\n if (options?.search) {\n queryParams.set(\"search\", options.search);\n }\n if (options?.sort) {\n queryParams.set(\"sort\", options.sort);\n }\n if (options?.order) {\n queryParams.set(\"order\", options.order);\n }\n const queryString = queryParams.toString();\n const url = `${this.endpoint}/channels/subscribed${queryString ? `?${queryString}` : \"\"}`;\n const resp = await get<ChannelsListResponse>(url, requestOptions);\n return convertFromChannelsListDTO(resp.data);\n }\n\n async getMyChannels(\n options?: API.ListChannelsOptions,\n ): Promise<API.ChannelsList> {\n const requestOptions = await this._requestOptions();\n const queryParams = new URLSearchParams();\n if (options?.chain) {\n queryParams.set(\"chain\", options.chain);\n }\n if (options?.page) {\n queryParams.set(\"page\", options.page.toString());\n }\n if (options?.size) {\n queryParams.set(\"size\", options.size.toString());\n }\n if (options?.search) {\n queryParams.set(\"search\", options.search);\n }\n if (options?.sort) {\n queryParams.set(\"sort\", options.sort);\n }\n if (options?.order) {\n queryParams.set(\"order\", options.order);\n }\n const queryString = queryParams.toString();\n const url = `${this.endpoint}/channels/my${queryString ? `?${queryString}` : \"\"}`;\n const resp = await get<ChannelsListResponse>(url, requestOptions);\n return convertFromChannelsListDTO(resp.data);\n }\n\n async getChannelEvents(\n channelId: string,\n options?: API.ListChannelEventsOptions,\n ): Promise<API.ChannelEventsList> {\n const requestOptions = await this._requestOptions();\n const queryParams = new URLSearchParams();\n if (options?.limit) {\n queryParams.set(\"limit\", options.limit.toString());\n }\n if (options?.next_page) {\n queryParams.set(\"next_page\", options.next_page.toString());\n }\n if (options?.timestamp) {\n queryParams.set(\"timestamp\", options.timestamp.toString());\n }\n const queryString = queryParams.toString();\n const url = `${this.endpoint}/channels/${channelId}/events${queryString ? `?${queryString}` : \"\"}`;\n const resp = await get<ChannelEventsListResponse>(url, requestOptions);\n return resp;\n }\n\n async create(params: API.CreateChannelOptions): Promise<Channel> {\n const requestOptions = await this._requestOptions();\n const resp = await post<ChannelResponse>(\n `${this.endpoint}/channels`,\n params,\n requestOptions,\n );\n return convertFromChannelDTO(resp.data);\n }\n\n async update(options: API.UpdateChannelOptions): Promise<Channel> {\n const requestOptions = await this._requestOptions();\n const resp = await put<ChannelResponse>(\n `${this.endpoint}/channels/${options.id}`,\n options,\n requestOptions,\n );\n return convertFromChannelDTO(resp.data);\n }\n\n async updateSources(\n options: API.UpdateChannelSourcesOptions,\n ): Promise<Array<ChannelSource>> {\n const requestOptions = await this._requestOptions();\n const resp = await put<ChannelSourcesResponse>(\n `${this.endpoint}/channels/${options.channel_id}/sources`,\n options,\n requestOptions,\n );\n return resp.data;\n }\n\n async getSources(channelId: string): Promise<Array<ChannelSource>> {\n const requestOptions = await this._requestOptions();\n const resp = await get<ChannelSourcesResponse>(\n `${this.endpoint}/channels/${channelId}/sources`,\n requestOptions,\n );\n return resp.data;\n }\n\n async _requestOptions(): Promise<Omit<RequestInit, \"method\">> {\n const token =\n typeof this.accessToken === \"string\"\n ? this.accessToken\n : await this.accessToken.getToken();\n\n const headers: Record<string, string> = {\n \"Content-Type\": \"application/json\",\n };\n\n if (token) {\n headers.Authorization = `Bearer ${token}`;\n }\n\n return { headers };\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/client/utils.ts","../../src/client/client.ts"],"names":["convertFromChannelDTO","input","chain","chainIdBySlug","convertFromChannelsListDTO","ChannelsClient","endpoint","accessToken","id","requestOptions","resp","get","post","del","options","queryParams","queryString","url","channelId","params","put","returnUrl","token","headers"],"mappings":"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","file":"index.mjs","sourcesContent":["import { API, Channel } from \"@liberfi.io/types\";\nimport { chainIdBySlug } from \"@liberfi.io/utils\";\nimport { ChannelDTO, ChannelsListDTO } from \"./types\";\n\nexport function convertFromChannelDTO(input: ChannelDTO): Channel {\n const chain = chainIdBySlug(input.chain);\n if (!chain) throw new Error(`Unsupported chain: ${input.chain}`);\n return {\n ...input,\n chain,\n };\n}\n\nexport function convertFromChannelsListDTO(\n input: ChannelsListDTO,\n): API.ChannelsList {\n return {\n ...input,\n list: input.list.map(convertFromChannelDTO),\n };\n}\n","import { API, ChannelSource, XEligibilityInfo } from \"@liberfi.io/types\";\nimport { Channel } from \"@liberfi.io/types\";\nimport { del, get, post, put } from \"@liberfi.io/utils\";\nimport {\n ChannelEventsListResponse,\n ChannelResponse,\n ChannelsListResponse,\n ChannelSourcesResponse,\n SubscribeResponse,\n TwitterAuthURLResponse,\n TwitterUserInfoResponse,\n UnsubscribeResponse,\n} from \"./types\";\nimport { convertFromChannelDTO, convertFromChannelsListDTO } from \"./utils\";\n\nexport interface ChannelsClientOptions {\n endpoint: string;\n accessToken:\n | string\n | {\n getToken(): Promise<string | undefined | null>;\n };\n}\n\nexport class ChannelsClient implements API.IChannelsClient {\n private readonly endpoint: string;\n private readonly accessToken: ChannelsClientOptions[\"accessToken\"];\n\n constructor({ endpoint, accessToken }: ChannelsClientOptions) {\n this.endpoint = endpoint;\n this.accessToken = accessToken;\n }\n\n async get(id: string): Promise<Channel> {\n const requestOptions = await this._requestOptions();\n const resp = await get<ChannelResponse>(\n `${this.endpoint}/channels/${id}`,\n requestOptions,\n );\n return convertFromChannelDTO(resp.data);\n }\n\n async subscribe(id: string): Promise<void> {\n const requestOptions = await this._requestOptions();\n await post<SubscribeResponse>(\n `${this.endpoint}/channels/${id}/subscribe`,\n { notification_enabled: true },\n requestOptions,\n );\n }\n\n async unsubscribe(id: string): Promise<void> {\n const requestOptions = await this._requestOptions();\n await del<UnsubscribeResponse>(\n `${this.endpoint}/channels/${id}/subscribe`,\n requestOptions,\n );\n }\n\n async getChannels(\n options?: API.ListChannelsOptions,\n ): Promise<API.ChannelsList> {\n const requestOptions = await this._requestOptions();\n const queryParams = new URLSearchParams();\n if (options?.chain) {\n queryParams.set(\"chain\", options.chain);\n }\n if (options?.page) {\n queryParams.set(\"page\", options.page.toString());\n }\n if (options?.size) {\n queryParams.set(\"size\", options.size.toString());\n }\n if (options?.search) {\n queryParams.set(\"search\", options.search);\n }\n if (options?.sort) {\n queryParams.set(\"sort\", options.sort);\n }\n if (options?.order) {\n queryParams.set(\"order\", options.order);\n }\n const queryString = queryParams.toString();\n const url = `${this.endpoint}/channels${queryString ? `?${queryString}` : \"\"}`;\n const resp = await get<ChannelsListResponse>(url, requestOptions);\n return convertFromChannelsListDTO(resp.data);\n }\n\n async getSubscribedChannels(\n options?: API.ListChannelsOptions,\n ): Promise<API.ChannelsList> {\n const requestOptions = await this._requestOptions();\n const queryParams = new URLSearchParams();\n if (options?.chain) {\n queryParams.set(\"chain\", options.chain);\n }\n if (options?.page) {\n queryParams.set(\"page\", options.page.toString());\n }\n if (options?.size) {\n queryParams.set(\"size\", options.size.toString());\n }\n if (options?.search) {\n queryParams.set(\"search\", options.search);\n }\n if (options?.sort) {\n queryParams.set(\"sort\", options.sort);\n }\n if (options?.order) {\n queryParams.set(\"order\", options.order);\n }\n const queryString = queryParams.toString();\n const url = `${this.endpoint}/channels/subscribed${queryString ? `?${queryString}` : \"\"}`;\n const resp = await get<ChannelsListResponse>(url, requestOptions);\n return convertFromChannelsListDTO(resp.data);\n }\n\n async getMyChannels(\n options?: API.ListChannelsOptions,\n ): Promise<API.ChannelsList> {\n const requestOptions = await this._requestOptions();\n const queryParams = new URLSearchParams();\n if (options?.chain) {\n queryParams.set(\"chain\", options.chain);\n }\n if (options?.page) {\n queryParams.set(\"page\", options.page.toString());\n }\n if (options?.size) {\n queryParams.set(\"size\", options.size.toString());\n }\n if (options?.search) {\n queryParams.set(\"search\", options.search);\n }\n if (options?.sort) {\n queryParams.set(\"sort\", options.sort);\n }\n if (options?.order) {\n queryParams.set(\"order\", options.order);\n }\n const queryString = queryParams.toString();\n const url = `${this.endpoint}/channels/my${queryString ? `?${queryString}` : \"\"}`;\n const resp = await get<ChannelsListResponse>(url, requestOptions);\n return convertFromChannelsListDTO(resp.data);\n }\n\n async getChannelEvents(\n channelId: string,\n options?: API.ListChannelEventsOptions,\n ): Promise<API.ChannelEventsList> {\n const requestOptions = await this._requestOptions();\n const queryParams = new URLSearchParams();\n if (options?.limit) {\n queryParams.set(\"limit\", options.limit.toString());\n }\n if (options?.next_page) {\n queryParams.set(\"next_page\", options.next_page.toString());\n }\n if (options?.timestamp) {\n queryParams.set(\"timestamp\", options.timestamp.toString());\n }\n const queryString = queryParams.toString();\n const url = `${this.endpoint}/channels/${channelId}/events${queryString ? `?${queryString}` : \"\"}`;\n const resp = await get<ChannelEventsListResponse>(url, requestOptions);\n return resp;\n }\n\n async create(params: API.CreateChannelOptions): Promise<Channel> {\n const requestOptions = await this._requestOptions();\n const resp = await post<ChannelResponse>(\n `${this.endpoint}/channels`,\n params,\n requestOptions,\n );\n return convertFromChannelDTO(resp.data);\n }\n\n async update(options: API.UpdateChannelOptions): Promise<Channel> {\n const requestOptions = await this._requestOptions();\n const resp = await put<ChannelResponse>(\n `${this.endpoint}/channels/${options.id}`,\n options,\n requestOptions,\n );\n return convertFromChannelDTO(resp.data);\n }\n\n async updateSources(\n options: API.UpdateChannelSourcesOptions,\n ): Promise<Array<ChannelSource>> {\n const requestOptions = await this._requestOptions();\n const resp = await put<ChannelSourcesResponse>(\n `${this.endpoint}/channels/${options.channel_id}/sources`,\n options,\n requestOptions,\n );\n return resp.data;\n }\n\n async getSources(channelId: string): Promise<Array<ChannelSource>> {\n const requestOptions = await this._requestOptions();\n const resp = await get<ChannelSourcesResponse>(\n `${this.endpoint}/channels/${channelId}/sources`,\n requestOptions,\n );\n return resp.data;\n }\n\n async checkXEligibility(): Promise<XEligibilityInfo> {\n const requestOptions = await this._requestOptions();\n const resp = await get<TwitterUserInfoResponse>(\n `${this.endpoint}/twitter/user`,\n requestOptions,\n );\n return {\n status: resp.data.status,\n message: resp.data.message,\n twitter_id: resp.data.twitter_id,\n twitter_name: resp.data.twitter_name,\n follower_count: resp.data.follower_count,\n account_age_days: resp.data.account_age_days,\n has_violations: resp.data.has_violations,\n };\n }\n\n async getXAuthorizeUrl(returnUrl?: string): Promise<string> {\n const requestOptions = await this._requestOptions();\n const queryParams = new URLSearchParams();\n if (returnUrl) {\n queryParams.set(\"redirect_url\", returnUrl);\n }\n const queryString = queryParams.toString();\n const url = `${this.endpoint}/twitter/auth-url${queryString ? `?${queryString}` : \"\"}`;\n const resp = await get<TwitterAuthURLResponse>(url, requestOptions);\n return resp.data.auth_url;\n }\n\n async _requestOptions(): Promise<Omit<RequestInit, \"method\">> {\n const token =\n typeof this.accessToken === \"string\"\n ? this.accessToken\n : await this.accessToken.getToken();\n\n const headers: Record<string, string> = {\n \"Content-Type\": \"application/json\",\n };\n\n if (token) {\n headers.Authorization = `Bearer ${token}`;\n }\n\n return { headers };\n }\n}\n"]}