|
|
|
@ -1,10 +1,10 @@ |
|
|
|
import api from "./api" |
|
|
|
|
|
|
|
export default async function fetchData(datasource, _bb) { |
|
|
|
export default async function fetchData(datasource, store) { |
|
|
|
const { type, name } = datasource |
|
|
|
|
|
|
|
if (name) { |
|
|
|
let records |
|
|
|
let records = [] |
|
|
|
if (type === "model") { |
|
|
|
records = await fetchModelData() |
|
|
|
} else if (type === "view") { |
|
|
|
@ -20,7 +20,9 @@ export default async function fetchData(datasource, _bb) { |
|
|
|
records.forEach(record => { |
|
|
|
for (let key of keys) { |
|
|
|
if (model.schema[key].type === "link") { |
|
|
|
record[key] = Array.isArray(record[key]) ? record[key].length : 0 |
|
|
|
record[`${key}_count`] = Array.isArray(record[key]) |
|
|
|
? record[key].length |
|
|
|
: 0 |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
@ -62,14 +64,10 @@ export default async function fetchData(datasource, _bb) { |
|
|
|
} |
|
|
|
|
|
|
|
async function fetchLinkedRecordsData() { |
|
|
|
if ( |
|
|
|
!_bb.store.state || |
|
|
|
!_bb.store.state.data || |
|
|
|
!_bb.store.state.data._id |
|
|
|
) { |
|
|
|
if (!store || !store.data || !store.data._id) { |
|
|
|
return [] |
|
|
|
} |
|
|
|
const QUERY_URL = `/api/${_bb.store.state.data.modelId}/${_bb.store.state.data._id}/enrich` |
|
|
|
const QUERY_URL = `/api/${store.data.modelId}/${store.data._id}/enrich` |
|
|
|
const response = await api.get(QUERY_URL) |
|
|
|
const record = await response.json() |
|
|
|
return record[datasource.fieldName] |
|
|
|
|