1
0
Fork 0
mirror of synced 2024-07-03 13:30:46 +12:00

Type request and body

This commit is contained in:
Adria Navarro 2023-01-16 10:15:00 +00:00
parent 23266bd456
commit 946cc35ff7
3 changed files with 15 additions and 8 deletions

View file

@ -7,10 +7,10 @@ import {
roles as rolesCore,
db as dbCore,
} from "@budibase/backend-core"
import { BBContext, Ctx, isUser, User } from "@budibase/types"
import { BBContext, Ctx, SyncUserRequest, User } from "@budibase/types"
import sdk from "../../sdk"
export async function syncUser(ctx: Ctx) {
export async function syncUser(ctx: Ctx<SyncUserRequest>) {
let deleting = false,
user: User | any
const userId = ctx.params.id
@ -28,10 +28,9 @@ export async function syncUser(ctx: Ctx) {
}
}
let previousApps =
previousUser && isUser(previousUser)
? Object.keys(previousUser.roles).map(appId => appId)
: []
let previousApps = previousUser
? Object.keys(previousUser.roles).map(appId => appId)
: []
const roles = deleting ? {} : user.roles
// remove props which aren't useful to metadata

View file

@ -57,3 +57,7 @@ export interface CreateAdminUserRequest {
password: string
tenantId: string
}
export interface SyncUserRequest {
previousUser?: User
}

View file

@ -2,7 +2,7 @@ import fetch from "node-fetch"
import { constants, tenancy } from "@budibase/backend-core"
import { checkSlashesInUrl } from "../utilities"
import env from "../environment"
import { User } from "@budibase/types"
import { SyncUserRequest, User } from "@budibase/types"
async function makeAppRequest(url: string, method: string, body: any) {
if (env.isTest()) {
@ -22,10 +22,14 @@ async function makeAppRequest(url: string, method: string, body: any) {
}
export async function syncUserInApps(userId: string, previousUser?: User) {
const body: SyncUserRequest = {
previousUser,
}
const response = await makeAppRequest(
`/api/users/metadata/sync/${userId}`,
"POST",
{ previousUser }
body
)
if (response && response.status !== 200) {
throw "Unable to sync user."