Create updating page

This commit is contained in:
Adria Navarro 2023-12-12 18:38:29 +01:00
parent 46f8f4da58
commit 165d86c246
2 changed files with 25 additions and 3 deletions

View File

@ -1,14 +1,34 @@
import { context } from "@budibase/backend-core"
import { migrate as migrationImpl, MIGRATIONS } from "../../migrations" import { migrate as migrationImpl, MIGRATIONS } from "../../migrations"
import { BBContext } from "@budibase/types" import { Ctx } from "@budibase/types"
import {
getAppMigrationVersion,
getLatestMigrationId,
} from "../../appMigrations"
export async function migrate(ctx: BBContext) { export async function migrate(ctx: Ctx) {
const options = ctx.request.body const options = ctx.request.body
// don't await as can take a while, just return // don't await as can take a while, just return
migrationImpl(options) migrationImpl(options)
ctx.status = 200 ctx.status = 200
} }
export async function fetchDefinitions(ctx: BBContext) { export async function fetchDefinitions(ctx: Ctx) {
ctx.body = MIGRATIONS ctx.body = MIGRATIONS
ctx.status = 200 ctx.status = 200
} }
export async function migrationCompleted(ctx: Ctx) {
const appId = context.getAppId()
if (!appId) {
ctx.throw("AppId could not be found")
}
const latestAppliedMigration = await getAppMigrationVersion(appId)
const migrated = latestAppliedMigration === getLatestMigrationId()
ctx.body = { migrated }
ctx.status = 200
}

View File

@ -11,4 +11,6 @@ router
auth.internalApi, auth.internalApi,
migrationsController.fetchDefinitions migrationsController.fetchDefinitions
) )
.get("/api/migrations/status", migrationsController.migrationCompleted)
export default router export default router