package client

import (
	"code.secondbit.org/auth.hg"
	"code.secondbit.org/scopes.hg/types"
)

func (c *Client) GetLogin(value string) (auth.Login, error) {
	resp, err := c.Get("/logins/"+value, scopeTypes.Scopes{auth.ScopeLoginAdmin}.Strings(), nil)
	if err != nil {
		hErr, ok := err.(httpErrors)
		if ok && hErr[0].Slug == auth.RequestErrNotFound {
			return auth.Login{}, auth.ErrLoginNotFound
		}
		return auth.Login{}, err
	}
	if len(resp.Logins) < 1 {
		return auth.Login{}, auth.ErrLoginNotFound
	}
	return resp.Logins[0], nil
}
