UNPKG

@paroicms/server

Version:
39 lines 1.96 kB
import { siteReadyGuard } from "../../graphql/graphql.types.js"; import { permissionGuard } from "../auth/authorization.helper.js"; import { getCurrentAuthor, getLinkedAccounts, getLinkedAuthors, linkAuthorToAccount, setCurrentAuthor, unlinkAuthorFromAccount, } from "./author-account.queries.js"; export const authorAccountResolvers = { Mutation: { linkAuthorToAccount: async (_parent, { authorNodeId, accountId }, { siteContext, httpContext }) => { siteReadyGuard(siteContext); await permissionGuard(siteContext, httpContext, "site.manageUsers"); await linkAuthorToAccount(siteContext, authorNodeId, accountId); return true; }, unlinkAuthorFromAccount: async (_parent, { authorNodeId, accountId }, { siteContext, httpContext }) => { siteReadyGuard(siteContext); await permissionGuard(siteContext, httpContext, "site.manageUsers"); await unlinkAuthorFromAccount(siteContext, authorNodeId, accountId); return true; }, setCurrentAuthor: async (_parent, { accountId, authorNodeId }, { siteContext, httpContext }) => { siteReadyGuard(siteContext); await permissionGuard(siteContext, httpContext, "site.manageUsers"); await setCurrentAuthor(siteContext, accountId, authorNodeId ?? undefined); return true; }, }, Account: { linkedAuthors: async (parent, _args, { siteContext }) => { return await getLinkedAuthors(siteContext, parent.id); }, currentAuthor: async (parent, _args, { siteContext }) => { return (await getCurrentAuthor(siteContext, parent.id)) ?? null; }, }, Author: { linkedAccounts: async (parent, _args, { siteContext }) => { return await getLinkedAccounts(siteContext, parent.nodeId); }, }, }; //# sourceMappingURL=author-account.resolver.js.map