|
@@ -28,7 +28,6 @@ module.exports = __toCommonJS(index_exports);
|
|
|
|
|
|
|
|
// src/mongodb-adapter.js
|
|
// src/mongodb-adapter.js
|
|
|
var import_mongodb2 = require("mongodb");
|
|
var import_mongodb2 = require("mongodb");
|
|
|
-var import_mongodb3 = require("mongodb");
|
|
|
|
|
|
|
|
|
|
// node_modules/@e22m4u/js-service/src/errors/invalid-argument-error.js
|
|
// node_modules/@e22m4u/js-service/src/errors/invalid-argument-error.js
|
|
|
var import_js_format = require("@e22m4u/js-format");
|
|
var import_js_format = require("@e22m4u/js-format");
|
|
@@ -1098,7 +1097,6 @@ var _MongodbAdapter = class _MongodbAdapter extends import_js_repository3.Adapte
|
|
|
* Mongodb instance.
|
|
* Mongodb instance.
|
|
|
*
|
|
*
|
|
|
* @type {MongoClient}
|
|
* @type {MongoClient}
|
|
|
- * @private
|
|
|
|
|
*/
|
|
*/
|
|
|
_client;
|
|
_client;
|
|
|
/**
|
|
/**
|
|
@@ -1113,14 +1111,13 @@ var _MongodbAdapter = class _MongodbAdapter extends import_js_repository3.Adapte
|
|
|
* Collections.
|
|
* Collections.
|
|
|
*
|
|
*
|
|
|
* @type {Map<any, any>}
|
|
* @type {Map<any, any>}
|
|
|
- * @private
|
|
|
|
|
*/
|
|
*/
|
|
|
_collections = /* @__PURE__ */ new Map();
|
|
_collections = /* @__PURE__ */ new Map();
|
|
|
/**
|
|
/**
|
|
|
* Constructor.
|
|
* Constructor.
|
|
|
*
|
|
*
|
|
|
* @param {ServiceContainer} container
|
|
* @param {ServiceContainer} container
|
|
|
- * @param settings
|
|
|
|
|
|
|
+ * @param {object} settings
|
|
|
*/
|
|
*/
|
|
|
constructor(container, settings) {
|
|
constructor(container, settings) {
|
|
|
settings = Object.assign({}, DEFAULT_SETTINGS, settings || {});
|
|
settings = Object.assign({}, DEFAULT_SETTINGS, settings || {});
|
|
@@ -1131,13 +1128,13 @@ var _MongodbAdapter = class _MongodbAdapter extends import_js_repository3.Adapte
|
|
|
super(container, settings);
|
|
super(container, settings);
|
|
|
const options = (0, import_js_repository3.selectObjectKeys)(this.settings, MONGODB_OPTION_NAMES);
|
|
const options = (0, import_js_repository3.selectObjectKeys)(this.settings, MONGODB_OPTION_NAMES);
|
|
|
const url = createMongodbUrl(this.settings);
|
|
const url = createMongodbUrl(this.settings);
|
|
|
- this._client = new import_mongodb3.MongoClient(url, options);
|
|
|
|
|
|
|
+ this._client = new import_mongodb2.MongoClient(url, options);
|
|
|
}
|
|
}
|
|
|
/**
|
|
/**
|
|
|
* Get id prop name.
|
|
* Get id prop name.
|
|
|
*
|
|
*
|
|
|
- * @param modelName
|
|
|
|
|
- * @private
|
|
|
|
|
|
|
+ * @param {string} modelName
|
|
|
|
|
+ * @returns {string}
|
|
|
*/
|
|
*/
|
|
|
_getIdPropName(modelName) {
|
|
_getIdPropName(modelName) {
|
|
|
return this.getService(import_js_repository3.ModelDefinitionUtils).getPrimaryKeyAsPropertyName(
|
|
return this.getService(import_js_repository3.ModelDefinitionUtils).getPrimaryKeyAsPropertyName(
|
|
@@ -1147,8 +1144,8 @@ var _MongodbAdapter = class _MongodbAdapter extends import_js_repository3.Adapte
|
|
|
/**
|
|
/**
|
|
|
* Get id col name.
|
|
* Get id col name.
|
|
|
*
|
|
*
|
|
|
- * @param modelName
|
|
|
|
|
- * @private
|
|
|
|
|
|
|
+ * @param {string} modelName
|
|
|
|
|
+ * @returns {string}
|
|
|
*/
|
|
*/
|
|
|
_getIdColName(modelName) {
|
|
_getIdColName(modelName) {
|
|
|
return this.getService(import_js_repository3.ModelDefinitionUtils).getPrimaryKeyAsColumnName(
|
|
return this.getService(import_js_repository3.ModelDefinitionUtils).getPrimaryKeyAsColumnName(
|
|
@@ -1158,9 +1155,8 @@ var _MongodbAdapter = class _MongodbAdapter extends import_js_repository3.Adapte
|
|
|
/**
|
|
/**
|
|
|
* Coerce id.
|
|
* Coerce id.
|
|
|
*
|
|
*
|
|
|
- * @param value
|
|
|
|
|
|
|
+ * @param {*} value
|
|
|
* @returns {ObjectId|*}
|
|
* @returns {ObjectId|*}
|
|
|
- * @private
|
|
|
|
|
*/
|
|
*/
|
|
|
_coerceId(value) {
|
|
_coerceId(value) {
|
|
|
if (value == null) return value;
|
|
if (value == null) return value;
|
|
@@ -1170,9 +1166,8 @@ var _MongodbAdapter = class _MongodbAdapter extends import_js_repository3.Adapte
|
|
|
/**
|
|
/**
|
|
|
* Coerce date.
|
|
* Coerce date.
|
|
|
*
|
|
*
|
|
|
- * @param value
|
|
|
|
|
|
|
+ * @param {Date|string|*} value
|
|
|
* @returns {Date|*}
|
|
* @returns {Date|*}
|
|
|
- * @private
|
|
|
|
|
*/
|
|
*/
|
|
|
_coerceDate(value) {
|
|
_coerceDate(value) {
|
|
|
if (value == null) return value;
|
|
if (value == null) return value;
|
|
@@ -1186,7 +1181,6 @@ var _MongodbAdapter = class _MongodbAdapter extends import_js_repository3.Adapte
|
|
|
* @param {string} modelName
|
|
* @param {string} modelName
|
|
|
* @param {object} modelData
|
|
* @param {object} modelData
|
|
|
* @returns {object}
|
|
* @returns {object}
|
|
|
- * @private
|
|
|
|
|
*/
|
|
*/
|
|
|
_toDatabase(modelName, modelData) {
|
|
_toDatabase(modelName, modelData) {
|
|
|
const tableData = this.getService(
|
|
const tableData = this.getService(
|
|
@@ -1216,7 +1210,6 @@ var _MongodbAdapter = class _MongodbAdapter extends import_js_repository3.Adapte
|
|
|
* @param {string} modelName
|
|
* @param {string} modelName
|
|
|
* @param {object} tableData
|
|
* @param {object} tableData
|
|
|
* @returns {object}
|
|
* @returns {object}
|
|
|
- * @private
|
|
|
|
|
*/
|
|
*/
|
|
|
_fromDatabase(modelName, tableData) {
|
|
_fromDatabase(modelName, tableData) {
|
|
|
if ("_id" in tableData) {
|
|
if ("_id" in tableData) {
|
|
@@ -1244,6 +1237,7 @@ var _MongodbAdapter = class _MongodbAdapter extends import_js_repository3.Adapte
|
|
|
* Get collection name by model name.
|
|
* Get collection name by model name.
|
|
|
*
|
|
*
|
|
|
* @param {string} modelName
|
|
* @param {string} modelName
|
|
|
|
|
+ * @returns {string}
|
|
|
*/
|
|
*/
|
|
|
_getCollectionNameByModelName(modelName) {
|
|
_getCollectionNameByModelName(modelName) {
|
|
|
const modelDef = this.getService(import_js_repository3.DefinitionRegistry).getModel(modelName);
|
|
const modelDef = this.getService(import_js_repository3.DefinitionRegistry).getModel(modelName);
|
|
@@ -1255,7 +1249,6 @@ var _MongodbAdapter = class _MongodbAdapter extends import_js_repository3.Adapte
|
|
|
*
|
|
*
|
|
|
* @param {string} modelName
|
|
* @param {string} modelName
|
|
|
* @returns {*}
|
|
* @returns {*}
|
|
|
- * @private
|
|
|
|
|
*/
|
|
*/
|
|
|
_getCollection(modelName) {
|
|
_getCollection(modelName) {
|
|
|
let collection = this._collections.get(modelName);
|
|
let collection = this._collections.get(modelName);
|
|
@@ -1268,9 +1261,8 @@ var _MongodbAdapter = class _MongodbAdapter extends import_js_repository3.Adapte
|
|
|
/**
|
|
/**
|
|
|
* Get id type.
|
|
* Get id type.
|
|
|
*
|
|
*
|
|
|
- * @param modelName
|
|
|
|
|
|
|
+ * @param {string} modelName
|
|
|
* @returns {string|*}
|
|
* @returns {string|*}
|
|
|
- * @private
|
|
|
|
|
*/
|
|
*/
|
|
|
_getIdType(modelName) {
|
|
_getIdType(modelName) {
|
|
|
const utils = this.getService(import_js_repository3.ModelDefinitionUtils);
|
|
const utils = this.getService(import_js_repository3.ModelDefinitionUtils);
|
|
@@ -1283,7 +1275,6 @@ var _MongodbAdapter = class _MongodbAdapter extends import_js_repository3.Adapte
|
|
|
* @param {string} modelName
|
|
* @param {string} modelName
|
|
|
* @param {string} propName
|
|
* @param {string} propName
|
|
|
* @returns {string}
|
|
* @returns {string}
|
|
|
- * @private
|
|
|
|
|
*/
|
|
*/
|
|
|
_getColName(modelName, propName) {
|
|
_getColName(modelName, propName) {
|
|
|
if (!propName || typeof propName !== "string")
|
|
if (!propName || typeof propName !== "string")
|
|
@@ -1308,7 +1299,6 @@ var _MongodbAdapter = class _MongodbAdapter extends import_js_repository3.Adapte
|
|
|
* @param {string} modelName
|
|
* @param {string} modelName
|
|
|
* @param {string} propsChain
|
|
* @param {string} propsChain
|
|
|
* @returns {string}
|
|
* @returns {string}
|
|
|
- * @private
|
|
|
|
|
*/
|
|
*/
|
|
|
_convertPropNamesChainToColNamesChain(modelName, propsChain) {
|
|
_convertPropNamesChainToColNamesChain(modelName, propsChain) {
|
|
|
if (!modelName || typeof modelName !== "string")
|
|
if (!modelName || typeof modelName !== "string")
|
|
@@ -1341,7 +1331,6 @@ var _MongodbAdapter = class _MongodbAdapter extends import_js_repository3.Adapte
|
|
|
* @param {string} modelName
|
|
* @param {string} modelName
|
|
|
* @param {string|string[]} fields
|
|
* @param {string|string[]} fields
|
|
|
* @returns {Record<string, number>|undefined}
|
|
* @returns {Record<string, number>|undefined}
|
|
|
- * @private
|
|
|
|
|
*/
|
|
*/
|
|
|
_buildProjection(modelName, fields) {
|
|
_buildProjection(modelName, fields) {
|
|
|
if (fields == null) return;
|
|
if (fields == null) return;
|
|
@@ -1368,7 +1357,6 @@ var _MongodbAdapter = class _MongodbAdapter extends import_js_repository3.Adapte
|
|
|
* @param {string} modelName
|
|
* @param {string} modelName
|
|
|
* @param {string|string[]} clause
|
|
* @param {string|string[]} clause
|
|
|
* @returns {object|undefined}
|
|
* @returns {object|undefined}
|
|
|
- * @private
|
|
|
|
|
*/
|
|
*/
|
|
|
_buildSort(modelName, clause) {
|
|
_buildSort(modelName, clause) {
|
|
|
if (clause == null) return;
|
|
if (clause == null) return;
|
|
@@ -1403,8 +1391,7 @@ var _MongodbAdapter = class _MongodbAdapter extends import_js_repository3.Adapte
|
|
|
*
|
|
*
|
|
|
* @param {string} modelName
|
|
* @param {string} modelName
|
|
|
* @param {object} clause
|
|
* @param {object} clause
|
|
|
- * @returns {object}
|
|
|
|
|
- * @private
|
|
|
|
|
|
|
+ * @returns {object|undefined}
|
|
|
*/
|
|
*/
|
|
|
_buildQuery(modelName, clause) {
|
|
_buildQuery(modelName, clause) {
|
|
|
if (clause == null) return;
|
|
if (clause == null) return;
|