11 Commits

Author SHA1 Message Date
Claude Code
392f93be95 feat: Implement Log Query API Endpoints (Issue #13)
- Create LogsHandler with all log query endpoints
- Implement QueryLogs for LogsQL queries
- Implement StatsQuery for time-series statistics
- Implement GetFacets for field facets
- Implement TailLogs for real-time streaming (NDJSON)
- Implement ExportLogs with JSON and CSV support
- Wire up logs handler in router
- Add VictoriaLogs client initialization

Closes #13

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-05 00:57:53 +03:00
Claude Code
c9b6c5bf74 feat: Create Log Query Service (Issue #12)
- Create LogsService with VictoriaLogs client integration
- Implement QueryLogs with role-based limits
- Implement StatsQuery for time-series data
- Implement GetFacets for field facets
- Implement TailLogs for real-time streaming
- Implement ExportLogs with format support
- Add query validation and safety checks
- Add role-based rate limiting (default/max limits per role)
- Auto-calculate appropriate time range and step

Closes #12

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-05 00:56:57 +03:00
Claude Code
158b9a1630 feat: Create VictoriaLogs HTTP Client (Issue #11)
- Create VictoriaLogs client package
- Implement Query method for LogsQL queries
- Implement StatsQuery for time-series stats
- Implement GetFacets for field facets
- Implement GetStreamIDs for stream identification
- Implement Tail for real-time log streaming
- Add Ingest method for testing
- Define all data models (LogEntry, QueryResult, etc.)
- Add comprehensive error handling

Closes #11

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-05 00:56:23 +03:00
Claude Code
672cafb528 feat: Complete Milestone 1 frontend authentication (Issues #7-10)
Issue #7: Create Auth Store
- Implement Zustand auth store with persistence
- Add login, logout, checkAuth actions
- Store user, token, and authentication state

Issue #8: Create API Client
- Setup Axios instance with interceptors
- Add JWT token to all requests
- Handle 401 errors with automatic logout
- Create auth API client functions

Issue #9: Create Login Page
- Complete login form with validation
- Add loading states and error handling
- Implement form submission with auth store
- Add default credentials hint

Issue #10: Update Protected Route Component
- Integrate with auth store
- Add loading state during auth check
- Implement role-based access control
- Add access denied UI

Additional improvements:
- Update Layout with user info and logout button
- Add useAuth custom hook

Closes #7, #8, #9, #10

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-05 00:52:13 +03:00
Claude Code
9bd17156e4 feat: Implement User Management API (Issue #6) and wire up router
- Create UserService with CRUD operations
- Implement ListUsers with pagination
- Implement GetUser, CreateUser, UpdateUser, DeleteUser
- Add ResetUserPassword for admin password resets
- Create UserHandler with HTTP endpoints
- Update router to wire up all handlers and middleware
- Add authentication middleware to protected routes
- Add admin-only middleware to user management routes

Closes #6

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-05 00:51:02 +03:00
Claude Code
bddd988b36 feat: Implement Authentication Middleware (Issue #4)
- Create JWT validation middleware
- Implement RequirePermission for permission checks
- Implement RequireRole for role-based access
- Add RequireAdmin convenience middleware
- Add OptionalAuth for optional authentication
- Enhance CORSMiddleware with origin validation
- Add RequestLogger middleware
- Comprehensive error handling

Closes #4

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-05 00:49:22 +03:00
Claude Code
d0624a2bc2 feat: Implement Authentication Handlers (Issue #3)
- Create AuthService with login, refresh token, and user management
- Implement Login with password verification
- Implement RefreshToken for token renewal
- Implement GetCurrentUser endpoint
- Add ChangePassword functionality
- Add CreateUser for admin user creation
- Create AuthHandler with HTTP endpoints
- Add comprehensive validation and error handling
- Add google/uuid dependency to go.mod

Closes #3

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-05 00:48:55 +03:00
Claude Code
bdf19fdb62 feat: Create User Repository (Issue #5)
- Implement user CRUD operations
- Add GetByID, GetByUsername, GetByEmail methods
- Add List with pagination support
- Add Update and UpdatePassword methods
- Add Delete with existence check
- Add Count, UsernameExists, EmailExists helpers
- Comprehensive error handling

Closes #5

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-05 00:48:02 +03:00
Claude Code
3c8fb927fb feat: Implement JWT Utilities (Issue #2)
- Create JWTManager for token operations
- Implement GenerateAccessToken with user claims
- Implement GenerateRefreshToken
- Implement ValidateToken with expiration checks
- Implement ValidateRefreshToken
- Add ExtractTokenFromHeader helper
- Add comprehensive error handling

Closes #2

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-05 00:47:35 +03:00
Claude Code
be86fa226a feat: Setup React Frontend (Issue #1)
- Initialize Vite + React + TypeScript project
- Install dependencies (React Router, Zustand, Axios, Tailwind CSS)
- Configure Tailwind CSS and PostCSS
- Create basic folder structure
- Setup ESLint and Prettier
- Create placeholder pages (Login, Dashboard, Logs, Alerts, etc.)
- Create Layout and ProtectedRoute components
- Add TypeScript types

Closes #1

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-05 00:47:14 +03:00
Claude Code
7043429150 Initial commit: Project foundation
- Backend: Go API server with Gin framework
- Frontend: React setup (placeholder)
- ML Service: Python FastAPI skeleton
- Docker Compose: Full stack configuration
- Database: PostgreSQL schema with migrations
- Documentation: Implementation plan and README

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-05 00:44:11 +03:00