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 } }