UNPKG

@tonytruong/chatbot-ai-lib

Version:

AI-powered healthcare automation, document parsing, OpenAI, embeddings, RAG, vector DB, Facebook OAuth.

63 lines 2.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getFacebookAuthUrl = getFacebookAuthUrl; exports.getFacebookAccessToken = getFacebookAccessToken; exports.getFacebookPages = getFacebookPages; exports.subscribePageWebhook = subscribePageWebhook; exports.unSubscribePageWebhook = unSubscribePageWebhook; const tslib_1 = require("tslib"); const axios_1 = tslib_1.__importDefault(require("axios")); const FB_OAUTH_URL = "https://www.facebook.com/v19.0/dialog/oauth"; const FB_TOKEN_URL = "https://graph.facebook.com/v19.0/oauth/access_token"; const FB_PAGES_URL = "https://graph.facebook.com/v19.0/me/accounts"; function getFacebookAuthUrl(config, state) { const params = new URLSearchParams({ client_id: config.clientId, redirect_uri: config.redirectUri, state, scope: config.scope || "pages_show_list,pages_read_engagement,pages_manage_metadata", response_type: "code", }); return `${FB_OAUTH_URL}?${params.toString()}`; } function getFacebookAccessToken(config, code) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const params = new URLSearchParams({ client_id: config.clientId, redirect_uri: config.redirectUri, client_secret: config.clientSecret, code, }); const res = yield axios_1.default.get(FB_TOKEN_URL + "?" + params.toString()); return res.data; }); } function getFacebookPages(accessToken) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const res = yield axios_1.default.get(FB_PAGES_URL, { params: { access_token: accessToken }, }); return res.data; }); } function subscribePageWebhook(pageId, pageAccessToken, fields) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const url = `https://graph.facebook.com/v19.0/${pageId}/subscribed_apps`; const params = new URLSearchParams({ subscribed_fields: fields.join(","), access_token: pageAccessToken, }); return axios_1.default.post(url, params); }); } function unSubscribePageWebhook(pageId, pageAccessToken) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const url = `https://graph.facebook.com/v19.0/${pageId}/subscribed_apps`; const params = new URLSearchParams({ access_token: pageAccessToken, }); return axios_1.default.delete(url + '?' + params.toString()); }); } //# sourceMappingURL=oauth.js.map