package v2role_request

import (
	"encoding/json"
	"git.sxidc.com/student-physical-examination/contract_lock_sdk/http"
	"git.sxidc.com/student-physical-examination/contract_lock_sdk/model/common"
)

type V2RoleListRequest struct {
	// <ext>core:true</ext> 【角色名称】角色名称
	Name string `json:"name,omitempty"`
	// <ext>core:true</ext> 【角色类型】角色类型 【传参】 取值范围：SYSTEM（系统管理员），SA（印章管理员），TEMPLATE（模板管理员），CATEGORY（用印流程管理员），AUDITOR（审计员），CUSTOM（自定义角色），TEMPLATE_CREATOR（模板创建人），LP（法人），CONTRACT（文件管理员），SECURITY_AUDITOR（安全审计员），SECURITY_SECRET（安全保密员）。
	RoleType string                 `json:"roleType,omitempty"`
	Company  *common.CompanyRequest `json:"company,omitempty"`
	// <ext>core:true</ext> 【查询起始位置】查询起始位置 【传参】 最小值：0（包含）；默认值0。
	SelectOffset *int64 `json:"selectOffset,omitempty"`
	// <ext>core:true</ext> 【查询数量限制】查询数量限制 【传参】 最小值：1（包含）；默认值1000。
	SelectLimit *int64 `json:"selectLimit,omitempty"`
}

func (obj V2RoleListRequest) GetUrl() string {
	return "/v2/role/list"
}

func (obj V2RoleListRequest) GetHttpParameter() *http.HttpParameter {
	parameter := http.NewPostHttpParameter()
	jsonBytes, _ := json.Marshal(obj)
	parameter.SetJsonParamer(string(jsonBytes))
	return parameter
}
