From b82876b147b3995379742bbe3e8a51d757412978 Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Wed, 19 Jul 2023 15:35:41 +0200 Subject: [PATCH] Remove view fetch logic --- .../src/api/controllers/view/viewsV2.ts | 21 +----- .../src/api/routes/tests/viewV2.spec.ts | 66 ------------------- packages/server/src/api/routes/view.ts | 5 -- packages/server/src/sdk/app/views/index.ts | 33 +--------- .../server/src/tests/utilities/api/viewV2.ts | 15 ----- packages/types/src/api/web/app/view.ts | 4 -- 6 files changed, 2 insertions(+), 142 deletions(-) diff --git a/packages/server/src/api/controllers/view/viewsV2.ts b/packages/server/src/api/controllers/view/viewsV2.ts index 1b6b7a5f31..ae324c0391 100644 --- a/packages/server/src/api/controllers/view/viewsV2.ts +++ b/packages/server/src/api/controllers/view/viewsV2.ts @@ -1,24 +1,5 @@ import sdk from "../../../sdk" -import { - CreateViewRequest, - Ctx, - FetchViewResponse, - ViewResponse, -} from "@budibase/types" - -export async function fetch(ctx: Ctx) { - const { tableId } = ctx.query - - if (tableId && typeof tableId !== "string") { - ctx.throw(400, "tableId type is not valid") - } - - const views = tableId - ? await sdk.views.findByTable(tableId) - : await sdk.views.fetch() - - ctx.body = { views } -} +import { CreateViewRequest, Ctx, ViewResponse } from "@budibase/types" export async function find(ctx: Ctx) { const { viewId } = ctx.params diff --git a/packages/server/src/api/routes/tests/viewV2.spec.ts b/packages/server/src/api/routes/tests/viewV2.spec.ts index 3b628d584c..d40bd82bcf 100644 --- a/packages/server/src/api/routes/tests/viewV2.spec.ts +++ b/packages/server/src/api/routes/tests/viewV2.spec.ts @@ -43,72 +43,6 @@ describe("/v2/views", () => { await config.createTable(priceTable()) }) - describe("fetch", () => { - const views: ViewV2[] = [] - - beforeAll(async () => { - await config.createTable(priceTable()) - for (let id = 0; id < 10; id++) { - views.push(await config.api.viewV2.create()) - } - }) - - it("returns all views", async () => { - const res = await config.api.viewV2.fetch() - - expect(res.body.views.length).toBe(10) - expect(res.body.views).toEqual( - expect.arrayContaining(views.map(v => expect.objectContaining(v))) - ) - }) - - it("can filter by table id", async () => { - const newTable = await config.createTable(priceTable(), { - skipReassigning: true, - }) - const newViews = [] - for (let id = 0; id < 5; id++) { - newViews.push(await config.api.viewV2.create({ tableId: newTable._id })) - } - - const res = await config.api.viewV2.fetch(newTable._id) - - expect(res.body.views.length).toBe(5) - expect(res.body.views).toEqual( - expect.arrayContaining(newViews.map(v => expect.objectContaining(v))) - ) - }) - - it("can not filter by multiple table ids", async () => { - const res = await config - .getRequest()! - .get( - `/api/v2/views?tableId=${structures.generator.guid()}&tableId=${structures.generator.guid()}` - ) - .set(config.defaultHeaders()) - .expect("Content-Type", /json/) - .expect(400) - - expect(res.body.message).toBe("tableId type is not valid") - }) - - it("returns views with query info", async () => { - const newView = await config.api.viewV2.create({ ...viewFilters }) - const res = await config.api.viewV2.fetch(config.table!._id) - - expect(res.body.views.length).toBe(11) - expect(newView.query).toEqual({ allOr: false, equal: { field: "value" } }) - expect(res.body.views).toEqual( - expect.arrayContaining([ - expect.objectContaining({ - ...newView, - ...viewFilters, - }), - ]) - ) - }) - }) - describe("getView", () => { let view: ViewV2 beforeAll(async () => { diff --git a/packages/server/src/api/routes/view.ts b/packages/server/src/api/routes/view.ts index 155fce1aad..8850b0882b 100644 --- a/packages/server/src/api/routes/view.ts +++ b/packages/server/src/api/routes/view.ts @@ -8,11 +8,6 @@ import { DocumentType, SEPARATOR, permissions } from "@budibase/backend-core" const router: Router = new Router() router - .get( - "/api/v2/views", - authorized(permissions.BUILDER), - viewController.v2.fetch - ) .get( `/api/v2/views/:viewId`, authorized(permissions.BUILDER), diff --git a/packages/server/src/sdk/app/views/index.ts b/packages/server/src/sdk/app/views/index.ts index fbac7b757a..542c8df82c 100644 --- a/packages/server/src/sdk/app/views/index.ts +++ b/packages/server/src/sdk/app/views/index.ts @@ -1,38 +1,7 @@ -import { - DocumentType, - SEPARATOR, - UNICODE_MAX, - context, -} from "@budibase/backend-core" +import { context } from "@budibase/backend-core" import { ViewV2 } from "@budibase/types" import * as utils from "../../../db/utils" -export async function fetch(): Promise { - const db = context.getAppDB() - - const startKey = `${DocumentType.VIEW}${SEPARATOR}` - const response = await db.allDocs({ - startkey: startKey, - endkey: `${startKey}${UNICODE_MAX}`, - include_docs: true, - }) - - return response.rows.map(r => r.doc) -} - -export async function findByTable(tableId: string): Promise { - const db = context.getAppDB() - - const startKey = utils.viewIDPrefix(tableId) - const response = await db.allDocs({ - startkey: startKey, - endkey: `${startKey}${UNICODE_MAX}`, - include_docs: true, - }) - - return response.rows.map(r => r.doc) -} - export async function get(viewId: string): Promise { const db = context.getAppDB() try { diff --git a/packages/server/src/tests/utilities/api/viewV2.ts b/packages/server/src/tests/utilities/api/viewV2.ts index a830a68ec9..e261b55166 100644 --- a/packages/server/src/tests/utilities/api/viewV2.ts +++ b/packages/server/src/tests/utilities/api/viewV2.ts @@ -41,21 +41,6 @@ export class ViewV2API extends TestAPI { .expect(expectStatus) } - fetch = async ( - tableId?: string, - { expectStatus } = { expectStatus: 200 } - ) => { - let url = `/api/v2/views?` - if (tableId) { - url += `tableId=${tableId}&` - } - return this.request - .get(url) - .set(this.config.defaultHeaders()) - .expect("Content-Type", /json/) - .expect(expectStatus) - } - delete = async (viewId: string, { expectStatus } = { expectStatus: 204 }) => { return this.request .delete(`/api/v2/views/${viewId}`) diff --git a/packages/types/src/api/web/app/view.ts b/packages/types/src/api/web/app/view.ts index 6ebe8b8a36..e30d35d8ab 100644 --- a/packages/types/src/api/web/app/view.ts +++ b/packages/types/src/api/web/app/view.ts @@ -1,9 +1,5 @@ import { ViewV2 } from "../../../documents" -export interface FetchViewResponse { - views: ViewV2[] -} - export interface ViewResponse { data: ViewV2 }