Commit Graph

5 Commits

Author SHA1 Message Date
0f3e098d6d feat: Add thumbnail management for albums and people, implement face embedding functionality 2025-11-15 22:50:53 +01:00
b80c4e0895 feat: Implement merge person functionality with associated request and repository methods 2025-11-15 17:46:36 +01:00
a9805b5eb1 feat: Add public album routes and enhance authorization checks for media and albums 2025-11-15 17:18:14 +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
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