package arkid

type ArkIDUser struct {
	Token                string   `json:"token"`
	UserID               int      `json:"user_id"`
	Username             string   `json:"username"`
	Name                 string   `json:"name"`
	Email                string   `json:"email"`
	Mobile               string   `json:"mobile"`
	EmployeeNumber       string   `json:"employee_number"`
	Gender               int      `json:"gender"`
	Perms                []string `json:"perms"`
	Avatar               string   `json:"avatar"`
	Roles                []string `json:"roles"`
	PrivateEmail         string   `json:"private_email"`
	Position             string   `json:"position"`
	IsSettled            bool     `json:"is_settled"`
	IsManager            bool     `json:"is_manager"`
	IsAdmin              bool     `json:"is_admin"`
	IsExternUser         bool     `json:"is_extern_user"`
	OriginVerbose        string   `json:"origin_verbose"`
	RequireResetPassword bool     `json:"require_reset_password"`
	HasPassword          bool     `json:"has_password"`
}

type RequestBody struct {
	Token    string `json:"token,omitempty"`
	Username string `json:"username,omitempty"`
	Password string `json:"password,omitempty"`
	User     struct {
		Avatar               string        `json:"avatar,omitempty"`
		Email                string        `json:"email,omitempty"`
		EmployeeNumber       string        `json:"employee_number,omitempty"`
		Gender               int           `json:"gende,omitemptyr"`
		Mobile               string        `json:"mobile,omitempty"`
		Name                 string        `json:"name,omitempty"`
		Position             string        `json:"position,omitempty"`
		PrivateEmail         string        `json:"private_email,omitempty"`
		Username             string        `json:"username,omitempty"`
		Depts                interface{}   `json:"depts,omitempty"`
		Roles                interface{}   `json:"roles,omitempty"`
		Nodes                []interface{} `json:"nodes,omitempty"`
		IsSettled            bool          `json:"is_settled,omitempty"`
		Password             string        `json:"password,omitempty"`
		RequireResetPassword bool          `json:"require_reset_password,omitempty"`
		HasPassword          bool          `json:"has_password,omitempty"`
	} `json:"user,omitempty"`
	NodeUids       []string `json:"node_uids,omitempty"`
	PermName       string   `json:"perm_name,omitempty"`
	UserPermStatus []struct {
		UID    string `json:"uid,omitempty"`
		Status int    `json:"status,omitempty"`
	} `json:"user_perm_status,omitempty"`
}

type AppAccessWhiteListResult struct {
	UserPermStatus []struct {
		UID    string `json:"uid"`
		Status int    `json:"status"`
	} `json:"user_perm_status"`
	NodePermStatus []interface{} `json:"node_perm_status"`
}
