414df97e9d
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-26 10:30:16 -03:00
d0424c5589
feat(notification): enhance email logging and refactor event handling to use scalar identifiers
2026-08-26 09:38:19 -03:00
28d09dedab
fix(queue): discard email jobs for deleted purchases
2026-08-26 09:15:11 -03:00
8220fb5aaf
feat(notification): add PDF attachments to ticket availability emails
2026-08-26 08:54:15 -03:00
78ce263849
feat(notification): update email branding to use website type for welcome and password reset emails
2026-08-25 11:03:06 -03:00
0c8419a5eb
feat(notification): implement branding for emails using WebsiteType and update templates
2026-08-25 11:03:06 -03:00
c2921166bd
feat(catalog): exclude out-of-stock items and update variant visibility logic
2026-08-25 10:49:05 -03:00
0f67e66b6b
feat(category-visibility): add success messages for category visibility updates
2026-08-25 10:47:53 -03:00
725abed06a
feat(category-visibility): implement category visibility controller and service with update functionality
2026-08-25 10:47:53 -03:00
743939fc63
feat(category-visibility): add success messages for category visibility updates
2026-08-25 10:47:53 -03:00
eb50e65fef
feat(purchase): add filtering for multiple statuses in purchase index and order by status then date
2026-08-25 10:47:53 -03:00
1cf13501d8
feat(category-visibility): implement category visibility controller and service with update functionality
2026-08-25 10:47:53 -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
36eb41a18a
feat(invitation): update seat allocation structure and enhance provisioning logic
2026-08-22 14:16:57 +00:00
1dd2366957
feat(catalog): expose product unavailability messages
2026-08-21 16:47:15 -03:00
e8bcaa2026
feat(sales): handle in-review purchases as pending
2026-08-21 16:15:59 -03:00
5548fe8511
feat(purchase): restore in-review transfer lifecycle
2026-08-21 16:15:55 -03:00
dc0fbe06b8
fix(cart): invalidate checkout on mutation
2026-08-21 14:06:11 -03:00
afd69b8393
feat(checkout): track current cart purchase
2026-08-21 14:05:33 -03:00
1650176aa0
refactor(checkout): keep source cart active
2026-08-21 13:42:30 -03:00
79e721ae63
refactor(checkout): disable purchase item editing
2026-08-21 11:03:48 -03:00
3a2dc8b7e0
feat(cart): implement restoration and reservation of source cart on expired checkout modification
2026-08-21 10:10:28 -03:00
0510c1aa12
test(checkout): cover source cart restoration
2026-08-21 09:29:23 -03:00
eafb02ffd5
fix(purchase): enhance handling of cart items for created and pending payment purchases
2026-08-21 08:58:51 -03:00
cb56e33685
fix(purchase): unify expired checkout errors
2026-08-21 08:58:51 -03:00
dd81e3b3f7
feat: enhance sale detail retrieval by including trashed cart items and update related tests
2026-08-21 08:58:18 -03:00
8c09ca1204
feat: update sales query to use cart quantity when purchase items are absent and enhance related tests
2026-08-21 08:48:27 -03:00
ae6149df84
feat: enable full cart editing for Desfile tenant and update related tests
2026-08-20 15:13:23 -03:00
1776cfe581
Revert "feat: add session partitioned cookie support and update related tests"
...
This reverts commit 5ad18694e1 .
2026-08-20 15:12:41 -03:00
5ad18694e1
feat: add session partitioned cookie support and update related tests
2026-08-20 14:47:51 -03:00
6775fb110c
feat: simplify cart restoration logic in ReleaseCheckoutService and SourceCartService
2026-08-20 13:53:04 -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
c8ce3b0da3
feat(checkout): enforce editing policy on items
2026-08-20 10:56:19 -03:00
d36a929f8c
feat(tenant): add checkout editing policy
2026-08-20 10:56:13 -03:00
5c0b3503b7
feat(purchase): implement purchase limit enforcement and custom exception handling
2026-08-19 16:48:32 -03:00
8537d2ed0a
feat(catalog): implement maximum addable quantity logic and user quota sharing across variants
2026-08-19 16:48:32 -03:00
d97cc12af6
Merge branch 'feature/cart_editing_policy' into dev
2026-08-19 16:47:30 -03:00
161693509f
feat(telepagos): enhance webhook handling
2026-08-19 15:26:44 -03:00
32d2b182c6
Merge branch 'feature/reserved_invitations' into dev
2026-08-19 14:33:38 -03:00
2632a80722
feat(invitation): implement InvitationPurchaseProvisioner and related migration and seeder updates
2026-08-19 14:33:08 -03:00
58cbeae9d3
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:25 -03:00
d6574bfd0d
feat(logging): implement dedicated logging for Telepagos events and update logging configuration
2026-08-19 13:37:21 -03:00
16bc657a31
refactor(catalog): add ticket_label to item attributes and update related logic
2026-08-19 11:23:41 -03:00
7cea8d3495
feat(cart): enhance item update functionality to support variant changes and improve cart editing policies
2026-08-19 10:46:19 -03:00
014b5bb012
feat(cart): implement cart editing policies and update related functionality
2026-08-19 10:15:37 -03:00
a8973f6171
feat: separate tenant domain and base path, update related models, requests, and tests
2026-08-18 17:23:01 -03:00
8e26611097
feat: add display_cart_item_images feature to tenants and update related resources
2026-08-18 16:46:45 -03:00
a2298c9de2
feat: add cart editing feature to tenants
...
- Added 'cart_editing_enabled' attribute to Tenant model with default value true.
- Updated StoreTenantRequest and UpdateTenantRequest to include validation for 'cart_editing_enabled'.
- Modified TenantResource to expose 'cart_editing_enabled' in API responses.
- Created migration to add 'cart_editing_enabled' column to tenants table, defaulting to true, and set to false for specific tenant.
- Updated DesfilePuraTendenciaSeeder to set 'cart_editing_enabled' to false for the desfile tenant.
- Enhanced Postman collection generation script to include 'cart_editing_enabled' in tenant creation and update requests.
- Added tests to verify the correct behavior of 'cart_editing_enabled' during migrations and tenant provisioning.
2026-08-18 16:32:17 -03:00
d73b4d1daf
feat: Introduce client management and integration updates
...
- Added client_id field to StoreTenantRequest and UpdateTenantRequest for tenant management.
- Updated TenantResource to include client_id in the response.
- Created migration to establish clients table and link tenants to clients.
- Migrated existing tenant integrations to client_integrations table.
- Grouped specific tenants under a shared client (OnTicket) in a new migration.
- Updated seeders to reflect new client structure and relationships.
- Adjusted integration configurations to require client instead of tenant.
- Added tests for client integration functionality and ensured existing tests reflect the new client structure.
2026-08-18 16:18:34 -03:00