q-koa 7.8.3 → 7.8.4

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.
Files changed (2) hide show
  1. package/core/app.js +27 -12
  2. package/package.json +1 -1
package/core/app.js CHANGED
@@ -729,17 +729,31 @@ class APP {
729
729
  }
730
730
 
731
731
  if (model1 && this.app[appName].model[model1]) {
732
- this.app[appName].model[model].hasOne(
733
- this.app[appName].model[model1],
734
- {
735
- foreignKey: 'id',
736
- sourceKey: `${model1}_id`,
737
- constraints: false,
738
- }
739
- )
740
- this.app[appName].include[model].push({
741
- model: this.app[appName].model[model1],
742
- })
732
+ const is_multiple =
733
+ (this.app[appName].attributes[model][model1 + '_id'].defaultValue &&
734
+ Array.isArray(
735
+ this.app[appName].attributes[model][model1 + '_id'].defaultValue
736
+ )) ||
737
+ (this.app[appName].attributes[model][model1 + '_id'].type &&
738
+ this.app[appName].attributes[model][model1 + '_id'].type ===
739
+ 'JSON') ||
740
+ (this.app[appName].attributes[model][model1 + '_id'].type &&
741
+ this.app[appName].attributes[model][model1 + '_id'].type.key &&
742
+ this.app[appName].attributes[model][model1 + '_id'].type.key ===
743
+ 'JSON')
744
+ if (!is_multiple) {
745
+ this.app[appName].model[model].hasOne(
746
+ this.app[appName].model[model1],
747
+ {
748
+ foreignKey: 'id',
749
+ sourceKey: `${model1}_id`,
750
+ constraints: false,
751
+ }
752
+ )
753
+ this.app[appName].include[model].push({
754
+ model: this.app[appName].model[model1],
755
+ })
756
+ }
743
757
  if (
744
758
  this.app[appName].attributes[model][`${model1}_id`].hasOne &&
745
759
  this.app[appName].attributes[model][`${model1}_id`].hasOne === true
@@ -1500,7 +1514,7 @@ class APP {
1500
1514
  if (rows.length === 0) ctx.SUCCESS([])
1501
1515
  let objList = {}
1502
1516
  for (let j = 0; j < specialInclude.length; j++) {
1503
- const model = specialInclude[j].model
1517
+ const { model, ...rest } = specialInclude[j]
1504
1518
  const modelName = model.getName()
1505
1519
  const modelIdList = _.uniq(
1506
1520
  rows
@@ -1517,6 +1531,7 @@ class APP {
1517
1531
  where: {
1518
1532
  id: modelIdList,
1519
1533
  },
1534
+ ...rest,
1520
1535
  })
1521
1536
  objList = {
1522
1537
  ...objList,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "q-koa",
3
- "version": "7.8.3",
3
+ "version": "7.8.4",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {