diff options
| author | Fuwn <[email protected]> | 2024-09-28 16:40:08 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-09-28 16:40:12 -0700 |
| commit | 802dcc9f5a4b2f0824e2600cd080d33691056d16 (patch) | |
| tree | 23c194f2410e21009981a8e475e703bd210b5b4e /src | |
| parent | feat(html): update analytics url (diff) | |
| download | due.moe-802dcc9f5a4b2f0824e2600cd080d33691056d16.tar.xz due.moe-802dcc9f5a4b2f0824e2600cd080d33691056d16.zip | |
feat(api): set up graphql api
Diffstat (limited to 'src')
| -rw-r--r-- | src/graphql/client.ts | 3 | ||||
| -rw-r--r-- | src/graphql/hello/index.ts | 4 | ||||
| -rw-r--r-- | src/graphql/hello/resolvers.ts | 10 | ||||
| -rw-r--r-- | src/graphql/hello/schema.graphql | 3 | ||||
| -rw-r--r-- | src/graphql/server.ts | 7 | ||||
| -rw-r--r-- | src/routes/graphql/+server.ts | 1 |
6 files changed, 28 insertions, 0 deletions
diff --git a/src/graphql/client.ts b/src/graphql/client.ts new file mode 100644 index 00000000..367b8381 --- /dev/null +++ b/src/graphql/client.ts @@ -0,0 +1,3 @@ +import { HoudiniClient } from '$houdini'; + +export default new HoudiniClient({ url: '/graphql' }); diff --git a/src/graphql/hello/index.ts b/src/graphql/hello/index.ts new file mode 100644 index 00000000..925a7ece --- /dev/null +++ b/src/graphql/hello/index.ts @@ -0,0 +1,4 @@ +import typeDefs from './schema.graphql?raw'; +import { resolvers } from './resolvers'; + +export default { typeDefs, resolvers }; diff --git a/src/graphql/hello/resolvers.ts b/src/graphql/hello/resolvers.ts new file mode 100644 index 00000000..f882765f --- /dev/null +++ b/src/graphql/hello/resolvers.ts @@ -0,0 +1,10 @@ +import type { WithIndex } from '../$types'; +import type { Resolvers } from './$types'; + +export const resolvers: WithIndex<Resolvers> = { + Query: { + hello() { + return 'Hello SvelteKit!'; + } + } +}; diff --git a/src/graphql/hello/schema.graphql b/src/graphql/hello/schema.graphql new file mode 100644 index 00000000..d3dba234 --- /dev/null +++ b/src/graphql/hello/schema.graphql @@ -0,0 +1,3 @@ +type Query { + hello: String! +} diff --git a/src/graphql/server.ts b/src/graphql/server.ts new file mode 100644 index 00000000..ad3ea146 --- /dev/null +++ b/src/graphql/server.ts @@ -0,0 +1,7 @@ +import { createSchema, createServer } from 'sveltekit-graphql'; +import helloModule from './hello'; + +const schema = createSchema([helloModule]); +const server = createServer(schema); + +export default server; diff --git a/src/routes/graphql/+server.ts b/src/routes/graphql/+server.ts new file mode 100644 index 00000000..f8e47dc5 --- /dev/null +++ b/src/routes/graphql/+server.ts @@ -0,0 +1 @@ +export { default as GET, default as POST, default as OPTIONS } from '$graphql/server'; |