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 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, ref_fields) {
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hola-server",
3
- "version": "0.3.24",
3
+ "version": "0.3.26",
4
4
  "description": "a meta programming framework used to build nodejs restful api",
5
5
  "main": "index.js",
6
6
  "scripts": {
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 list = await entity.get_filtered_ref_labels();
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
  }));