Commit Graph

120 Commits

Author SHA1 Message Date
Nils-Johan Gynther e370062b5c feat: enhance CORS configuration and implement throttling for API endpoints; add admin role checks in controllers 2026-04-21 08:17:44 +02:00
Nils-Johan Gynther 7748ad311f feat: implement security headers and rate limiting; update environment variables and documentation 2026-04-21 08:06:21 +02:00
Nils-Johan Gynther c1d51c771e feat: add helmet middleware for security and implement Content Security Policy in Next.js configuration 2026-04-21 07:44:04 +02:00
Nils-Johan Gynther 2b6fe71e53 feat(products): enhance logging in create method for better request tracking 2026-04-19 17:10:04 +02:00
Nils-Johan Gynther 3ad634f348 feat(auth): add detailed logging in JwtAuthGuard and JwtStrategy for better debugging
feat(products): enhance logging in create method to track requests and user details
2026-04-19 17:08:14 +02:00
Nils-Johan Gynther 976a72612e feat(inventory): add origin field to InventoryItem and update related DTOs and services 2026-04-19 15:11:35 +02:00
Nils-Johan Gynther 39b91d8c87 feat(products): add public access to findAll and findAllTags endpoints
feat(ai): enhance AI admin client with status messages for API key configuration
refactor(api): remove authorization check from products route
2026-04-19 11:42:10 +02:00
Nils-Johan Gynther 045f160655 feat(api): implement retry logic for Mistral API calls in receipt import and AI services 2026-04-19 11:31:05 +02:00
Nils-Johan Gynther cd14e59ff8 fix(receipt-import): update receipt import model to 'mistral-small-2603' 2026-04-19 11:10:14 +02:00
Nils-Johan Gynther f3db5ba51a feat(ai): implement AI models management and configuration in admin panel 2026-04-19 11:07:15 +02:00
Nils-Johan Gynther 054a19ed7c MAJOR UPPDATE: "First Ai"
feat: add AI categorization for products and enhance user management

- Integrated AI service for category suggestions in receipt import and product management.
- Added premium subscription feature for users with corresponding API endpoints.
- Implemented admin interface for managing pending product suggestions.
- Enhanced user management to include premium status and corresponding UI updates.
- Updated database schema to support new fields for premium status and product status.
2026-04-19 10:34:21 +02:00
Nils-Johan Gynther 94462b60c9 fix(controller): update users controller route to remove 'api' prefix 2026-04-18 15:02:38 +02:00
Nils-Johan Gynther a67f9cb2c1 fix(controller): add missing closing brace in UsersController class 2026-04-18 14:51:17 +02:00
Nils-Johan Gynther 537a4f8ab6 feat: Implement admin user management features
- Added adminCreateUser endpoint and corresponding DTO for creating users.
- Implemented deleteUser and resetPassword functionalities for admin users.
- Introduced updateEmail functionality for admin users.
- Updated UsersService to handle user creation, deletion, password reset, and email updates.
- Modified UsersController to include new admin routes with appropriate role checks.
- Refactored frontend navigation to link to user management under profile.
- Created new profile tabs for user management and database management.
- Developed AnvandareClient component for user management, including user creation, deletion, role changes, and password resets.
- Added DatabsTab for managing product listings and merging duplicates.
- Enhanced MinProfilTab for user profile management with form handling.
2026-04-18 14:49:02 +02:00
Nils-Johan Gynther c5ccef2313 feat(auth): implement role-based access control and user management features 2026-04-18 09:34:22 +02:00
Nils-Johan Gynther 10bb96dae8 feat(dtos): add IsInt validation to productId in CreateInventoryDto and UpdateInventoryDto 2026-04-18 09:03:38 +02:00
Nils-Johan Gynther fd188a3f95 refactor(inventory): remove unused fields from InventoryItem and update related DTOs 2026-04-18 09:01:14 +02:00
Nils-Johan Gynther a7fb9a585a feat(products): add UpsertNutritionDto import to products controller 2026-04-17 23:01:41 +02:00
Nils-Johan Gynther 21dc06829a feat(meal-plan): add servings field to MealPlanEntry and update related functionality
feat(products): implement bulk update for product categories

feat(recipes): add servings input to WriteRecipePage and update MealPlanClient for servings management

