user

package
v0.0.0-...-3773cab Latest Latest
Warning

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

Go to latest
Published: Mar 13, 2020 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewMongoDBRepo

func NewMongoDBRepo(s *mgo.Session) *mongoDBRepo

func NewService

func NewService(repo repoProvider) *service

Types

type ChangePasswordRequest

type ChangePasswordRequest struct {
	Email       string `json:"email" validate:"required,email"`
	OldPassword string `json:"old_password" validate:"required"`
	NewPassword string `json:"new_password" validate:"required"`
}

type Gender

type Gender int

Gender represents gender of person

const (
	MALE   Gender = 1
	FEMALE Gender = 2
	OTHER  Gender = 3
)

type Handler

type Handler struct {
	// contains filtered or unexported fields
}

func InitHandlerMongoDBInjected

func InitHandlerMongoDBInjected(s *mgo.Session) *Handler

READABLE

func NewHandler

func NewHandler(svc serviceAdapter) *Handler

func (*Handler) DeleteUser

func (h *Handler) DeleteUser(w http.ResponseWriter, r *http.Request)

func (*Handler) GetUserById

func (h *Handler) GetUserById(w http.ResponseWriter, r *http.Request)

func (*Handler) GetUsers

func (h *Handler) GetUsers(w http.ResponseWriter, r *http.Request)

func (*Handler) LoadRoutes

func (h *Handler) LoadRoutes() []router.Route

func (*Handler) PutUser

func (h *Handler) PutUser(w http.ResponseWriter, r *http.Request)

func (*Handler) RegisterUser

func (h *Handler) RegisterUser(w http.ResponseWriter, r *http.Request)

type MockrepoProvider

type MockrepoProvider struct {
	// contains filtered or unexported fields
}

MockrepoProvider is a mock of repoProvider interface

func NewMockrepoProvider

func NewMockrepoProvider(ctrl *gomock.Controller) *MockrepoProvider

NewMockrepoProvider creates a new mock instance

func (*MockrepoProvider) Delete

func (_m *MockrepoProvider) Delete(ctx context.Context, id string) error

Delete mocks base method

func (*MockrepoProvider) EXPECT

EXPECT returns an object that allows the caller to indicate expected use

func (*MockrepoProvider) Find

func (_m *MockrepoProvider) Find()

Find mocks base method

func (*MockrepoProvider) FindAll

func (_m *MockrepoProvider) FindAll(ctx context.Context) ([]*UserDB, error)

FindAll mocks base method

func (*MockrepoProvider) FindByEmail

func (_m *MockrepoProvider) FindByEmail(ctx context.Context, email string) (*UserDB, error)

FindByEmail mocks base method

func (*MockrepoProvider) FindById

func (_m *MockrepoProvider) FindById(ctx context.Context, id string) (*UserDB, error)

FindById mocks base method

func (*MockrepoProvider) FindByPhoneNumber

func (_m *MockrepoProvider) FindByPhoneNumber(ctx context.Context, phoneNumber string) (*UserDB, error)

FindByPhoneNumber mocks base method

func (*MockrepoProvider) FindByUserName

func (_m *MockrepoProvider) FindByUserName(ctx context.Context, userName string) (*UserDB, error)

FindByUserName mocks base method

func (*MockrepoProvider) Insert

func (_m *MockrepoProvider) Insert(_param0 context.Context, _param1 *UserDB) (string, error)

Insert mocks base method

func (*MockrepoProvider) Update

func (_m *MockrepoProvider) Update(_param0 context.Context, _param1 *UpdateRequest) error

Update mocks base method

type MockrepoProviderMockRecorder

type MockrepoProviderMockRecorder struct {
	// contains filtered or unexported fields
}

MockrepoProviderMockRecorder is the mock recorder for MockrepoProvider

func (*MockrepoProviderMockRecorder) Delete

func (_mr *MockrepoProviderMockRecorder) Delete(arg0, arg1 interface{}) *gomock.Call

Delete indicates an expected call of Delete

func (*MockrepoProviderMockRecorder) Find

