Commit graph

23 commits

Author SHA1 Message Date
ca9c0fbc4e
feat(policy): allow ProductDto and RecipeDto in policies
Updated ProductPolicy and RecipePolicy to accept ProductDto in addition to Product. This change enhances the flexibility of the policies by allowing DTOs to be used for authorization checks.

refactor(provider): simplify service provider bindings

Refactored AppServiceProvider to simplify the binding of ProductDirectory and RecipeDirectory. Removed unnecessary dependencies and improved clarity.

feat(route): update route bindings for front-end

Changed route bindings for products and recipes to use frontProduct and frontRecipe. This improves clarity and consistency in route handling.

fix(breadcrumbs): update breadcrumb checks for DTOs

Updated breadcrumb generation to check for ProductDto and RecipeDto instead of their model counterparts. This ensures breadcrumbs function correctly with the new DTO structure.

refactor(types): remove FilePath type and update schemas

Removed the FilePath type definition and updated related schemas to use string directly. This simplifies type handling for file paths.

style(entities): standardize naming conventions

Updated naming conventions in Product and Recipe entities to use snake_case for consistency across the codebase.

feat(frontend): update product and recipe pages for new DTO structure

Modified front-end components to accommodate changes in the product and recipe data structures, ensuring compatibility with the new DTOs.
2026-11-05 16:49:42 +01:00
481d80c8ea
refactor(requests): simplify nutritional values handling in product requests
Updated the handling of nutritional values in StoreProductRequest and UpdateProductRequest
to improve clarity and maintainability. The logic for processing nutritional values has been
centralized into a dedicated method, enhancing code readability.
2026-11-05 13:25:39 +01:00
bc69c9f64d
feat(products): implement GetBoPaginatedProductsQuery and input/output classes
feat(recipes): implement GetBoPaginatedRecipesQuery and input/output classes

feat(requests): add table parameter resolution for products and recipes
2026-11-05 12:17:58 +01:00
6c691f77fc
feat(queries): add new product and recipe queries with inputs
- Implement GetCategoriesProductsQuery and GetCategoriesProductsQueryInput for product category retrieval.
- Implement GetRelatedProductsQuery and GetRelatedProductsQueryInput for related product fetching.
- Implement GetFrontRecipesQuery and GetFrontRecipesQueryInput for front-end recipe listing.
- Implement GetRelatedRecipesQuery and GetRelatedRecipesQueryInput for related recipe fetching.
- Update ProductController and RecipeController to utilize new query classes.
- Enhance IndexProductRequest and IndexRecipeRequest to convert requests to query inputs.
2026-11-05 12:02:36 +01:00
04a9f97719
feat(recipes): implement CRUD actions for recipes
- Added actions for creating, updating, deleting, force deleting, and restoring recipes.
- Introduced input classes for each action to handle data validation and transfer.
- Implemented DTOs for recipes to facilitate data transfer between layers.
- Updated RecipeController to utilize new actions and input classes.
- Enhanced recipe model to manage picture URLs and storage.
- Updated frontend components to handle new data structures and display images correctly.
2026-11-05 11:54:19 +01:00
57faeada75
feat(dto): add CategoryProductsDto, ProductDto, and ProductSummaryDto
Add new DTOs for handling product and category data structures.
These DTOs facilitate data transfer and serialization for products and categories.

refactor(controller): update ProductController to use executor pattern

Refactor ProductController to utilize an executor for handling product creation,
updating, and deletion, improving code organization and maintainability.

refactor(controller): update RecipeController to use executor pattern

Refactor RecipeController to utilize an executor for handling recipe creation,
improving code organization and maintainability.

chore: remove MediaController

Remove MediaController as it is no longer needed in the application.

feat(request): enhance StoreProductRequest and UpdateProductRequest

Enhance StoreProductRequest and UpdateProductRequest to include methods for
transforming request data into input objects for actions.

chore: add ActionExecutorService for executing actions and queries

Introduce ActionExecutorService to handle the execution of actions and queries
with logging and transaction management.

chore(deps): update composer dependencies

Update composer dependencies to include webmozart/assert for improved type assertions.
2026-11-05 11:37:20 +01:00
1e670eb1c2
fix(MediaController): improve S3 URL generation logic
Ensure proper handling of S3 disk type and URL construction.
2026-11-05 07:57:14 +01:00
c3cee9910b
chore: integrate PublicS3Disk and PrivateS3Disk classes
- Added PublicS3Disk and PrivateS3Disk classes for S3 disk management.
- Updated ProductController and RecipeController to utilize PublicS3Disk for file uploads.
- Modified MediaController to redirect to S3 URLs.
- Enhanced migration script to support file migration to new S3 structure.
- Updated filesystem and storage service configurations for public/private S3 disks.
2026-11-04 16:42:20 +01:00
e55889369b
refactor(requests): simplify file validation rules
Updated the UpdateProductRequest and UpdateRecipeRequest to use built-in validation rules for file uploads, removing custom validation methods for pictures and PDFs. This change streamlines the validation process and improves code readability.

