Commit Graph

10 Commits

Author SHA1 Message Date
8d05bdfd63 Implement authorization service and refactor services to use it
- Added `AuthorizationService` and its implementation `AuthorizationServiceImpl` to handle permission checks across various services.
- Refactored `AlbumServiceImpl`, `MediaServiceImpl`, `PersonServiceImpl`, and `TagServiceImpl` to utilize the new authorization service for permission checks.
- Removed direct permission checks from services and replaced them with calls to the `AuthorizationService`.
- Updated repository interfaces to include new methods for checking media permissions in shared albums.
- Enhanced the `authz` module with new permission types for better granularity in access control.
- Adjusted the `AppState` struct to include the new `authorization_service`.
2025-11-15 14:01:39 +01:00
4675285603 feat: Implement person and tag management services
- Added `Person` and `Tag` models to the core library.
- Created `PersonService` and `TagService` traits with implementations for managing persons and tags.
- Introduced repositories for `Person`, `Tag`, `FaceRegion`, and `PersonShare` with PostgreSQL support.
- Updated authorization logic to include permissions for accessing and editing persons.
- Enhanced the schema to support new models and relationships.
- Implemented database migrations for new tables related to persons and tags.
- Added request and response structures for API interactions with persons and tags.
2025-11-15 11:18:11 +01:00
3c3b51a2a7 feat: enhance media management with EXIF data extraction, metadata filtering, and storage path generation
refactor: update configuration handling to use environment variables and improve code organization
2025-11-14 11:22:51 +01:00
eaf4c90fa8 feat: implement media listing with sorting and filtering options 2025-11-04 05:57:04 +01:00
39ee8d52a4 separation of database (#1)
Reviewed-on: #1
2025-11-03 02:26:19 +00:00
a36b59a5fb feat: implement album sharing functionality with permissions management 2025-11-02 17:39:11 +01:00
f49d9179f5 feat: add user roles and storage quota management 2025-11-02 17:17:13 +01:00
596313b8c5 feat: add media file retrieval functionality and update dependencies 2025-11-02 16:22:09 +01:00
a5a88c7f33 feat: expand workspace to include libertas_infra and libertas_worker
feat(libertas_api): add dependency on libertas_infra and async-nats

refactor(libertas_api): consolidate config loading and add broker_url

refactor(libertas_api): integrate NATS client into app state and services

feat(libertas_core): introduce config module for database and server settings

fix(libertas_core): enhance error handling with detailed messages

feat(libertas_infra): create infrastructure layer with database repositories

feat(libertas_infra): implement Postgres repositories for media and albums

feat(libertas_worker): add worker service to process media jobs via NATS
2025-11-02 10:22:38 +01:00
455e144ffb init 2025-11-02 09:31:01 +01:00