user

package
v0.0.0-...-0bd2313 Latest Latest
Warning

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

Go to latest
Published: Oct 23, 2021 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var PrivateFields = []string{
	"email",
	"password",
	"email_verified",
	"is_active",
	"rands",
	"updated_at",
	"deleted_at",
}

Functions

This section is empty.

Types

type ChangePasswordRequest

type ChangePasswordRequest struct {
	CurrentPassword string `json:"current_password,omitempty"`
	NewPassword     string `json:"new_password,omitempty"`
	Terminate       bool   `json:"terminate,omitempty"`
}

func (ChangePasswordRequest) Validate

func (r ChangePasswordRequest) Validate() error

type PersistenceProvider

type PersistenceProvider interface {
	UserPersister() Persister
}

type Persister

type Persister interface {
	FindUser(context.Context, uint64) (*User, error)
	FindUserByEmail(context.Context, string) (*User, error)
	FindUserByUsername(context.Context, string) (*User, error)
	CreateUser(context.Context, *User) error
	UpdateUser(context.Context, *User, ...string) error
}

type ResetPasswordRequest

type ResetPasswordRequest struct {
	Code     string `json:"code,omitempty"`
	Password string `json:"password,omitempty"`
}

func (ResetPasswordRequest) Validate

func (r ResetPasswordRequest) Validate() error

type SendResetPasswordRequest

type SendResetPasswordRequest struct {
	Email string `json:"email,omitempty"`
}

func (SendResetPasswordRequest) Validate

func (r SendResetPasswordRequest) Validate() error

type SendVerificationRequest

type SendVerificationRequest struct {
	UserID uint64 `json:"-"`
}

type Service

type Service interface {
	GetUser(context.Context, uint64) (*User, error)
	GetUserByUsername(context.Context, string) (*User, error)
	GetUserByEmail(context.Context, string) (*User, error)
	RegisterUser(context.Context, *SignupRequest) (*User, error)
	SendResetPassword(context.Context, *SendResetPasswordRequest) error
	ResetPassword(context.Context, *ResetPasswordRequest) error
	ChangePassword(context.Context, *ChangePasswordRequest) error
	SetPassword(context.Context, *SetPasswordRequest) error
	UpdateProfile(context.Context, *UpdateProfileRequest) error
	SendVerification(context.Context, *SendVerificationRequest) error
	Verify(context.Context, *VerificationRequest) error
	SetPreference(context.Context, *SetPreferenceRequest) error
}

type ServiceProvider

type ServiceProvider interface {
	UserService() Service
}

type SetPasswordRequest

type SetPasswordRequest struct {
	Password string `json:"password,omitempty"`
}

func (SetPasswordRequest) Validate

func (r SetPasswordRequest) Validate() error

type SetPreferenceRequest

type SetPreferenceRequest struct {
	Key   string `json:"key,omitempty"`
	Value string `json:"value,omitempty"`
}

func (SetPreferenceRequest) Validate

func (r SetPreferenceRequest) Validate() error

type SignupRequest

type SignupRequest struct {
	FirstName string `json:"first_name,omitempty"`
	LastName  string `json:"last_name,omitempty"`
	Email     string `json:"email,omitempty"`
	Password  string `json:"password,omitempty"`
}

func (SignupRequest) Validate

func (r SignupRequest) Validate() error

type UpdateProfileRequest

type UpdateProfileRequest struct {
	FirstName string `json:"first_name,omitempty"`
	LastName  string `json:"last_name,omitempty"`
	Username  string `json:"username,omitempty"`
}

func (UpdateProfileRequest) Validate

func (r UpdateProfileRequest) Validate() error

type User

type User struct {
	ID            uint64            `xorm:"pk 'id'" json:"id" field:"id"`
	Username      string            `xorm:"varchar(50) not null unique" json:"username" field:"username"`
	FirstName     string            `xorm:"varchar(50) not null" json:"first_name" field:"first_name"`
	LastName      string            `xorm:"varchar(50) not null" json:"last_name" field:"last_name"`
	Email         string            `xorm:"varchar(100) not null unique" json:"email" field:"email"`
	Password      string            `xorm:"varchar(250) not null" json:"-" field:"-"`
	EmailVerified bool              `xorm:"not null" json:"email_verified" field:"email_verified"`
	Verified      bool              `xorm:"not null" json:"verified" field:"verified"`
	IsActive      bool              `xorm:"not null" json:"is_active" field:"is_active"`
	Rands         string            `xorm:"varchar(10) not null" json:"-" field:"-"`
	Preferences   map[string]string `xorm:"json" json:"preferences" field:"preferences"`

	CreatedAt time.Time `xorm:"created" json:"created_at" field:"created_at"`
	UpdatedAt time.Time `xorm:"updated" json:"updated_at" field:"updated_at"`
	DeletedAt time.Time `xorm:"deleted" json:"-" field:"-"`
	// contains filtered or unexported fields
}

func NewActiveUser

func NewActiveUser(fn, ln, email string) *User

func (*User) Avatar

func (u *User) Avatar() string

func (*User) CopySanitize

func (u *User) CopySanitize(fields ...string) *User

func (*User) Fs

func (u *User) Fs() afero.Fs

func (*User) FullName

func (u *User) FullName() string

func (*User) Map

func (u *User) Map(excludes ...string) map[string]interface{}

func (*User) PasswordSet

func (u *User) PasswordSet() bool

func (*User) SetFirstName

func (u *User) SetFirstName(fn string) *User

func (*User) SetLastName

func (u *User) SetLastName(ln string) *User

func (*User) SetPreference

func (u *User) SetPreference(key, value string) *User

func (*User) SetUsername

func (u *User) SetUsername(un string) *User

type VerificationRequest

type VerificationRequest struct {
	Code string `json:"code,omitempty"`
}

func (VerificationRequest) Validate

func (r VerificationRequest) Validate() error

Jump to

Keyboard shortcuts

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