Skip to content
This repository was archived by the owner on May 5, 2023. It is now read-only.

Commit 47d8356

Browse files
authored
feat(API): Upgrade to the Mongo 3 Node.js Driver (LLC-473) (#326)
1 parent 53661fe commit 47d8356

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+115
-320
lines changed

package-lock.json

Lines changed: 32 additions & 61 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
"fs-extra": "^5.0.0",
4545
"jscommons": "^2.4.14",
4646
"lodash": "^4.17.4",
47-
"mongodb": "^2.2.26",
47+
"mongodb": "^3.6.2",
4848
"node-fetch": "^1.6.3",
4949
"promise-retry": "^1.1.1",
5050
"rulr": "^4.0.0",
@@ -64,7 +64,7 @@
6464
"@types/fs-extra": "5.1.0",
6565
"@types/lodash": "4.14.157",
6666
"@types/mocha": "5.2.7",
67-
"@types/mongodb": "2.2.26",
67+
"@types/mongodb": "^3.5.27",
6868
"@types/node": "9.6.56",
6969
"@types/node-fetch": "1.6.9",
7070
"@types/source-map-support": "0.5.2",
@@ -84,7 +84,7 @@
8484
"tslint": "5.20.1",
8585
"tslint-consistent-codestyle": "1.16.0",
8686
"tslint-immutable": "4.9.1",
87-
"typescript": "2.8.4"
87+
"typescript": "^4.0.3"
8888
},
8989
"publishConfig": {
9090
"access": "public"

src/config.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,20 @@ import getBooleanOption from 'jscommons/dist/config/getBooleanOption';
66
import getNumberOption from 'jscommons/dist/config/getNumberOption';
77
import getStringOption from 'jscommons/dist/config/getStringOption';
88
import { defaultTo } from 'lodash';
9-
import { MongoClientOptions, ReadPreference } from 'mongodb';
9+
import {
10+
MongoClientOptions,
11+
ReadPreference,
12+
ReadPreferenceMode,
13+
} from 'mongodb';
1014
import * as os from 'os';
1115

1216
const DEFAULT_TIMEOUT_MS = 300000; // 5 minutes.
1317

1418
const getMongoReadPreference = (readPrefMode = 'primary'): ReadPreference => {
15-
const mode = ReadPreference.isValid(readPrefMode) ? readPrefMode : 'primary';
19+
const mode = (
20+
ReadPreference.isValid(readPrefMode) ? readPrefMode : 'primary'
21+
) as ReadPreferenceMode;
22+
1623
return new ReadPreference(mode, []);
1724
};
1825

src/mongoModelsRepo/deletePersona.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,11 @@ import {
1111

1212
export default (config: Config) => {
1313
return async ({personaId, organisation}: DeletePersonaOptions): Promise<void> => {
14+
const db = await config.db;
1415

15-
const collection = (await config.db).collection(PERSONAS_COLLECTION);
16-
const personaIdentifiersCollection = (await config.db)
17-
.collection(PERSONA_IDENTIFIERS_COLLECTION);
18-
const personaAttributesCollection = (await config.db)
19-
.collection(PERSONA_ATTRIBUTES_COLLECTION);
16+
const collection = db.collection(PERSONAS_COLLECTION);
17+
const personaIdentifiersCollection = db.collection(PERSONA_IDENTIFIERS_COLLECTION);
18+
const personaAttributesCollection = db.collection(PERSONA_ATTRIBUTES_COLLECTION);
2019

2120
const orgFilter = {
2221
organisation: new ObjectID(organisation),

src/mongoModelsRepo/deletePersonaAttribute.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import { ObjectID } from 'mongodb';
22
import NoModelWithId from '../errors/NoModelWithId';
33
import DeletePersonaAttributeOptions from '../repoFactory/options/DeletePersonaAttributeOptions';
4-
import _DeletePersonaAttributeOptions from // tslint:disable-line:no-unused import-spacing
5-
'../serviceFactory/options/DeletePersonaAttributeOptions';
64
import Config from './Config';
75
import { PERSONA_ATTRIBUTES_COLLECTION } from './utils/constants/collections';
86

src/mongoModelsRepo/deletePersonaIdentifier.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import { ObjectID } from 'mongodb';
22
import NoModelWithId from '../errors/NoModelWithId';
33
import DeletePersonaIdentifierOptions from '../repoFactory/options/DeletePersonaIdentifierOptions';
4-
import _DeletePersonaIdentifierOptions from // tslint:disable-line:no-unused import-spacing
5-
'../serviceFactory/options/DeletePersonaIdentifierOptions';
64
import Config from './Config';
75
import { PERSONA_IDENTIFIERS_COLLECTION } from './utils/constants/collections';
86

src/mongoModelsRepo/getAttribute.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,6 @@ import NoModel from 'jscommons/dist/errors/NoModel';
22
import { ObjectID } from 'mongodb';
33
import GetAttributeOptions from '../repoFactory/options/GetAttributeOptions';
44
import GetAttributeResult from '../repoFactory/results/GetAttributeResult';
5-
import _GetAttributeOptions from // tslint:disable-line:import-spacing no-unused
6-
'../serviceFactory/options/GetAttributeOptions';
7-
import _GetAttributeResult from // tslint:disable-line:import-spacing no-unused
8-
'../serviceFactory/results/GetAttributeResult';
95
import Config from './Config';
106
import { PERSONA_ATTRIBUTES_COLLECTION } from './utils/constants/collections';
117

src/mongoModelsRepo/getAttributes.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
import Attribute from '../models/Attribute';
22
import GetAttributesOptions from '../repoFactory/options/GetAttributesOptions';
33
import GetAttributesResult from '../repoFactory/results/GetAttributesResult';
4-
// tslint:disable-next-line:no-unused
5-
import GetOptions, { CursorDirection } from '../serviceFactory/utils/GetOptions';
6-
// tslint:disable-next-line:no-unused
7-
import PaginationResult from '../serviceFactory/utils/PaginationResult';
84
import Config from './Config';
95
import pagination from './utils/pagination';
106

src/mongoModelsRepo/getIdentifiers.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
import Identifier from '../models/Identifier';
22
import GetIdentifiersOptions from '../repoFactory/options/GetIdentifiersOptions';
33
import GetIdentifiersResult from '../repoFactory/results/GetIdentifiersResult';
4-
// tslint:disable-next-line:no-unused
5-
import GetOptions, { CursorDirection } from '../serviceFactory/utils/GetOptions';
6-
// tslint:disable-next-line:no-unused
7-
import PaginationResult from '../serviceFactory/utils/PaginationResult';
84
import Config from './Config';
95
import pagination from './utils/pagination';
106

src/mongoModelsRepo/getPersonaAttributeCount.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,6 @@ import GetPersonaAttributeCountOptions from // tslint:disable-line:import-spacin
33
'../repoFactory/options/GetPersonaAttributeCountOptions';
44
import GetPersonaAttributeCountResult from // tslint:disable-line:import-spacing
55
'../repoFactory/results/GetPersonaAttributeCountResult';
6-
// tslint:disable-next-line:no-unused import-spacing
7-
import _GetPersonaAttributeCountOptions from
8-
'../serviceFactory/options/GetPersonaAttributeCountOptions';
9-
// tslint:disable-next-line:no-unused import-spacing
10-
import _GetPersonaAttributeCountResult from
11-
'../serviceFactory/results/GetPersonaAttributeCountResult';
126
import Config from './Config';
137
import { PERSONA_ATTRIBUTES_COLLECTION } from './utils/constants/collections';
148

0 commit comments

Comments
 (0)