Commit Graph

344 Commits

Author SHA1 Message Date
ncoronel b9ad2e589f refactor(tenant): remove legacy presentation configuration and related carousel images 2026-07-29 14:54:57 -03:00
ncoronel 04bf03fc2e feat(website): add website type and extras models with migration and tests 2026-07-29 14:09:47 -03:00
ncoronel 7c9ebc6d4d feat(auth): implement login security features including account locking and login attempt tracking 2026-07-29 10:47:26 -03:00
ncoronel 45553dc514 feat(purchase): add review submission for pending purchases and update related logic 2026-07-29 09:11:00 -03:00
ncoronel 1c870d9cfa feat(tickets): add source_purchase_id to tickets and update related logic 2026-07-28 16:10:37 -03:00
ncoronel 4eacff86bc feat(purchase): update customer data for pending payment purchases 2026-07-28 15:06:00 -03:00
ncoronel 8dc80411d7 feat(categories): add category retrieval and pagination for tenant-specific products 2026-07-28 12:20:17 -03:00
ncoronel ff9d7728e8 Implement localization for API responses and error messages
- Added localization support for API responses in English and Spanish.
- Introduced a middleware to set the API locale based on the Accept-Language header.
- Updated various exception messages and validation responses to use localized strings.
- Created new language files for English and Spanish translations.
- Refactored existing code to replace hardcoded messages with localized strings.
- Added tests to verify localization functionality and response correctness.
2026-07-28 10:19:39 -03:00
ncoronel 754aeebe3a Squashed commit of the following:
commit c993da3397b65488d919d1b929cbd4638754601b
Author: ncoronel <ncoronel@quo.ar>
Date:   Tue Jul 28 09:54:10 2026 -0300

    feat(tickets): update ticket metadata layout for improved readability and clarity

commit 140fa4676d84bed788894e1d7994b26dccac7a34
Author: ncoronel <ncoronel@quo.ar>
Date:   Tue Jul 28 09:43:21 2026 -0300

    feat(tickets): enhance PDF ticket download with dynamic filename and improved styling

commit 8875c047b198776e61e8353c99cf4c7b00bc8fc9
Author: ncoronel <ncoronel@quo.ar>
Date:   Tue Jul 28 09:03:17 2026 -0300

    feat(tickets): add PDF download functionality for tickets

    - Implemented a new endpoint to download tickets as a PDF.
    - Created DownloadTicketsPdfRequest for validating ticket IDs.
    - Added TicketPdfService to handle PDF generation and QR code embedding.
    - Developed a Blade view for rendering ticket details in PDF format.
    - Updated API routes to include the new PDF download route.
    - Added tests to ensure authenticated users can download their tickets and that users cannot download tickets belonging to others.
    - Updated composer.json and composer.lock to include necessary dependencies for PDF generation and QR code creation.
