Refactor paths
This commit is contained in:
parent
7155d75906
commit
4bbb1b0289
|
@ -7,12 +7,17 @@ export async function fetch(ctx: Ctx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function find(ctx: Ctx) {
|
export async function find(ctx: Ctx) {
|
||||||
const viewId = `${DocumentType.VIEW}${SEPARATOR}${ctx.params.viewId}`
|
const { tableId, viewId } = ctx.params
|
||||||
ctx.body = await sdk.views.get(viewId)
|
|
||||||
|
const result = await sdk.views.get(viewId)
|
||||||
|
if (result?.tableId !== tableId) {
|
||||||
|
ctx.throw(404)
|
||||||
|
}
|
||||||
|
ctx.body = result
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function findByTable(ctx: Ctx) {
|
export async function findByTable(ctx: Ctx) {
|
||||||
const tableId = `${DocumentType.TABLE}${SEPARATOR}${ctx.params.tableId}`
|
const { tableId } = ctx.params
|
||||||
ctx.body = { views: await sdk.views.findByTable(tableId) }
|
ctx.body = { views: await sdk.views.findByTable(tableId) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import * as setup from "./utilities"
|
import * as setup from "./utilities"
|
||||||
import { FieldType, Table, ViewV2 } from "@budibase/types"
|
import { FieldType, Table, ViewV2 } from "@budibase/types"
|
||||||
import { generator } from "@budibase/backend-core/tests"
|
import { generator, structures } from "@budibase/backend-core/tests"
|
||||||
import sdk from "../../../sdk"
|
import sdk from "../../../sdk"
|
||||||
|
|
||||||
function priceTable(): Table {
|
function priceTable(): Table {
|
||||||
|
@ -45,12 +45,17 @@ describe("/views/v2", () => {
|
||||||
.expect(200)
|
.expect(200)
|
||||||
}
|
}
|
||||||
|
|
||||||
const getView = async (viewId: string) => {
|
const getView = ({
|
||||||
|
tableId,
|
||||||
|
viewId,
|
||||||
|
}: {
|
||||||
|
tableId: string
|
||||||
|
viewId: string
|
||||||
|
}) => {
|
||||||
return request
|
return request
|
||||||
.get(`/api/views/v2/${viewId}`)
|
.get(`/api/views/v2/${tableId}/${viewId}`)
|
||||||
.set(config.defaultHeaders())
|
.set(config.defaultHeaders())
|
||||||
.expect("Content-Type", /json/)
|
.expect("Content-Type", /json/)
|
||||||
.expect(200)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function createView(tableId: string): ViewV2 {
|
function createView(tableId: string): ViewV2 {
|
||||||
|
@ -114,8 +119,11 @@ describe("/views/v2", () => {
|
||||||
view = (await saveView(createView(table._id!))).body
|
view = (await saveView(createView(table._id!))).body
|
||||||
})
|
})
|
||||||
|
|
||||||
it("persist the view when the view is successfully created", async () => {
|
it("can fetch the expected view", async () => {
|
||||||
const res = await getView(view._id)
|
const res = await getView({
|
||||||
|
tableId: view.tableId,
|
||||||
|
viewId: view._id,
|
||||||
|
}).expect(200)
|
||||||
expect(res.status).toBe(200)
|
expect(res.status).toBe(200)
|
||||||
expect(res.body._id).toBeDefined()
|
expect(res.body._id).toBeDefined()
|
||||||
|
|
||||||
|
@ -127,6 +135,13 @@ describe("/views/v2", () => {
|
||||||
updatedAt: expect.any(String),
|
updatedAt: expect.any(String),
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it("will return 404 if the wrong table id is provided", async () => {
|
||||||
|
await getView({
|
||||||
|
tableId: structures.generator.guid(),
|
||||||
|
viewId: view._id,
|
||||||
|
}).expect(404)
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe("create", () => {
|
describe("create", () => {
|
||||||
|
|
|
@ -14,12 +14,12 @@ router
|
||||||
viewController.v2.fetch
|
viewController.v2.fetch
|
||||||
)
|
)
|
||||||
.get(
|
.get(
|
||||||
`/api/views/v2/${DocumentType.TABLE}${SEPARATOR}:tableId`,
|
`/api/views/v2/:tableId`,
|
||||||
authorized(permissions.BUILDER),
|
authorized(permissions.BUILDER),
|
||||||
viewController.v2.findByTable
|
viewController.v2.findByTable
|
||||||
)
|
)
|
||||||
.get(
|
.get(
|
||||||
`/api/views/v2/${DocumentType.VIEW}${SEPARATOR}:viewId`,
|
`/api/views/v2/:tableId/:viewId`,
|
||||||
authorized(permissions.BUILDER),
|
authorized(permissions.BUILDER),
|
||||||
viewController.v2.find
|
viewController.v2.find
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue