import fetch from "node-fetch"; export async function removeUserByUsername(username: string) { const resp = await getUserByUsername(username) if (!resp || !resp.result || !resp.result[0]) { return } await removeUser(resp.result[0].userId) } export async function removeUser(id: string) { const response = await fetch(process.env.ZITADEL_API_URL! + "/v2/users/" + id, { method: 'DELETE', headers: { 'Authorization': "Bearer " + process.env.ZITADEL_SERVICE_USER_TOKEN! } }); if (response.statusCode >= 400 && response.statusCode != 404) { const error = 'HTTP Error: ' + response.statusCode + ' - ' + response.statusMessage; console.error(error); throw new Error(error); } return } export async function getUserByUsername(username: string) { const listUsersBody = { queries: [{ userNameQuery: { userName: username, } }] } const jsonBody = JSON.stringify(listUsersBody) const registerResponse = await fetch(process.env.ZITADEL_API_URL! + "/v2/users", { method: 'POST', body: jsonBody, headers: { 'Content-Type': 'application/json', 'Authorization': "Bearer " + process.env.ZITADEL_SERVICE_USER_TOKEN! } }); if (registerResponse.statusCode >= 400) { const error = 'HTTP Error: ' + registerResponse.statusCode + ' - ' + registerResponse.statusMessage; console.error(error); throw new Error(error); } const respJson = await registerResponse.json() return respJson }