refactor(types): enhance Product and Category types with additional properties
2026-04-17 22:50:41 +02:00
Nils-Johan Gynther adcfa97c06 refactor(categories): change controller route from 'api/categories' to 'categories'
fix(products): update category fetch logic to ensure data is an array
refactor(products): simplify GET handler by integrating authentication directly
2026-04-17 22:13:16 +02:00
Nils-Johan Gynther ce8e561c03 feat(products): change reset-all endpoint method from DELETE to POST 2026-04-17 21:25:42 +02:00
Nils-Johan Gynther e41ee760b9 feat(products): add reset functionality to delete all products and related data 2026-04-17 21:22:54 +02:00
Nils-Johan Gynther cc8be88462 feat(categories): implement category management with hierarchical structure and update product association 2026-04-17 21:16:58 +02:00
Nils-Johan Gynther a9e83544c5 feat(profile): add user profile management with first and last name fields 2026-04-17 20:44:23 +02:00
Nils-Johan Gynther ce0cc6fbf0 feat(auth): implement user authentication with JWT and NextAuth
- Added user registration and login functionality with JWT authentication.
- Created auth controller, service, and module in the backend.
- Implemented user model and user products management.
- Integrated NextAuth for session management on the frontend.
- Added middleware for protecting routes and handling public access.
- Updated frontend API routes to include authorization headers.
- Enhanced recipe and user product models to support ownership and visibility.
- Created registration and login pages in the frontend.
- Added necessary types for NextAuth session management.
2026-04-17 19:57:08 +02:00
Nils-Johan Gynther 8e0aed032c feat: add servings field to Recipe model and implement inventory comparison functionality 2026-04-17 18:48:08 +02:00
Nils-Johan Gynther a4ea9be7a1 feat: enhance product model with subcategory, brand, tags, and nutrition; update related DTOs and services 2026-04-17 18:11:06 +02:00
Nils-Johan Gynther 2a0da005ff feat: add receiptName field to InventoryItem model and update related DTOs and service 2026-04-16 21:22:34 +02:00
Nils-Johan Gynther af88a0dc81 feat: implement receipt alias functionality with CRUD operations and integrate with receipt import 2026-04-16 21:06:16 +02:00
Nils-Johan Gynther b8744f625b feat: enhance receipt import to support PDF files with updated UI and backend processing 2026-04-16 20:22:27 +02:00
Nils-Johan Gynther a12abe0402 feat: add receipt import functionality with UI and backend integration 2026-04-16 20:02:57 +02:00
Nils-Johan Gynther 1b82b02021 feat: implement meal planning feature with CRUD operations and UI integration 2026-04-16 19:37:09 +02:00
Nils-Johan Gynther 9292e30abc feat: add tests for normalizeName and RecipesService methods, including unit conversion and alias normalization 2026-04-16 19:22:14 +02:00
Nils-Johan Gynther d5b360fd62 Refactor logging in IcaRecipeParser and QuickImportService to use NestJS Logger
- Updated IcaRecipeParser to replace console.log statements with Logger for better logging practices.
- Enhanced QuickImportService with Logger for consistent logging and error handling.
- Changed quantity validation in CreateRecipeIngredientDto and CreateRecipeDto to allow zero.
- Removed CanonicalNameForm and NameForm components from the frontend.
- Updated EditProductForm to use a select dropdown for categories instead of a text input.
- Added validation for product name, canonical name, and category length in product update action.
- Refactored unit options into a separate file for better reusability across components.
- Removed unused API fetching functions and inventory types to clean up the codebase.
2026-04-16 18:18:27 +02:00
Nils-Johan Gynther 719c291e36 fix: TS2322 null not assignable to string | undefined i products.service 2026-04-15 22:13:37 +02:00
Nils-Johan Gynther 47d1aafd9e feat: PantryItem (Baslager) - tabell, backend-modul och frontend-sida 2026-04-15 22:06:40 +02:00
Nils-Johan Gynther 65ec74ac7d feat: redigeringsformulär för produkter i admin med namn, canonical name, kategori och mjukradering 2026-04-15 22:02:58 +02:00
Nils-Johan Gynther 1844368cf8 fix: återställ url i schema.prisma, ta bort ogiltig datasourceUrl från constructor 2026-04-15 21:14:48 +02:00
Nils-Johan Gynther d5cb8d27e0 fix: add type assertion for datasourceUrl in PrismaService constructor 2026-04-15 21:10:44 +02:00
Nils-Johan Gynther 649f76fa72 fix: update PrismaService constructor to include datasourceUrl configuration 2026-04-15 21:07:00 +02:00
Nils-Johan Gynther ba6ac036b5 fix: remove datasource configuration from PrismaService constructor 2026-04-15 21:03:24 +02:00
Nils-Johan Gynther 5d80dfef6f fix: update PrismaService constructor to use correct datasource format and include prisma.config.ts in Dockerfile 2026-04-15 21:01:49 +02:00
Nils-Johan Gynther c9ef587eb1 feat: add Prisma configuration file and update Dockerfile to include it 2026-04-15 20:53:45 +02:00
Nils-Johan Gynther 73bf5193c4 feat: add image handling to recipes
- Implemented image downloading and optimization in QuickImportService.
- Added imageUrl field to CreateRecipeDto for recipe creation.
- Created an endpoint in RecipesController to update recipe images.
- Enhanced RecipesService to handle image URL updates and optimizations.
- Updated Docker Compose to mount a volume for recipe images.
- Refactored frontend to display images in recipe grids and detail views.
- Added a new utility function for downloading and optimizing images.
- Created a new API route for handling image uploads.
- Introduced RecipeGrid component for better recipe display.
- Updated RecipeDetailClient to manage image updates and display.
- Added migration for new imageUrl column in the Recipe table.
2026-04-15 19:46:50 +02:00
Nils-Johan Gynther 4a241c1cb9 refactor: Remove PDF parser and quick import controller/service implementations 2026-04-14 22:28:37 +02:00
Nils-Johan Gynther 1ce1318bf5 feat: Implement PDF recipe parser and quick import service for file and URL inputs 2026-04-14 22:24:28 +02:00
Nils-Johan Gynther b795bbfc71 feat: Update ingredient units and improve layout responsiveness across various components 2026-04-12 11:08:15 +02:00
Nils-Johan Gynther 3d4994f24d feat: Enhance ingredient parsing to support mixed fractions and add description extraction in recipe parsers 2026-04-12 10:50:59 +02:00
Nils-Johan Gynther 9ca7fcce96 feat: Add optional note field to ingredient parsing and update related components 2026-04-12 10:30:05 +02:00
Nils-Johan Gynther 03727ee3c5 feat: Implement auto-parsing of markdown in WriteRecipePage with error handling 2026-04-12 10:06:51 +02:00