diff --git a/src/graphql/resolvers/HelloResolver.ts b/src/graphql/resolvers/HelloResolver.ts index b0ce901..17ea6ad 100644 --- a/src/graphql/resolvers/HelloResolver.ts +++ b/src/graphql/resolvers/HelloResolver.ts @@ -1,11 +1,13 @@ import { Resolver, Query } from 'type-graphql' +import { prisma } from '#src/prisma' import { Hello } from '#types/Hello' @Resolver() export class HelloResolver { @Query(() => Hello) async hello(): Promise { - return new Hello('Hello world!') + const data = await prisma.hello.findFirst() + return new Hello(data?.text ?? 'Hello World!') } } diff --git a/src/index.ts b/src/index.ts index 97f9a5a..111642c 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,15 +1,21 @@ // eslint-disable-next-line import/no-unassigned-import import 'reflect-metadata' +import { prisma } from './prisma' import { listen } from './server/server' -export async function main() { +export const main = async (): Promise => { const url = await listen(4000) // eslint-disable-next-line no-console console.log(`🚀 Server is ready at ${url}`) } -main().catch((e) => { - // eslint-disable-next-line no-console - console.error(e) - throw e -}) +// eslint-disable-next-line promise/catch-or-return +main() + .catch((e) => { + // eslint-disable-next-line no-console + console.error(e) + throw e + }) + .finally(async () => { + await prisma.$disconnect() + }) diff --git a/src/prisma.ts b/src/prisma.ts new file mode 100644 index 0000000..6260dd0 --- /dev/null +++ b/src/prisma.ts @@ -0,0 +1,3 @@ +import { PrismaClient } from '@prisma/client' + +export const prisma = new PrismaClient()