writekit/internal/tenant/sync.go
2026-01-09 00:16:46 +02:00

31 lines
567 B
Go

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,
})
}