generated from kimyvgy/worker-apollo-server-template
-
-
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
Mutación — Aceptar Regalo #31
Comments
Idem acá #30 (comment) |
TextC0de
added a commit
that referenced
this issue
Oct 15, 2024
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: 1. Nuevas tablas y relaciones: - `user_ticket_gifts`: Almacena información sobre los regalos de tickets. - Actualización de `user_tickets` con nuevos estados y relaciones. 2. Endpoints GraphQL: - Mutación `giftMyTicketToUser`: Permite a un usuario regalar su ticket. - Mutación `acceptGiftedTicket`: Permite al receptor aceptar un ticket regalado. - Query `myTicketGifts`: Obtiene los regalos de tickets enviados o recibidos por el usuario actual. 3. Lógica de negocio: - Implementación de validaciones para evitar auto-regalos y exceder límites de tickets. - Manejo de estados de regalo (pendiente, aceptado, rechazado, cancelado, expirado). - Cálculo de fechas de expiración para regalos. 4. Servicio de correo electrónico (solo para 9punto5, luego hay que extenderlo): - Nuevas plantillas de correo para notificaciones de regalo de tickets. - Implementación de métodos para enviar correos de confirmación de regalo y aceptación. 5. Actualizaciones en flujos existentes: - Modificación de `claimUserTicket` para manejar regalos de tickets durante la compra. 6. Pruebas: - Nuevos tests para cubrir los escenarios de regalo de tickets. ## 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: - Eliminación de verificaciones redundantes. - Paralelización de operaciones usando `Promise.all`. - Optimización de consultas a la base de datos, reemplazando múltiples consultas individuales por consultas en lote más eficientes. 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.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Un usuario puede regalar un userTicket a otro usuario.
Para asignarlo a un usuario nuevo tiene que ser aceptado por el usuario nuevo.
Cuando un
userTicket
se regala a otro usuario, el userTicket queda en estado "pendiente de aceptación".Cuando el
userTicket
se acepta, se cambia el usuario asignado aluserTicket
por el usuario que aceptó el regalo.PS:
userTicket
no puede ser redimido hasta que la invitación sea aceptada, rechazada, o retirada.Permisos:
Solo el receptor del regalo puede aceptarlo
The text was updated successfully, but these errors were encountered: