-
-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implementación de sistema de transferencia de tickets #286
Conversation
emails/templates/tickets/ticket-gift-accepted-by-receiver/9punto5.tsx
Outdated
Show resolved
Hide resolved
...createdAndUpdatedAtFields, | ||
}, | ||
(table) => ({ | ||
eventIdIndex: index("tickets_event_id_index").on(table.eventId), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Se añade un index ya que se utiliza bastante este campo para hacer queries
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Me hace sentido. Pero disculpa mi ignorancia, eso no debería ser parte de las drizzle/migrations?
Ok, viendo más abajo está bien acá! Pero no veo la magia de las drizzle/migrations y estos archivos! Me mareé! No entiendo cómo la BD sabe cómo agregar esto! Nuevamente, ignorancia de mi parte
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Creo que en general hay ruido por el cambio de indentación
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sí, el cambio de identación, ocurrio por que añadi el segundo parametro (table) => ({
lo hizo el prettier automatico.
Tengo que revisar lo de que hay dos migraciones 0033 en este PR.
Y ahi de seguro se resuelve tu duda del index en los migrations.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Arregladas las migraciones.
Linea 45 de drizzle/migrations/0033_thankful_orphan.sql
está el nuevo index agregado.
…api into textcode/feat-ticket-gifts
src/schema/userTickets/tests/giftMyTicketToUser/giftMyTicketToUser.test.ts
Outdated
Show resolved
Hide resolved
- Move userTicketGiftsSchema to separate file as userTicketTransfersSchema - Update schema, mutations, and queries to use "transfer" terminology - Consolidate and update migration files (0033) with new transfer schema - Adjust related code, tests, and email templates for transfer concept - Rename variables and update text to align with transfer terminology BREAKING CHANGE: APIs and database schema related to ticket gifting have been renamed and restructured to use "transfer" concept instead of "gift".
- Add new approval statuses: transfer_pending and transfer_accepted - Update queries and mutations to include new transfer statuses - Adjust tests to reflect new transfer approval flow - Replace 'gifted' status with 'transfer_pending' where appropriate
Actualización importante: Refactorización de "regalos" a "transferencias" de ticketsBasado en el feedback recibido, he realizado una refactorización del concepto de "regalo" de tickets a "transferencia" de tickets. Este cambio refleja mejor la funcionalidad, ya que puede representar situaciones que no son necesariamente regalos. Los cambios principales incluyen:
La funcionalidad principal sigue siendo la misma, pero ahora es más flexible y precisa en su terminología. |
El commit 896752ed2e7b0c401ec8955c3742752e3e9e099b propone introducir nuevos estados de aprobación específicos para las transferencias de tickets. Se han añadido los estados 'transfer_pending' y 'transfer_accepted' para representar mejor el proceso de transferencia. Cambios principales:
Estos cambios permiten un seguimiento más preciso del estado de los tickets durante el proceso de transferencia, mejorando la claridad y la funcionalidad del sistema de gestión de tickets. Se mantiene el estado 'gifted' y 'gift_accepted'. |
… a valid approvalStatus
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Este PR implementa la funcionalidad de regalo de tickets (relacionado a #30, #31) y además incorpora optimizaciones de rendimiento propuestas en el PR #273.
Se incluyen los siguientes cambios principales:
Nuevas tablas y relaciones:
user_ticket_gifts
: Almacena información sobre los regalos de tickets.user_tickets
con nuevos estados y relaciones.Endpoints GraphQL:
giftMyTicketToUser
: Permite a un usuario regalar su ticket.acceptGiftedTicket
: Permite al receptor aceptar un ticket regalado.myTicketGifts
: Obtiene los regalos de tickets enviados o recibidos por el usuario actual.Lógica de negocio:
Servicio de correo electrónico (solo para 9punto5, luego hay que extenderlo):
Actualizaciones en flujos existentes:
claimUserTicket
para manejar regalos de tickets durante la compra.Pruebas:
Optimizaciones de rendimiento (del PR #273):
Dado que estamos añadiendo más complejidad a la mutación
claim
, se han incorporado las optimizaciones propuestas en el PR #273. Estas incluyen:Promise.all
.Estas optimizaciones, aunque no cruciales, son relevantes para mantener el rendimiento de la mutación
claim
a medida que se añade nueva funcionalidad.Cualquier feedback o sugerencia para mejorar la implementación es bienvenido.