@paroicms/server
Version:
The ParoiCMS server
41 lines • 1.7 kB
JavaScript
import { siteReadyGuard } from "../../graphql/graphql.types.js";
import { authGuard } from "../auth/auth.helper.js";
import { findOneNode, getLanguagesOfNode, setNodePublishDate, } from "./node.queries.js";
import { reorderNodes } from "./ordered-node.queries.js";
export const nodeResolvers = {
Query: {
translationsOf: async (_parent, { nodeId }, { siteContext }) => {
siteReadyGuard(siteContext);
return await getLanguagesOfNode(siteContext, nodeId);
},
},
Mutation: {
setNodePublishDate: async (_parent, { nodeId, publishDate }, { siteContext, httpContext }) => {
authGuard(httpContext);
siteReadyGuard(siteContext);
await setNodePublishDate(siteContext, {
nodeId,
publishDate,
});
return await findOneNode(siteContext, nodeId);
},
reorderDocuments: async (_parent, { nodeIds, parentNodeId }, { siteContext, httpContext }) => {
authGuard(httpContext);
siteReadyGuard(siteContext);
return reorderNodes(siteContext, { nodeIds, parentNodeId });
},
reorderParts: async (_parent, { nodeIds, parentNodeId, listName }, { siteContext, httpContext }) => {
authGuard(httpContext);
siteReadyGuard(siteContext);
return reorderNodes(siteContext, { nodeIds, parentNodeId, listName });
},
},
Node: {
scheduled: async ({ publishDate }, _args) => {
if (!publishDate)
return false;
return new Date(publishDate).getTime() > Date.now();
},
},
};
//# sourceMappingURL=node.resolver.js.map