using System;
using System.Xml.Serialization;
using System.Collections.Generic;
using Top.Api.Util;
using Top.Api;
using Top.Api.DingTalk;
namespace DingTalk.Api.Request
{
///
/// TOP API: dingtalk.oapi.authorization.rbac.role.action.update
///
public class OapiAuthorizationRbacRoleActionUpdateRequest : BaseDingTalkRequest
{
///
/// 微应用agenId,需要联系权限平台配置
///
public string AgentId { get; set; }
///
/// action
///
public string OpenAction { get; set; }
public OpenActionVoDomain OpenAction_ { set { this.OpenAction = TopUtils.ObjectToJson(value); } }
///
/// 管理组id
///
public string OpenRoleId { get; set; }
#region IDingTalkRequest Members
public override string GetApiName()
{
return "dingtalk.oapi.authorization.rbac.role.action.update";
}
public override string GetApiCallType()
{
return DingTalkConstants.CALL_TYPE_OAPI;
}
public override IDictionary GetParameters()
{
TopDictionary parameters = new TopDictionary();
parameters.Add("agent_id", this.AgentId);
parameters.Add("open_action", this.OpenAction);
parameters.Add("open_role_id", this.OpenRoleId);
if (this.otherParams != null)
{
parameters.AddAll(this.otherParams);
}
return parameters;
}
public override void Validate()
{
RequestValidator.ValidateRequired("agent_id", this.AgentId);
RequestValidator.ValidateRequired("open_action", this.OpenAction);
RequestValidator.ValidateRequired("open_role_id", this.OpenRoleId);
}
///
/// OpenContactScopeVoDomain Data Structure.
///
[Serializable]
public class OpenContactScopeVoDomain : TopObject
{
///
/// 可管理的部门id列表
///
[XmlArray("dept_ids")]
[XmlArrayItem("number")]
public List DeptIds { get; set; }
///
/// 是否包含所在的部门
///
[XmlElement("include_member_depts")]
public Nullable IncludeMemberDepts { get; set; }
///
/// 是否包含可管理的部门
///
[XmlElement("include_self_manage_depts")]
public Nullable IncludeSelfManageDepts { get; set; }
///
/// 员工id列表
///
[XmlArray("userids")]
[XmlArrayItem("string")]
public List Userids { get; set; }
}
///
/// OpenConditionVoDomain Data Structure.
///
[Serializable]
public class OpenConditionVoDomain : TopObject
{
///
/// 通讯录约束范围
///
[XmlElement("open_contact_scope")]
public OpenContactScopeVoDomain OpenContactScope { get; set; }
}
///
/// OpenActionVoDomain Data Structure.
///
[Serializable]
public class OpenActionVoDomain : TopObject
{
///
/// actionId列表
///
[XmlArray("action_ids")]
[XmlArrayItem("string")]
public List ActionIds { get; set; }
///
/// condition
///
[XmlElement("open_condition")]
public OpenConditionVoDomain OpenCondition { get; set; }
}
#endregion
}
}