Files
zitadel/acceptance/tests/zitadel.ts

53 lines
1.5 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) {
2024-11-15 13:48:42 +01:00
const resp = await getUserByUsername(username);
if (!resp || !resp.result || !resp.result[0]) {
return;
}
await removeUser(resp.result[0].userId);
2024-10-31 16:53:23 +01:00
}
export async function removeUser(id: string) {
2024-11-15 13:48:42 +01:00
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;
2024-10-31 16:53:23 +01:00
}
export async function getUserByUsername(username: string) {
2024-11-15 13:48:42 +01:00
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;
}