This commit is contained in:
mike12345567 2021-06-30 18:33:55 +01:00
parent 3ed5cff945
commit a15d15decb
3 changed files with 43 additions and 12 deletions

View File

@ -79,9 +79,17 @@ async function handleRequest(
}
await Promise.all(promises)
}
const output = outputProcessing(response, table, relationships, tables, fullDocs)
const output = outputProcessing(
response,
table,
relationships,
tables,
fullDocs
)
// if reading it'll just be an array of rows, return whole thing
return operation === DataSourceOperation.READ && Array.isArray(response) ? output : { row: output[0], table }
return operation === DataSourceOperation.READ && Array.isArray(response)
? output
: { row: output[0], table }
}
exports.patch = async ctx => {
@ -123,9 +131,14 @@ exports.find = async ctx => {
const appId = ctx.appId
const id = ctx.params.rowId
const tableId = ctx.params.tableId
const response = await handleRequest(appId, DataSourceOperation.READ, tableId, {
const response = await handleRequest(
appId,
DataSourceOperation.READ,
tableId,
{
id,
})
}
)
return response ? response[0] : response
}
@ -227,9 +240,14 @@ exports.fetchEnrichedRow = async ctx => {
const id = ctx.params.rowId
const tableId = ctx.params.tableId
// TODO: this only enriches the full docs 1 layer deep, need to join those as well
const response = await handleRequest(appId, DataSourceOperation.READ, tableId, {
const response = await handleRequest(
appId,
DataSourceOperation.READ,
tableId,
{
id,
fullDocs: true,
})
}
)
return response ? response[0] : response
}

View File

@ -76,7 +76,13 @@ exports.generateIdForRow = (row, table) => {
return generateRowIdField(idParts)
}
exports.updateRelationshipColumns = (row, rows, relationships, allTables, fullDocs) => {
exports.updateRelationshipColumns = (
row,
rows,
relationships,
allTables,
fullDocs
) => {
const columns = {}
for (let relationship of relationships) {
const linkedTable = allTables[relationship.tableName]
@ -106,7 +112,13 @@ exports.updateRelationshipColumns = (row, rows, relationships, allTables, fullDo
return rows
}
exports.outputProcessing = (rows, table, relationships, allTables, fullDocs) => {
exports.outputProcessing = (
rows,
table,
relationships,
allTables,
fullDocs
) => {
// if no rows this is what is returned? Might be PG only
if (rows[0].read === true) {
return []

View File

@ -8,7 +8,8 @@
"strict": true,
"noImplicitAny": true,
"esModuleInterop": true,
"resolveJsonModule": true
"resolveJsonModule": true,
"incremental": true
},
"include": [
"./src/**/*"