package tenant import ( "context" "time" ) type MemberSyncer struct { pool *Pool } func NewMemberSyncer(pool *Pool) *MemberSyncer { return &MemberSyncer{pool: pool} } func (s *MemberSyncer) SyncMember(ctx context.Context, tenantID, userID, email, name, tier, status string, expiresAt *time.Time) error { db, err := s.pool.Get(tenantID) if err != nil { return err } q := NewQueries(db) return q.UpsertMember(ctx, &Member{ UserID: userID, Email: email, Name: name, Tier: tier, Status: status, ExpiresAt: expiresAt, }) }