Documentation
¶
Index ¶
- Constants
- Variables
- func DecodeGetProfileRequest(_ context.Context, r *http.Request) (request interface{}, err error)
- func DecodeGetUserInfoRequest(_ context.Context, r *http.Request) (request interface{}, err error)
- func MakeDeleteUserEndpoint(s Service) endpoint.Endpoint
- func MakeGetConsent(client *sdk.Client, logger log.Logger) http.Handler
- func MakeGetLogin() http.Handler
- func MakeGetLogout() http.Handler
- func MakeGetProfileEndpoint(s Service) endpoint.Endpoint
- func MakeGetRegister() http.Handler
- func MakeGetUserInfoEndpoint(s Service) endpoint.Endpoint
- func MakeHTTPHandler(s Service, client *sdk.Client, logger log.Logger) http.Handler
- func MakePostConsent(client *sdk.Client, logger log.Logger) http.Handler
- func MakePostLogin(s Service, logger log.Logger) http.Handler
- func MakePostRegister(s Service, logger log.Logger) http.Handler
- func MakeUpdateUserEndpoint(s Service) endpoint.Endpoint
- type Endpoints
- type Middleware
- type Service
Constants ¶
View Source
const (
SubjDeleteUser = "users.delete"
)
Variables ¶
View Source
var ( ErrHashFailed = svcerror.New(codes.HashFailed, "bcrypt hash failed") ErrUserExists = svcerror.New(codes.UserExists, "user already exists") ErrWrongEmail = svcerror.New(codes.WrongEmail, "wrong email") ErrWrongPassword = svcerror.New(codes.WrongPassword, "wrong password") ErrNotFound = svcerror.New(codes.NotFound, "not found") ErrDeleteOwner = svcerror.New(codes.DeleteOwner, "cannot delete user while it is an owner") )
View Source
var ( CSRF = csrf.Protect([]byte("aNdRgUkXp2r5u8x/A?D(G+KbPeShVmYq"), csrf.Secure(secure)) //ErrBadRouting = errors.New("Inconsistent mapping between route and handler (programmer error).") //ErrPersistCookie = errors.New("Failed to add a cookie. Make sure to enable cookies.") //ErrInternal = errors.New("We're having a problem on our end. Hang tight and we'll get it fixed.") //ErrNoChallenge = errors.New("no challenge present") //ErrBadRequest = errors.New("There was an issue parsing the request.") //ErrBadToken = errors.New("Could not exchange token.") //ErrNotVerified = errors.New("The consent challenge could not be verified") ErrInternal = svcerror.New(codes.Nil, "internal server error") ErrBadRouting = svcerror.New(codes.BadRouting, "inconsistent mapping between route and handler (programmer error)") ErrBadRequest = svcerror.New(codes.BadRequest, "request is malformed or invalid") )
Functions ¶
func DecodeGetProfileRequest ¶
func MakeDeleteUserEndpoint ¶
func MakeGetLogin ¶
func MakeGetLogout ¶
func MakeGetProfileEndpoint ¶
func MakeGetRegister ¶
func MakeGetUserInfoEndpoint ¶
func MakeHTTPHandler ¶
MakeHTTPHandler mounts all of the service endpoints into an http.Handler. Useful in a usersvc server.
func MakeUpdateUserEndpoint ¶
Types ¶
type Endpoints ¶
type Endpoints struct {
GetUserInfoEndpoint endpoint.Endpoint
GetProfileEndpoint endpoint.Endpoint
UpdateUserEndpoint endpoint.Endpoint
DeleteUserEndpoint endpoint.Endpoint
}
func MakeServerEndpoints ¶
type Middleware ¶
func InstrumentingMiddleware ¶
func InstrumentingMiddleware( requestCount metrics.Counter, requestLatency metrics.Histogram, ) Middleware
func LoggingMiddleware ¶
func LoggingMiddleware(logger log.Logger) Middleware
func MessagingMiddleware ¶
func MessagingMiddleware(nc *nats.Conn) Middleware
type Service ¶
type Service interface {
GetProfile(ctx context.Context, userID uuid.UUID) (name string, err error)
GetUserInfo(ctx context.Context) (user *models.User, err error)
CreateUser(name, email, password string) error
SetName(ctx context.Context, name string) error
SetEmail(ctx context.Context, email string) error
SetPassword(ctx context.Context, password string) error
Authenticate(email string, password string) (uuid.UUID, error)
DeleteUser(ctx context.Context) error
}
Click to show internal directories.
Click to hide internal directories.