package events // v0.32.0: TicketValidatorAdapter bridges the context-aware store.TicketStore // to the middleware.TicketValidator interface (which has no context parameter). // Replaces the in-memory TicketStore that lived in this file previously. import ( "context" "time" "chat-switchboard/store" ) // TicketValidatorAdapter satisfies middleware.TicketValidator using a // store.TicketStore backend (PG or SQLite). type TicketValidatorAdapter struct { Store store.TicketStore } // Validate atomically consumes a ticket. Satisfies middleware.TicketValidator. func (a *TicketValidatorAdapter) Validate(ticketID string) (string, bool) { ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) defer cancel() return a.Store.Validate(ctx, ticketID) }