vasyansk
b88f88c1a3
feat: delete task/account, edit endpoint, richer event log
...
- store: DeleteAccount, DeleteTask, UpdateEndpoint (+ cascade/update tests)
- httpapi: DELETE /tasks/{id}, DELETE /tasks/{id}/accounts/{accountId},
PUT /endpoints/{id}; delete guarded with 409 while task running
- orchestrator: enrich WS events with login/host/port/error (test + run + errors)
- web: delete buttons (task, account) with confirm, endpoint edit form,
human-readable event log (source/dest, host:port, error text)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01MMHQTtnQtQqL8muAXHr9kd
2026-07-02 09:23:14 +07:00
vasyansk
2429c786e4
fix(orchestrator): prevent concurrent double-run duplicating messages; reflect errors in status
2026-07-01 19:32:04 +07:00
vasyansk
38005c0618
fix(api): add snake_case json tags to Endpoint/Task/request bodies for frontend contract
...
Go's encoding/json does not bridge snake_case <-> PascalCase field names,
so store.Endpoint, store.Task and the anonymous request bodies in
accounts.go/auth.go were silently decoding empty/zero values from the
frontend's snake_case JSON contract (tls_mode, role_label,
src_endpoint_id, dst_endpoint_id, src_login/pass, dst_login/pass).
Adds explicit json tags; DB layer is unaffected since pgx binds by
positional params, not struct-tag reflection.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01MMHQTtnQtQqL8muAXHr9kd
2026-07-01 19:04:46 +07:00
vasyansk
4c57848c35
fix(httpapi): detect ws client disconnect via CloseRead to prevent subscriber leak
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01MMHQTtnQtQqL8muAXHr9kd
2026-07-01 18:47:54 +07:00
vasyansk
9ec6acd414
feat(httpapi): websocket, router, embed static, main entrypoint
2026-07-01 18:37:48 +07:00
vasyansk
0bd4ba37e3
fix(httpapi): fail CSV import on encryption error instead of storing empty passwords
2026-07-01 18:33:09 +07:00
vasyansk
bb83bbd989
feat(httpapi): REST resources for endpoints/tasks/accounts/csv/run
2026-07-01 18:27:11 +07:00
vasyansk
839febb83a
fix(httpapi): bind session token to current AuthUser; add negative auth tests
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01MMHQTtnQtQqL8muAXHr9kd
2026-07-01 18:24:35 +07:00
vasyansk
cae124931d
feat(httpapi): env-based login and session auth middleware
2026-07-01 18:19:57 +07:00