UNPKG

@line/bot-sdk

Version:
160 lines 7.38 kB
/** * LIFF server API * LIFF Server API. * * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { buildPath } from "../../utils.js"; import HTTPFetchClient, { mergeHeaders, } from "../../http-fetch.js"; /** * @see {@link LineBotClient} for a unified interface that wraps this client. */ export class LiffClient { httpClient; /** * Initializes a new `LiffClient`. * * @param config Configuration for this API client. * @param config.baseURL The base URL for requests. Defaults to `https://api.line.me`. * @param config.channelAccessToken The channel access token used for authorization. * @param config.defaultHeaders Extra headers merged into every request. * * @example * const client = new LiffClient({ * channelAccessToken: process.env.LINE_CHANNEL_ACCESS_TOKEN!, * }); */ constructor(config) { const baseURL = config.baseURL || "https://api.line.me"; const defaultHeaders = mergeHeaders(config.defaultHeaders, { Authorization: "Bearer " + config.channelAccessToken, }); this.httpClient = new HTTPFetchClient({ defaultHeaders: defaultHeaders, baseURL: baseURL, }); } /** * Adding the LIFF app to a channel * Calls `POST https://api.line.me/liff/v1/apps`. * To inspect the HTTP status code or response headers, use {@link addLIFFAppWithHttpInfo}. * @summary Create LIFF app * @param addLiffAppRequest * @returns A promise resolving to the response body. * @see <a href="https://developers.line.biz/en/reference/liff-server/#add-liff-app">LINE Developers documentation</a> */ async addLIFFApp(addLiffAppRequest) { return (await this.addLIFFAppWithHttpInfo(addLiffAppRequest)).body; } /** * Adding the LIFF app to a channel * Calls `POST https://api.line.me/liff/v1/apps`. * This method returns the response body together with the underlying `httpResponse`. * @summary Create LIFF app * @param addLiffAppRequest * @returns A promise resolving to the response body together with the underlying `httpResponse`. * @see <a href="https://developers.line.biz/en/reference/liff-server/#add-liff-app">LINE Developers documentation</a> */ async addLIFFAppWithHttpInfo(addLiffAppRequest) { const params = addLiffAppRequest; const res = await this.httpClient.post("/liff/v1/apps", params); const text = await res.text(); const parsedBody = text ? JSON.parse(text) : null; return { httpResponse: res, body: parsedBody }; } /** * Deletes a LIFF app from a channel. * Calls `DELETE https://api.line.me/liff/v1/apps/{liffId}`. * To inspect the HTTP status code or response headers, use {@link deleteLIFFAppWithHttpInfo}. * @summary Delete LIFF app from a channel * @param liffId ID of the LIFF app to be updated * @returns A promise resolving to the response body. * @see <a href="https://developers.line.biz/en/reference/liff-server/#delete-liff-app">LINE Developers documentation</a> */ async deleteLIFFApp(liffId) { return (await this.deleteLIFFAppWithHttpInfo(liffId)).body; } /** * Deletes a LIFF app from a channel. * Calls `DELETE https://api.line.me/liff/v1/apps/{liffId}`. * This method returns the response body together with the underlying `httpResponse`. * @summary Delete LIFF app from a channel * @param liffId ID of the LIFF app to be updated * @returns A promise resolving to the response body together with the underlying `httpResponse`. * @see <a href="https://developers.line.biz/en/reference/liff-server/#delete-liff-app">LINE Developers documentation</a> */ async deleteLIFFAppWithHttpInfo(liffId) { const requestPath = buildPath("/liff/v1/apps/{liffId}", { liffId: liffId, }); const res = await this.httpClient.delete(requestPath); const text = await res.text(); const parsedBody = text ? JSON.parse(text) : null; return { httpResponse: res, body: parsedBody }; } /** * Gets information on all the LIFF apps added to the channel. * Calls `GET https://api.line.me/liff/v1/apps`. * To inspect the HTTP status code or response headers, use {@link getAllLIFFAppsWithHttpInfo}. * @summary Get all LIFF apps * @returns A promise resolving to the response body. * @see <a href="https://developers.line.biz/en/reference/liff-server/#get-all-liff-apps">LINE Developers documentation</a> */ async getAllLIFFApps() { return (await this.getAllLIFFAppsWithHttpInfo()).body; } /** * Gets information on all the LIFF apps added to the channel. * Calls `GET https://api.line.me/liff/v1/apps`. * This method returns the response body together with the underlying `httpResponse`. * @summary Get all LIFF apps * @returns A promise resolving to the response body together with the underlying `httpResponse`. * @see <a href="https://developers.line.biz/en/reference/liff-server/#get-all-liff-apps">LINE Developers documentation</a> */ async getAllLIFFAppsWithHttpInfo() { const res = await this.httpClient.get("/liff/v1/apps"); const text = await res.text(); const parsedBody = text ? JSON.parse(text) : null; return { httpResponse: res, body: parsedBody }; } /** * Update LIFF app settings * Calls `PUT https://api.line.me/liff/v1/apps/{liffId}`. * To inspect the HTTP status code or response headers, use {@link updateLIFFAppWithHttpInfo}. * @summary Update LIFF app from a channel * @param liffId ID of the LIFF app to be updated * @param updateLiffAppRequest * @returns A promise resolving to the response body. * @see <a href="https://developers.line.biz/en/reference/liff-server/#update-liff-app">LINE Developers documentation</a> */ async updateLIFFApp(liffId, updateLiffAppRequest) { return (await this.updateLIFFAppWithHttpInfo(liffId, updateLiffAppRequest)) .body; } /** * Update LIFF app settings * Calls `PUT https://api.line.me/liff/v1/apps/{liffId}`. * This method returns the response body together with the underlying `httpResponse`. * @summary Update LIFF app from a channel * @param liffId ID of the LIFF app to be updated * @param updateLiffAppRequest * @returns A promise resolving to the response body together with the underlying `httpResponse`. * @see <a href="https://developers.line.biz/en/reference/liff-server/#update-liff-app">LINE Developers documentation</a> */ async updateLIFFAppWithHttpInfo(liffId, updateLiffAppRequest) { const requestPath = buildPath("/liff/v1/apps/{liffId}", { liffId: liffId, }); const params = updateLiffAppRequest; const res = await this.httpClient.put(requestPath, params); const text = await res.text(); const parsedBody = text ? JSON.parse(text) : null; return { httpResponse: res, body: parsedBody }; } } //# sourceMappingURL=liffClient.js.map