Skip to content

Commit 715f3d3

Browse files
committed
chore: update dependencies - apollo-server3, mongoose6
1 parent cb7ba25 commit 715f3d3

File tree

14 files changed

+1349
-1348
lines changed

14 files changed

+1349
-1348
lines changed

examples/mongooseDiscriminators/__tests__/queriesFromIndex-test.ts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,14 @@ import { MongoMemoryServer } from 'mongodb-memory-server';
55
import seed from '../data/seed';
66
import meta from '../index';
77

8-
let mongoServer;
8+
let mongoServer: MongoMemoryServer;
99
let con;
1010
let db;
1111
beforeAll(async () => {
12-
mongoServer = new MongoMemoryServer({ instance: { dbName: 'user' } });
13-
const mongoUri = await mongoServer.getConnectionString();
14-
mongoose.set('useCreateIndex', true);
15-
const opts = { useNewUrlParser: true, useUnifiedTopology: true };
16-
mongoose.connect(mongoUri, opts);
17-
con = await MongoClient.connect(mongoUri, opts);
12+
mongoServer = await MongoMemoryServer.create({ instance: { dbName: 'user' } });
13+
const mongoUri = mongoServer.getUri('user');
14+
mongoose.connect(mongoUri);
15+
con = await MongoClient.connect(mongoUri);
1816
db = con.db('user');
1917
await seed(db);
2018
// take time to mongo create indexes if needed

examples/mongooseDiscriminators/data/seed.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import fs from 'fs';
2-
import { ObjectID } from 'mongodb';
2+
import { ObjectId } from 'mongodb';
33

44
const collectionPrefix = 'md_';
55

@@ -14,7 +14,7 @@ export default async function seed(db: any) {
1414
const colName = `${collectionPrefix || ''}${file}`;
1515
const data = JSON.parse(fs.readFileSync(`${__dirname}/${file}.json`, 'utf8'));
1616
data.forEach((_, i) => {
17-
data[i]._id = ObjectID.createFromHexString(data[i]._id);
17+
data[i]._id = ObjectId.createFromHexString(data[i]._id);
1818
});
1919
if (collectionNames.indexOf(colName) > -1) {
2020
console.log(` '${colName}' dropped`);

examples/northwind/__tests__/queriesFromIndex-test.ts

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,25 @@ import { MongoMemoryServer } from 'mongodb-memory-server';
55
import seed from '../data/seed';
66
import meta from '../index';
77

8-
let mongoServer;
8+
let mongoServer: MongoMemoryServer;
99
let con;
1010
let db;
1111
beforeAll(async () => {
12-
mongoServer = new MongoMemoryServer({ instance: { dbName: 'northwind' } });
13-
const mongoUri = await mongoServer.getConnectionString();
14-
const opts = { useNewUrlParser: true, useUnifiedTopology: true };
15-
mongoose.connect(mongoUri, opts);
12+
mongoServer = await MongoMemoryServer.create({
13+
instance: { dbName: 'user', storageEngine: 'wiredTiger' },
14+
});
15+
const mongoUri = mongoServer.getUri('northwind');
16+
mongoose.connect(mongoUri, { autoIndex: false });
17+
con = await MongoClient.connect(mongoUri);
1618
mongoose.connection.once('disconnected', () => {
1719
console.log('MongoDB disconnected!');
1820
});
19-
con = await MongoClient.connect(mongoUri, opts);
21+
con = await MongoClient.connect(mongoUri);
2022
db = con.db('northwind');
2123
await seed(db);
22-
// take time to mongo create indexes if needed
23-
await new Promise((resolve) => setTimeout(resolve, 3000));
24+
await Promise.all(
25+
mongoose.modelNames().map((m) => mongoose.models[m].ensureIndexes({ background: false }))
26+
);
2427
});
2528

2629
afterAll(async () => {

examples/northwind/queryCostPlugin.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ export function initQueryComplexityPlugin(opts: {
1212
maxComplexity?: number;
1313
}): ApolloServerPlugin {
1414
return {
15-
requestDidStart: () => {
15+
async requestDidStart() {
1616
let complexity = 0;
1717
const maxComplexity = opts.maxComplexity || 10000;
1818
return {
19-
didResolveOperation({ request, document }) {
19+
async didResolveOperation({ request, document }) {
2020
/**
2121
* This provides GraphQL query analysis to be able to react on complex queries to your GraphQL server.
2222
* This can be used to protect your GraphQL servers against resource exhaustion and DoS attacks.
@@ -58,7 +58,7 @@ export function initQueryComplexityPlugin(opts: {
5858
);
5959
}
6060
},
61-
willSendResponse({ response }) {
61+
async willSendResponse({ response }) {
6262
response.extensions = response.extensions || {};
6363
response.extensions.complexity = complexity;
6464
response.extensions.maxComplexity = maxComplexity;

examples/northwind/schema.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
// import { SchemaComposer } from 'graphql-compose';
66
// const schemaComposer = new SchemaComposer();
77

8-
import { PubSub } from 'apollo-server-express';
8+
import { PubSub } from 'graphql-subscriptions';
99
import { schemaComposer } from './schemaComposer';
1010
import { categoryFindManyResolver, categoryFindOneResolver } from './models/category';
1111
import {

examples/user/__tests__/__snapshots__/queriesFromIndex-test.ts.snap

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Object {
55
"age": 24,
66
"contacts": Object {
77
"email": "[email protected]",
8-
"phones": CoreMongooseArray [
8+
"phones": Array [
99
"111-222-333-444",
1010
"444-555-666-777",
1111
],
@@ -69,7 +69,7 @@ Object {
6969
"email": "[email protected]",
7070
},
7171
"gender": "female",
72-
"languages": CoreDocumentArray [
72+
"languages": Array [
7373
Object {
7474
"language": "en",
7575
"skill": "fluent",
@@ -92,7 +92,7 @@ Object {
9292
"email": "[email protected]",
9393
},
9494
"gender": "male",
95-
"languages": CoreDocumentArray [
95+
"languages": Array [
9696
Object {
9797
"language": "en",
9898
"skill": "fluent",
@@ -111,7 +111,7 @@ Object {
111111
"email": "[email protected]",
112112
},
113113
"gender": "male",
114-
"languages": CoreDocumentArray [
114+
"languages": Array [
115115
Object {
116116
"language": "ru",
117117
"skill": "fluent",
@@ -126,7 +126,7 @@ Object {
126126
"email": "[email protected]",
127127
},
128128
"gender": "male",
129-
"languages": CoreDocumentArray [
129+
"languages": Array [
130130
Object {
131131
"language": "fr",
132132
"skill": "basic",
@@ -145,7 +145,7 @@ Object {
145145
"email": "[email protected]",
146146
},
147147
"gender": "male",
148-
"languages": CoreDocumentArray [
148+
"languages": Array [
149149
Object {
150150
"language": "es",
151151
"skill": "fluent",
@@ -168,7 +168,7 @@ Object {
168168
"email": "[email protected]",
169169
},
170170
"gender": "male",
171-
"languages": CoreDocumentArray [
171+
"languages": Array [
172172
Object {
173173
"language": "ru",
174174
"skill": "fluent",
@@ -193,7 +193,7 @@ Object {
193193
"email": "[email protected]",
194194
},
195195
"gender": "male",
196-
"languages": CoreDocumentArray [
196+
"languages": Array [
197197
Object {
198198
"language": "fr",
199199
"skill": "basic",
@@ -212,7 +212,7 @@ Object {
212212
"email": "[email protected]",
213213
},
214214
"gender": "male",
215-
"languages": CoreDocumentArray [
215+
"languages": Array [
216216
Object {
217217
"language": "es",
218218
"skill": "fluent",

examples/user/__tests__/queriesFromIndex-test.ts

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,19 @@ import { MongoMemoryServer } from 'mongodb-memory-server';
55
import seed from '../data/seed';
66
import meta from '../index';
77

8-
let mongoServer;
8+
let mongoServer: MongoMemoryServer;
99
let con;
1010
let db;
1111
beforeAll(async () => {
12-
mongoServer = new MongoMemoryServer({ instance: { dbName: 'user' } });
13-
const mongoUri = await mongoServer.getConnectionString();
14-
mongoose.set('useCreateIndex', true);
15-
const opts = { useNewUrlParser: true, useUnifiedTopology: true };
16-
mongoose.connect(mongoUri, opts);
17-
con = await MongoClient.connect(mongoUri, opts);
12+
mongoServer = await MongoMemoryServer.create({ instance: { dbName: 'user' } });
13+
const mongoUri = mongoServer.getUri('user');
14+
mongoose.connect(mongoUri, { autoIndex: false });
15+
con = await MongoClient.connect(mongoUri);
1816
db = con.db('user');
1917
await seed(db);
20-
// take time to mongo create indexes if needed
21-
await new Promise((resolve) => setTimeout(resolve, 1000));
18+
await Promise.all(
19+
mongoose.modelNames().map((m) => mongoose.models[m].ensureIndexes({ background: false }))
20+
);
2221
});
2322

2423
afterAll(async () => {

examples/user/data/seed.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import fs from 'fs';
2-
import { ObjectID, Decimal128 } from 'mongodb';
2+
import { ObjectId, Decimal128 } from 'mongodb';
33

44
const collectionPrefix = 'user_';
55

@@ -14,7 +14,7 @@ export default async function seed(db: any) {
1414
const colName = `${collectionPrefix || ''}${file}`;
1515
const data = JSON.parse(fs.readFileSync(`${__dirname}/${file}.json`, 'utf8'));
1616
data.forEach((_, i) => {
17-
data[i]._id = ObjectID.createFromHexString(data[i]._id);
17+
data[i]._id = ObjectId.createFromHexString(data[i]._id);
1818
data[i].salaryDecimal = Decimal128.fromString(data[i].salaryDecimal);
1919
});
2020
if (collectionNames.indexOf(colName) > -1) {

examples/user/models/user.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,10 @@ export class UserDoc /* :: extends Mongoose$Document */ {
8585
};
8686

8787
gender: 'male' | 'female';
88+
89+
address?: any;
90+
someMixed?: any;
91+
salaryDecimal?: any;
8892
}
8993

9094
UserSchema.index({ gender: 1, age: -1 });

index.ts

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import express from 'express';
33
import cors from 'cors';
44
import { ApolloServer } from 'apollo-server-express';
5+
import { ApolloServerPluginLandingPageGraphQLPlayground } from 'apollo-server-core';
56
import { altairExpress } from 'altair-express-middleware';
67
import { express as voyagerMiddleware } from 'graphql-voyager/middleware';
78
import http from 'http';
@@ -57,17 +58,21 @@ httpServer.listen(PORT, () => {
5758
);
5859
});
5960

60-
function addExample(example, uri) {
61+
async function addExample(example, uri) {
6162
example.uri = `/${uri}`;
6263

6364
const server = new ApolloServer({
6465
schema: example.schema,
6566
introspection: true,
66-
playground: {
67-
subscriptionEndpoint: process.env.SUBSCRIPTION_ENDPOINT || `ws://localhost:${PORT}/northwind`,
68-
},
69-
plugins: example.plugins,
67+
plugins: [
68+
ApolloServerPluginLandingPageGraphQLPlayground({
69+
subscriptionEndpoint:
70+
process.env.SUBSCRIPTION_ENDPOINT || `ws://localhost:${PORT}/northwind`,
71+
}),
72+
...(example.plugins || []),
73+
],
7074
});
75+
await server.start();
7176
server.applyMiddleware({ app: app as any, path: example.uri });
7277

7378
app.use(

0 commit comments

Comments
 (0)