-
Notifications
You must be signed in to change notification settings - Fork 63
Description
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(bumpslock_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)