Browse Source
Merge pull request #7640 from Budibase/clear-quota-cache
Clear quota cache on deprovision + gracefully handle account metadata deletion
master
Rory Powell
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with
11 additions and
6 deletions
-
packages/worker/src/api/controllers/system/tenants.js
-
packages/worker/src/api/routes/system/tests/accounts.spec.ts
-
packages/worker/src/sdk/accounts/accounts.ts
|
|
|
@ -1,6 +1,7 @@ |
|
|
|
const { StaticDatabases, doWithDB } = require("@budibase/backend-core/db") |
|
|
|
const { getTenantId } = require("@budibase/backend-core/tenancy") |
|
|
|
const { deleteTenant } = require("@budibase/backend-core/deprovision") |
|
|
|
const { quotas } = require("@budibase/pro") |
|
|
|
|
|
|
|
exports.exists = async ctx => { |
|
|
|
const tenantId = ctx.request.params |
|
|
|
@ -48,6 +49,7 @@ exports.delete = async ctx => { |
|
|
|
|
|
|
|
try { |
|
|
|
await deleteTenant(tenantId) |
|
|
|
await quotas.bustCache() |
|
|
|
ctx.status = 204 |
|
|
|
} catch (err) { |
|
|
|
ctx.log.error(err) |
|
|
|
|
|
|
|
@ -47,10 +47,7 @@ describe("accounts", () => { |
|
|
|
|
|
|
|
const response = await api.accounts.destroyMetadata(id) |
|
|
|
|
|
|
|
expect(response.status).toBe(404) |
|
|
|
expect(response.body.message).toBe( |
|
|
|
`id=${accounts.formatAccountMetadataId(id)} does not exist` |
|
|
|
) |
|
|
|
expect(response.status).toBe(204) |
|
|
|
}) |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
@ -46,8 +46,14 @@ export const destroyMetadata = async (accountId: string) => { |
|
|
|
await db.doWithDB(StaticDatabases.PLATFORM_INFO.name, async (db: any) => { |
|
|
|
const metadata = await getMetadata(accountId) |
|
|
|
if (!metadata) { |
|
|
|
throw new HTTPError(`id=${accountId} does not exist`, 404) |
|
|
|
return |
|
|
|
} |
|
|
|
try { |
|
|
|
await db.remove(accountId, metadata._rev) |
|
|
|
} catch (e: any) { |
|
|
|
if (e.status !== 404) { |
|
|
|
throw e |
|
|
|
} |
|
|
|
} |
|
|
|
await db.remove(accountId, metadata._rev) |
|
|
|
}) |
|
|
|
} |
|
|
|
|