Find indicates an expected call of Find

func (*MockrepoProviderMockRecorder) FindAll

func (_mr *MockrepoProviderMockRecorder) FindAll(arg0 interface{}) *gomock.Call

FindAll indicates an expected call of FindAll

func (*MockrepoProviderMockRecorder) FindByEmail

func (_mr *MockrepoProviderMockRecorder) FindByEmail(arg0, arg1 interface{}) *gomock.Call

FindByEmail indicates an expected call of FindByEmail

func (*MockrepoProviderMockRecorder) FindById

func (_mr *MockrepoProviderMockRecorder) FindById(arg0, arg1 interface{}) *gomock.Call

FindById indicates an expected call of FindById

func (*MockrepoProviderMockRecorder) FindByPhoneNumber

func (_mr *MockrepoProviderMockRecorder) FindByPhoneNumber(arg0, arg1 interface{}) *gomock.Call

FindByPhoneNumber indicates an expected call of FindByPhoneNumber

func (*MockrepoProviderMockRecorder) FindByUserName

func (_mr *MockrepoProviderMockRecorder) FindByUserName(arg0, arg1 interface{}) *gomock.Call

FindByUserName indicates an expected call of FindByUserName

func (*MockrepoProviderMockRecorder) Insert

func (_mr *MockrepoProviderMockRecorder) Insert(arg0, arg1 interface{}) *gomock.Call

Insert indicates an expected call of Insert

func (*MockrepoProviderMockRecorder) Update

func (_mr *MockrepoProviderMockRecorder) Update(arg0, arg1 interface{}) *gomock.Call

Update indicates an expected call of Update

type MockserviceAdapter

type MockserviceAdapter struct {
	// contains filtered or unexported fields
}

MockserviceAdapter is a mock of serviceAdapter interface

func NewMockserviceAdapter

func NewMockserviceAdapter(ctrl *gomock.Controller) *MockserviceAdapter

NewMockserviceAdapter creates a new mock instance

func (*MockserviceAdapter) Create

func (_m *MockserviceAdapter) Create(ctx context.Context)

Create mocks base method

func (*MockserviceAdapter) Delete

func (_m *MockserviceAdapter) Delete(ctx context.Context, id string) error

Delete mocks base method

func (*MockserviceAdapter) EXPECT

EXPECT returns an object that allows the caller to indicate expected use

func (*MockserviceAdapter) Read

func (_m *MockserviceAdapter) Read(ctx context.Context)

Read mocks base method

func (*MockserviceAdapter) ReadAll

func (_m *MockserviceAdapter) ReadAll(ctx context.Context) ([]*types.UserInfo, error)

ReadAll mocks base method

func (*MockserviceAdapter) ReadByID

func (_m *MockserviceAdapter) ReadByID(ctx context.Context, id string) (*types.UserInfo, error)

ReadByID mocks base method

func (*MockserviceAdapter) Register

Register mocks base method

func (*MockserviceAdapter) Update

func (_m *MockserviceAdapter) Update(ctx context.Context, id string, req *UpdateRequest) error

Update mocks base method

type MockserviceAdapterMockRecorder

type MockserviceAdapterMockRecorder struct {
	// contains filtered or unexported fields
}

MockserviceAdapterMockRecorder is the mock recorder for MockserviceAdapter

func (*MockserviceAdapterMockRecorder) Create

func (_mr *MockserviceAdapterMockRecorder) Create(arg0 interface{}) *gomock.Call

Create indicates an expected call of Create

func (*MockserviceAdapterMockRecorder) Delete

func (_mr *MockserviceAdapterMockRecorder) Delete(arg0, arg1 interface{}) *gomock.Call

Delete indicates an expected call of Delete

func (*MockserviceAdapterMockRecorder) Read

func (_mr *MockserviceAdapterMockRecorder) Read(arg0 interface{}) *gomock.Call

Read indicates an expected call of Read

func (*MockserviceAdapterMockRecorder) ReadAll

func (_mr *MockserviceAdapterMockRecorder) ReadAll(arg0 interface{}) *gomock.Call

