hola-server 0.3.24 → 0.3.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/db/entity.js +5 -3
- package/package.json +1 -1
- package/router/read.js +3 -2
package/db/entity.js
CHANGED
|
@@ -901,9 +901,11 @@ class Entity {
|
|
|
901
901
|
/**
|
|
902
902
|
* Convert ref element object id to ref_label
|
|
903
903
|
* @param {element of object} elements
|
|
904
|
+
* @param {*} passed_ref_fields, if not pass, use all meta ref_fields
|
|
904
905
|
* @returns
|
|
905
906
|
*/
|
|
906
|
-
async convert_ref_attrs(elements,
|
|
907
|
+
async convert_ref_attrs(elements, passed_ref_fields) {
|
|
908
|
+
const ref_fields = passed_ref_fields ? passed_ref_fields : this.meta.ref_fields;
|
|
907
909
|
if (elements && ref_fields && ref_fields.length > 0) {
|
|
908
910
|
for (let i = 0; i < ref_fields.length; i++) {
|
|
909
911
|
const ref_field = ref_fields[i];
|
|
@@ -1022,13 +1024,13 @@ class Entity {
|
|
|
1022
1024
|
* get ref labels of the object, use ref_filter
|
|
1023
1025
|
* @returns
|
|
1024
1026
|
*/
|
|
1025
|
-
get_filtered_ref_labels() {
|
|
1027
|
+
get_filtered_ref_labels(ref_by_entity) {
|
|
1026
1028
|
let query = {};
|
|
1027
1029
|
if (this.meta.user_field) {
|
|
1028
1030
|
query[this.meta.user_field] = get_session_userid();
|
|
1029
1031
|
}
|
|
1030
1032
|
if (this.meta.ref_filter) {
|
|
1031
|
-
query = { ...query, ...this.meta.ref_filter };
|
|
1033
|
+
query = ref_by_entity && this.meta.ref_filter[ref_by_entity] ? { ...query, ...this.meta.ref_filter[ref_by_entity] } : { ...query, ...this.meta.ref_filter };
|
|
1032
1034
|
}
|
|
1033
1035
|
return this.find_sort(query, { [this.meta.ref_label]: 1 }, { [this.meta.ref_label]: 1 });
|
|
1034
1036
|
}
|
package/package.json
CHANGED
package/router/read.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const { required_post_params } = require('../http/params');
|
|
1
|
+
const { required_post_params, get_params } = require('../http/params');
|
|
2
2
|
const { has_value } = require('../core/validate');
|
|
3
3
|
const { NO_PARAMS, SUCCESS } = require('../http/code');
|
|
4
4
|
const { get_session_userid } = require('../http/session');
|
|
@@ -30,7 +30,8 @@ const init_read_router = function (router, meta) {
|
|
|
30
30
|
}));
|
|
31
31
|
|
|
32
32
|
router.get('/ref', wrap_http(async function (req, res) {
|
|
33
|
-
const
|
|
33
|
+
const { ref_by_entity } = get_params(req, ["ref_by_entity"]);
|
|
34
|
+
const list = await entity.get_filtered_ref_labels(ref_by_entity);
|
|
34
35
|
const items = list.map(obj => ({ "text": obj[meta.ref_label], "value": obj["_id"] + "" }));
|
|
35
36
|
res.json({ code: SUCCESS, data: items });
|
|
36
37
|
}));
|