(&self, arg: OpCreateRoleFields)
| 1111 | |
| 1112 | #[allow(async_fn_in_trait)] |
| 1113 | async fn discord_create_role(&self, arg: OpCreateRoleFields) -> Result<Role, anyhow::Error> { |
| 1114 | let rt_ctx = get_rt_ctx(&self.state); |
| 1115 | |
| 1116 | let created = discord_request_with_extra_error(&self.state, async move { |
| 1117 | let mut create_role = rt_ctx.discord_config.client.create_role(rt_ctx.guild_id); |
| 1118 | |
| 1119 | if let Some(color) = arg.color { |
| 1120 | create_role = create_role.color(color); |
| 1121 | } |
| 1122 | if let Some(colors) = arg.colors { |
| 1123 | create_role = create_role.colors(colors.into()); |
| 1124 | } |
| 1125 | if let Some(hoist) = arg.hoist { |
| 1126 | create_role = create_role.hoist(hoist); |
| 1127 | } |
| 1128 | if let Some(mentionable) = arg.mentionable { |
| 1129 | create_role = create_role.mentionable(mentionable); |
| 1130 | } |
| 1131 | if let Some(name) = &arg.name { |
| 1132 | create_role = create_role.name(&name); |
| 1133 | } |
| 1134 | if let Some(permissions) = arg.permissions { |
| 1135 | let parsed: u64 = permissions.parse()?; |
| 1136 | create_role = create_role.permissions(Permissions::from_bits_truncate(parsed)); |
| 1137 | } |
| 1138 | if let Some(unicode_emoji) = &arg.unicode_emoji { |
| 1139 | create_role = create_role.unicode_emoji(&unicode_emoji); |
| 1140 | } |
| 1141 | |
| 1142 | Ok(create_role.await) |
| 1143 | }) |
| 1144 | .await? |
| 1145 | .model() |
| 1146 | .await?; |
| 1147 | |
| 1148 | Ok(created.into()) |
| 1149 | } |
| 1150 | |
| 1151 | #[allow(async_fn_in_trait)] |
| 1152 | async fn discord_update_role(&self, arg: OpUpdateRoleFields) -> Result<Role, anyhow::Error> { |
nothing calls this directly
no test coverage detected