(&self)
| 246 | |
| 247 | impl Delegate { |
| 248 | fn build_scope(&self) -> CliResult<DelegationScope> { |
| 249 | let mut builder = DelegationScope::builder().permissions(parse_permissions(&self.can)?); |
| 250 | |
| 251 | for url in self.bound_servers()? { |
| 252 | builder = builder.server(url); |
| 253 | } |
| 254 | for pattern in self |
| 255 | .projects |
| 256 | .as_deref() |
| 257 | .map(parse_patterns) |
| 258 | .unwrap_or_default() |
| 259 | { |
| 260 | builder = builder.project(pattern); |
| 261 | } |
| 262 | for pattern in self |
| 263 | .workspaces |
| 264 | .as_deref() |
| 265 | .map(parse_patterns) |
| 266 | .unwrap_or_default() |
| 267 | { |
| 268 | builder = builder.workspace(pattern); |
| 269 | } |
| 270 | for pattern in self |
| 271 | .views |
| 272 | .as_deref() |
| 273 | .map(parse_patterns) |
| 274 | .unwrap_or_default() |
| 275 | { |
| 276 | builder = builder.view(pattern); |
| 277 | } |
| 278 | if let Some(max) = self.max_changes { |
| 279 | builder = builder.max_changes(max); |
| 280 | } |
| 281 | Ok(builder.build()) |
| 282 | } |
| 283 | |
| 284 | /// Which servers this grant is valid against. |
| 285 | /// |
no test coverage detected