Skip to content

Show organization-owned channel bots in frontend registrations #3674

Description

@louis4li

Background

Backend PR #3673 adds org-owned NyxID channel bot support to /api/channels/registrations.

The list response now includes owner scope display fields so the frontend can distinguish personal bots from organization-owned bots without calling NyxID org APIs itself:

  • nyx_channel_bot_owner_scope_id
  • nyx_channel_bot_owner_scope_name

For personal bots, nyx_channel_bot_owner_scope_name returns personal. For organization-owned bots, it returns the organization display name when NyxID /api/v1/orgs can resolve it; otherwise it may be null while the owner scope id is still present.

Requested frontend work

Update the channel registration UI so the "View all" / registrations list displays organization-owned channel bots clearly.

Expected behavior:

  • Show personal bots with a personal owner label.
  • Show organization-owned bots using nyx_channel_bot_owner_scope_name when present.
  • Fall back to nyx_channel_bot_owner_scope_id or a neutral org label when the name is unavailable.
  • Keep existing bind/update/delete affordances aligned with the backend owned field.
  • Do not add frontend-side org enumeration for this view; NyxID visibility is already delegated through backend scope=all handling.

API contract

GET /api/channels/registrations?scope=all returns both bound and unbound NyxID channel bots visible to the caller through NyxID. Relevant row fields:

{
  "nyx_channel_bot_id": "...",
  "nyx_channel_bot_owner_scope_id": "org-or-personal-scope",
  "nyx_channel_bot_owner_scope_name": "personal or org display name",
  "owned": true
}

Acceptance criteria

  • The registrations list has an owner/scope indicator for every row.
  • Personal rows display personal.
  • Organization-owned rows display the organization name when available.
  • Organization-owned rows remain visible in the all-view even when not locally owned.
  • The frontend does not make separate NyxID org lookup calls for this feature.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesttodoIssue ready for Symphony to pick up

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions