UNPKG

@wepublish/api

Version:
37 lines 1.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAdminPages = exports.getPagePreviewLink = exports.getPageById = void 0; const tslib_1 = require("tslib"); const apollo_server_express_1 = require("apollo-server-express"); const error_1 = require("../../error"); const permissions_1 = require("../permissions"); const api_1 = require("../../../../permissions-api/src"); const page_queries_1 = require("./page.queries"); const getPageById = (id, authenticate, pages) => { const { roles } = authenticate(); (0, permissions_1.authorise)(api_1.CanGetPage, roles); return pages.load(id); }; exports.getPageById = getPageById; const getPagePreviewLink = (id, hours, authenticate, generateJWT, urlAdapter, pagesLoader) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { const { roles } = authenticate(); (0, permissions_1.authorise)(api_1.CanGetPagePreviewLink, roles); const page = yield pagesLoader.load(id); if (!page) throw new error_1.NotFound('page', id); if (!page.draft) throw new apollo_server_express_1.UserInputError('Page needs to have a draft'); const token = generateJWT({ id: page.id, expiresInMinutes: hours * 60 }); return urlAdapter.getPagePreviewURL(token); }); exports.getPagePreviewLink = getPagePreviewLink; const getAdminPages = (filter, sortedField, order, cursorId, skip, take, authenticate, page) => { const { roles } = authenticate(); (0, permissions_1.authorise)(api_1.CanGetPages, roles); return (0, page_queries_1.getPages)(filter, sortedField, order, cursorId, skip, take, page); }; exports.getAdminPages = getAdminPages; //# sourceMappingURL=page.private-queries.js.map