Skip to content

Channels: CRUD LiveViews #4407

@stuartc

Description

@stuartc

User story

We need LiveView pages for creating, editing, listing, and deleting channels within a project so that users can configure and manage their channels through the UI.

Details

Blocked: needs designs. UI/UX designs are required before implementation can begin. The acceptance criteria below describe expected functionality but layout, component choices, and navigation placement need design input first.

Standard CRUD LiveViews but with integration points into project navigation and credential selection. This is the most handoff-friendly piece if another engineer becomes available.

Implementation notes

Dependencies: #4399 (schema + context), #4400 (audit trail for delete logging)

Can start as soon as schema exists — does not need the proxy pipeline.

Key technical considerations:

  • Channel list accessible from project navigation (alongside Workflows)
  • Credential dropdowns should pull from project credentials — and respect the supported-type allowlist from the auth design (Channels: Source authentication #4403, Channels: Sink authentication #4404)
  • Follows existing Lightning LiveView patterns and component library
  • Bodyguard authorization policies for channel CRUD (project membership check)

Release notes

Users can now create, edit, and manage Channels from within a project.

User acceptance criteria

  • Channel list view accessible from project navigation (alongside Workflows)
  • List shows: channel name, sink URL, enabled/disabled status, request count or last activity
  • Create form with fields: name, sink URL, sink credential (dropdown from project credentials), source credential (dropdown), enabled toggle
  • Edit form pre-populated with current values; saves via config_changeset/2 (bumps lock_version)
  • Channel detail/summary view showing current config and link to History (filtered)
  • Delete with confirmation modal; deletion logged in audit trail
  • Form validation: name required and unique within project, sink URL required and valid URL format
  • Project navigation updated to include Channels section
  • Follows existing Lightning LiveView patterns and component library
  • Bodyguard authorization policies for channel CRUD (project membership check)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    Ready

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions