Commit Graph

24 Commits

Author SHA1 Message Date
b80c4e0895 feat: Implement merge person functionality with associated request and repository methods 2025-11-15 17:46:36 +01:00
8a735c7c26 feat: Add media thumbnail retrieval functionality and update MediaResponse structure 2025-11-15 17:37:39 +01:00
3f96de117b feat: Enhance error handling by adding Forbidden and Unknown error types 2025-11-15 17:29:58 +01:00
a9805b5eb1 feat: Add public album routes and enhance authorization checks for media and albums 2025-11-15 17:18:14 +01:00
faed54cb08 feat: Refactor media service to remove extracted EXIF data handling and update job payload with thumbnail path 2025-11-15 15:06:03 +01:00
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
9504eaf509 feat: Add thumbnail path to MediaResponse and update related implementations 2025-11-15 11:29:55 +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
55cf4db2de feat: implement media metadata management with EXIF and TrackInfo support 2025-11-14 07:41:54 +01:00
60860cf508 feat: Add thumbnail generation feature and update media model
- Updated workspace members to include `libertas_importer`.
- Added a new migration to add `thumbnail_path` column to `media` table.
- Enhanced configuration structures to include `thumbnail_config`.
- Modified `Media` model to include `thumbnail_path`.
- Updated `MediaRepository` trait and its implementation to handle thumbnail path updates.
- Created `ThumbnailPlugin` for generating thumbnails based on media configurations.
- Integrated thumbnail generation into the media processing workflow.
- Updated dependencies in `libertas_worker` and `libertas_importer` for image processing.
2025-11-12 00:28:12 +01:00
4f7b93a8b0 refactor: clean up album and auth handlers by removing unused structs and imports 2025-11-04 06:02:10 +01:00
eaf4c90fa8 feat: implement media listing with sorting and filtering options 2025-11-04 05:57:04 +01:00
828d8e4a2b feat: add date_taken field to media model and update related functionalities 2025-11-04 05:28:27 +01:00
39ee8d52a4 separation of database (#1)
Reviewed-on: #1
2025-11-03 02:26:19 +00:00
8b98df745c feat: add XMP writer plugin and enhance media upload configuration 2025-11-02 19:22:35 +01:00
13bb9e6b3e feat: enhance album and media management with update and delete functionalities 2025-11-02 18:46:26 +01: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
4427428cf6 feat: implement media processing plugins and update repository structure 2025-11-02 15:40:39 +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
7ea91da20a refactor: move route definitions to a separate module 2025-11-02 09:37:20 +01:00
455e144ffb init 2025-11-02 09:31:01 +01:00