2026-07-28 09:54:49 -03:00
ncoronel 5107d858cc fix(ticket): temporarily disable maximum use date validation in ticket generation 2026-07-27 17:01:08 -03:00
ncoronel aa4f3303fc feat(variants): add minimum and maximum use dates to variants and update related logic 2026-07-27 14:59:07 -03:00
ncoronel 8b26a2b63e feat(purchase): add checkout expiration settings and reservation status to purchase items
- Introduced a new configuration file for purchase settings, including checkout and payment expiration times.
- Added a migration to include a `reservation_status` column in the `compra_items` table, defaulting to 'active' and updating existing records based on purchase status.
- Created a migration to add an `expires_at` timestamp to the `compras` table, updating it for existing records based on their status.
- Scoped unique indexes in the `carritos` table to only active carts, adding virtual columns for active user and guest tokens.
- Implemented a console command to expire overdue purchases and release stock reservations, scheduled to run every minute.
- Added tests for Google token exchange and login functionality, ensuring proper cart handling and user authentication.
- Updated purchase-related tests to reflect changes in item handling and customer data validation.
2026-07-27 12:49:27 -03:00
ncoronel c37b8894e4 Forgot password flow 2026-07-27 09:43:00 -03:00
ncoronel 135a3bea3e feat(search): implement catalog item search functionality with request validation and resource formatting 2026-07-24 14:17:34 -03:00
ncoronel 979ed428a2 feat(menu): add label field to menu model and update related functionality 2026-07-24 10:08:04 -03:00
ncoronel 460eec3c78 feat(menu): implement menu hierarchy and static content for help section in MenuSeeder and related tests 2026-07-23 17:07:55 -03:00
ncoronel 2b1ef5f8a9 feat(menu): implement TenantMenuController, StoreTenantMenuRequest, and TenantMenuService for managing tenant-specific menus 2026-07-23 16:23:19 -03:00
ncoronel 5ada399adf feat(menu): enhance validation for content_type and static_content_schema in Menu model 2026-07-23 15:57:14 -03:00
ncoronel aed818da6e feat(menu): enhance Menu and TenantMenu models with parent-child relationships and static content support 2026-07-23 15:54:16 -03:00
ncoronel 217f86f624 feat(social-media): add 'orden' field to social media pivot table and update related functionality 2026-07-23 15:19:17 -03:00
ncoronel 25891cefbc feat(tenant): add social media functionality with validation, synchronization, and tests 2026-07-23 15:03:57 -03:00
ncoronel c66d2019d6 feat(social-media): add SocialMedia model, migration, and tests for tenant associations 2026-07-23 14:54:42 -03:00
ncoronel c31be9c927 feat(tenant): update validation rules for logos and main carousel images, enhance tests for carousel image upload and update 2026-07-23 14:20:26 -03:00
ncoronel 67ede1a2b4 feat(tenant): add main carousel images functionality with migration, model, and tests 2026-07-23 14:19:00 -03:00
ncoronel e778d862ba feat(catalog): enhance featured groups with paginated and carousel layouts, update seeder and tests 2026-07-23 13:24:39 -03:00
ncoronel 1438ff66c7 feat(catalog): add GroupLayout enum and integrate into FeaturedGroup model, migrations, and seeders 2026-07-23 13:22:22 -03:00
ncoronel 873855c85a feat(auth): implement Google OAuth integration with user authentication and token exchange 2026-07-22 13:43:14 -03:00
ncoronel 528772fc96 feat(notification): implement email notifications for user registration and purchase events 2026-07-22 09:54:19 -03:00
ncoronel 7e1ffbf417 feat(integration): add requires_tenant_configuration field and update related logic and tests 2026-07-22 09:23:58 -03:00
ncoronel 03d8361e5f feat(mail): introduce MailService for tenant-specific SMTP handling and update related tests 2026-07-21 17:00:07 -03:00
ncoronel 3fe48fbfa5 feat(mail): implement MailService for tenant-specific SMTP configuration and update MailTestService to utilize it 2026-07-21 16:43:09 -03:00
ncoronel 22da4966e9 feat(mail-test): enhance email functionality with tenant branding and routing 2026-07-21 16:26:46 -03:00
ncoronel 1a05c380a0 feat(mail-test): implement email testing functionality
- Created MailTestController to handle email sending requests.
- Added SendTestMailRequest for validating email input.
- Developed MailTestService to manage email sending logic.
- Introduced TestMail Mailable for formatting test emails.
- Defined API route for sending test emails.
- Created EmailIntegrationSeeder to seed email integration settings.
- Updated DatabaseSeeder to include EmailIntegrationSeeder.
- Added MailTestControllerTest to ensure email sending functionality works as expected.
2026-07-21 16:01:18 -03:00
ncoronel e1a67fd9f3 feat(ticket): add TicketController, TicketResource, and related routes with tests 2026-07-21 14:56:17 -03:00
ncoronel 38f74739da feat(ticket): add source IDs to tickets and update related services and tests 2026-07-21 12:27:26 -03:00
ncoronel c0978033c1 feat(ticket): implement ticket generation on purchase payment and add related tests 2026-07-21 11:23:17 -03:00
ncoronel a928a2e848 feat(ticket): implement ticket generation service, model, and exception handling with tests 2026-07-21 11:20:52 -03:00
ncoronel c3f54c79cb feat(auth): implement token expiration for personal access tokens and update tests 2026-07-21 10:36:40 -03:00
ncoronel 29a2ca19a3 refactor(catalog): Complete catalog refactor to simplify its data model and its querying.
source commits: refactor/catalog
2026-07-21 09:23:19 -03:00
ncoronel b8eb71896c feat: refactor featured variants to group items, including new controller and resource implementations 2026-07-17 14:42:53 -03:00
ncoronel cb0fb2899c feat: implement polymorphic relationships for group items to support bundles and product variants 2026-07-17 14:42:44 -03:00
ncoronel 615eacea91 feat: rename featured_variants to group_items and update related references 2026-07-17 14:31:05 -03:00
ncoronel 84c9fa4c9d feat: update purchase status to pending payment in payment intent and related test 2026-07-16 12:13:48 -03:00
ncoronel b3d06431e5 feat: rename payer_dni to transfer_payer_dni across purchase handling and update related tests 2026-07-16 11:45:34 -03:00
ncoronel 379c2bdbeb Merge branch 'dev' of https://gitea.quo.ar/tbianchini/shopit-back into dev 2026-07-16 10:00:12 -03:00
ncoronel 6fc6ed1fac feat: refactor cart and purchase handling to support polymorphic buyable types and improve code readability 2026-07-16 09:55:38 -03:00
ncoronel c05206cc51 feat: refactor cart item handling to use mapped buyable types and improve method signatures 2026-07-16 09:19:38 -03:00
ncoronel 480ee70393 feat: refactor cart and bundle handling to support Buyable interface for improved flexibility 2026-07-16 09:19:03 -03:00
ncoronel ceb1e2b04a feat: implement Stockable interface and methods for Bundle and ProductVariant models 2026-07-16 09:11:37 -03:00
ncoronel 1d56d27350 feat: implement Bundle and BundleItem models, migrations, and polymorphic relationships for cart and purchase items 2026-07-16 09:11:00 -03:00
ncoronel 10157d7c63 feat: Implement inventory policy for product variants
- Introduced InventoryPolicy enum to manage tracked and unlimited inventory types.
- Updated ProductVariant model to include inventory_policy and cantidad_vendida attributes.
- Modified addItem and updateItem methods in Cart to check available quantity based on inventory policy.
- Added migration to include inventory_policy and cantidad_vendida in productos_variantes table.
- Enhanced tests to validate inventory behavior for both tracked and unlimited policies.
- Updated various request and resource classes to handle new inventory fields.
2026-07-16 08:36:59 -03:00
ncoronel cababe1a43 feat: add ticket fields to Product and ProductVariant models, requests, and resources 2026-07-14 15:19:53 -03:00
ncoronel 0e9f7faaf1 feat: update CatalogController to return JsonResponse instead of AnonymousResourceCollection 2026-07-14 15:04:01 -03:00
ncoronel 13bdb436ed feat: implement FeaturedGroup and FeaturedVariant controllers, models, requests, resources, and routes for managing featured groups and variants 2026-07-14 14:58:28 -03:00
ncoronel c2efec8906 feat: implement FeaturedVariant and CatalogController for managing featured variants and catalog display 2026-07-14 14:55:48 -03:00
ncoronel 299a462283 feat: implement FeaturedGroup and FeaturedProduct controllers, requests, resources, and routes for managing featured products 2026-07-14 14:21:04 -03:00
ncoronel 38f36a3a23 feat: add hero background image functionality to Tenant model and related requests, resources, and seeder 2026-07-14 13:58:49 -03:00
ncoronel b4b888adef feat: add FeaturedGroup and FeaturedProduct models with migrations for database structure 2026-07-14 13:30:07 -03:00
ncoronel e325c49a89 feat: enhance tenant resource to include menues and update seeder for new menu routes 2026-07-14 11:44:57 -03:00
ncoronel 9c7d025258 feat: implement Menu management with CRUD operations and database migrations 2026-07-14 11:31:30 -03:00
ncoronel 2910d3f929 feat: add hero_config and event_config to Tenant model with validation and migration 2026-07-14 11:08:59 -03:00
nahu ca7a2ae55c feat: add payer_dni field and validation for transfer payments, update related logic and tests 2026-07-12 19:48:56 +00:00
ncoronel ca4fea6bcd feat: enhance purchase detail handling to support cart items and improve resource structure 2026-07-08 15:50:40 -03:00
ncoronel 73bf285bad feat: implement profile update functionality with validation and password handling 2026-07-08 12:10:23 -03:00
ncoronel b273b2866f feat: add status filter to purchase index query for enhanced data retrieval 2026-07-08 11:32:56 -03:00
ncoronel 05a92b7ec3 feat: update purchase query in TelepagosWebhookService to handle multiple statuses and normalize DNI format 2026-07-08 10:05:49 -03:00
ncoronel f23029e785 feat: enhance integration setup process with error handling and validation 2026-07-08 09:00:42 -03:00
ncoronel f18fbc8147 feat: rename finalize methods to complete for consistency in purchase processing 2026-07-07 15:36:07 -03:00
ncoronel c276ccd311 feat: refactor purchase status handling and add finalize endpoint for purchases 2026-07-07 15:33:29 -03:00
ncoronel 786b4eb6a9 feat: add MergeGuestCartMiddleware to tenant route for enhanced cart handling 2026-07-07 12:55:07 -03:00
ncoronel eca3b01083 feat: update Telepagos webhook and payment intent logic for improved data handling 2026-07-07 11:11:21 -03:00
ncoronel 7b2a741884 feat: add total field to purchases and update related logic for payment processing 2026-07-07 10:16:28 -03:00
ncoronel 92458e217e feat: enhance Telepagos webhook handling for transferencia and QR operations with improved purchase matching logic 2026-07-07 08:57:27 -03:00
ncoronel 4edda0bfd8 feat: add default entity value for payment account information in paymentIntent method 2026-07-06 16:53:58 -03:00
ncoronel 2c2cf45f78 feat: remove BankAccount domain and related functionality, including controller, model, requests, routes, and tests 2026-07-06 16:53:45 -03:00
ncoronel 1fcb3129ea feat: enhance Telepagos integration with token refresh handling and refactor CheckoutService to use updateOrCreate for purchases 2026-07-06 16:24:00 -03:00
ncoronel 3703ae9bcf feat: add getTotalAmount method to Cart and refactor Purchase model to utilize it 2026-07-06 15:26:41 -03:00
ncoronel c19e00987e feat: implement MergeGuestCartMiddleware to merge guest cart with user cart upon authentication 2026-07-06 14:57:19 -03:00
ncoronel 7be2221bb8 feat: update MeController to return user data as UserResource 2026-07-06 14:30:15 -03:00
ncoronel dc32eb9bee feat: enhance checkout process with cart integration and stock confirmation 2026-07-06 14:06:25 -03:00
ncoronel 6bda3bf013 feat: add payment intent handling in PurchaseController with validation and QR generation 2026-07-06 11:47:04 -03:00
ncoronel 3731cd67fe feat: implement Telepagos webhook handling with request validation and service integration 2026-07-06 09:57:45 -03:00
ncoronel 403caf77f5 feat: add getCashinDetails method to TelepagosIntegrationService and corresponding tests 2026-07-06 09:01:45 -03:00
ncoronel 04b2bb0b2a feat: add QR code generation and response handling to TelepagosIntegrationService with logging for errors 2026-07-06 08:58:14 -03:00
ncoronel 1af5b1d7ed feat: add client method to BaseIntegrationService for pre-configured HTTP client and implement test for client functionality 2026-07-06 08:50:52 -03:00
ncoronel 387e136707 feat: update environment configuration for production and enhance TelepagosIntegrationService with token caching and error handling 2026-07-06 08:48:40 -03:00
ncoronel 9a1e36337d feat: implement BaseIntegrationService and TelepagosIntegrationService with integration handling and header generation 2026-07-06 08:40:32 -03:00
ncoronel 0c28302f84 refactor: remove unused 'payment_status' field from StorePurchaseRequest rules 2026-07-06 08:35:52 -03:00
ncoronel 0cb1c37566 refactor: remove PaymentProviderInterface and TelepagosProvider, simplify CheckoutService and related tests 2026-07-03 16:55:11 -03:00
ncoronel 057e6757dc feat: add customer details fields to Purchase model and request, implement checkout process with cart clearing 2026-07-03 16:48:31 -03:00
ncoronel 6d066beea3 feat: add optional 'dni' and 'telefono' fields to User model and registration process 2026-07-03 16:24:56 -03:00
ncoronel 1d94ff8885 feat: implement checkout service and payment processing integration 2026-07-03 15:37:26 -03:00
ncoronel ee3be8d550 feat: configure integration secret and update seeder for Telepagos integration 2026-07-03 15:35:31 -03:00
ncoronel 21b8fa5f35 feat: add 'url' field to Integration model and update related requests and seeder 2026-07-03 14:45:05 -03:00
ncoronel 3887a4fcba feat: implement integration management with CRUD operations and routes for tenant integration 2026-07-03 14:44:18 -03:00
ncoronel 0d4c6a4492 feat: implement BankAccount management with CRUD operations and routes for tenant selection 2026-07-03 13:58:21 -03:00
ncoronel c1b7b12fe1 feat: add endpoint to retrieve selected bank account for a tenant and update routes with authentication 2026-07-03 13:54:31 -03:00
ncoronel b1e40b3430 feat: implement BankAccount management with CRUD operations and selection for tenants 2026-07-03 13:43:32 -03:00
ncoronel b94efea4e0 feat: update maximum quantity error message in Cart model and test 2026-07-03 08:44:49 -03:00
ncoronel 1ae3e9ce92 feat: update login error message for incorrect credentials 2026-07-03 08:37:04 -03:00
ncoronel 0efa1650a0 feat: add MeController and endpoint for retrieving current user information 2026-07-02 16:07:48 -03:00
ncoronel 9a5a8e85b9 feat: implement authentication functionality with login and logout endpoints 2026-07-02 14:55:47 -03:00
ncoronel a95cfc780b feat: implement user registration functionality with validation and response handling 2026-07-02 12:23:50 -03:00
ncoronel 18eedd3209 feat: add success messages for cart item operations in CartController 2026-07-02 12:06:00 -03:00
ncoronel 00837850e6 feat: enhance stock validation messages in addItem and updateItem methods 2026-07-02 10:37:08 -03:00
ncoronel efa499d993 feat: rename stock fields to cantidad_maxima in ProductResource and ProductVariantResource 2026-07-02 09:37:43 -03:00
ncoronel 6a0b08c9d7 feat: implement multi-tenant cart system with stock reservation and inventory tracking 2026-07-01 16:21:53 -03:00
ncoronel 4943e68606 feat: implement multi-tenant cart functionality and add image validation helper 2026-07-01 15:38:12 -03:00
ncoronel 3285015841 feat: differentiate between header and footer colors 2026-07-01 15:37:46 -03:00
ncoronel a79f58d520 feat: implement cart service and resource to manage user and guest shopping carts 2026-07-01 14:56:12 -03:00
ncoronel a7dba4dc10 feat: implement CartService to manage cart lifecycle and guest identity resolution 2026-07-01 12:38:46 -03:00
ncoronel 4aedf7ca86 feat: add tenant success color 2026-07-01 11:55:08 -03:00
ncoronel a150a9f694 feat: implement product and variant CRUD management service with attachment handling 2026-07-01 11:44:56 -03:00
ncoronel 67c2a7350e feat: create ProductService to handle product, variant, and attribute lifecycle management 2026-07-01 10:22:02 -03:00
ncoronel a0a0cc7255 feat: add ProductVariant model and service layer for CRUD operations with attachment handling 2026-07-01 10:09:04 -03:00
ncoronel d6a17cb449 feat: add is_default field to product variants and implement default variant management logic in ProductService 2026-07-01 10:02:26 -03:00
ncoronel e78e64ed2e feat: implement product seeding logic from image catalog and add supporting service methods and requests 2026-07-01 09:48:43 -03:00
ncoronel 35384b48ab feat: add filtering for product detail attribute options based on available variant values 2026-07-01 08:55:27 -03:00
Nahuel Coronel 46685a7141 feat: enhance product detail retrieval to support variant selection and fallback image handling 2026-07-01 01:05:31 +00:00
Nahuel Coronel 1aa831f921 feat: refactor product detail retrieval to simplify variant handling and enhance response structure 2026-07-01 01:05:21 +00:00
ncoronel 429fa36b05 feat: update product and variant resources to improve variant selection handling and response structure 2026-06-30 16:53:23 -03:00
ncoronel cb15905c46 feat: refactor product attributes handling to use product_attribute table and update related models and requests 2026-06-30 16:35:56 -03:00
ncoronel 191a40fcb9 feat: enhance product detail retrieval to support variant selection and update resource fields 2026-06-30 16:21:15 -03:00
ncoronel 1d0f9e323d feat: update product resource and seeder to support variant groups and remove unused fields 2026-06-30 16:11:18 -03:00
ncoronel fdeba7540b feat: refactor product variant handling to use product pricing and remove unnecessary fields 2026-06-30 15:58:19 -03:00
ncoronel 8b10996319 feat: exclude attributes from product list response in ProductController 2026-06-30 11:18:53 -03:00
ncoronel 72261bf422 feat: implement product management module with CRUD operations, service layer, and validation logic 2026-06-30 09:50:40 -03:00
ncoronel 46e7c27ae7 feat: implement product controller, service, and feature tests with updated API collection. 2026-06-29 17:01:21 -03:00
ncoronel 14f3906ef0 feat: update ProductController and ProductResource to include attribute options in product loading 2026-06-29 15:02:02 -03:00
ncoronel edcb73f748 feat: refactor ProductVariantController and requests to use scoped product handling and update route parameters 2026-06-29 14:51:36 -03:00
ncoronel a7372f9d08 feat: update product and variant resources to include attribute options and metadata resolution 2026-06-29 14:42:14 -03:00
ncoronel b05a574610 feat: optimize category and product resource queries with eager loading and response formatting improvements 2026-06-29 14:35:20 -03:00
ncoronel 59ed592787 feat: enhance Category and Brand resources with tenant handling and serialization improvements 2026-06-29 14:18:29 -03:00
ncoronel 24235c5ca9 feat: add brand and category relationships to products, update requests and resources, and seed product catalog from images 2026-06-29 13:47:05 -03:00
ncoronel 49771ebb13 feat: implement product and attachment management service with supporting migrations and API controllers 2026-06-29 12:13:21 -03:00
ncoronel cd420e02d8 feat: create ProductService to handle product, variant, and attribute management operations 2026-06-29 12:04:14 -03:00
ncoronel 0206ee2985 feat: implement product variant CRUD operations and tenant configuration seeding 2026-06-29 11:59:07 -03:00
ncoronel 9b7d728117 feat: implement product and attribute management services with corresponding controllers and feature tests 2026-06-29 11:37:22 -03:00
ncoronel b5b57a753c feat: implement product and variant management controllers with request validation and feature tests 2026-06-29 11:10:04 -03:00
ncoronel 18504594eb feat: implement product creation workflow with variants, attribute definitions, and validation logic 2026-06-29 11:02:04 -03:00
ncoronel 74e443ece1 feat: add attachment relationship to ProductVariant model and database schema 2026-06-29 09:56:15 -03:00
ncoronel 6efda4727f feat: implement product attribute options with database migration, resource, and validation requests 2026-06-29 09:48:56 -03:00
ncoronel b0508d79b3 feat: implement Attachment domain for file storage and integrate into Tenant service for logo management 2026-06-29 09:43:46 -03:00
ncoronel 4125d8353d feat: add multi-tenant controllers for catalog and tenant management and implement pagination macro in AppServiceProvider 2026-06-29 09:02:39 -03:00
ncoronel 31b65eb676 feat: implement full CRUD support and database schema for multi-tenant architecture 2026-06-26 16:57:59 -03:00
ncoronel 8708cea122 feat: implement tenant update request validation and add feature tests for domain bootstrapping 2026-06-26 16:23:14 -03:00
ncoronel 54aa696145 feat: implement tenant management system with attachment support and bootstrap controller 2026-06-26 13:17:48 -03:00
ncoronel 1f9d876bc3 feat: implement tenant management system including database schema, CRUD services, and bootstrap functionality 2026-06-26 12:16:50 -03:00
ncoronel 0dae985230 feat: implement tenant management system including CRUD operations and domain bootstrapping functionality 2026-06-26 11:55:05 -03:00
ncoronel 4c237fb729 feat: implement product attributes and tenant properties management with CRUD controllers, requests, and domain models 2026-06-26 11:40:07 -03:00
ncoronel edb4c128d6 Merge branch 'feature/compras' into dev 2026-06-26 11:16:11 -03:00
ncoronel 2ce21799c7 feat(attachments): enhance AttachmentService to support base64 file uploads and refactor file handling logic 2026-06-25 16:09:46 -03:00
ncoronel 17799122e2 feat(attachments): update filename generation in AttachmentService to include file extension 2026-06-25 15:43:31 -03:00
ncoronel 7994fe0c96 feat(attachments): refactor attachment management to use attachable pivot table and update related models and tests 2026-06-25 15:30:11 -03:00
ncoronel ee59236d55 feat(attachments): ensure 'key' is set as UUID on attachment creation and update tests for key validation 2026-06-25 15:11:31 -03:00
ncoronel aec92d5346 feat(attachments): implement AttachmentService for managing uploads and deletions, add AttachmentStorageException for error handling 2026-06-25 15:02:52 -03:00
ncoronel 6db98ddc1a feat(attachments): add HasAttachments trait to manage attachment relationships 2026-06-25 14:47:21 -03:00
ncoronel 56b87f0c12 feat(attachments): add AttachmentType enum and update Attachment model to use it 2026-06-25 14:44:44 -03:00
ncoronel 9c5a29d933 feat(attachments): add 'key' field to Attachment model and migration, generate UUID on creation 2026-06-25 14:31:03 -03:00
ncoronel 049484dee5 feat(storage): implement S3 file upload and temporary URL generation functionality 2026-06-25 14:23:34 -03:00
ncoronel 740566b02d refactor(attachments): remove is_public field from Attachment model and migration 2026-06-25 12:16:51 -03:00
ncoronel b874a45724 feat(attachments): create Attachment model and migration for file attachments 2026-06-25 12:07:52 -03:00
ncoronel 6c45f45815 feat(purchase): implement PurchaseController with CRUD operations and request validation 2026-06-25 10:58:55 -03:00
ncoronel 70f51ac863 feat(purchase): add Purchase and PurchaseItem models with migrations for compras and compra_items tables 2026-06-25 10:34:33 -03:00
ncoronel 492c6c4ac2 feat(cart): implement cart management with add, update, and remove item functionalities 2026-06-25 10:24:45 -03:00
ncoronel 9b82800921 feat(cart): add Cart and CartItem models with item management methods 2026-06-25 10:03:17 -03:00
ncoronel 0e2ffc1c74 feat(catalog): add product variant controller, requests and resources 2026-06-24 15:29:01 -03:00
ncoronel 1907178e52 refactor(catalog): nest catalog routes under tenant
Move Catalog endpoints under /api/tenants/{tenant:codigo} and derive tenant
context from the route instead of request payload fields.

