PandaWiki/backend/api/user/v1/user.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"`
}