Skip to content

Commit

Permalink
fix(deps): Update mongoose and @nestjs/mongoose to latest versions
Browse files Browse the repository at this point in the history
  • Loading branch information
doug-martin committed Feb 5, 2021
1 parent c0ac7c2 commit ca575cf
Show file tree
Hide file tree
Showing 7 changed files with 42 additions and 52 deletions.
5 changes: 2 additions & 3 deletions examples/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"@nestjs/core": "7.6.11",
"@nestjs/graphql": "7.9.8",
"@nestjs/jwt": "7.2.0",
"@nestjs/mongoose": "7.1.2",
"@nestjs/mongoose": "7.2.3",
"@nestjs/passport": "7.1.5",
"@nestjs/platform-express": "7.6.11",
"@nestjs/sequelize": "0.2.0",
Expand All @@ -32,7 +32,7 @@
"graphql": "15.5.0",
"graphql-query-complexity": "0.7.2",
"graphql-tools": "7.0.2",
"mongoose": "5.10.19",
"mongoose": "5.11.15",
"mysql2": "2.2.5",
"passport": "0.4.1",
"passport-jwt": "4.0.0",
Expand All @@ -51,7 +51,6 @@
"@nestjs/testing": "7.6.11",
"@types/express": "4.17.11",
"@types/jest": "26.0.20",
"@types/mongoose": "5.10.1",
"@types/node": "13.13.5",
"@types/passport-jwt": "3.0.4",
"@types/passport-local": "1.0.33",
Expand Down
46 changes: 19 additions & 27 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,11 @@ describe('MongooseQueryService', () => {
}).compile();
});

