bridge-mongo
Advanced tools
Comparing version 1.0.1 to 1.0.2
@@ -16,11 +16,2 @@ "use strict"; | ||
}; | ||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||
return new (P || (P = Promise))(function (resolve, reject) { | ||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||
step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
}); | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -31,27 +22,7 @@ exports.BridgeModel = void 0; | ||
class BridgeModel { | ||
modelName; | ||
modelInterface; | ||
configInterface; | ||
mongooseModel; | ||
constructor(modelName, schema) { | ||
this.create = (data) => __awaiter(this, void 0, void 0, function* () { | ||
try { | ||
return (yield this.mongooseModel.create([data]))[0].toJSON(); | ||
} | ||
catch (err) { | ||
if (err.code === 11000) | ||
return { | ||
error: { status: 409, name: `${this.modelName} already exists`, data: err.keyValue }, | ||
}; | ||
else | ||
throw err; | ||
} | ||
}); | ||
this.findOne = (filter, projection) => __awaiter(this, void 0, void 0, function* () { | ||
try { | ||
const promise = this.mongooseModel.findOne(filter); | ||
const res = projection ? yield promise.select(projection).lean() : yield promise.lean(); | ||
if (!res) | ||
return { error: { status: 404, name: 'Document not found' } }; | ||
} | ||
catch (err) { | ||
return { error: { status: 404, name: `${this.modelName} not found`, data: err } }; | ||
} | ||
}); | ||
this.modelName = (0, utils_1.capitalizeFirstLetter)(modelName); | ||
@@ -61,2 +32,26 @@ const mongooseSchema = new mongoose_1.Schema(schema.schemaDef, schema.config || { timestamps: false }); | ||
} | ||
create = async (data) => { | ||
try { | ||
return (await this.mongooseModel.create([data]))[0].toJSON(); | ||
} | ||
catch (err) { | ||
if (err.code === 11000) | ||
return { | ||
error: { status: 409, name: `${this.modelName} already exists`, data: err.keyValue }, | ||
}; | ||
else | ||
throw err; | ||
} | ||
}; | ||
findOne = async (filter, projection) => { | ||
try { | ||
const promise = this.mongooseModel.findOne(filter); | ||
const res = projection ? await promise.select(projection).lean() : await promise.lean(); | ||
if (!res) | ||
return { error: { status: 404, name: 'Document not found' } }; | ||
} | ||
catch (err) { | ||
return { error: { status: 404, name: `${this.modelName} not found`, data: err } }; | ||
} | ||
}; | ||
} | ||
@@ -63,0 +58,0 @@ exports.BridgeModel = BridgeModel; |
@@ -19,2 +19,4 @@ "use strict"; | ||
class Schema { | ||
schemaDef; | ||
config; | ||
constructor(schemaDef, config) { | ||
@@ -21,0 +23,0 @@ this.schemaDef = schemaDef; |
"use strict"; | ||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||
return new (P || (P = Promise))(function (resolve, reject) { | ||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||
step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
}); | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -47,5 +38,5 @@ const source_1 = require("./source"); | ||
// // type Result = Plurial<'chevals'>; // 'a' | ||
const ess = DB.user.mongooseModel.create({ name: 'YO' }).then((res) => __awaiter(void 0, void 0, void 0, function* () { | ||
const ess = DB.user.mongooseModel.create({ name: 'YO' }).then(async (res) => { | ||
res.name = 'NON'; | ||
yield res.save(); | ||
})); | ||
await res.save(); | ||
}); |
{ | ||
"name": "bridge-mongo", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "A mongodb ORM on top of mongoose that match perfectly with the Bridge framework", | ||
@@ -5,0 +5,0 @@ "main": "dist/source/index.js", |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
27135
36
351
0