agilite-core
Version:
A NodeJS module that provides reusable backend functionality to the Agilit-e environment
102 lines • 5.55 kB
JavaScript
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());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const type_detect_1 = __importDefault(require("agilite-utils/dist/type-detect"));
const enums_type_detect_1 = __importDefault(require("agilite-utils/dist/enums-type-detect"));
// NATIVE FUNCTIONS
const find = (Schema_1, qry_1, ...args_1) => __awaiter(void 0, [Schema_1, qry_1, ...args_1], void 0, function* (Schema, qry, fieldsToReturn = undefined, qryOptions = undefined, page = undefined, pageLimit = undefined) {
if (page === null || pageLimit === null) {
return yield Schema.find(qry, fieldsToReturn, qryOptions).exec();
}
else {
return yield Schema.find(qry, fieldsToReturn, qryOptions)
.skip(page * pageLimit)
.limit(pageLimit)
.exec();
}
});
const distinct = (Schema_1, fieldName_1, ...args_1) => __awaiter(void 0, [Schema_1, fieldName_1, ...args_1], void 0, function* (Schema, fieldName, conditions = undefined) {
return yield Schema.distinct(fieldName, conditions);
});
const findOne = (Schema_1, qry_1, ...args_1) => __awaiter(void 0, [Schema_1, qry_1, ...args_1], void 0, function* (Schema, qry, fieldsToReturn = undefined, qryOptions = undefined) {
return yield Schema.findOne(qry, fieldsToReturn, qryOptions).exec();
});
const create = (Schema_1, entry_1, ...args_1) => __awaiter(void 0, [Schema_1, entry_1, ...args_1], void 0, function* (Schema, entry, options = undefined) {
const doc = new Schema(entry);
let result = null;
if ((0, type_detect_1.default)(options) !== enums_type_detect_1.default.OBJECT)
options = null;
result = yield Schema.create([doc], options);
return result[0];
});
const findById = (Schema_1, id_1, ...args_1) => __awaiter(void 0, [Schema_1, id_1, ...args_1], void 0, function* (Schema, id, fieldsToReturn = undefined, qryOptions = undefined) {
return yield Schema.findById(id, fieldsToReturn, qryOptions).exec();
});
const findByIdAndUpdate = (Schema_1, id_1, entry_1, ...args_1) => __awaiter(void 0, [Schema_1, id_1, entry_1, ...args_1], void 0, function* (Schema, id, entry, qryOptions = undefined) {
return yield Schema.findByIdAndUpdate(id, entry, qryOptions);
});
const findByIdAndDelete = (Schema_1, id_1, ...args_1) => __awaiter(void 0, [Schema_1, id_1, ...args_1], void 0, function* (Schema, id, qryOptions = undefined) {
return yield Schema.findByIdAndDelete(id, qryOptions);
});
const findOneAndUpdate = (Schema_1, qry_1, entry_1, ...args_1) => __awaiter(void 0, [Schema_1, qry_1, entry_1, ...args_1], void 0, function* (Schema, qry, entry, qryOptions = undefined) {
return yield Schema.findOneAndUpdate(qry, entry, qryOptions);
});
const findOneAndDelete = (Schema_1, qry_1, ...args_1) => __awaiter(void 0, [Schema_1, qry_1, ...args_1], void 0, function* (Schema, qry, qryOptions = undefined) {
return yield Schema.findOneAndDelete(qry, qryOptions);
});
const deleteOne = (Schema, qry) => __awaiter(void 0, void 0, void 0, function* () {
return yield Schema.deleteOne(qry);
});
const deleteMany = (Schema_1, conditions_1, ...args_1) => __awaiter(void 0, [Schema_1, conditions_1, ...args_1], void 0, function* (Schema, conditions, options = undefined) {
return yield Schema.deleteMany(conditions, options);
});
const updateMany = (Schema_1, qry_1, entry_1, ...args_1) => __awaiter(void 0, [Schema_1, qry_1, entry_1, ...args_1], void 0, function* (Schema, qry, entry, qryOptions = undefined) {
return yield Schema.updateMany(qry, entry, qryOptions);
});
const insertMany = (Schema, data) => __awaiter(void 0, void 0, void 0, function* () {
return yield Schema.insertMany(data);
});
const bulkWrite = (Schema_1, data_1, ...args_1) => __awaiter(void 0, [Schema_1, data_1, ...args_1], void 0, function* (Schema, data, qryOptions = undefined) {
return yield Schema.bulkWrite(data, qryOptions);
});
const aggregate = (Schema, conditions) => __awaiter(void 0, void 0, void 0, function* () {
return yield Schema.aggregate(conditions);
});
const countDocuments = (Schema, conditions) => __awaiter(void 0, void 0, void 0, function* () {
return yield Schema.countDocuments(conditions);
});
const estimatedDocumentCount = (Schema_1, ...args_1) => __awaiter(void 0, [Schema_1, ...args_1], void 0, function* (Schema, options = undefined) {
return yield Schema.estimatedDocumentCount(options);
});
// EXPORTS
exports.default = {
find,
distinct,
findOne,
create,
findById,
findByIdAndUpdate,
findByIdAndDelete,
findOneAndUpdate,
findOneAndDelete,
deleteOne,
deleteMany,
updateMany,
insertMany,
bulkWrite,
aggregate,
countDocuments,
estimatedDocumentCount
};
//# sourceMappingURL=mongo-queries.js.map
;