Commit Graph

21 Commits

Author SHA1 Message Date
aa09aec66b feat: event store — persist domain events to Postgres event_log table via composite publisher 2026-05-31 18:36:10 +02:00
0e9911ebfc feat: event infrastructure — payload, transport, NATS adapter
- EventPublisher now takes &DomainEvent (11 call sites + 3 impls updated)
- EventEnvelope + EventConsumer port in domain
- event-payload: serializable DomainEvent mirror with subject routing
- event-transport: generic Transport/MessageSource traits, publisher/consumer adapters
- adapters-nats: JetStream publish + durable pull consumer
2026-05-31 11:50:16 +02:00
dacfc3d453 feat: worker plugin system — domain ports, pipeline executor, built-in plugins
- PluginExecutor + PluginRegistry ports in domain
- ExecutePipelineCommand orchestrates job→pipeline→plugin steps
- ProcessNextJobCommand polls + executes next queued job
- InMemoryPluginRegistry, NoOp/MetadataExtractor/SidecarSync plugins
- Worker main rewritten with poll loop, factories module for DI
- Deleted template job/runner/jobs remnants
2026-05-31 11:35:05 +02:00
34b231a8f6 refactor: move business logic out of presentation — ReadAssetFile, checksum, auth checks, MetadataValue conversions 2026-05-31 06:10:07 +02:00
c2ebca0da0 style: cargo fmt --all 2026-05-31 05:31:42 +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
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