- Added data preparation for validation in StoreProductRequest and StoreRecipeRequest.
- Updated validation rules to include minimum lengths for various fields.
- Integrated limits for word counting in SimpleString, SimpleTextarea, and SimpleWysiwyg components.
- 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.
- 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.
This update introduces new routes for duplicating, restoring, and force deleting products and recipes, enhancing the management capabilities in the application.
- 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.