Skip to content

feat: team admin commands with role-based management#16

Merged
sunba91-su merged 1 commit into
mainfrom
feat/team-admin-cmds
Jun 8, 2026
Merged

feat: team admin commands with role-based management#16
sunba91-su merged 1 commit into
mainfrom
feat/team-admin-cmds

Conversation

@sunba91-su

Copy link
Copy Markdown
Owner

Summary

Implements slash commands for team CRUD and configuration, enabling main admin and team leads to manage teams through Rocket.Chat.

Changes

  • internal/commands/teams.go — All team management commands
    • Admin: team create, team delete, team set-lead
    • Lead: team add, team remove, team members
    • Lead: team set schedule|channel|questions|timezone
    • Auto team detection for leads (single-team assumption)
  • internal/commands/registry.go — Added UserProvider interface for user lookup
  • internal/rocket/client.go — Added UserInfo method wrapping REST API
  • cmd/bot/main.go — Wired UserProvider adapter, registered team commands
  • internal/commands/teams_test.go — 12 tests, all passing

Closes #6

Implement slash commands for team CRUD and configuration by main admin
and team leads, with automatic team resolution for lead-owned teams.

- Team create/delete/set-lead: admin-only commands to manage teams
- Team add/remove/members: team-lead commands for roster management
- Team set schedule/channel/questions/timezone: per-team configuration
- Automatic team context resolution for team leads (single-team focus)
- UserProvider interface for Rocket.Chat user lookup via REST API
- Rocket.Client.UserInfo method wrapping rest.UserInfo
- 12 new tests covering all command paths and edge cases

Closes #6
@sunba91-su sunba91-su merged commit 10448aa into main Jun 8, 2026
1 check passed
@sunba91-su sunba91-su deleted the feat/team-admin-cmds branch June 8, 2026 12:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement team admin CRUD commands

1 participant