@arche-cms/graphql
v0.1.5
Published
GraphQL schema generator. Auto-generates GraphQL types, queries, and mutations from Arche CMS schema definitions.
Readme
@arche-cms/graphql
GraphQL schema generator. Auto-generates GraphQL types, queries, and mutations from Arche CMS schema definitions.
Installation
yarn add @arche-cms/graphqlUsage
Generate GraphQL schema SDL and resolvers:
import { generateSchema, generateTypeResolvers } from "@arche-cms/graphql";
import type { CollectionDefinition } from "@arche-cms/types";
import type { DatabaseAdapter } from "@arche-cms/database";
const collections: CollectionDefinition[] = [
{ slug: "posts", fields: [{ name: "title", type: "text" }] },
];
const sdl = generateSchema(collections);
const typeResolvers = generateTypeResolvers(collections, adapter);
// Merge with mutation resolvers
const resolvers = {
Query: { ...typeResolvers.Query },
Mutation: { ...typeResolvers.Mutation },
...typeResolvers,
};Generated Operations
For each collection:
Queries
collection(slug: "<slug>", id: ID!): <Type>— get by IDlist<Plural>(filter: <Filter>, sort: <Sort>, limit: Int, offset: Int): [<Type>]— list with filtering
Mutations
create<Name>(data: <CreateInput>!): <Type>— create entryupdate<Name>(id: ID!, data: <UpdateInput>!): <Type>— update entrydelete<Name>(id: ID!): Boolean— delete entry