function convertDocument<Doc extends Document>(doc: Doc): Doc {
function convertDocument<Doc extends Document>(doc: Doc) {
return doc.toObject({ virtuals: true });
}

function convertDocuments<Doc extends Document>(docs: Doc[]): Doc[] {
function convertDocuments<Doc extends Document>(docs: Doc[]) {
return docs.map((doc) => convertDocument(doc));
}

Expand Down
5 changes: 2 additions & 3 deletions packages/query-mongoose/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,15 @@
},
"devDependencies": {
"@nestjs/common": "7.6.11",
"@nestjs/mongoose": "7.1.2",
"@nestjs/testing": "7.6.11",
"@types/lodash.escaperegexp": "4.1.6",
"@types/lodash.merge": "4.6.6",
"@types/mongodb": "3.6.6",
"@types/mongoose": "5.10.1",
"@nestjs/mongoose": "7.2.3",
"class-transformer": "0.3.2",
"mongodb": "3.6.4",
"mongodb-memory-server": "6.9.3",
"mongoose": "5.10.19",
"mongoose": "5.11.15",
"ts-mockito": "2.6.1",
"typescript": "4.1.3"
},
Expand Down
2 changes: 1 addition & 1 deletion packages/query-mongoose/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
export { MongooseQueryService, MongooseQueryServiceOpts } from './services';
export { MongooseQueryService } from './services';
export { NestjsQueryMongooseModule } from './module';
15 changes: 7 additions & 8 deletions packages/query-mongoose/src/services/mongoose-query.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,17 @@ import {
UpdateOneOptions,
} from '@nestjs-query/core';
import { NotFoundException } from '@nestjs/common';
import { CreateQuery, Document, DocumentToObjectOptions, Model as MongooseModel, UpdateQuery } from 'mongoose';
import { Document, Model as MongooseModel, UpdateQuery } from 'mongoose';
import { AggregateBuilder, FilterQueryBuilder } from '../query';
import { ReferenceQueryService } from './reference-query.service';

type MongoDBUpdatedOutput = {
nModified: number;
};

export interface MongooseQueryServiceOpts {
documentToObjectOptions?: DocumentToObjectOptions;
}

type MongoDBDeletedOutput = {
deletedCount: number;
};
/**
* Base class for all query services that use Typegoose.
*
Expand Down Expand Up @@ -135,7 +134,7 @@ export class MongooseQueryService<Entity extends Document>
*/
async createOne(record: DeepPartial<Entity>): Promise<Entity> {
this.ensureIdIsNotPresent(record);
return this.Model.create(record as CreateQuery<Entity>);
return this.Model.create(record);
}

/**
Expand All @@ -152,7 +151,7 @@ export class MongooseQueryService<Entity extends Document>
*/
async createMany(records: DeepPartial<Entity>[]): Promise<Entity[]> {
records.forEach((r) => this.ensureIdIsNotPresent(r));
return this.Model.create(records as CreateQuery<Entity>[]);
return this.Model.create(records);
}

/**
Expand Down Expand Up @@ -234,7 +233,7 @@ export class MongooseQueryService<Entity extends Document>
*/
async deleteMany(filter: Filter<Entity>): Promise<DeleteManyResponse> {
const filterQuery = this.filterQueryBuilder.buildFilterQuery(filter);
const res = await this.Model.deleteMany(filterQuery).exec();
const res = (await this.Model.deleteMany(filterQuery).exec()) as MongoDBDeletedOutput;
return { deletedCount: res.deletedCount || 0 };
}

Expand Down
17 changes: 9 additions & 8 deletions packages/query-mongoose/src/services/reference-query.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import {
Query,
AssemblerFactory,
} from '@nestjs-query/core';
import { Document, Model as MongooseModel } from 'mongoose';
import { Document, Model as MongooseModel, UpdateQuery } from 'mongoose';
import { AggregateBuilder, FilterQueryBuilder } from '../query';
import {
isEmbeddedSchemaTypeOptions,
Expand Down Expand Up @@ -198,7 +198,7 @@ export abstract class ReferenceQueryService<Entity extends Document> {
if (relationIds.length !== refCount) {
throw new Error(`Unable to find all ${relationName} to add to ${this.Model.modelName}`);
}
await entity.updateOne({ $push: { [relationName]: { $each: relationIds } } }).exec();
await entity.updateOne({ $push: { [relationName]: { $each: relationIds } } } as UpdateQuery<Entity>).exec();
// reload the document
return this.getById(id);
}
Expand All @@ -215,7 +215,7 @@ export abstract class ReferenceQueryService<Entity extends Document> {
if (refCount !== 1) {
throw new Error(`Unable to find ${relationName} to set on ${this.Model.modelName}`);
}
await entity.updateOne({ [relationName]: relationId }).exec();
await entity.updateOne({ [relationName]: relationId } as UpdateQuery<Entity>).exec();
// reload the document
return this.getById(id);
}
Expand All @@ -235,7 +235,7 @@ export abstract class ReferenceQueryService<Entity extends Document> {
await entity
.updateOne({
$unset: { [relationName]: relationId },
})
} as UpdateQuery<Entity>)
.exec();
// reload the document
return this.getById(id);
Expand All @@ -259,7 +259,7 @@ export abstract class ReferenceQueryService<Entity extends Document> {
await entity
.updateOne({
$pullAll: { [relationName]: relationIds },
})
} as UpdateQuery<Entity>)
.exec();
// reload the document
return this.getById(id);
Expand Down Expand Up @@ -291,18 +291,19 @@ export abstract class ReferenceQueryService<Entity extends Document> {
}

private getReferenceModel<Ref extends Document>(refName: string): MongooseModel<Ref> {
const { db } = this.Model;
if (this.isReferencePath(refName)) {
const schemaType = this.Model.schema.path(refName);
if (isEmbeddedSchemaTypeOptions(schemaType)) {
return this.Model.model<Ref>(schemaType.$embeddedSchemaType.options.ref);
return db.model<Ref>(schemaType.$embeddedSchemaType.options.ref);
}
if (isSchemaTypeWithReferenceOptions(schemaType)) {
return this.Model.model<Ref>(schemaType.options.ref);
return db.model<Ref>(schemaType.options.ref);
}
} else if (this.isVirtualPath(refName)) {
const schemaType = this.Model.schema.virtualpath(refName);
if (isVirtualTypeWithReferenceOptions(schemaType)) {
return this.Model.model<Ref>(schemaType.options.ref);
return db.model<Ref>(schemaType.options.ref);
}
}
throw new Error(`Unable to lookup reference type for ${refName}`);
Expand Down

0 comments on commit ca575cf

Please sign in to comment.