service

package
v0.0.0-...-6f9a9ad Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 18, 2021 License: GPL-3.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrMissingEmail missing email
	ErrMissingEmail = httputils.NewBadRequestError("missing email")
	// ErrMissingPassword missing password
	ErrMissingPassword = httputils.NewBadRequestError("missing password")
	// ErrMissingName missing name
	ErrMissingName = httputils.NewBadRequestError("missing name")
	// ErrMissingRole missing role
	ErrMissingRole = httputils.NewBadRequestError("missing role")
	// ErrPasswordHashingFailed password hashing failed
	ErrPasswordHashingFailed = errors.New("hashing password failed")
	// ErrGeneratingIDFailed generating id failed
	ErrGeneratingIDFailed = errors.New("generating id failed")
	// ErrValidatingRoleFailed validating role failed
	ErrValidatingRoleFailed = errors.New("validating role failed")
	// ErrRoleNotValid role not valid
	ErrRoleNotValid = httputils.NewBadRequestError("role not valid")
	// ErrMissingRoleName missing role name
	ErrMissingRoleName = httputils.NewBadRequestError("missing role name")
	// ErrMissingPermissions missing permissions
	ErrMissingPermissions = httputils.NewBadRequestError("missing permissions")
	// ErrMissingActionInPermission missing action in permissions
	ErrMissingActionInPermission = httputils.NewBadRequestError("missing actions in permission")
	// ErrMissingResourceInPermission missing resource in permission
	ErrMissingResourceInPermission = httputils.NewBadRequestError("missing resource in permission")
	// ErrInvalidCredentials invalid credentials
	ErrInvalidCredentials = httputils.ErrorResponse{Code: http.StatusUnauthorized, Message: "invalid credentials"}
	// ErrInvalidAction invalid action
	ErrInvalidAction = errors.New("invalid action")
	// ErrMissingPatchOperation missing patch operation
	ErrMissingPatchOperation = httputils.NewBadRequestError("missing patch operation")
	// ErrMissingPatchPath missing patch path
	ErrMissingPatchPath = httputils.NewBadRequestError("missing patch path")
	// ErrMissingPatchValue missing patch value
	ErrMissingPatchValue = httputils.NewBadRequestError("missing patch value")
	// ErrNothingToUpdate nothing to update
	ErrNothingToUpdate = httputils.NewBadRequestError("nothing to update")
)

Functions

This section is empty.

Types

type AuthUseCase

type AuthUseCase interface {
	Login(ctx context.Context, email, password string) (LoginResponse, error)
}

AuthUseCase defines the usecases function for the auth operations

type LoginResponse

type LoginResponse struct {
	Token  string `json:"token"`
	UserID string `json:"userID"`
}

LoginResponse login response

type RolesUseCase

type RolesUseCase interface {
	CreateRole(ctx context.Context, role models.Role) error
	GetRoles(ctx context.Context) ([]models.Role, error)
	UpdateRole(ctx context.Context, role models.Role) error
}

RolesUseCase defines the usescases functions for the user

type Service

type Service interface {
	RolesUseCase
	UserUseCase
	AuthUseCase
}

Service defines the service layer methods

func NewService

func NewService(usersRepo usersRepository.Repository, rolesRepo rolesRepository.Repository) Service

NewService returns a new service entity to be able to execuse business logic

type UserUseCase

type UserUseCase interface {
	CreateUser(ctx context.Context, user models.User) (models.User, error)
	AddRoleToUser(ctx context.Context, roleName string, userID string) error
	UpdateUser(ctx context.Context, request httputils.PatchRequest, userID string) (models.User, error)
	GetUser(ctx context.Context, userID string) (models.User, error)
	GetUsers(ctx context.Context) ([]models.User, error)
}

UserUseCase defines the usecases functions for the user

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL