Update
This commit is contained in:
parent
6b259676b2
commit
d75f1debda
|
@ -71,8 +71,9 @@ export async function patch(
|
||||||
}
|
}
|
||||||
|
|
||||||
export const save = async (ctx: UserCtx<Row, Row>) => {
|
export const save = async (ctx: UserCtx<Row, Row>) => {
|
||||||
const appId = ctx.appId
|
|
||||||
const { tableId } = utils.getSourceId(ctx)
|
const { tableId } = utils.getSourceId(ctx)
|
||||||
|
const { sourceId } = ctx.params
|
||||||
|
const appId = ctx.appId
|
||||||
const body = ctx.request.body
|
const body = ctx.request.body
|
||||||
|
|
||||||
// user metadata doesn't exist yet - don't allow creation
|
// user metadata doesn't exist yet - don't allow creation
|
||||||
|
@ -85,9 +86,9 @@ export const save = async (ctx: UserCtx<Row, Row>) => {
|
||||||
return patch(ctx as UserCtx<PatchRowRequest, PatchRowResponse>)
|
return patch(ctx as UserCtx<PatchRowRequest, PatchRowResponse>)
|
||||||
}
|
}
|
||||||
const { row, table, squashed } = tableId.includes("datasource_plus")
|
const { row, table, squashed } = tableId.includes("datasource_plus")
|
||||||
? await sdk.rows.save(tableId, ctx.request.body, ctx.user?._id)
|
? await sdk.rows.save(sourceId, ctx.request.body, ctx.user?._id)
|
||||||
: await quotas.addRow(() =>
|
: await quotas.addRow(() =>
|
||||||
sdk.rows.save(tableId, ctx.request.body, ctx.user?._id)
|
sdk.rows.save(sourceId, ctx.request.body, ctx.user?._id)
|
||||||
)
|
)
|
||||||
ctx.status = 200
|
ctx.status = 200
|
||||||
ctx.eventEmitter && ctx.eventEmitter.emitRow(`row:save`, appId, row, table)
|
ctx.eventEmitter && ctx.eventEmitter.emitRow(`row:save`, appId, row, table)
|
||||||
|
|
|
@ -123,7 +123,11 @@ export async function updateAllFormulasInTable(table: Table) {
|
||||||
export async function finaliseRow(
|
export async function finaliseRow(
|
||||||
table: Table,
|
table: Table,
|
||||||
row: Row,
|
row: Row,
|
||||||
{ oldTable, updateFormula }: { oldTable?: Table; updateFormula: boolean } = {
|
{
|
||||||
|
oldTable,
|
||||||
|
updateFormula,
|
||||||
|
fromViewId,
|
||||||
|
}: { oldTable?: Table; updateFormula: boolean; fromViewId?: string } = {
|
||||||
updateFormula: true,
|
updateFormula: true,
|
||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
|
@ -154,6 +158,8 @@ export async function finaliseRow(
|
||||||
if (updateFormula) {
|
if (updateFormula) {
|
||||||
await updateRelatedFormula(table, enrichedRow)
|
await updateRelatedFormula(table, enrichedRow)
|
||||||
}
|
}
|
||||||
const squashed = await linkRows.squashLinks(table, enrichedRow)
|
const squashed = await linkRows.squashLinks(table, enrichedRow, {
|
||||||
|
fromViewId,
|
||||||
|
})
|
||||||
return { row: enrichedRow, squashed, table }
|
return { row: enrichedRow, squashed, table }
|
||||||
}
|
}
|
||||||
|
|
|
@ -2618,7 +2618,7 @@ describe.each([
|
||||||
return rows.find(r => r._id === row._id!)
|
return rows.find(r => r._id === row._id!)
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
// ["from original saved row", (row: Row) => row],
|
["from original saved row", (row: Row) => row],
|
||||||
]
|
]
|
||||||
|
|
||||||
it.each(testScenarios)(
|
it.each(testScenarios)(
|
||||||
|
|
|
@ -27,10 +27,11 @@ export async function getRow(
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function save(
|
export async function save(
|
||||||
tableId: string,
|
tableOrViewId: string,
|
||||||
inputs: Row,
|
inputs: Row,
|
||||||
userId: string | undefined
|
userId: string | undefined
|
||||||
) {
|
) {
|
||||||
|
const { tableId, viewId } = tryExtractingTableAndViewId(tableOrViewId)
|
||||||
const table = await sdk.tables.getTable(tableId)
|
const table = await sdk.tables.getTable(tableId)
|
||||||
const { table: updatedTable, row } = await inputProcessing(
|
const { table: updatedTable, row } = await inputProcessing(
|
||||||
userId,
|
userId,
|
||||||
|
@ -64,6 +65,7 @@ export async function save(
|
||||||
row: await outputProcessing(table, row, {
|
row: await outputProcessing(table, row, {
|
||||||
preserveLinks: true,
|
preserveLinks: true,
|
||||||
squash: true,
|
squash: true,
|
||||||
|
fromViewId: viewId,
|
||||||
}),
|
}),
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -13,10 +13,11 @@ import { getFullUser } from "../../../utilities/users"
|
||||||
import { tryExtractingTableAndViewId } from "./utils"
|
import { tryExtractingTableAndViewId } from "./utils"
|
||||||
|
|
||||||
export async function save(
|
export async function save(
|
||||||
tableId: string,
|
tableOrViewId: string,
|
||||||
inputs: Row,
|
inputs: Row,
|
||||||
userId: string | undefined
|
userId: string | undefined
|
||||||
) {
|
) {
|
||||||
|
const { tableId, viewId } = tryExtractingTableAndViewId(tableOrViewId)
|
||||||
inputs.tableId = tableId
|
inputs.tableId = tableId
|
||||||
|
|
||||||
if (!inputs._rev && !inputs._id) {
|
if (!inputs._rev && !inputs._id) {
|
||||||
|
@ -51,6 +52,7 @@ export async function save(
|
||||||
return finaliseRow(table, row, {
|
return finaliseRow(table, row, {
|
||||||
oldTable: dbTable,
|
oldTable: dbTable,
|
||||||
updateFormula: true,
|
updateFormula: true,
|
||||||
|
fromViewId: viewId,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,11 +37,11 @@ function pickApi(tableOrViewId: string) {
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function save(
|
export async function save(
|
||||||
tableId: string,
|
tableOrViewId: string,
|
||||||
row: Row,
|
row: Row,
|
||||||
userId: string | undefined
|
userId: string | undefined
|
||||||
) {
|
) {
|
||||||
return pickApi(tableId).save(tableId, row, userId)
|
return pickApi(tableOrViewId).save(tableOrViewId, row, userId)
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function find(tableOrViewId: string, rowId: string) {
|
export async function find(tableOrViewId: string, rowId: string) {
|
||||||
|
|
Loading…
Reference in New Issue