@nestjs/mongoose
Advanced tools
Comparing version 7.1.0 to 7.1.1
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const mongoose = require("mongoose"); | ||
const errors_1 = require("../errors"); | ||
const mongoose_constants_1 = require("../mongoose.constants"); | ||
@@ -9,2 +9,3 @@ const type_metadata_storage_1 = require("../storages/type-metadata.storage"); | ||
return (target, propertyKey) => { | ||
var _a; | ||
options = (options || {}); | ||
@@ -21,3 +22,3 @@ const isRawDefinition = options[mongoose_constants_1.RAW_OBJECT_DEFINITION]; | ||
else { | ||
options.type = mongoose.SchemaTypes.Mixed; | ||
throw new errors_1.CannotDetermineTypeError((_a = target.constructor) === null || _a === void 0 ? void 0 : _a.name, propertyKey); | ||
} | ||
@@ -24,0 +25,0 @@ } |
export * from './common'; | ||
export * from './decorators'; | ||
export * from './errors'; | ||
export * from './factories'; | ||
@@ -4,0 +5,0 @@ export * from './interfaces'; |
@@ -8,4 +8,5 @@ "use strict"; | ||
__export(require("./decorators")); | ||
__export(require("./errors")); | ||
__export(require("./factories")); | ||
__export(require("./mongoose.module")); | ||
__export(require("./utils")); |
{ | ||
"name": "@nestjs/mongoose", | ||
"version": "7.1.0", | ||
"version": "7.1.1", | ||
"description": "Nest - modern, fast, powerful node.js web framework (@mongoose)", | ||
@@ -25,12 +25,12 @@ "author": "Kamil Mysliwiec", | ||
"@commitlint/config-angular": "11.0.0", | ||
"@nestjs/platform-express": "7.5.2", | ||
"@nestjs/testing": "7.5.2", | ||
"@nestjs/platform-express": "7.5.5", | ||
"@nestjs/testing": "7.5.5", | ||
"@types/jest": "26.0.15", | ||
"@nestjs/common": "7.5.2", | ||
"@nestjs/core": "7.5.2", | ||
"@types/mongoose": "5.10.0", | ||
"@nestjs/common": "7.5.5", | ||
"@nestjs/core": "7.5.5", | ||
"@types/mongoose": "5.10.1", | ||
"@types/node": "11.15.0", | ||
"@typescript-eslint/eslint-plugin": "4.8.0", | ||
"@typescript-eslint/parser": "4.8.0", | ||
"eslint": "7.13.0", | ||
"@typescript-eslint/eslint-plugin": "4.8.1", | ||
"@typescript-eslint/parser": "4.8.1", | ||
"eslint": "7.14.0", | ||
"eslint-config-prettier": "6.15.0", | ||
@@ -42,3 +42,3 @@ "eslint-plugin-import": "2.22.1", | ||
"mongoose": "5.10.15", | ||
"prettier": "2.1.2", | ||
"prettier": "2.2.0", | ||
"reflect-metadata": "0.1.13", | ||
@@ -45,0 +45,0 @@ "release-it": "14.2.1", |
import * as mongoose from 'mongoose'; | ||
import { DefinitionsFactory, Prop, raw, Schema } from '../../lib'; | ||
import { CannotDetermineTypeError } from '../../lib/errors'; | ||
@@ -21,5 +22,2 @@ @Schema() | ||
@Prop({ required: true }) | ||
object: object; | ||
@Prop() | ||
@@ -63,3 +61,3 @@ buffer: mongoose.Schema.Types.Buffer; | ||
@Prop() | ||
@Prop({ type: mongoose.Schema.Types.Mixed }) | ||
any: any; | ||
@@ -82,6 +80,2 @@ | ||
}, | ||
object: { | ||
required: true, | ||
type: mongoose.SchemaTypes.Mixed, | ||
}, | ||
nodes: [ | ||
@@ -110,3 +104,3 @@ { | ||
}, | ||
any: { type: mongoose.SchemaTypes.Mixed }, | ||
any: { type: mongoose.Schema.Types.Mixed }, | ||
array: { type: [] }, | ||
@@ -129,2 +123,17 @@ customArray: [{ custom: 'literal', object: true }], | ||
}); | ||
it('should throw an error when type is ambiguous', () => { | ||
try { | ||
class AmbiguousField { | ||
@Prop() | ||
randomField: object | null; | ||
} | ||
DefinitionsFactory.createForClass(AmbiguousField); | ||
} catch (err) { | ||
expect(err).toBeInstanceOf(CannotDetermineTypeError); | ||
expect(err.message).toEqual( | ||
'Cannot determine a type for the "AmbiguousField.randomField" field (union/intersection/ambiguous type was used). Make sure your property is decorated with a "@Prop({ type: TYPE_HERE })" decorator.', | ||
); | ||
} | ||
}); | ||
}); |
import { Injectable } from '@nestjs/common'; | ||
import { Model, Document } from 'mongoose'; | ||
import { Document, Model } from 'mongoose'; | ||
import { InjectModel } from '../../../lib'; | ||
@@ -16,6 +16,6 @@ import { CreateClickLinkEventDto } from './dto/create-click-link-event.dto'; | ||
async create( | ||
createCatDto: CreateClickLinkEventDto | CreateSignUpEventDto, | ||
createDto: CreateClickLinkEventDto | CreateSignUpEventDto, | ||
): Promise<Event> { | ||
const createdCat = new this.eventModel(createCatDto); | ||
return createdCat.save(); | ||
const createdEvent = new this.eventModel(createDto); | ||
return createdEvent.save(); | ||
} | ||
@@ -22,0 +22,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
64656
82
1111