1
0
Fork 0
mirror of synced 2024-05-06 13:32:37 +12:00
This commit is contained in:
Mel O'Hagan 2022-10-03 17:18:16 +01:00
parent 4f238d9c10
commit 268dd0ace5
6 changed files with 39 additions and 45 deletions

View file

@ -322,29 +322,29 @@ class MongoIntegration implements IntegrationBase {
}
}
async aggregate(query: { steps: any[]; extra: { [key: string]: string } }) {
try {
await this.connect()
const db = this.client.db(this.config.db)
const collection = db.collection(query.extra.collection)
let response = {}
for await (const doc of collection.aggregate(
query.steps.map(({ key, value }) => {
let temp: any = {}
temp[key] = JSON.parse(value.value)
return temp
})
)) {
response = doc
}
return response
} catch (err) {
console.error("Error writing to mongodb", err)
throw err
} finally {
await this.client.close()
async aggregate(query: { steps: any[]; extra: { [key: string]: string } }) {
try {
await this.connect()
const db = this.client.db(this.config.db)
const collection = db.collection(query.extra.collection)
let response = {}
for await (const doc of collection.aggregate(
query.steps.map(({ key, value }) => {
let temp: any = {}
temp[key] = JSON.parse(value.value)
return temp
})
)) {
response = doc
}
return response
} catch (err) {
console.error("Error writing to mongodb", err)
throw err
} finally {
await this.client.close()
}
}
}
export default {

View file

@ -16,9 +16,7 @@ class InternalAPIClient {
constructor(appId?: string) {
if (!env.BUDIBASE_SERVER_URL) {
throw new Error(
"Must set BUDIBASE_SERVER_URL env var"
)
throw new Error("Must set BUDIBASE_SERVER_URL env var")
}
this.host = `${env.BUDIBASE_SERVER_URL}/api`
this.appId = appId
@ -55,4 +53,4 @@ class InternalAPIClient {
put = this.apiCall("PUT")
}
export default InternalAPIClient
export default InternalAPIClient

View file

@ -1,6 +1,4 @@
import {
Application,
} from "@budibase/server/api/controllers/public/mapping/types"
import { Application } from "@budibase/server/api/controllers/public/mapping/types"
import { App } from "@budibase/types"
import { Response } from "node-fetch"
import InternalAPIClient from "./InternalAPIClient"
@ -37,9 +35,7 @@ export default class AppApi {
return [response, json]
}
async create(
body: any
): Promise<[Response, Partial<App>]> {
async create(body: any): Promise<[Response, Partial<App>]> {
const response = await this.api.post(`/applications`, { body })
const json = await response.json()
return [response, json]

View file

@ -9,11 +9,11 @@ export default class AuthApi {
}
async login(): Promise<[Response, any]> {
const response = await this.api.post(`/global/auth/default/login`, {
const response = await this.api.post(`/global/auth/default/login`, {
body: {
username: process.env.BB_ADMIN_USER_EMAIL,
password: process.env.BB_ADMIN_USER_PASSWORD
}
password: process.env.BB_ADMIN_USER_PASSWORD,
},
})
const cookie = response.headers.get("set-cookie")
this.api.cookie = cookie as any

View file

@ -1,10 +1,9 @@
import generator from "../../generator"
import {
Application,
} from "@budibase/server/api/controllers/public/mapping/types"
import { Application } from "@budibase/server/api/controllers/public/mapping/types"
const generate = (overrides: Partial<Application> = {}): Partial<Application> => ({
const generate = (
overrides: Partial<Application> = {}
): Partial<Application> => ({
name: generator.word(),
url: `/${generator.word()}`,
...overrides,

View file

@ -24,14 +24,14 @@ describe("Internal API - /applications endpoints", () => {
useTemplate: "true",
templateName: "Near Miss Register",
templateKey: "app/near-miss-register",
templateFile: undefined
templateFile: undefined,
})
}
it("GET - fetch applications", async () => {
await config.applications.create({
...generateApp(),
useTemplate: false
useTemplate: false,
})
const [response, apps] = await config.applications.fetch()
expect(response).toHaveStatusCode(200)
@ -57,7 +57,7 @@ describe("Internal API - /applications endpoints", () => {
expect(publish).toEqual({
_id: expect.any(String),
appUrl: app.url,
status: "SUCCESS"
status: "SUCCESS",
})
})
@ -70,7 +70,8 @@ describe("Internal API - /applications endpoints", () => {
config.applications.api.appId = app.appId
// check preview renders
const [previewResponse, previewRenders] = await config.applications.canRender()
const [previewResponse, previewRenders] =
await config.applications.canRender()
expect(previewResponse).toHaveStatusCode(200)
expect(previewRenders).toBe(true)
@ -79,8 +80,8 @@ describe("Internal API - /applications endpoints", () => {
// check published app renders
config.applications.api.appId = db.getProdAppID(app.appId)
const [publishedAppResponse, publishedAppRenders] = await config.applications.canRender()
const [publishedAppResponse, publishedAppRenders] =
await config.applications.canRender()
expect(publishedAppRenders).toBe(true)
})
})