Revert "Merge branch 'feat/keyloak-token-data' into develop"
All checks were successful
Build & Deploy on Dev / build (push) Successful in 2m21s
All checks were successful
Build & Deploy on Dev / build (push) Successful in 2m21s
This reverts commit1b3806c6f7, reversing changes made to79dbba2c89.
This commit is contained in:
parent
30fd08fc85
commit
1c629cc6e0
13 changed files with 33 additions and 2582 deletions
|
|
@ -1,80 +0,0 @@
|
|||
import "dotenv/config";
|
||||
import { AppDataSource } from "../src/database/data-source";
|
||||
import { KeycloakAttributeService } from "../src/services/KeycloakAttributeService";
|
||||
import * as keycloak from "../src/keycloak/index";
|
||||
|
||||
const PROTECTED_USERNAMES = ["super_admin", "admin_issue"];
|
||||
|
||||
/**
|
||||
* Main function
|
||||
*/
|
||||
async function main() {
|
||||
const args = process.argv.slice(2);
|
||||
const dryRun = args.includes("--dry-run");
|
||||
const skipUsernames = [...PROTECTED_USERNAMES];
|
||||
|
||||
console.log("=".repeat(60));
|
||||
console.log("Clear Orphaned Keycloak Users Script");
|
||||
console.log("=".repeat(60));
|
||||
console.log(`Mode: ${dryRun ? "DRY-RUN (no changes)" : "LIVE"}`);
|
||||
console.log(`Protected usernames: ${skipUsernames.join(", ")}`);
|
||||
console.log("");
|
||||
|
||||
// Initialize database
|
||||
try {
|
||||
await AppDataSource.initialize();
|
||||
console.log("Database connected");
|
||||
} catch (error) {
|
||||
console.error("Failed to connect to database:", error);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
// Validate Keycloak connection
|
||||
try {
|
||||
await keycloak.getToken();
|
||||
console.log("Keycloak connected");
|
||||
} catch (error) {
|
||||
console.error("Failed to connect to Keycloak:", error);
|
||||
await AppDataSource.destroy();
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
console.log("");
|
||||
|
||||
// Run the orphaned user cleanup
|
||||
const service = new KeycloakAttributeService();
|
||||
const result = await service.clearOrphanedKeycloakUsers(skipUsernames);
|
||||
|
||||
// Summary
|
||||
console.log("");
|
||||
console.log("=".repeat(60));
|
||||
console.log("Summary:");
|
||||
console.log(` Total users in Keycloak: ${result.totalInKeycloak}`);
|
||||
console.log(` Total users in Database: ${result.totalInDatabase}`);
|
||||
console.log(` Orphaned users: ${result.orphanedCount}`);
|
||||
console.log(` Deleted: ${result.deleted}`);
|
||||
console.log(` Skipped: ${result.skipped}`);
|
||||
console.log(` Failed: ${result.failed}`);
|
||||
console.log("=".repeat(60));
|
||||
|
||||
if (result.details.length > 0) {
|
||||
console.log("");
|
||||
console.log("Details:");
|
||||
for (const detail of result.details) {
|
||||
const status =
|
||||
detail.action === "deleted"
|
||||
? "[DELETED]"
|
||||
: detail.action === "skipped"
|
||||
? "[SKIPPED]"
|
||||
: "[ERROR]";
|
||||
console.log(
|
||||
` ${status} ${detail.username} (${detail.keycloakUserId})${detail.error ? ": " + detail.error : ""}`,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// Cleanup
|
||||
await AppDataSource.destroy();
|
||||
}
|
||||
|
||||
main().catch(console.error);
|
||||
Loading…
Add table
Add a link
Reference in a new issue