Commit Graph

36 Commits

Author SHA1 Message Date
e082387f6e refactor: group postgres adapters by bounded context 2026-05-31 11:11:46 +02:00
a6b86c23d8 feat: wire remaining handlers — tag, quota, register asset, sidecar, processing
14 new endpoints: POST tags, GET quota, POST register, 6 sidecar, 7 processing.
DTOs, AppState groups, LogSidecarWriter, full bootstrap wiring.
2026-05-31 11:04:22 +02:00
19be8c2adf feat: add sidecar + processing migrations and postgres adapters
007_sidecar, 008_processing, 009_duplicate_groups migrations.
Tag, sidecar, job, batch, plugin, pipeline, duplicate repos.
2026-05-31 11:04:13 +02:00
3399e25441 feat: add sharing endpoints — share, link, revoke, public access 2026-05-31 10:50:28 +02:00
2d9dd2c2d0 refactor: clean up presentation layer — AppState grouping, multipart extractor, thin handlers 2026-05-31 06:14:19 +02:00
34b231a8f6 refactor: move business logic out of presentation — ReadAssetFile, checksum, auth checks, MetadataValue conversions 2026-05-31 06:10:07 +02:00
0f003a3bd6 feat: add file serving endpoint GET /assets/:id/file 2026-05-31 05:59:19 +02:00
3a18fd1d3f fix: axum 0.8 route syntax, smoke test verified 2026-05-31 05:55:47 +02:00
9aba393fde feat: vertical slice — migrations, postgres adapters, presentation handlers, bootstrap wiring 2026-05-31 05:52:42 +02:00
201eff717d feat: add presentation layer + bootstrap wiring for vertical slice 2026-05-31 05:51:09 +02:00
8c1a0e4519 feat: add postgres migrations and repository adapters for vertical slice 2026-05-31 05:43:21 +02:00
c2ebca0da0 style: cargo fmt --all 2026-05-31 05:31:42 +02:00
4b31a0f74b app: add sidecar sync commands (export, detect, import, resolve, full export/import) 2026-05-31 05:29:03 +02:00
d1394ce7bb app: add organization + sharing commands/queries 2026-05-31 05:17:51 +02:00
536bf3463a app: add catalog commands/queries (RegisterAsset, UpdateMetadata, GetTimeline, GetAsset) 2026-05-31 05:13:47 +02:00
4549d746c3 app: add storage commands/queries + missing in-memory test repos 2026-05-31 05:11:02 +02:00
fa36bb8c0e refactor: restructure application to CQRS, update api-types + presentation
- application: replace flat use_cases/ with identity/{commands,queries}/ and organization/commands/
- each use case now split into Command/Query struct + Handler struct
- api-types: add username to RegisterRequest/UserResponse, add CreateAlbumRequest/AlbumResponse
- presentation: update state, handlers, factory to use new handler types
- tests: restructured to match CQRS module layout, added get_profile tests
2026-05-31 05:00:34 +02:00
d62d8157a8 refactor: move template use cases into identity module, clean up application structure 2026-05-31 04:49:55 +02:00
de93373b43 refactor: restructure domain crate by bounded context 2026-05-31 04:44:48 +02:00
2b62d1ec81 fix: resolve clippy warnings in share_link, invite_code, asset_stack 2026-05-31 04:27:03 +02:00
51fa62fdef app: add core use cases (RegisterUser, CreateAlbum) with TDD 2026-05-31 04:25:47 +02:00
294626db72 app: add in-memory test fakes for all critical ports 2026-05-31 04:25:40 +02:00
b67e595280 domain: add Processing entities and ports (Job, JobBatch, Plugin, Pipeline) 2026-05-31 03:35:41 +02:00
ee79be0351 domain: add Sidecar Sync entities and ports (SidecarRecord, SidecarConfig, SidecarWriterPort) 2026-05-31 03:34:04 +02:00
ba53e0fa70 domain: add Sharing entities and ports (ShareScope, ShareTarget, ShareLink, InviteCode, VisibilityFilter) 2026-05-31 03:33:00 +02:00
1d3060fa12 domain: add Organization entities and ports (Album, Tag, Collection, FilterCriteria) 2026-05-31 03:31:33 +02:00
ccb61b72d7 domain: add Media Catalog ports and MetadataResolver service 2026-05-31 03:27:48 +02:00
147206d8a5 domain: add Media Catalog entities (Asset, Metadata, Stack, Derivative, Duplicate) 2026-05-31 03:27:41 +02:00
ed6eb0c28a domain: add Storage ports (BYOS, Quota, LibraryPath) and QuotaChecker service 2026-05-31 03:23:38 +02:00
3c5c4ed9b1 domain: add Storage & Sources entities (StorageVolume, LibraryPath, IngestSession, Quota) 2026-05-31 03:23:34 +02:00
04811ff436 domain: add PermissionChecker service with additive role evaluation 2026-05-31 03:20:28 +02:00
cebb4cdaf1 domain: add Identity & Access ports (UserRepo, RoleRepo, GroupRepo, EventPublisher) 2026-05-31 03:20:22 +02:00
656da7e945 domain: add Identity & Access entities (User, Role, Permission, Group) 2026-05-31 03:20:18 +02:00
aa432e6594 domain: add domain errors, events, and services module scaffold 2026-05-31 03:16:40 +02:00
3571c94bec domain: add cross-cutting value objects (SystemId, DateTimeStamp, Checksum, StructuredData) 2026-05-31 03:16:28 +02:00
f9cb142c3b init: scaffold from k-template with postgres + worker 2026-05-31 03:08:38 +02:00