package request

import (
	"git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/util"
)

type AlibabaTclsAxIntegrationPermissionRequest struct {
	/*
	   isv编码     */
	ClientId *string `json:"client_id" required:"true" `
	/*
	   用户编码     */
	AccountId *string `json:"account_id" required:"true" `
	/*
	   功能点     */
	Identifiers *[]string `json:"identifiers" required:"true" `
	/*
	   是否包含用户数据权限 defalutValue��false    */
	IncludeDataPerm *bool `json:"include_data_perm,omitempty" required:"false" `
}

func (s *AlibabaTclsAxIntegrationPermissionRequest) SetClientId(v string) *AlibabaTclsAxIntegrationPermissionRequest {
	s.ClientId = &v
	return s
}
func (s *AlibabaTclsAxIntegrationPermissionRequest) SetAccountId(v string) *AlibabaTclsAxIntegrationPermissionRequest {
	s.AccountId = &v
	return s
}
func (s *AlibabaTclsAxIntegrationPermissionRequest) SetIdentifiers(v []string) *AlibabaTclsAxIntegrationPermissionRequest {
	s.Identifiers = &v
	return s
}
func (s *AlibabaTclsAxIntegrationPermissionRequest) SetIncludeDataPerm(v bool) *AlibabaTclsAxIntegrationPermissionRequest {
	s.IncludeDataPerm = &v
	return s
}

func (req *AlibabaTclsAxIntegrationPermissionRequest) ToMap() map[string]interface{} {
	paramMap := make(map[string]interface{})
	if req.ClientId != nil {
		paramMap["client_id"] = *req.ClientId
	}
	if req.AccountId != nil {
		paramMap["account_id"] = *req.AccountId
	}
	if req.Identifiers != nil {
		paramMap["identifiers"] = util.ConvertBasicList(*req.Identifiers)
	}
	if req.IncludeDataPerm != nil {
		paramMap["include_data_perm"] = *req.IncludeDataPerm
	}
	return paramMap
}

func (req *AlibabaTclsAxIntegrationPermissionRequest) ToFileMap() map[string]interface{} {
	fileMap := make(map[string]interface{})
	return fileMap
}
