Commit Graph

46 Commits

Author SHA1 Message Date
Mathis HERRIOT
dde1bf522f feat: implement ReportsModule with service, controller, and endpoints
Added ReportsModule to manage user reports. Includes service methods for creating, retrieving, and updating report statuses, as well as controller endpoints for handling these operations. Integrated with authentication, role-based access control, and database logic.
2026-01-08 15:26:39 +01:00
Mathis HERRIOT
dd875fe1ea feat: add MediaModule with service for virus scanning and media processing
Introduced MediaModule with MediaService to handle antivirus scanning using ClamAV and media file processing for images (webp/avif) and videos (webm/av1). Includes media-related interfaces and module exports for broader application integration.
2026-01-08 15:26:25 +01:00
Mathis HERRIOT
92ea36545a feat: add FavoritesModule with service, controller, and CRUD endpoints
Implemented FavoritesModule to manage user favorites. Includes service methods for adding, removing, and listing favorites, along with appropriate database integrations and API endpoints.
2026-01-08 15:26:05 +01:00
Mathis HERRIOT
912394477b feat: add categories and favorites schemas with integrations
Added `categories` and `favorites` database schemas with full type inference support. Integrated categories into `content` schema with new properties (`categoryId`, `slug`, `views`, and `usageCount`). Updated `tags` schema to include `userId` with reference to `users`. Exported new schemas in index for broader usage.
2026-01-08 15:25:51 +01:00
Mathis HERRIOT
fe309bc1e3 feat: add hashing methods for email and IP in CryptoService for blind indexing
Introduced `hashEmail` and `hashIp` methods to enable searching on encrypted data. Added support to retrieve PGP encryption key from configuration.
2026-01-08 15:25:40 +01:00
Mathis HERRIOT
342e9b99da feat: implement ContentsModule with controllers, services, and DTOs
Added a new ContentsModule to handle content creation, upload, and management. Includes controller endpoints for CRUD operations, content exploration, and tagging. Integrated caching, file processing, S3 storage, and database logic.
2026-01-08 15:25:28 +01:00
Mathis HERRIOT
e210f1f95f feat: add env schema for environment variable validation
Introduced `env.schema.ts` for structured validation of environment variables using Zod. Includes defaults and validations for database, S3, security, mail, Redis, and session configurations.
2026-01-08 15:25:16 +01:00
Mathis HERRIOT
2218768adb feat: add CommonModule with PurgeService and global exception filter
Introduced CommonModule to centralize shared functionality. Added PurgeService for automated database cleanup and a global exception filter for unified error handling.
2026-01-08 15:25:04 +01:00
Mathis HERRIOT
705f1ad6e0 feat: add CategoriesModule with CRUD operations
Implemented CategoriesModule with controller, service, and DTOs for managing categories. Includes endpoints for creation, retrieval, updating, and deletion, integrated with database logic.
2026-01-08 15:24:48 +01:00
Mathis HERRIOT
42805e371e feat: implement AuthModule with authentication and RBAC features
Added AuthModule with services, controllers, and guards for authentication. Implements session management, role-based access control, 2FA, and DTOs for user login, registration, and token refresh.
2026-01-08 15:24:40 +01:00
Mathis HERRIOT
9406ed9350 feat: implement ApiKeysModule with services, controller, and CRUD operations
Added a dedicated ApiKeysModule to manage API keys. Includes functionality to create, list, revoke, and validate keys, leveraging cryptographic hashing and database support. Integrated with authentication guards for security.
2026-01-08 15:24:23 +01:00
Mathis HERRIOT
b3035eb2ab feat: add MailModule to app imports 2026-01-08 12:41:42 +01:00
Mathis HERRIOT
a6fdbdb06d chore: refactor crypto service tests for readability and lint compliance 2026-01-08 12:41:35 +01:00
Mathis HERRIOT
48b233eae4 chore: add comment to ignore lint rule in S3 service test 2026-01-08 12:41:31 +01:00
Mathis HERRIOT
89bd9d65e7 feat: implement MailModule with email services and tests
Added MailModule with services for email validation and password reset functionalities. Includes configuration via `@nestjs-modules/mailer` and comprehensive unit tests.
2026-01-08 12:41:27 +01:00
Mathis HERRIOT
8cf1699717 feat: add mailing dependencies to support email functionality
Added `@nestjs-modules/mailer`, `nodemailer`, and their respective types to backend dependencies for implementing email services. Updated `pnpm-lock.yaml` to reflect these changes.
2026-01-08 12:41:06 +01:00
93b86a6b7a Mock @noble/post-quantum and jose dependencies, update Jest configurations in package.json for compatibility
Some checks failed
Backend Tests / test (push) Successful in 9m35s
Lint / lint (push) Failing after 4m58s
2026-01-07 21:25:46 +01:00
06d2a65567 Add S3Service with tests and module setup for MinIO integration 2026-01-07 21:09:33 +01:00
fd32a14221 Add S3Module to app.module.ts for S3 integration 2026-01-07 21:09:17 +01:00
cee4d41ef0 Add minio dependency to package.json 2026-01-07 21:08:49 +01:00
Mathis HERRIOT
187c51f932 chore: reorder and format imports for consistency across modules
All checks were successful
Lint / lint (push) Successful in 9m37s
2026-01-06 12:30:55 +01:00
Mathis HERRIOT
c1bc68e3e3 feat: add dependencies for cryptographic utilities
Some checks failed
Lint / lint (push) Failing after 4m59s
Added `@noble/post-quantum`, `@node-rs/argon2`, and `jose` to backend dependencies to support advanced cryptographic operations, including post-quantum algorithms, Argon2 hashing, and JWT/JWE handling.
2026-01-06 12:09:57 +01:00
Mathis HERRIOT
810acd8ed4 feat: implement CryptoModule with comprehensive cryptographic utilities and testing
Added CryptoModule providing services for Argon2 hashing, JWT handling, JWE encryption/decryption, JWS signing/verification, and post-quantum cryptography (ML-KEM). Includes extensive unit tests for all features.
2026-01-06 12:09:44 +01:00
Mathis HERRIOT
adceada1b6 feat: add CryptoModule to app imports 2026-01-06 12:09:28 +01:00
Mathis HERRIOT
dfba0c0adb feat: integrate ConfigModule and DatabaseModule into app initialization 2026-01-06 11:42:44 +01:00
Mathis HERRIOT
38e97741e0 chore: reformat schemas and documentation files for consistency
Some checks failed
Lint / lint (push) Failing after 4m58s
Standardized formatting across database schema files and updated documentation structure to improve clarity and organization.
2026-01-05 16:17:41 +01:00
Mathis HERRIOT
bfce5b2964 chore: add new lint script and apply consistent formatting across configs
Some checks failed
Lint / lint (push) Failing after 4m57s
Added `lint:write` script to streamline linting process and updated formatting in `drizzle.config.ts`
2026-01-05 15:59:55 +01:00
Mathis HERRIOT
b22129c4dd chore: reformat database schema files for readability
Applied consistent formatting and indentation across all schema files using Drizzle ORM to enhance code clarity and maintainability.
2026-01-05 15:59:15 +01:00
Mathis HERRIOT
694031c05b feat: add API keys schema with Drizzle ORM integration 2026-01-05 14:15:35 +01:00
Mathis HERRIOT
cbf7bfcb0a feat: add audit logs schema with Drizzle ORM integration 2026-01-05 14:15:32 +01:00
Mathis HERRIOT
9fb890699a feat: add content schema with Drizzle ORM integration 2026-01-05 14:15:28 +01:00
Mathis HERRIOT
9439c004e2 feat: add RBAC schemas with Drizzle ORM integration 2026-01-05 14:15:22 +01:00
Mathis HERRIOT
27954daf64 feat: add reports schema with Drizzle ORM integration 2026-01-05 14:15:18 +01:00
Mathis HERRIOT
7001082fb2 feat: add sessions schema with Drizzle ORM integration 2026-01-05 14:15:13 +01:00
Mathis HERRIOT
04ca5090df feat: add tags schema with Drizzle ORM integration 2026-01-05 14:14:57 +01:00
Mathis HERRIOT
19ceac1303 feat: export additional schemas for RBAC, sessions, API keys, tags, content, reports, and audit logs 2026-01-05 14:14:51 +01:00
Mathis HERRIOT
381ca24501 feat: enhance user schema with PGP encryption, GDPR fields, and 2FA support 2026-01-05 14:14:42 +01:00
Mathis HERRIOT
eefe2906ed feat: add database scripts for Drizzle ORM (generate, migrate, studio) in backend package.json 2026-01-05 14:14:22 +01:00
Mathis HERRIOT
8ee0491c96 chore: update Drizzle ORM schema path in configuration 2026-01-05 14:14:08 +01:00
Mathis HERRIOT
7761e26d32 feat: add user schema with PostgreSQL integration using Drizzle ORM 2026-01-05 12:10:49 +01:00
Mathis HERRIOT
43b4334971 feat: add Drizzle ORM configuration for PostgreSQL integration in backend 2026-01-05 12:08:01 +01:00
Mathis HERRIOT
07f905d7c9 feat: add support for dotenv, PostgreSQL, and Drizzle ORM in backend dependencies 2026-01-05 12:07:46 +01:00
Mathis HERRIOT
72f3bb7723 feat: implement database module and service with PostgreSQL integration and migrations support 2026-01-05 12:07:12 +01:00
403e2ca922 Update package name, adjust Biome config, and fix import order in e2e tests 2026-01-04 23:43:13 +01:00
3259927fd1 Update formatting rules to enforce consistent tab-based indentation across the backend 2026-01-04 23:30:54 +01:00
4b53a8d410 Initialize NestJS backend with basic structure, Biome setup, and essential configurations 2026-01-04 23:26:27 +01:00