@wepublish/api
Version:
API core for we.publish.
37 lines • 1.73 kB
JavaScript
;
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