alex
955ed9db49
fix: jobs router session handling, schedule creation, and tests
...
- Use new session in background task for thread safety
- Fix schedule creation to associate with job
- Fix schedule endpoint return type
- Update tests to use AsyncClient
- Add missing tests for list, get, delete, schedule
- Add updated_at field to Schedule model
2026-05-11 21:20:31 +02:00
alex
1f1ed72494
feat: add jobs CRUD API with manual execution
...
- Full CRUD for backup jobs
- Manual job trigger endpoint with background execution
- Schedule creation endpoint
- Tests for job creation, update, execution, and 404 cases
2026-05-11 21:12:01 +02:00
alex
810aae1b6e
test: add update and 404 tests for sources API
2026-05-11 21:01:41 +02:00
alex
0d0f41d616
feat: add sources CRUD API with tests
...
- Full CRUD endpoints for backup sources
- Pydantic validation for source types
- pytest tests for create, list, get, delete
2026-05-11 20:59:11 +02:00
alex
b69c098cab
feat: add backup engine with full/incremental support
...
- BackupEngine class executes jobs and creates backups
- Automatic fallback from incremental to full if no parent exists
- SHA-256 checksum calculation for integrity
- Tests for full backup and incremental fallback
2026-05-11 20:56:06 +02:00
alex
f925ae094c
feat: add source adapter base class and local filesystem adapter
...
- Abstract SourceAdapter with FileInfo dataclass
- LocalAdapter for filesystem backups
- Adapter factory for extensibility
2026-05-11 20:52:31 +02:00
alex
83c3075de0
fix: update pydantic schemas to v2 syntax
...
- Replace Config class with ConfigDict
- Add cron expression validation
- Add missing updated_at to Schedule
- Add JobExecutionUpdate schema
2026-05-11 20:50:35 +02:00
alex
76cf5054be
feat: add pydantic schemas for API validation
2026-05-11 20:47:48 +02:00
alex
caf5bcb172
fix: address database model quality issues
...
- Fix mutable default arguments with lambda
- Add indexes on foreign keys
- Replace deprecated datetime.utcnow
- Add __repr__ methods for debugging
- Remove redundant primary key indexes
2026-05-11 20:46:03 +02:00
alex
13488f7b21
feat: add database models and alembic setup
...
- SQLAlchemy async models for sources, jobs, schedules, executions, backups, settings
- Alembic migration configuration
2026-05-11 20:43:23 +02:00
alex
3deab5fdf3
fix: resolve frontend code quality issues
...
- Create missing tsconfig.node.json for Vite config compilation
- Create postcss.config.js for Tailwind CSS processing
- Add test dependencies (vitest, testing-library, jsdom)
- Remove missing /vite.svg favicon reference from index.html
2026-05-11 20:39:05 +02:00
alex
eff41bd801
chore: setup project structure with dependencies
2026-05-11 20:28:22 +02:00
alex
4989652c5d
docs: add comprehensive implementation plan
...
- 20 tasks covering backend, frontend, adapters, scheduler
- File structure with exact paths
- Complete code in every step
- Self-review with spec coverage verification
2026-05-11 20:23:54 +02:00
alex
56b68d7e57
docs: add backup tool design specification
...
- Architecture: Python FastAPI backend + React frontend
- Data model: 6 core tables (sources, jobs, schedules, executions, backups, settings)
- Backup flow: 7-step execution with incremental support
- Error handling: Retry logic, partial backup handling, retention policies
- Extensibility: Adapter pattern for sources and storage backends
2026-05-11 20:10:13 +02:00
alex
24e4b56616
Initial commit
2026-05-11 19:17:12 +02:00