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.
- 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.
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.
- Enhanced text wrapping and overflow handling in BreadcrumbsBase, ItemCard, PageHeader, Show (Products), and Show (Recipes) components for better responsiveness and readability.
- Updated translation utility to improve consistency and reduce redundancy.
- Removed deprecated useTrans hook and related code.
- Introduced a new Zustand store for managing translations and locale settings.
- Cleaned up unused hooks and files related to localization.
- Added description field to Product model and database migration.
- Updated StoreProductRequest validation rules for description.
- Modified product factory and seeder to include description.
- Enhanced product forms and show pages to display description.
Updated the tiptap class with improved styles for headings, lists, and other elements.
Applied consistent spacing and formatting to enhance readability and presentation.
- Introduced DOMPurify for sanitizing HTML inputs.
- Added `sanitizeRichHtml` and `toSanitizedHtml` functions for safe HTML rendering.
- Updated various components to use the new sanitization methods to prevent XSS attacks.
- Implemented mobile filter toggle and drawer for product filters.
- Added MobileFilterGroup component for better filter management.
- Enhanced UI for active filter chips and search bar.
- Improved layout and styling for better responsiveness.
feat(recipes): introduce mobile filter functionality and UI updates
- Added mobile filter toggle and drawer for recipe filters.
- Created MobileFilterGroup component for recipe filtering.
- Updated layout and styling for improved user experience.
- Enhanced responsiveness for recipe display on mobile devices.
- 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.