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.
- 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.
- 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.