ReadAll indicates an expected call of ReadAll

func (*MockserviceAdapterMockRecorder) ReadByID

func (_mr *MockserviceAdapterMockRecorder) ReadByID(arg0, arg1 interface{}) *gomock.Call

ReadByID indicates an expected call of ReadByID

func (*MockserviceAdapterMockRecorder) Register

func (_mr *MockserviceAdapterMockRecorder) Register(arg0, arg1 interface{}) *gomock.Call

Register indicates an expected call of Register

func (*MockserviceAdapterMockRecorder) Update

func (_mr *MockserviceAdapterMockRecorder) Update(arg0, arg1, arg2 interface{}) *gomock.Call

Update indicates an expected call of Update

type RegisterRequest

type RegisterRequest struct {
	Email    string `json:"email" validate:"required,email"`
	Password string `json:"password" validate:"required"`

	FirstName   string `json:"first_name" validate:"required"`
	LastName    string `json:"last_name" validate:"required"`
	Gender      Gender `json:"gender" validate:"gte=0,lte=2"`
	DateOfBirth string `json:"date_of_birth" validate:"required"`
}

type UpdateRequest

type UpdateRequest struct {
	UserId string `json:"user_id,omitempty" validate:"omitempty"`

	NickName  string `json:"nick_name,omitempty" validate:"omitempty" bson:"nick_name"`
	Status    string `json:"status,omitempty" validate:"omitempty" bson:"status"`
	AvatarURL string `json:"avatar_url,omitempty" validate:"omitempty,url|uri" bson:"avatar_url"`
	Location  string `json:"location,omitempty" validate:"omitempty" bson:"location"`

	FirstName string `json:"first_name,omitempty" validate:"omitempty" bson:"first_name"`
	LastName  string `json:"last_name,omitempty" validate:"omitempty" bson:"last_name"`

	Roles []string `json:"roles,omitempty" validate:"omitempty" bson:"roles"`
}

Validator only InvalidValidationError for bad validation input, nil or ValidationErrors as type error

type UserDB

type UserDB struct {
	// Identify user info
	ID       string `json:"-,omitempty" bson:"_id"`
	UserID   string `json:"user_id" bson:"user_id"`
	Email    string `json:"email" bson:"email"`
	Password string `json:"password" bson:"password"`

	// Personal info
	FirstName   string     `json:"first_name" bson:"first_name"`
	LastName    string     `json:"last_name" bson:"last_name"`
	Gender      Gender     `json:"gender" bson:"gender"`
	DateOfBirth *time.Time `json:"date_of_birth,omitempty" bson:"date_of_birth"`
	PhoneNumber string     `json:"phone_number" bson:"phone_number"`

	// User app info
	NickName    string   `json:"nick_name" bson:"nick_name"`
	Status      string   `json:"status" bson:"status"`
	AvatarURL   string   `json:"avatar_url" bson:"avatar_url"`
	Location    string   `json:"location" bson:"location"`
	Roles       []string `json:"roles,omitempty" bson:"roles,omitempty"` // supper admin || user
	Groups      []string `json:"groups" bson:"groups"`                   // group's ids user has joined (private community)
	Communities []string `json:"communities" bson:"communities"`         // community's ids user has joined (public community)

	// Internal info managed by system
	CreatedAt *time.Time `json:"created_at,omitempty" bson:"created_at,omitempty"`
	UpdatedAt *time.Time `json:"updated_at,omitempty" bson:"updated_at,omitempty"`
	IsDeleted *bool      `json:"is_deleted,omitempty" bson:"is_deleted,omitempty"`
}

UserDB represents a user record stored in database

func (*UserDB) Age

func (u *UserDB) Age() time.Duration

func (*UserDB) FullName

func (u *UserDB) FullName() string

func (*UserDB) ParseToUserInfo

func (u *UserDB) ParseToUserInfo() *types.UserInfo

convert to user info type

type UserInfo

type UserInfo struct {
	types.UserInfo
}

Jump to

Keyboard shortcuts

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