- scope marcas, categorias, productos, and product-attributes by tenant
- enforce tenant ownership in catalog controllers
- remove tenant_codigo and tenant_code from Catalog request validation
- update product attribute tests to use tenant-scoped routes
2026-06-24 15:16:38 -03:00
ncoronel c6e5177df1 feat(catalog): add tenant-scoped product attributes and variant definitions 2026-06-24 15:08:13 -03:00
ncoronel 689d115a8f feat(tenant): reintroduce tenant-specific props and instance values
Restore props support only for the Tenant domain using a tenant-scoped model
instead of the removed generic Prop/Propable implementation.

Add tenant prop definitions and instance values:
- add TenantProp and TenantPropValue models
- add tenant-only data type enum and prop validation rules
- add migrations for tenant_props and tenant_prop_values tables
- persist prop values by tenant_codigo + tenant_prop_codigo

Expose tenant prop management through the Tenant domain:
- add TenantPropController with CRUD endpoints
- add Store/Update request classes for tenant prop definitions
- register tenant-props routes

Re-enable tenant prop syncing and serialization:
- restore createWithProps/updateWithProps flows in Tenant
- validate props on tenant create/update requests
- include collapsed props in TenantResource
- keep the implementation scoped to Tenant without reintroducing polymorphic props

Add coverage for the new tenant prop behavior:
- update bootstrap tenant feature test to assert prop values
- add feature tests for tenant prop creation and validation
2026-06-24 14:50:58 -03:00
ncoronel 75129b7552 remove props 2026-06-24 14:43:10 -03:00
ncoronel 8e343ea9c3 Add ProductVariant model and migration for productos_variantes table 2026-06-24 11:41:42 -03:00
ncoronel 696010a70e Remove unused 'props' unset operation in store and update methods across Brand, Category, Product, and Tenant controllers 2026-06-24 11:13:18 -03:00
ncoronel e4139d48aa Refactor request validation to use model-specific prop synchronization and add migrations for categories and brands 2026-06-24 11:02:35 -03:00
ncoronel 8d840d94a0 Update StoreCategoryRequest to require tenant_code only when categoria_id is present 2026-06-24 10:43:23 -03:00
ncoronel b2c8f13d2e Refactor TenantController to use createWithProps and updateWithProps methods for improved property synchronization 2026-06-24 10:40:30 -03:00
ncoronel 8e5814e333 Refactor Brand, Category, and Product controllers to use createWithProps and updateWithProps methods for improved property synchronization 2026-06-24 10:28:46 -03:00
ncoronel 6a0080b475 Add Brand and Category management features with controllers, requests, resources, and API routes 2026-06-24 10:20:13 -03:00
ncoronel 8feaa0051d Implement Product management features with controller, requests, resource, and routes 2026-06-24 10:05:26 -03:00
ncoronel 3c6469617b Add BootstrapTenantController and requests for tenant domain normalization; implement API route and tests 2026-06-23 09:49:54 -03:00
ncoronel f7293feabc Add TenantPropController and requests for managing tenant properties; define API routes for tenant props 2026-06-22 16:52:45 -03:00
ncoronel 0847fe1a26 Remove TenantPropController, TenantProp model, and related requests; update API routes and migrations 2026-06-22 16:50:02 -03:00
ncoronel 3bb8fbfd2f Add PropValueResource for managing property values; update TenantResource to include collapsed props data 2026-06-22 16:19:24 -03:00
ncoronel 55694b2048 Refactor Prop model to use enum for data types; remove PropDataType model and update related requests and migrations 2026-06-22 13:13:22 -03:00
ncoronel 7075704dad Enhance Tenant management by syncing property values in store and update requests; integrate PropRules for validation 2026-06-22 12:58:03 -03:00
ncoronel cde27c0d34 Add PropController, StorePropRequest, UpdatePropRequest, PropResource, and PropableModels; define API routes for props management 2026-06-22 12:45:23 -03:00
ncoronel 054a3a81eb Add syncPropValues method to Propable trait; update StoreProductRequest and UpdateProductRequest to handle props validation 2026-06-22 12:36:41 -03:00
ncoronel 894f2a68de Implement Propable trait in Brand, Category, Product, and Tenant models to manage properties; remove unused code in Tenant model. 2026-06-22 12:21:30 -03:00
ncoronel 93ebb0a110 Refactor Brand, Category, Product, and ModelPropValue models to remove morph relationships; update migration files for props and model prop values to reflect new foreign key structure. 2026-06-22 12:15:12 -03:00
ncoronel 5c81d6997a Add Prop and ModelPropValue models with relationships; create migration files for props, prop options, prop data types, and model prop values 2026-06-22 12:07:46 -03:00
ncoronel 93a2750d33 Refactor project structure to use domain-oriented architecture; add Product and Tenant domains with controllers, models, requests, resources, and routes 2026-06-19 11:59:28 -03:00
ncoronel 507b81b54e Add Tenant model, controller, and migration; update Producto model to reference tenant_codigo 2026-06-19 11:34:10 -03:00
ncoronel aa49c82543 Add ProductController and Producto model with CRUD operations and migration 2026-06-18 10:13:03 -03:00
ncoronel 02ebe0f0ca initial commit 2026-06-18 10:09:24 -03:00