Anatolii Grynchuk
61ccf9c777
feat: add test channel feature in admin UI
...
- POST /admin/channels/{id}/test — direct SMTP send via MailKit
- Test button shown only on existing channels (not create)
- Bootstrap modal with recipient email input and spinner
- Inline success/error result inside the modal
Ref: IT-628
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-02 02:57:36 +03:00
Anatolii Grynchuk
c90b07386d
feat: polished admin UI styles + email channels admin CRUD
...
- Extract inline styles to wwwroot/css/admin.css
- Bootstrap Icons for nav and buttons
- Styled page headers, table, empty state, readonly fields
- Email Channels admin: list, create, edit, delete
- GetAllEmailChannelsQuery + handler
- AdminChannelsController with full CRUD
- form id + form= attribute pattern for EditorLayout footer buttons
Ref: IT-628
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-02 02:43:59 +03:00
Anatolii Grynchuk
2a0a5f737d
feat: add MVC Razor admin UI for email templates
...
- GetAllEmailTemplatesQuery + handler (new GetAll use case)
- IEmailTemplateRepository.GetAllAsync + EF implementation
- AdminTemplatesController: Index, Create, Edit, Save, Delete
- EmailTemplateEditViewModel with IsNew/PageTitle helpers
- Views/_ViewStart, _ViewImports, Shared/_Layout (Bootstrap 5)
- Shared/_EditorLayout (chained layout for all edit screens)
- Views/AdminTemplates/Index (table with edit/delete actions)
- Views/AdminTemplates/Edit (card form, readonly composite key on edit)
- Program.cs: AddControllersWithViews, UseStaticFiles, MapDefaultControllerRoute
Ref: IT-634
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-02 02:06:08 +03:00
Anatolii Grynchuk
cec8f42ece
refactor: move REST API controllers into Controllers/Api subfolder
...
- Prepares Controllers/ for both Api/ and Admin/ groupings
- Namespaces updated accordingly
Ref: IT-628
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-02 01:58:14 +03:00
Anatolii Grynchuk
ab44ad117c
refactor: rename Api project to Web
...
- HrynCo.NotificationService.Api -> HrynCo.NotificationService.Web
- HrynCo.NotificationService.Api.IntegrationTests -> HrynCo.NotificationService.Web.IntegrationTests
- Updated slnx, docker-compose, project references, and namespaces
- Project serves both REST API and admin UI
Ref: IT-628
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-02 01:55:57 +03:00