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
eff41bd801
chore: setup project structure with dependencies
2026-05-11 20:28:22 +02:00