Frontend usage of API.
This commit is contained in:
parent
be301df399
commit
b214019dbe
|
@ -2,12 +2,14 @@ import {
|
|||
DeleteScreenResponse,
|
||||
SaveScreenRequest,
|
||||
SaveScreenResponse,
|
||||
UsageOfScreensResponse,
|
||||
} from "@budibase/types"
|
||||
import { BaseAPIClient } from "./types"
|
||||
|
||||
export interface ScreenEndpoints {
|
||||
saveScreen: (screen: SaveScreenRequest) => Promise<SaveScreenResponse>
|
||||
deleteScreen: (id: string, rev: string) => Promise<DeleteScreenResponse>
|
||||
usageOfScreens: (sourceId: string) => Promise<UsageOfScreensResponse>
|
||||
}
|
||||
|
||||
export const buildScreenEndpoints = (API: BaseAPIClient): ScreenEndpoints => ({
|
||||
|
@ -32,4 +34,10 @@ export const buildScreenEndpoints = (API: BaseAPIClient): ScreenEndpoints => ({
|
|||
url: `/api/screens/${id}/${rev}`,
|
||||
})
|
||||
},
|
||||
|
||||
usageOfScreens: async sourceId => {
|
||||
return await API.post({
|
||||
url: `/api/screens/usage/${sourceId}`,
|
||||
})
|
||||
},
|
||||
})
|
||||
|
|
|
@ -16,7 +16,7 @@ import {
|
|||
SaveScreenRequest,
|
||||
SaveScreenResponse,
|
||||
DeleteScreenResponse,
|
||||
UsageScreenResponse,
|
||||
UsageOfScreensResponse,
|
||||
ScreenUsage,
|
||||
} from "@budibase/types"
|
||||
import { builderSocket } from "../../websockets"
|
||||
|
@ -137,7 +137,7 @@ function findPlugins(component: ScreenProps, foundPlugins: string[]) {
|
|||
component._children.forEach(child => findPlugins(child, foundPlugins))
|
||||
}
|
||||
|
||||
export async function usage(ctx: UserCtx<void, UsageScreenResponse>) {
|
||||
export async function usage(ctx: UserCtx<void, UsageOfScreensResponse>) {
|
||||
const sourceId = ctx.params.sourceId
|
||||
const sourceType = sdk.common.getSourceType(sourceId)
|
||||
const allScreens = await sdk.screens.fetch()
|
||||
|
|
|
@ -6,7 +6,7 @@ import {
|
|||
Role,
|
||||
BuiltinPermissionID,
|
||||
SourceType,
|
||||
UsageScreenResponse,
|
||||
UsageOfScreensResponse,
|
||||
} from "@budibase/types"
|
||||
|
||||
const {
|
||||
|
@ -210,7 +210,7 @@ describe("/screens", () => {
|
|||
})
|
||||
})
|
||||
|
||||
function confirmScreen(usage: UsageScreenResponse, screen: Screen) {
|
||||
function confirmScreen(usage: UsageOfScreensResponse, screen: Screen) {
|
||||
expect(usage.screens.length).toEqual(1)
|
||||
expect(usage.screens[0].url).toEqual(screen.routing.route)
|
||||
expect(usage.screens[0]._id).toEqual(screen._id!)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { Screen, UsageScreenResponse } from "@budibase/types"
|
||||
import { Screen, UsageOfScreensResponse } from "@budibase/types"
|
||||
import { Expectations, TestAPI } from "./base"
|
||||
|
||||
export class ScreenAPI extends TestAPI {
|
||||
|
@ -32,9 +32,12 @@ export class ScreenAPI extends TestAPI {
|
|||
usage = async (
|
||||
sourceId: string,
|
||||
expectations?: Expectations
|
||||
): Promise<UsageScreenResponse> => {
|
||||
return this._post<UsageScreenResponse>(`/api/screens/usage/${sourceId}`, {
|
||||
expectations,
|
||||
})
|
||||
): Promise<UsageOfScreensResponse> => {
|
||||
return this._post<UsageOfScreensResponse>(
|
||||
`/api/screens/usage/${sourceId}`,
|
||||
{
|
||||
expectations,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@ export interface ScreenUsage {
|
|||
_id: string
|
||||
}
|
||||
|
||||
export interface UsageScreenResponse {
|
||||
export interface UsageOfScreensResponse {
|
||||
sourceType: SourceType
|
||||
screens: ScreenUsage[]
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue