Graphql-typegraphql example to apollo/server/express4

Hello,
I wanted to change the example code in src/index.ts to use apollo/server/express4 in prisma-examples/typescript/graphql-typegraphql at latest · prisma/prisma-examples · GitHub , but it throws me the error: TypeError: graphqlError.toJSON is not a function. Because of this, nothing is working.

Here is my src/index.ts modified code:

import 'reflect-metadata'
import * as tq from 'type-graphql'
import { PostCreateInput, PostResolver, SortOrder } from './PostResolver'
import { UserResolver } from './UserResolver'
//import { ApolloServer } from 'apollo-server'
//import { ApolloServer } from '@apollo/server';
//import { startStandaloneServer } from '@apollo/server/standalone';

import { ApolloServer } from '@apollo/server';
import { expressMiddleware } from '@apollo/server/express4';
import { ApolloServerPluginDrainHttpServer } from '@apollo/server/plugin/drainHttpServer'
import express from 'express';
import http from 'http';
import bodyParser from 'body-parser';
import { DateTimeResolver } from 'graphql-scalars'
import { context } from './context'
import { GraphQLScalarType } from 'graphql'
import cors from 'cors'

const app2 = async () => {
  tq.registerEnumType(SortOrder, {
    name: 'SortOrder',
  });
  
  const schema = await tq.buildSchema({
    resolvers: [PostResolver, UserResolver, PostCreateInput],
    scalarsMap: [{ type: GraphQLScalarType, scalar: DateTimeResolver }],
  });
const app = express();
const httpServer = http.createServer(app);

// Set up Apollo Server
const server = new ApolloServer({
  schema,
  plugins: [ApolloServerPluginDrainHttpServer({ httpServer })],
});

await server.start();

app.use(
  '/',
  cors<cors.CorsRequest>(),
  bodyParser.json(),
  expressMiddleware(server),
);

await new Promise<void>((resolve) => httpServer.listen({ port: 9000 }, resolve));
console.log(`🚀 Server ready at http://10.0.0.212:9000`)
}

app2()