mirror of https://github.com/chaitin/PandaWiki.git
60 lines
1.4 KiB
Go
60 lines
1.4 KiB
Go
package v1
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/chaitin/panda-wiki/consts"
|
|
)
|
|
|
|
type CreateUserReq struct {
|
|
Account string `json:"account" validate:"required"`
|
|
Password string `json:"password" validate:"required,min=8"`
|
|
Role consts.UserRole `json:"role" validate:"required,oneof=admin user"`
|
|
}
|
|
|
|
type CreateUserResp struct {
|
|
ID string `json:"id"`
|
|
}
|
|
|
|
type UserInfoResp struct {
|
|
ID string `json:"id"`
|
|
Account string `json:"account"`
|
|
Role consts.UserRole `json:"role"`
|
|
IsToken bool `json:"is_token"`
|
|
LastAccess *time.Time `json:"last_access,omitempty"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
}
|
|
|
|
type UserListReq struct {
|
|
}
|
|
|
|
type UserListItemResp struct {
|
|
ID string `json:"id"`
|
|
Account string `json:"account"`
|
|
Role consts.UserRole `json:"role"`
|
|
LastAccess *time.Time `json:"last_access"`
|
|
CreatedAt *time.Time `json:"created_at"`
|
|
}
|
|
|
|
type LoginReq struct {
|
|
Account string `json:"account" validate:"required"`
|
|
Password string `json:"password" validate:"required"`
|
|
}
|
|
|
|
type LoginResp struct {
|
|
Token string `json:"token"`
|
|
}
|
|
|
|
type UserListResp struct {
|
|
Users []UserListItemResp `json:"users"`
|
|
}
|
|
|
|
type ResetPasswordReq struct {
|
|
ID string `json:"id" validate:"required"`
|
|
NewPassword string `json:"new_password" validate:"required,min=8"`
|
|
}
|
|
|
|
type DeleteUserReq struct {
|
|
UserID string `json:"user_id" query:"user_id" validate:"required"`
|
|
}
|