Skip to content

feat(admin): superadmins remove an organisation without users, from the web UI - #325

Merged
iheitlager merged 2 commits into
mainfrom
feat/remove-organisation
Nov 14, 2026
Merged

iheitlager merged 2 commits into
mainfrom
feat/remove-organisation

Conversation

@iheitlager

Copy link
Copy Markdown
Member

Summary

  • Superadmins can now remove an organisation that has no users: from the web UI's admin tab, the API and the host CLI.
  • An organisation an SSO setting names cannot be removed (FRANK would not start without it).
  • Needed to drop lab271 on STACKIT (test-frank#2).

Changes

Added

  • DELETE /v1/admin/organisations/{id} (admin.rs::remove_organisation), superadmin; 409 with users or when FRANK_SSO_ORGANISATION / FRANK_SSO_ADMIN_ORGANISATION names it; audit participant_removed.
  • store/participants.rs::remove_organisation: only without users.
  • Web admin tab: "remove organisation" next to "set status", superadmin only, disabled while the organisation has users, with a confirmation.
  • frank participant remove NAME.
  • OpenAPI, spec 011 requirement 2 scenario, README.

Changelog

Testing

  • API: superadmin removes an empty organisation (audited), 409 with users, 403 for an admin, 404 after removal
  • SSO: the organisation FRANK_SSO_ORGANISATION names is refused with 409 even when empty
  • Store: only without users
  • make lint, make test, check-assurance, test-mcdc (snapshot regenerated, 48/48), lizard CCN ≤ 15, node --check web/app.js
  • The button in a browser: after deploy on STACKIT

Related Issues

Closes #324


🤖 Generated with Claude Code

iheitlager and others added 2 commits November 14, 2026 22:11
DELETE /v1/admin/organisations/{id}, superadmin only: refused (409)
while the organisation has users, or when an SSO setting names it
(FRANK_SSO_ORGANISATION, FRANK_SSO_ADMIN_ORGANISATION), since FRANK
would not start without it. Audited as participant_removed; its
sightings keep its id as their reporter.

The web UI's admin tab gets a "remove organisation" button next to
"set status", for superadmins, enabled only while the organisation has
no users, with a confirmation. On the host: frank participant remove.

Spec 011 requirement 2, OpenAPI, README; the MC/DC snapshot.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@iheitlager
iheitlager merged commit cac9ee3 into main Nov 14, 2026
6 checks passed
@iheitlager
iheitlager deleted the feat/remove-organisation branch November 14, 2026 21:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(admin): superadmins remove an organisation without users, from the web UI

1 participant