fleet/server/service/metrics_users.go
2021-06-25 21:46:51 -07:00

128 lines
3.5 KiB
Go

package service
import (
"context"
"fmt"
"time"
"github.com/fleetdm/fleet/v4/server/fleet"
)
func (mw metricsMiddleware) CreateUserFromInvite(ctx context.Context, p fleet.UserPayload) (*fleet.User, error) {
var (
user *fleet.User
err error
)
defer func(begin time.Time) {
lvs := []string{"method", "CreateUserFromInvite", "error", fmt.Sprint(err != nil)}
mw.requestCount.With(lvs...).Add(1)
mw.requestLatency.With(lvs...).Observe(time.Since(begin).Seconds())
}(time.Now())
user, err = mw.Service.CreateUserFromInvite(ctx, p)
return user, err
}
func (mw metricsMiddleware) ModifyUser(ctx context.Context, userID uint, p fleet.UserPayload) (*fleet.User, error) {
var (
user *fleet.User
err error
)
defer func(begin time.Time) {
lvs := []string{"method", "ModifyUser", "error", fmt.Sprint(err != nil)}
mw.requestCount.With(lvs...).Add(1)
mw.requestLatency.With(lvs...).Observe(time.Since(begin).Seconds())
}(time.Now())
user, err = mw.Service.ModifyUser(ctx, userID, p)
return user, err
}
func (mw metricsMiddleware) User(ctx context.Context, id uint) (*fleet.User, error) {
var (
user *fleet.User
err error
)
defer func(begin time.Time) {
lvs := []string{"method", "User", "error", fmt.Sprint(err != nil)}
mw.requestCount.With(lvs...).Add(1)
mw.requestLatency.With(lvs...).Observe(time.Since(begin).Seconds())
}(time.Now())
user, err = mw.Service.User(ctx, id)
return user, err
}
func (mw metricsMiddleware) ListUsers(ctx context.Context, opt fleet.UserListOptions) ([]*fleet.User, error) {
var (
users []*fleet.User
err error
)
defer func(begin time.Time) {
lvs := []string{"method", "Users", "error", fmt.Sprint(err != nil)}
mw.requestCount.With(lvs...).Add(1)
mw.requestLatency.With(lvs...).Observe(time.Since(begin).Seconds())
}(time.Now())
users, err = mw.Service.ListUsers(ctx, opt)
return users, err
}
func (mw metricsMiddleware) AuthenticatedUser(ctx context.Context) (*fleet.User, error) {
var (
user *fleet.User
err error
)
defer func(begin time.Time) {
lvs := []string{"method", "AuthenticatedUser", "error", fmt.Sprint(err != nil)}
mw.requestCount.With(lvs...).Add(1)
mw.requestLatency.With(lvs...).Observe(time.Since(begin).Seconds())
}(time.Now())
user, err = mw.Service.AuthenticatedUser(ctx)
return user, err
}
func (mw metricsMiddleware) ChangePassword(ctx context.Context, oldPass, newPass string) error {
var err error
defer func(begin time.Time) {
lvs := []string{"method", "ChangePassword", "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.ChangePassword(ctx, oldPass, newPass)
return err
}
func (mw metricsMiddleware) ResetPassword(ctx context.Context, token, password string) error {
var err error
defer func(begin time.Time) {
lvs := []string{"method", "ResetPassword", "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.ResetPassword(ctx, token, password)
return err
}
func (mw metricsMiddleware) RequestPasswordReset(ctx context.Context, email string) error {
var err error
defer func(begin time.Time) {
lvs := []string{"method", "RequestPasswordReset", "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.RequestPasswordReset(ctx, email)
return err
}