c51e24311f
Squashed commit of the following:
...
commit cd99a6489b
Merge: ebcbbb1 e63a036
Author: ncoronel <ncoronel@quo.ar >
Date: Wed Aug 26 10:12:44 2026 -0300
Merge branch 'fix/simplify_stock_reservations' of https://gitea.quo.ar/tbianchini/shopit-back into fix/simplify_stock_reservations
commit ebcbbb1774
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 16:33:39 2026 -0300
fix(cart): reconcile expired cart mutations
commit 3dd378ed06
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 16:10:15 2026 -0300
docs(stock): describe associated entity expiration
commit 4f705175bd
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 16:10:14 2026 -0300
test(stock): cover propagated reservation expiration
commit 82570fe941
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 16:09:52 2026 -0300
refactor(stock): propagate reservation expiration
commit d2a2b323e0
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 15:58:47 2026 -0300
docs(stock): document terminal reservation recovery
commit ec67623b7b
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 15:58:47 2026 -0300
test(stock): cover terminal reservation lifecycle
commit f6f138e180
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 15:58:41 2026 -0300
refactor(stock): make expired reservations terminal
commit d612b7a118
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 15:28:30 2026 -0300
docs(stock): describe unified expiration ownership
commit 49f42d4507
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 15:28:23 2026 -0300
test(stock): cover authoritative reservation expiration
commit 1881cc1d4b
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 15:28:17 2026 -0300
refactor(stock): make reservation expiration authoritative
commit 00ec37d8a0
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 15:05:34 2026 -0300
docs(stock): document centralized reservation flow
commit d9f374c718
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 15:05:29 2026 -0300
test(stock): cover aggregate reservation lifecycle
commit bbfdf8f342
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 15:05:23 2026 -0300
refactor(stock): centralize reservation aggregate
commit 8a0f29bdae
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 16:33:39 2026 -0300
fix(cart): reconcile expired cart mutations
commit 198ed400a9
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 16:10:15 2026 -0300
docs(stock): describe associated entity expiration
commit 23d83166e6
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 16:10:14 2026 -0300
test(stock): cover propagated reservation expiration
commit cb090402d0
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 16:09:52 2026 -0300
refactor(stock): propagate reservation expiration
commit c120b6f7c0
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 15:58:47 2026 -0300
docs(stock): document terminal reservation recovery
commit 1106fa28b4
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 15:58:47 2026 -0300
test(stock): cover terminal reservation lifecycle
commit 896fb81bcf
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 15:58:41 2026 -0300
refactor(stock): make expired reservations terminal
commit 8545fbc645
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 15:28:30 2026 -0300
docs(stock): describe unified expiration ownership
commit dd6dcb708a
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 15:28:23 2026 -0300
test(stock): cover authoritative reservation expiration
commit 624b246ff5
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 15:28:17 2026 -0300
refactor(stock): make reservation expiration authoritative
commit 007b95b904
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 15:05:34 2026 -0300
docs(stock): document centralized reservation flow
commit 0b3c8c93be
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 15:05:29 2026 -0300
test(stock): cover aggregate reservation lifecycle
commit ede718e448
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 15:05:23 2026 -0300
refactor(stock): centralize reservation aggregate
commit e63a03601a
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 16:33:39 2026 -0300
fix(cart): reconcile expired cart mutations
commit 389373ad8c
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 16:10:15 2026 -0300
docs(stock): describe associated entity expiration
commit ace02a3133
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 16:10:14 2026 -0300
test(stock): cover propagated reservation expiration
commit d69a6210f6
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 16:09:52 2026 -0300
refactor(stock): propagate reservation expiration
commit 3c0b43fea3
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 15:58:47 2026 -0300
docs(stock): document terminal reservation recovery
commit 9b0008626b
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 15:58:47 2026 -0300
test(stock): cover terminal reservation lifecycle
commit 61861e331a
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 15:58:41 2026 -0300
refactor(stock): make expired reservations terminal
commit 2cc9d7dd97
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 15:28:30 2026 -0300
docs(stock): describe unified expiration ownership
commit f982bcead1
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 15:28:23 2026 -0300
test(stock): cover authoritative reservation expiration
commit 7a85e1731d
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 15:28:17 2026 -0300
refactor(stock): make reservation expiration authoritative
commit 6db99e775a
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 15:05:34 2026 -0300
docs(stock): document centralized reservation flow
commit e5f7ba3615
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 15:05:29 2026 -0300
test(stock): cover aggregate reservation lifecycle
commit 24bfef431b
Author: ncoronel <ncoronel@quo.ar >
Date: Tue Aug 25 15:05:23 2026 -0300
refactor(stock): centralize reservation aggregate
2026-08-27 10:06:41 -03:00
c2921166bd
feat(catalog): exclude out-of-stock items and update variant visibility logic
2026-08-25 10:49:05 -03:00
2eeef8d392
feat(catalog): add is_enabled attribute to categories and filter items accordingly
2026-08-25 10:47:53 -03:00
87a4fa6288
feat(catalog): add group_order field to catalog items and update related logic
2026-08-25 10:45:12 -03:00
9c46eff880
feat: add checkout editing policy to tenants and update related logic across services and resources
2026-08-20 12:38:22 -03:00
172e14ae9b
Squashed commit of the following:
...
commit 1dc4e29c69
Author: ncoronel <ncoronel@quo.ar >
Date: Wed Aug 19 13:58:03 2026 -0300
refactor(reservations): unify expiration command
commit 093e894cc3
Author: ncoronel <ncoronel@quo.ar >
Date: Wed Aug 19 13:48:09 2026 -0300
feat(cart): expire abandoned stock reservations
commit fdf0f3328f
Author: ncoronel <ncoronel@quo.ar >
Date: Wed Aug 19 12:53:12 2026 -0300
refactor(stock): implement expiration for stock reservations and add configuration
commit 8d6bcdcc43
Author: ncoronel <ncoronel@quo.ar >
Date: Wed Aug 19 12:38:21 2026 -0300
refactor(cart): invalidate payment on actual changes
commit 3206e293eb
Author: ncoronel <ncoronel@quo.ar >
Date: Wed Aug 19 12:24:48 2026 -0300
refactor(cart): own checkout item editing
commit aed99bd05e
Author: ncoronel <ncoronel@quo.ar >
Date: Wed Aug 19 12:14:57 2026 -0300
refactor(checkout): remove legacy purchase item reservations
commit f1649e0e4b
Author: ncoronel <ncoronel@quo.ar >
Date: Wed Aug 19 12:06:29 2026 -0300
refactor(checkout): materialize purchase items on confirmation
commit e6c4b40a37
Author: ncoronel <ncoronel@quo.ar >
Date: Wed Aug 19 12:06:19 2026 -0300
feat(inventory): add traceable cart stock reservations
2026-08-19 13:59:38 -03:00
16bc657a31
refactor(catalog): add ticket_label to item attributes and update related logic
2026-08-19 11:23:41 -03:00
21b0517e6c
feat(desfile): implement entry management with image handling and variant synchronization
2026-08-14 11:24:17 -03:00
7fbdc00c64
feat(catalog): add is_enabled field to catalog item attachments
2026-08-14 10:24:11 -03:00
573d4fe5e6
Refactor ticket validity handling and improve tests
...
- Updated tests for Accommodation, Entry, Food, Merchandise, and Sale controllers to use soft deletes for variants and ensure proper inventory counts.
- Enhanced ticket generation logic to resolve validity from soft-deleted catalog sources.
- Introduced a new TicketValidityResolver service to manage ticket validity based on event dates and variant definitions.
- Removed unnecessary database assertions and improved the clarity of validity checks in tests.
- Added comprehensive tests for the new TicketValidityResolver service, ensuring correct handling of event dates and multi-select options.
- Cleaned up unused code and assertions in existing tests for better maintainability.
2026-08-14 09:00:51 -03:00
97995ae728
feat(catalog): replace selectionOptions with selectorOptions to filter hidden attributes
2026-08-13 08:30:03 -03:00
7c7a295625
feat(catalog): add show_in_selector attribute to item attributes and update related logic
2026-08-12 16:11:53 -03:00
8e94cf7856
feat(inventory): add InventorySubject enum and integrate into catalog item management
2026-08-12 14:42:30 -03:00
02cf3f3773
Add tests for ticket validity and event date formatting
...
- Create TicketValiditySchemaTest to verify database schema for ticket validity.
- Update CatalogModelsTest to include tests for event date attributes and selection options.
- Introduce EventDateTextFormatterTest for formatting event dates in Spanish.
- Refactor EventModelsTest to include validity time relationships.
- Add SaleDetailResourceTest to ensure correct serialization of purchase items.
- Enhance TicketTest with validity time checks and status management.
- Implement ValidityTimeResourceTest to validate resource output for different validity types.
- Add ValidityTimeTest to verify casting and validity checks for validity time types.
2026-08-11 12:41:35 -03:00
b294e5c46e
Merge branch 'fix/correcciones_secundarias' into dev
2026-08-05 10:28:59 -03:00
ee911171be
fix(variant): simplify getName method and add test for variant without catalog attributes
2026-08-05 09:18:12 -03:00
2a15dc92be
feat: Implement staff management features; add controller, service, resource, routes, and tests for staff and category assignments
2026-08-04 16:20:30 -03:00
84e45bb964
feat: Introduce source type for featured groups; add category association and implement FeaturedGroupService for item sourcing
2026-08-04 13:17:00 -03:00
c3713c62a6
feat: Add event management to tenant and catalog
...
- Introduced Event and EventDate models with relationships to Tenant and CatalogItem.
- Added active_event_id to Tenant model to track the currently active event.
- Updated TenantResource to include active event details in the response.
- Enhanced Ticket model to link to CatalogItem and Variant, allowing for event-specific ticketing.
- Implemented migrations to create events and link them to catalog items and variants.
- Updated seeders to populate events and their associated dates for the Fiesta Futbol Infantil tenant.
- Modified Ticket generation logic to respect event dates over standard ticket dates.
- Added tests for event and ticket functionalities, ensuring proper relationships and date handling.
2026-08-03 12:01:20 -03:00
aa4f3303fc
feat(variants): add minimum and maximum use dates to variants and update related logic
2026-07-27 14:59:07 -03:00
1438ff66c7
feat(catalog): add GroupLayout enum and integrate into FeaturedGroup model, migrations, and seeders
2026-07-23 13:22:22 -03:00
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
cb0fb2899c
feat: implement polymorphic relationships for group items to support bundles and product variants
2026-07-17 14:42:44 -03:00
615eacea91
feat: rename featured_variants to group_items and update related references
2026-07-17 14:31:05 -03:00
6fc6ed1fac
feat: refactor cart and purchase handling to support polymorphic buyable types and improve code readability
2026-07-16 09:55:38 -03:00
480ee70393
feat: refactor cart and bundle handling to support Buyable interface for improved flexibility
2026-07-16 09:19:03 -03:00
ceb1e2b04a
feat: implement Stockable interface and methods for Bundle and ProductVariant models
2026-07-16 09:11:37 -03:00
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
cababe1a43
feat: add ticket fields to Product and ProductVariant models, requests, and resources
2026-07-14 15:19:53 -03:00
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
dc32eb9bee
feat: enhance checkout process with cart integration and stock confirmation
2026-07-06 14:06:25 -03:00
6a0b08c9d7
feat: implement multi-tenant cart system with stock reservation and inventory tracking
2026-07-01 16:21:53 -03:00
a0a0cc7255
feat: add ProductVariant model and service layer for CRUD operations with attachment handling
2026-07-01 10:09:04 -03:00
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
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
191a40fcb9
feat: enhance product detail retrieval to support variant selection and update resource fields
2026-06-30 16:21:15 -03:00
fdeba7540b
feat: refactor product variant handling to use product pricing and remove unnecessary fields
2026-06-30 15:58:19 -03:00
72261bf422
feat: implement product management module with CRUD operations, service layer, and validation logic
2026-06-30 09:50:40 -03:00
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
49771ebb13
feat: implement product and attachment management service with supporting migrations and API controllers
2026-06-29 12:13:21 -03:00
9b7d728117
feat: implement product and attribute management services with corresponding controllers and feature tests
2026-06-29 11:37:22 -03:00
18504594eb
feat: implement product creation workflow with variants, attribute definitions, and validation logic
2026-06-29 11:02:04 -03:00
74e443ece1
feat: add attachment relationship to ProductVariant model and database schema
2026-06-29 09:56:15 -03:00
6efda4727f
feat: implement product attribute options with database migration, resource, and validation requests
2026-06-29 09:48:56 -03:00
4c237fb729
feat: implement product attributes and tenant properties management with CRUD controllers, requests, and domain models
2026-06-26 11:40:07 -03:00
c6e5177df1
feat(catalog): add tenant-scoped product attributes and variant definitions
2026-06-24 15:08:13 -03:00
75129b7552
remove props
2026-06-24 14:43:10 -03:00
8e343ea9c3
Add ProductVariant model and migration for productos_variantes table
2026-06-24 11:41:42 -03:00
6a0080b475
Add Brand and Category management features with controllers, requests, resources, and API routes
2026-06-24 10:20:13 -03:00
8feaa0051d
Implement Product management features with controller, requests, resource, and routes
2026-06-24 10:05:26 -03:00