Files
zitadel/acceptance/tests/zitadel.ts

50 lines
1.6 KiB
TypeScript
Raw Normal View History

2024-10-31 16:53:23 +01:00
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
}