Mathis HERRIOT
df9a6c6f36
refactor: update test mocks to use addOutputOptions for consistency
...
- Replaced `outputOptions` with `addOutputOptions` in media service spec test to align with updated FFmpeg strategy.
2026-01-28 14:59:40 +01:00
Mathis HERRIOT
a28844e9b7
refactor: replace outputOptions with addOutputOptions in video processor strategy
...
- Updated FFmpeg command to use `addOutputOptions` for improved readability and consistency.
2026-01-28 14:45:41 +01:00
Mathis HERRIOT
f1a571196d
feat: add video upload feature with support for validation and processing
...
- Introduced "video" as a new content type across backend and frontend.
- Updated validation schemas and MIME-type handling for video files.
- Implemented file size limits for videos (10 MB max) in configuration.
- Enhanced upload flow with auto-detection of file types (image, GIF, video).
- Expanded media processing to handle video files and convert them to WebM format.
2026-01-28 14:07:00 +01:00
Mathis HERRIOT
498f85d24e
feat(contents): add update method with user ownership validation
...
- Introduced `update` method in contents service to allow partial updates.
- Implemented user ownership validation to ensure secure modifications.
- Added cache clearing logic after successful updates.
2026-01-21 13:42:56 +01:00
Mathis HERRIOT
10cc5a6d8d
feat(contents): add update endpoint to contents controller
...
- Introduced a `PATCH /:id` endpoint to enable partial content updates.
- Integrated AuthGuard for securing the endpoint.
2026-01-21 13:42:24 +01:00
Mathis HERRIOT
764c4c07c8
feat(users, contents): extend admin update functionality and role management
...
- Added `moderator` role to `User` type for improved role assignment flexibility.
- Introduced `updateAdmin` method in user and content services to handle partial admin-specific updates.
- Enhanced `Content` type with `categoryId` and `iconUrl` to support richer categorization.
2026-01-21 13:22:07 +01:00
Mathis HERRIOT
f5c90b0ae4
feat(users): add updateAdmin endpoint and enhance role assignment
...
- Introduced `PATCH /admin/:uuid` endpoint for admin-specific user updates.
- Updated `update` logic to handle role assignment via `rbacService`.
- Refactored `findAll` method in repository for improved readability.
2026-01-21 13:20:32 +01:00
Mathis HERRIOT
3a5550d6eb
feat(contents): add updateAdmin method to contents service
...
- Introduced `updateAdmin` logic to handle admin-specific content updates.
- Included cache clearing upon successful update for data consistency.
2026-01-21 13:19:08 +01:00
Mathis HERRIOT
07cdb741b3
feat(contents): add updateAdmin endpoint and repository method
...
- Introduced `PATCH /:id/admin` endpoint to update admin-specific content.
- Added `update` method to `ContentsRepository` for data updates with timestamp.
2026-01-21 13:18:41 +01:00
Mathis HERRIOT
951b38db67
chore: update lint scripts and improve formatting consistency
...
- Added `lint:fix` scripts for backend, frontend, and documentation.
- Enabled `biome check --write` for unsafe fixes in backend scripts.
- Fixed imports, formatting, and logging for improved code clarity.
- Adjusted service unit tests for better readability and maintainability.
2026-01-21 11:38:25 +01:00
Mathis HERRIOT
3f0b1e5119
feat(auth): add bootstrap token flow for initial admin creation
...
- Introduced `BootstrapService` to handle admin creation when no admins exist.
- Added `/auth/bootstrap-admin` endpoint to consume bootstrap tokens.
- Updated `RbacRepository` to support counting admins and assigning roles.
- Included unit tests for `BootstrapService` to ensure token behavior and admin assignment.
2026-01-21 11:07:02 +01:00
Mathis HERRIOT
0548c418c7
feat(auth): implement role seeding on application bootstrap
...
- Added `onApplicationBootstrap` to seed default roles if none exist.
- Introduced `seedRoles` method to handle role creation with logging.
- Updated `RbacRepository` with `countRoles` and `createRole` methods.
- Added unit tests to ensure role seeding logic functions correctly.
2026-01-21 10:45:25 +01:00
Mathis HERRIOT
8483927823
fix(tests): replace any with Record<string, unknown> in repository tests
...
CI/CD Pipeline / Valider backend (push) Successful in 1m39s
CI/CD Pipeline / Valider frontend (push) Successful in 1m43s
CI/CD Pipeline / Valider documentation (push) Successful in 1m46s
CI/CD Pipeline / Déploiement en Production (push) Successful in 1m32s
- Updated type assertions in repository test files to use `Record<string, unknown>` instead of `any`.
2026-01-20 21:42:16 +01:00
Mathis HERRIOT
d647a585c8
fix(media): handle missing path parameter and improve error logging
...
- Updated `getFile` method to validate `path` query parameter.
- Added improved logging for file retrieval errors.
- Updated test cases to cover scenarios with missing `path`.
2026-01-20 21:28:10 +01:00
Mathis HERRIOT
6a2abf115f
fix(s3): update public URL to include path query parameter
...
- Updated `getPublicUrl` to use `?path=<key>` format in public URLs.
- Adjusted corresponding test cases to reflect the new URL structure.
2026-01-20 21:27:49 +01:00
Mathis HERRIOT
d0c78cb206
refactor(health): use type import for Cache from cache-manager
CI/CD Pipeline / Valider backend (push) Successful in 1m36s
CI/CD Pipeline / Valider frontend (push) Successful in 1m42s
CI/CD Pipeline / Valider documentation (push) Successful in 1m47s
CI/CD Pipeline / Déploiement en Production (push) Successful in 2m2s
2026-01-20 15:45:40 +01:00
Mathis HERRIOT
f8eaad3f81
test(api-keys): improve typings in wrapWithThen mock implementation
CI/CD Pipeline / Valider backend (push) Failing after 1m2s
CI/CD Pipeline / Valider documentation (push) Successful in 1m34s
CI/CD Pipeline / Valider frontend (push) Successful in 1m32s
CI/CD Pipeline / Déploiement en Production (push) Has been skipped
2026-01-20 15:27:25 +01:00
Mathis HERRIOT
5f176def8c
test(auth): add comment to clarify DTO usage in register test
2026-01-20 15:27:14 +01:00
Mathis HERRIOT
9ef6bbfd96
test(categories): improve typings in wrapWithThen mock implementation
2026-01-20 15:27:05 +01:00
Mathis HERRIOT
61b25f7b9e
test(favorites): improve typings in wrapWithThen mock implementation
2026-01-20 15:26:56 +01:00
Mathis HERRIOT
d0286d51ff
test(reports): update wrapWithThen mock to use stricter typings
2026-01-20 15:26:30 +01:00
Mathis HERRIOT
2291cc8afb
test(repositories): fix mock implementation of thenable query builders in repository tests
CI/CD Pipeline / Valider backend (push) Failing after 1m13s
CI/CD Pipeline / Valider frontend (push) Successful in 1m40s
CI/CD Pipeline / Valider documentation (push) Successful in 1m43s
CI/CD Pipeline / Déploiement en Production (push) Has been skipped
2026-01-20 14:04:57 +01:00
Mathis HERRIOT
ac4568a0f0
refactor(media): simplify content type assignment logic in media controller
2026-01-20 13:48:16 +01:00
Mathis HERRIOT
a11a332eaa
feat(health): enhance health check to include database and Redis status
2026-01-20 13:48:06 +01:00
Mathis HERRIOT
02c00e8aae
test(auth): add unit tests for various guards and services with mocked dependencies
2026-01-20 13:47:46 +01:00
Mathis HERRIOT
2886e50a0c
test(users): add unit tests for UsersService with mocked dependencies
2026-01-20 13:47:18 +01:00
Mathis HERRIOT
59a5cc941e
test(reports): add unit tests for ReportsController and ReportsRepository with mocked dependencies
2026-01-20 13:47:06 +01:00
Mathis HERRIOT
78db4b1c34
test(reports): add unit tests for ReportsController and ReportsRepository with mocked dependencies
2026-01-20 13:46:59 +01:00
Mathis HERRIOT
b177bee75c
test(favorites): add unit tests for FavoritesController and FavoritesRepository with mocked dependencies
2026-01-20 13:46:42 +01:00
Mathis HERRIOT
0cd6509273
test(contents): add unit tests for ContentsController and ContentsService with mocked dependencies
2026-01-20 13:46:31 +01:00
Mathis HERRIOT
05a56ff87d
test(categories): add unit tests for CategoriesController and CategoriesRepository with mocked dependencies
2026-01-20 13:46:06 +01:00
Mathis HERRIOT
3fa11474c1
test(auth): add unit tests for AuthGuard and AuthController with mocked dependencies
2026-01-20 13:45:50 +01:00
Mathis HERRIOT
4c12c5c5cb
test(api-keys): add unit tests for ApiKeysController and ApiKeysRepository with mocked dependencies
2026-01-20 13:45:27 +01:00
Mathis HERRIOT
48dbdbfdcc
test(admin): add unit tests for AdminService with mocked repositories
2026-01-20 13:45:07 +01:00
Mathis HERRIOT
002a6b912a
test(admin): add unit tests for AdminController with mocked dependencies
2026-01-20 13:44:35 +01:00
Mathis HERRIOT
4700526dd2
refactor(media): remove redundant metadata fallback for content-type
CI/CD Pipeline / Valider backend (push) Failing after 1m9s
CI/CD Pipeline / Valider frontend (push) Successful in 1m37s
CI/CD Pipeline / Valider documentation (push) Successful in 1m40s
CI/CD Pipeline / Déploiement en Production (push) Has been skipped
2026-01-20 12:06:20 +01:00
Mathis HERRIOT
2df45af305
style(logging): reformat hashed IP computation for improved readability
Lint / lint (documentation) (push) Successful in 1m18s
Lint / lint (backend) (push) Successful in 1m21s
Backend Tests / test (push) Successful in 1m23s
Lint / lint (frontend) (push) Successful in 1m10s
Lint / lint (backend) (pull_request) Successful in 1m20s
Lint / lint (documentation) (pull_request) Successful in 1m22s
Backend Tests / test (pull_request) Successful in 1m24s
Lint / lint (frontend) (pull_request) Successful in 1m10s
2026-01-20 10:01:40 +01:00
Mathis HERRIOT
863a4bf528
style(app): reformat middleware configuration for improved readability
Lint / lint (backend) (push) Failing after 52s
Backend Tests / test (push) Successful in 1m15s
Lint / lint (frontend) (push) Successful in 1m10s
Lint / lint (documentation) (push) Successful in 2m39s
2026-01-20 09:58:10 +01:00
Mathis HERRIOT
9a1cdb05a4
fix(auth): adjust 2FA verification log formatting for consistency
2026-01-20 09:57:59 +01:00
Mathis HERRIOT
28caf92f9a
fix(media): update S3 file info type casting for stricter type safety
...
Replace `any` with `BucketItemStat` for `getFileInfo` response in MediaController to ensure accurate type definition.
2026-01-20 09:57:38 +01:00
Mathis HERRIOT
8b2728dc5a
test(s3): update mock implementation types for stricter type safety
...
Refactor mock implementations in S3 service tests to replace `any` with `unknown` for improved type safety and consistency.
2026-01-20 09:57:27 +01:00
Mathis HERRIOT
3bbbbc307f
test(media): fix type casting in MediaController unit tests
...
Update type casting for `Response` object in MediaController tests to use `unknown as Response` for stricter type safety. Remove unused `s3Service` variable for cleanup.
2026-01-20 09:57:11 +01:00
Mathis HERRIOT
f080919563
fix(logging): resolve type issue in hashed IP logging
...
Ensure `ip` parameter is explicitly cast to string before creating a SHA-256 hash to prevent runtime errors.
2026-01-20 09:56:44 +01:00
Mathis HERRIOT
edc1ab2438
feat(logging): introduce HTTP logging middleware
...
Lint / lint (backend) (push) Failing after 2m22s
Backend Tests / test (push) Successful in 2m47s
Lint / lint (documentation) (push) Successful in 1m11s
Lint / lint (frontend) (push) Successful in 1m9s
Add middleware to log HTTP request and response details, including method, URL, status, duration, user agent, and hashed IP address. Logs categorized by severity based on response status code.
2026-01-20 09:45:06 +01:00
Mathis HERRIOT
01b66d6f2f
feat(logging): enhance exception filter with user context in logs
...
Integrate user context (`userId`) into exception filter logging for improved traceability. Adjust log messages to include `[User: <ID>]` when user data is available.
2026-01-20 09:44:57 +01:00
Mathis HERRIOT
9a70dd02bb
feat(s3): add detailed logging for upload and delete operations
2026-01-20 09:44:45 +01:00
Mathis HERRIOT
e285a4e634
feat(auth): add detailed logging for login and 2FA operations
...
Introduce warnings for failed login attempts and invalid 2FA tokens. Add logs for successful logins and 2FA requirements to improve authentication traceability.
2026-01-20 09:44:12 +01:00
Mathis HERRIOT
f247a01ac7
feat(middleware): add HTTP logging middleware to application configuration
2026-01-20 09:43:52 +01:00
Mathis HERRIOT
c1118e9f25
test(s3): fix formatting of mock implementation in unit tests
Backend Tests / test (push) Successful in 1m10s
Lint / lint (backend) (push) Successful in 1m7s
Lint / lint (documentation) (push) Successful in 1m8s
Lint / lint (frontend) (push) Successful in 1m6s
Backend Tests / test (pull_request) Successful in 1m10s
Lint / lint (backend) (pull_request) Successful in 1m7s
Lint / lint (documentation) (pull_request) Successful in 1m6s
Lint / lint (frontend) (pull_request) Successful in 1m7s
2026-01-15 00:44:55 +01:00
Mathis HERRIOT
8d27532dc0
feat(s3): enhance logging and public URL generation
...
Backend Tests / test (push) Successful in 1m11s
Lint / lint (backend) (push) Failing after 46s
Lint / lint (documentation) (push) Successful in 1m7s
Lint / lint (frontend) (push) Has been cancelled
Add detailed logging for S3 uploads in user and content services. Improve public URL generation logic in `S3Service` by providing better handling for `API_URL`, `DOMAIN_NAME`, and `PORT`. Update relevant tests to cover all scenarios.
2026-01-15 00:40:36 +01:00