fleet/server/service/metrics_invites.go
Zachary Wasserman 7f636aef4f Add pagination to List* endpoints (#309)
- Introduce kolide.ListOptions to store pagination params (in the future it can
  also store ordering/filtering params)
- Refactor service/datastore methods to take kolide.ListOptions
- Implement pagination
2016-10-13 11:21:47 -07:00

63 lines
1.8 KiB
Go

package service
import (
"fmt"
"time"
"github.com/kolide/kolide-ose/server/kolide"
"golang.org/x/net/context"
)
func (mw metricsMiddleware) InviteNewUser(ctx context.Context, payload kolide.InvitePayload) (*kolide.Invite, error) {
var (
invite *kolide.Invite
err error
)
defer func(begin time.Time) {
lvs := []string{"method", "InviteNewUser", "error", fmt.Sprint(err != nil)}
mw.requestCount.With(lvs...).Add(1)
mw.requestLatency.With(lvs...).Observe(time.Since(begin).Seconds())
}(time.Now())
invite, err = mw.Service.InviteNewUser(ctx, payload)
return invite, err
}
func (mw metricsMiddleware) DeleteInvite(ctx context.Context, id uint) error {
var (
err error
)
defer func(begin time.Time) {
lvs := []string{"method", "DeleteInvite", "error", fmt.Sprint(err != nil)}
mw.requestCount.With(lvs...).Add(1)
mw.requestLatency.With(lvs...).Observe(time.Since(begin).Seconds())
}(time.Now())
err = mw.Service.DeleteInvite(ctx, id)
return err
}
func (mw metricsMiddleware) ListInvites(ctx context.Context, opt kolide.ListOptions) ([]*kolide.Invite, error) {
var (
invites []*kolide.Invite
err error
)
defer func(begin time.Time) {
lvs := []string{"method", "Invites", "error", fmt.Sprint(err != nil)}
mw.requestCount.With(lvs...).Add(1)
mw.requestLatency.With(lvs...).Observe(time.Since(begin).Seconds())
}(time.Now())
invites, err = mw.Service.ListInvites(ctx, opt)
return invites, err
}
func (mw metricsMiddleware) VerifyInvite(ctx context.Context, email string, token string) error {
var (
err error
)
defer func(begin time.Time) {
lvs := []string{"method", "VerifyInvite", "error", fmt.Sprint(err != nil)}
mw.requestCount.With(lvs...).Add(1)
mw.requestLatency.With(lvs...).Observe(time.Since(begin).Seconds())
}(time.Now())
err = mw.Service.VerifyInvite(ctx, email, token)
return err
}