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.create
///
public class OapiAuthorizationRbacRoleCreateRequest : BaseDingTalkRequest
{
///
/// 微应用agenId,需要联系权限平台配置
///
public string AgentId { get; set; }
///
/// 管理组详情
///
public string OpenRoleCreate { get; set; }
public OpenRoleCreateVoDomain OpenRoleCreate_ { set { this.OpenRoleCreate = TopUtils.ObjectToJson(value); } }
#region IDingTalkRequest Members
public override string GetApiName()
{
return "dingtalk.oapi.authorization.rbac.role.create";
}
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_role_create", this.OpenRoleCreate);
if (this.otherParams != null)
{
parameters.AddAll(this.otherParams);
}
return parameters;
}
public override void Validate()
{
RequestValidator.ValidateRequired("agent_id", this.AgentId);
RequestValidator.ValidateRequired("open_role_create", this.OpenRoleCreate);
}
///
/// OpenContactScopeVoDomain Data Structure.
///
[Serializable]
public class OpenContactScopeVoDomain : TopObject
{
///
/// 可管理的指定部门
///
[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; }
///
/// 可管理的员工列表
///
[XmlArray("userids")]
[XmlArrayItem("string")]
public List Userids { get; set; }
}
///
/// OpenConditionVoDomain Data Structure.
///
[Serializable]
public class OpenConditionVoDomain : TopObject
{
///
/// contactScope
///
[XmlElement("open_contact_scope")]
public OpenContactScopeVoDomain OpenContactScope { get; set; }
}
///
/// OpenActionVoDomain Data Structure.
///
[Serializable]
public class OpenActionVoDomain : TopObject
{
///
/// acitonId列表
///
[XmlArray("action_ids")]
[XmlArrayItem("string")]
public List ActionIds { get; set; }
///
/// conditon
///
[XmlElement("open_condition")]
public OpenConditionVoDomain OpenCondition { get; set; }
}
///
/// OpenMemberVoDomain Data Structure.
///
[Serializable]
public class OpenMemberVoDomain : TopObject
{
///
/// member所属组织
///
[XmlElement("belong_corpid")]
public string BelongCorpid { get; set; }
///
/// 成员id
///
[XmlElement("member_id")]
public string MemberId { get; set; }
///
/// 成员类型
///
[XmlElement("member_type")]
public string MemberType { get; set; }
///
/// 操作人userid
///
[XmlElement("operate_userid")]
public string OperateUserid { get; set; }
}
///
/// OpenRoleCreateVoDomain Data Structure.
///
[Serializable]
public class OpenRoleCreateVoDomain : TopObject
{
///
/// aciton列表
///
[XmlElement("open_action")]
public OpenActionVoDomain OpenAction { get; set; }
///
/// 成员列表
///
[XmlArray("open_members")]
[XmlArrayItem("open_member_vo")]
public List OpenMembers { get; set; }
///
/// 资源列表
///
[XmlArray("open_resources")]
[XmlArrayItem("string")]
public List OpenResources { get; set; }
///
/// 管理组id,注意:创建的时候不要填写
///
[XmlElement("open_role_id")]
public string OpenRoleId { get; set; }
///
/// 管理组名
///
[XmlElement("open_role_name")]
public string OpenRoleName { get; set; }
}
#endregion
}
}