package forms

type ListDbUsersReq struct {
	ClusterId       uint64   `json:"cluster_id"`
	Plugin          []string `form:"plugin" json:"plugin"`
	PasswordExpired []string `form:"password_expired" json:"password_expired"`
	AccountLocked   []string `form:"account_locked" json:"account_locked"`
	IgnoreUsers     []string `form:"ignore_users" json:"ignore_users"`
	Users           []string `form:"users" json:"users"`
	ListDbUserType  string   `form:"list_dbuser_type" json:"list_dbuser_type"`
}

type DbUserDisplay struct {
	TargetType  string   `json:"target_type"`
	TargetValue string   `json:"target_value"`
	Username    string   `json:"username"`
	BuiltinRole string   `json:"builtin_role"`
	CustomRoles []string `json:"custom_roles"`
	Plugin      string   `json:"plugin"`
}

type ListDbUsersRsp struct {
	DbUsers          []DbUserDisplay `json:"db_users"`
	InClusterDbUsers []DbUserDisplay `json:"in_cluster_db_users"`
}

type TestDbUserReq struct {
	ClusterId      uint64 `json:"cluster_id"`
	TargetType     string `json:"target_type"`
	TargetValue    string `json:"target_value"`
	TestDbUserType string `json:"test_db_user_type"`
}

type TestDbUserJwtReq struct {
	DbUser string `json:"db_user"`
	JWT    string `json:"jwt"`
}

type GetDbUserJwtReq struct {
	TargetType  string `form:"target_type" json:"target_type"`
	TargetValue string `form:"target_value" json:"target_value"`
}
type GetDbUserJwtResp struct {
	DbUser string `json:"db_user"`
	JWT    string `json:"jwt"`
}
