UNPKG

motionlink-cli

Version:

Making it easy to use Notion as a Content Management system for personal websites, portfolios, blogs, business homepages, and other kinds of static websites.

45 lines 1.77 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const motion_link_api_1 = __importDefault(require("../api_wrappers/motion_link_api")); class AssociationsService { async toNotionDatabaseAssociations(associations) { const promises = new Array(); const makeAssociationData = async (association) => { return { data: await this.getLinkData(association.value), key: association.key, }; }; for (const association of associations) { promises.push(makeAssociationData(association)); } const data = await Promise.all(promises); return data.map((linkData) => { return { name: linkData.key, notionDatabaseId: linkData.data.notionDatabaseId, notionIntegrationToken: linkData.data.notionIntegrationToken, }; }); } async getLinkData(linkAccessKey) { const promises = [ motion_link_api_1.default.instance.getNotionDatabaseIdForLink(linkAccessKey), motion_link_api_1.default.instance.getNotionTokenForLink(linkAccessKey), ]; const linkData = await Promise.all(promises); return { notionDatabaseId: linkData[0], notionIntegrationToken: linkData[1], }; } static get instance() { var _a; return (_a = this._instance) !== null && _a !== void 0 ? _a : (this._instance = new AssociationsService()); } } exports.default = AssociationsService; //# sourceMappingURL=associations_service.js.map