user

package
v0.0.0-...-f5108b3 Latest Latest
Warning

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

Go to latest
Published: Jan 8, 2024 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AppName = "user"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type CreateUserRequest

type CreateUserRequest struct {
	//
	Username string `json:"username" gorm:"column:username"`
	//
	Password string `json:"password"`
	// 用户的角色(写死),
	// @Role("admin")
	// CreateBlog( check user Role  )
	Role Role `json:"role"`
	// 对象标签, Dep:部门A
	// Label 没法存入数据库,不是一个结构化的数据
	// 比如就存储在数据里面 ,存储为Json, 需要ORM来帮我们完成 json的序列化和存储
	// 直接序列化为Json存储到 lable字段
	Label map[string]string `json:"label" gorm:"serializer:json"`
	// contains filtered or unexported fields
}

VO

func NewCreateUserRequest

func NewCreateUserRequest() *CreateUserRequest

func (*CreateUserRequest) PasswordHash

func (req *CreateUserRequest) PasswordHash()

func (*CreateUserRequest) SetIsHashed

func (req *CreateUserRequest) SetIsHashed()

func (*CreateUserRequest) Validate

func (req *CreateUserRequest) Validate() error

type DeleteUserRequest

type DeleteUserRequest struct {
	Id int `json:"id"`
}

删除用户的请求

func (*DeleteUserRequest) IdString

func (req *DeleteUserRequest) IdString() string

type DescribeBy

type DescribeBy int
const (
	DESCRIBE_BY_ID DescribeBy = iota
	DESCRIBE_BY_USERNAME
)

type DescribeUserRequest

type DescribeUserRequest struct {
	DescribeBy    DescribeBy `json:"describe_by"`
	DescribeValue string     `json:"describe_value"`
}

同时支持通过Id来查询,也要支持通过username来查询

func NewDescribeUserRequestById

func NewDescribeUserRequestById(id string) *DescribeUserRequest

func NewDescribeUserRequestByUsername

func NewDescribeUserRequestByUsername(username string) *DescribeUserRequest

type Role

type Role int

使用这个ROLE类型来表现枚举类型

const (
	// 创建者, 负责博客创作
	ROLE_AUTHOR Role = iota
	// 审核员
	ROLE_AUDITOR
	// 系统管理员
	ROLE_ADMIN
)

type Service

type Service interface {
	// 创建用户
	CreateUser(context.Context, *CreateUserRequest) (*User, error)
	// 删除用户
	DeleteUser(context.Context, *DeleteUserRequest) error

	// 查询用户  User.CheckPassword(xxx)
	DescribeUserRequest(context.Context, *DescribeUserRequest) (*User, error)
}

定义User包的能力 就是接口定义 站在使用放的角度来定义的 userSvc.Create(ctx, req), userSvc.DeleteUser(id) 接口定义好了,不要试图 随意修改接口, 要保证接口的兼容性

type User

type User struct {
	// 通用信息
	*common.Meta
	// 用户传递过来的请求
	*CreateUserRequest
}

用于存放 存入数据库的对象(PO)

func NewUser

func NewUser(req *CreateUserRequest) *User

func (*User) CheckPassword

func (u *User) CheckPassword(password string) error

判断该用户的密码是否正确

func (*User) String

func (u *User) String() string

func (*User) TableName

func (u *User) TableName() string

声明你这个对象存储在users表里面 orm 负责调用TableName() 来动态获取你这个对象要存储的表的名称

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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