Documentation
¶
Index ¶
- Variables
- type AccountType
- type TrackingStatus
- type User
- func (User) FromAPI(user api.User) User
- func (User) FromCreateRequest(request api.CreateUserRequest) User
- func (User) FromData(userData UserData) User
- func (User) FromUpdateRequest(request api.UpdateUserRequest) User
- func (User) ManyFromData(userData []UserData) []User
- func (User) ManyToAPI(users []User) []api.User
- func (u User) ToAPI() api.User
- func (u User) ToData() UserData
- type UserData
- type UserRepository
- type UserService
- type UserValidator
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrRunescapeNameTracked = errors.New("runescape name tracked")
View Source
var ErrUserGeneric = errors.New("an service_error occurred while performing the user operation")
View Source
var ErrUserNotFound = errors.New("user not found")
View Source
var ErrUserValidation = errors.New("user is invalid")
Functions ¶
This section is empty.
Types ¶
type AccountType ¶
type AccountType string
const ( AccountTypeNormal AccountType = "NORMAL" AccountTypeIronman AccountType = "IRONMAN" AccountTypeHardcoreIronman AccountType = "HARDCORE_IRONMAN" AccountTypeUltimateIronman AccountType = "ULTIMATE_IRONMAN" AccountTypeGroupIronman AccountType = "GROUP_IRONMAN" )
func AccountTypeFromValue ¶
func AccountTypeFromValue(value string) AccountType
type TrackingStatus ¶
type TrackingStatus string
const ( TrackingStatusEnabled TrackingStatus = "ENABLED" TrackingStatusDisabled TrackingStatus = "DISABLED" )
func TrackingStatusFromValue ¶
func TrackingStatusFromValue(value string) TrackingStatus
type User ¶
type User struct {
Id string `json:"id"`
RunescapeName string `json:"runescapeName"`
TrackingStatus TrackingStatus `json:"trackingStatus"`
AccountType AccountType `json:"accountType"`
}
func (User) FromCreateRequest ¶
func (User) FromCreateRequest(request api.CreateUserRequest) User
FromCreateRequest creates a domain User from a CreateUserRequest (call as User{}.FromCreateRequest(...))
func (User) FromData ¶
FromData creates a domain User from data layer UserData (call as User{}.FromData(...))
func (User) FromUpdateRequest ¶
func (User) FromUpdateRequest(request api.UpdateUserRequest) User
FromUpdateRequest creates a domain User from an UpdateUserRequest (call as User{}.FromUpdateRequest(...))
func (User) ManyFromData ¶
ManyFromData converts a slice of UserData to domain Users (call as User{}.ManyFromData(...))
type UserRepository ¶
type UserRepository interface {
GetUserById(ctx context.Context, id string) (UserData, error)
GetUserByRunescapeName(ctx context.Context, runescapeName string) (UserData, error)
GetAllUsers(ctx context.Context) ([]UserData, error)
GetUsersWithTrackingEnabled(ctx context.Context) ([]UserData, error)
CreateUser(ctx context.Context, user UserData) (UserData, error)
UpdateUser(ctx context.Context, user UserData) (UserData, error)
}
func NewUserRepository ¶
func NewUserRepository(userCollection *mongo.Collection, mon *monitor.Monitor) UserRepository
type UserService ¶
type UserService interface {
GetUserById(ctx context.Context, id string) (User, error)
GetAllUsers(ctx context.Context) ([]User, error)
CreateUser(ctx context.Context, user User) (User, error)
UpdateUser(ctx context.Context, user User) (User, error)
}
func NewUserService ¶
func NewUserService(mon *monitor.Monitor, repository UserRepository, validator UserValidator) UserService
type UserValidator ¶
func NewUserValidator ¶
func NewUserValidator() UserValidator
Click to show internal directories.
Click to hide internal directories.