refactor(helper): remove unused FileStorageHelper

Deleted the FileStorageHelper class as it was no longer needed, simplifying the codebase.

refactor(toolbox): clean up ToolboxHelper methods

Removed unused methods and simplified existing ones in ToolboxHelper to enhance maintainability.

feat(models): add translation search method to Product and Recipe

Added a new method `whereTranslationLike` to both Product and Recipe models to facilitate searching translations.

chore(config): add storage service prefix configuration

Introduced a new configuration option for storage service prefix to allow customization of media paths.

fix(validation): add file existence validation message

Added a French translation for the file existence validation message to improve user feedback.

feat(routes): add media route for file access

Implemented a new route for accessing media files through a MediaController, enhancing file management capabilities.
2026-11-04 10:18:51 +01:00
81be02c717
refactor(RecipeController, Recipe): externalize picture storage logic 2026-11-04 10:18:50 +01:00
dee327ce56
refactor(ProductController): externalize file storage logic
Updated product storage logic to utilize StorageService for handling file uploads and removals.
2026-11-04 10:18:49 +01:00
597e1c720a
refactor: add missing nutritional values on products 2026-10-20 12:23:15 +02:00
36a44f0df3
refactor(ProductController, RecipeController): simplify data handling in store and update methods
Improved clarity by introducing a variable for request data before filling the model.
2026-09-21 11:52:40 +02:00
28f447c8ec
refactor: fron and back recipe - products association 2026-09-21 11:52:40 +02:00
57a9db1fd5
fix(RecipeController): ensure perPage is at least 1 for pagination
This change prevents potential issues with pagination when there are no recipes.
2026-09-21 11:44:53 +02:00
a1f8e410fe
feat(routes): add duplicate, restore, and force destroy routes for products and recipes
This update introduces new routes for duplicating, restoring, and force deleting products and recipes, enhancing the management capabilities in the application.
2026-09-21 11:43:40 +02:00
1a7f321cff
refactor: initial Recipes and products implementation ok 2026-09-21 11:43:39 +02:00
1a12569395
feat(directory): update ProductDirectory to use ProductId
- Changed the find method to accept ProductId instead of int.
- Added findBySlug method to retrieve products by slug.
- Updated getCategoryProducts method to return CategoryProducts type.

feat(eloquent): implement findBySlug in EloquentProductDirectory

- Implemented findBySlug method to retrieve products by slug.
- Updated find method to handle ProductId.

feat(dto): enhance CategoryProducts to serialize product IDs

- Updated CategoryProducts to serialize product IDs as strings.

feat(controller): modify ProductController to handle search limits

- Set limitPerCategory to -1 for search functionality.

refactor(model): change Product model ID to UUID

- Changed the id field in Product model to UUID.
- Updated related methods to handle UUIDs.

feat(migration): alter products and recipes tables for UUIDs

- Updated migrations to use UUIDs for primary keys in products and recipes tables.
- Adjusted foreign key constraints in product_recipe table.

feat(route): add route model binding for products

- Implemented route model binding for products using ProductId and slug.

chore(seed): remove CSV import calls from MandatorySeeder

- Removed calls to ImportProductsCsvSeeder and ImportRecipesCsvSeeder.

feat(entity): create ProductId and RecipeId value objects

- Added ProductId and RecipeId classes to encapsulate UUIDs.

feat(frontend): update TypeScript interfaces for products

- Updated TypeScript interfaces to reflect changes in product structure.
2026-09-21 11:43:39 +02:00
1200bfea4c
refactor: product.index page with search 2026-09-21 11:43:38 +02:00
028f769dbc
feat(products): add create and edit product pages
- Implemented Create and Edit pages for products with forms.
- Added validation and permissions handling for product actions.
- Introduced new product model and related types for better structure.
- Enhanced sidebar registry to remove auth dependency for link resolution.
- Updated routes to handle precognitive requests for product forms.
2026-09-21 11:36:52 +02:00
43c3d55b72
refactor: products.index and recipes.index pages on Bo 2026-09-21 11:36:51 +02:00
K Muller
db25bec3e5 feat: ✨ add :
- sentry
- variables in manifest
- some dynamic pages
- breadcrumbs
- dynamic page resolver
2026-04-07 16:21:09 +02:00
K Muller
a6370dcb47 first commit 2026-03-16 12:36:44 +01:00