From 893fde3f5c5b1d6ecf745b265596c63343de6c64 Mon Sep 17 00:00:00 2001 From: Kudakwashe Mupeni Date: Tue, 5 Mar 2024 00:30:18 +0100 Subject: [PATCH] chore: cleanup email utils --- bun.lockb | Bin 488284 -> 493401 bytes package.json | 12 +++-- src/app/post/index.ts | 36 +++----------- src/index.ts | 87 +++++++++++++++++++++++++++------- src/utils/email.ts | 9 ---- src/utils/tests/email.test.ts | 69 --------------------------- 6 files changed, 86 insertions(+), 127 deletions(-) delete mode 100644 src/utils/email.ts delete mode 100644 src/utils/tests/email.test.ts diff --git a/bun.lockb b/bun.lockb index 8c7086ee4e28043c5b47318465e3fde62b9a48df..8bda30914043dda9f05a89166d3eded04ebec823 100755 GIT binary patch delta 106474 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�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 delta 102601 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 KJzjU-@&5su;i8}b diff --git a/package.json b/package.json index 7f2d744..883a30f 100644 --- a/package.json +++ b/package.json @@ -24,13 +24,18 @@ "codegen": "graphql-codegen --config codegen.ts" }, "dependencies": { - "@apollo/server": "4.10.0", + "@apollo/server": "^4.10.0", + "@graphql-tools/schema": "^10.0.3", "@prisma/client": "5.10.2", "bull": "^4.12.2", - "graphql": "16.8.1", + "cors": "^2.8.5", + "express": "^4.18.3", + "graphql": "^16.8.1", + "graphql-ws": "^5.15.0", "jest-mock-extended": "^2.0.4", "jsonwebtoken": "9.0.2", - "nodemailer": "6.9.8" + "nodemailer": "6.9.8", + "ws": "^8.16.0" }, "devDependencies": { "@biomejs/biome": "1.5.2", @@ -45,6 +50,7 @@ "@semantic-release/npm": "11.0.2", "@semantic-release/release-notes-generator": "12.1.0", "@types/bun": "1.0.2", + "@types/cors": "^2.8.17", "@types/jsonwebtoken": "9.0.5", "@types/lodash": "4.14.202", "@types/node": "20.11.5", diff --git a/src/app/post/index.ts b/src/app/post/index.ts index c793b17..ba3479b 100644 --- a/src/app/post/index.ts +++ b/src/app/post/index.ts @@ -1,41 +1,13 @@ -/* - * Import the 'Post' type from the '@prisma/client' package. - * This type represents a post in your application. - */ -import type { Post } from "@prisma/client"; - -/* - * Import the 'Context' type. - * This type represents the context of a GraphQL resolver function, which includes any data that every resolver - * function should have access to, like the current user or database access. - */ import type { Context } from "@/utils"; - -/* - * Import the 'Mutation' and 'Query' objects. - * These objects include resolver functions for the mutations and queries defined in your GraphQL schema. - */ +import type { Post } from "@prisma/client"; import Mutation from "./mutation"; import Query from "./query"; -/* - * Export an object that includes the 'Query' and 'Mutation' objects and a 'Post' object. - * The 'Post' object includes an 'author' method, which is a resolver function for getting the author of a post. - */ export default { Query, Mutation, Post: { author: (parent: Post, _args: unknown, { prisma }: Context) => { - /* - * The 'author' method takes three arguments: 'parent', '_args', and 'ctx'. - * 'parent' is the post for which to get the author. - * '_args' includes any arguments passed to the 'author' query, but it's not used in this function, so it's named '_args'. - * 'ctx' is the context of the resolver function, which includes the 'prisma' client. - * - * The function returns a promise that resolves to the author of the post. - * It uses the 'prisma' client to find the post in the database and get its author. - */ return prisma.post .findUnique({ where: { id: parent.id }, @@ -43,4 +15,10 @@ export default { .author(); }, }, + Subscription: { + postCreated: { + // More on pubsub below + //subscribe: () => pubsub.asyncIterator(["POST_CREATED"]), + }, + }, }; diff --git a/src/index.ts b/src/index.ts index 2cfedfe..22bd36e 100755 --- a/src/index.ts +++ b/src/index.ts @@ -1,34 +1,87 @@ +import prisma from "@/config/database"; +import { getResolvers, getSchema, getUserId, type Context } from "@/utils"; import { ApolloServer } from "@apollo/server"; -import { startStandaloneServer } from "@apollo/server/standalone"; -import prisma from "./config/database"; -import { getResolvers, getSchema, getUserId, type Context } from "./utils"; +import { expressMiddleware } from "@apollo/server/express4"; +import { ApolloServerPluginDrainHttpServer } from "@apollo/server/plugin/drainHttpServer"; +import { makeExecutableSchema } from "@graphql-tools/schema"; +import cors from "cors"; +import express from "express"; +import { useServer } from "graphql-ws/lib/use/ws"; +import http from "http"; +import { WebSocketServer } from "ws"; const resolvers = await getResolvers(); +const typeDefs = await getSchema(); + +// Required logic for integrating with Express +const app = express(); +// Our httpServer handles incoming requests to our Express app. +// Below, we tell Apollo Server to "drain" this httpServer, +// enabling our servers to shut down gracefully. +const httpServer = http.createServer(app); + +// Creating the WebSocket server +const wsServer = new WebSocketServer({ + // This is the `httpServer` we created in a previous step. + server: httpServer, + // Pass a different path here if app.use + // serves expressMiddleware at a different path + path: "/subscriptions", +}); + +const schema = makeExecutableSchema({ typeDefs, resolvers }); + +// Hand in the schema we just created and have the +// WebSocketServer start listening. +const serverCleanup = useServer({ schema }, wsServer); const server = new ApolloServer({ - typeDefs: await getSchema(), - resolvers, + schema, // only enable introspection for development introspection: process.env.NODE_ENV === "development", status400ForVariableCoercionErrors: true, // you can enable the following option during development to get more detailed error messages includeStacktraceInErrorResponses: false, + plugins: [ + // Proper shutdown for the HTTP server. + ApolloServerPluginDrainHttpServer({ httpServer }), + + // Proper shutdown for the WebSocket server. + { + async serverWillStart() { + return { + async drainServer() { + await serverCleanup.dispose(); + }, + }; + }, + }, + ], }); -// Passing an ApolloServer instance to the `startStandaloneServer` function: -// 1. creates an Express app -// 2. installs your ApolloServer instance as middleware -// 3. prepares your app to handle incoming requests -const { url } = await startStandaloneServer(server, { - listen: { port: process.env.PORT || 4000 }, - context: async ({ req, res }) => { - return { +// Ensure we wait for our server to start +await server.start(); + +// Set up our Express middleware to handle CORS, body parsing, +// and our expressMiddleware function. +app.use( + "/", + cors(), + express.json(), + // expressMiddleware accepts the same arguments: + // an Apollo Server instance and optional configuration options + expressMiddleware(server, { + context: async ({ req, res }) => ({ req, res, userId: getUserId(req), prisma, - }; - }, -}); + }), + }), +); -console.log(`🚀 Server ready at: ${url}`); +// Modified server startup +await new Promise((resolve) => + httpServer.listen({ port: process.env.PORT || 4000 }, resolve), +); +console.log("🚀 Server ready at http://localhost:4000/"); diff --git a/src/utils/email.ts b/src/utils/email.ts deleted file mode 100644 index 00a6223..0000000 --- a/src/utils/email.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { emailQueue } from "@/config/jobs"; - -export const sendEmail = async ( - recipientEmail: string, - html: string, - subject: string, -) => { - emailQueue.add({ recipientEmail, html, subject }); -}; diff --git a/src/utils/tests/email.test.ts b/src/utils/tests/email.test.ts deleted file mode 100644 index 962c49d..0000000 --- a/src/utils/tests/email.test.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { beforeEach, describe, expect, it } from "bun:test"; -import { createTransport, type Transporter } from "nodemailer"; -import type { SentMessageInfo } from "nodemailer/lib/smtp-transport"; -import { sendEmail } from "../email"; - -// mock.module("nodemailer", jest.fn()); - -let transporter: Transporter; -describe.skip("sendEmail", () => { - beforeEach(() => { - // Reset the mock implementation before each test - transporter = createTransport(); - }); - - it("should send an email with the correct recipient, subject, and HTML content", async () => { - const recipientEmail = "test@example.com"; - const html = "

This is the email content

"; - const subject = "Test Email"; - - await sendEmail(recipientEmail, html, subject); - - expect(createTransport).toHaveBeenCalledTimes(1); - expect(createTransport).toHaveBeenCalledWith({ - host: process.env.SMTP_HOST, - port: process.env.SMTP_PORT, - secure: true, - auth: { - user: process.env.SMTP_USERNAME, - pass: process.env.SMTP_PASSWORD, - }, - }); - - expect(transporter.sendMail).toHaveBeenCalledTimes(1); - expect(transporter.sendMail).toHaveBeenCalledWith({ - from: `Admin <${process.env.NO_REPLY_EMAIL}>`, - to: recipientEmail, - subject, - html, - }); - }); - - it("should return the info about the sent email", async () => { - const recipientEmail = "test@example.com"; - const html = "

This is the email content

"; - const subject = "Test Email"; - - const info = await sendEmail(recipientEmail, html, subject); - - expect(info).toEqual( - expect.objectContaining({ messageId: expect.any(String) }), - ); - }); - - it.skip("should handle errors and return the error object", async () => { - const recipientEmail = "test@example.com"; - const html = "

This is the email content

"; - const subject = "Test Email"; - - // createTransport.mockImplementationOnce(() => { - // throw new Error("SMTP connection error"); - // }); - - const error = await sendEmail(recipientEmail, html, subject); - - expect(createTransport).toHaveBeenCalledTimes(1); - expect(error).toBeInstanceOf(Error); - expect((error as Error).message).toBe("SMTP connection error"); - }); -});