A better Rust ATProto crate
at oauth 37 kB view raw
1// @generated by jacquard-lexicon. DO NOT EDIT. 2// 3// Lexicon: com.atproto.moderation.defs 4// 5// This file was automatically generated from Lexicon schemas. 6// Any manual changes will be overwritten on the next regeneration. 7 8pub mod create_report; 9 10#[derive(Debug, Clone, PartialEq, Eq, Hash)] 11pub enum ReasonType<'a> { 12 ComAtprotoModerationDefsReasonSpam, 13 ComAtprotoModerationDefsReasonViolation, 14 ComAtprotoModerationDefsReasonMisleading, 15 ComAtprotoModerationDefsReasonSexual, 16 ComAtprotoModerationDefsReasonRude, 17 ComAtprotoModerationDefsReasonOther, 18 ComAtprotoModerationDefsReasonAppeal, 19 ToolsOzoneReportDefsReasonAppeal, 20 ToolsOzoneReportDefsReasonViolenceAnimalWelfare, 21 ToolsOzoneReportDefsReasonViolenceThreats, 22 ToolsOzoneReportDefsReasonViolenceGraphicContent, 23 ToolsOzoneReportDefsReasonViolenceSelfHarm, 24 ToolsOzoneReportDefsReasonViolenceGlorification, 25 ToolsOzoneReportDefsReasonViolenceExtremistContent, 26 ToolsOzoneReportDefsReasonViolenceTrafficking, 27 ToolsOzoneReportDefsReasonViolenceOther, 28 ToolsOzoneReportDefsReasonSexualAbuseContent, 29 ToolsOzoneReportDefsReasonSexualNcii, 30 ToolsOzoneReportDefsReasonSexualSextortion, 31 ToolsOzoneReportDefsReasonSexualDeepfake, 32 ToolsOzoneReportDefsReasonSexualAnimal, 33 ToolsOzoneReportDefsReasonSexualUnlabeled, 34 ToolsOzoneReportDefsReasonSexualOther, 35 ToolsOzoneReportDefsReasonChildSafetyCsam, 36 ToolsOzoneReportDefsReasonChildSafetyGroom, 37 ToolsOzoneReportDefsReasonChildSafetyMinorPrivacy, 38 ToolsOzoneReportDefsReasonChildSafetyEndangerment, 39 ToolsOzoneReportDefsReasonChildSafetyHarassment, 40 ToolsOzoneReportDefsReasonChildSafetyPromotion, 41 ToolsOzoneReportDefsReasonChildSafetyOther, 42 ToolsOzoneReportDefsReasonHarassmentTroll, 43 ToolsOzoneReportDefsReasonHarassmentTargeted, 44 ToolsOzoneReportDefsReasonHarassmentHateSpeech, 45 ToolsOzoneReportDefsReasonHarassmentDoxxing, 46 ToolsOzoneReportDefsReasonHarassmentOther, 47 ToolsOzoneReportDefsReasonMisleadingBot, 48 ToolsOzoneReportDefsReasonMisleadingImpersonation, 49 ToolsOzoneReportDefsReasonMisleadingSpam, 50 ToolsOzoneReportDefsReasonMisleadingScam, 51 ToolsOzoneReportDefsReasonMisleadingSyntheticContent, 52 ToolsOzoneReportDefsReasonMisleadingMisinformation, 53 ToolsOzoneReportDefsReasonMisleadingOther, 54 ToolsOzoneReportDefsReasonRuleSiteSecurity, 55 ToolsOzoneReportDefsReasonRuleStolenContent, 56 ToolsOzoneReportDefsReasonRuleProhibitedSales, 57 ToolsOzoneReportDefsReasonRuleBanEvasion, 58 ToolsOzoneReportDefsReasonRuleOther, 59 ToolsOzoneReportDefsReasonCivicElectoralProcess, 60 ToolsOzoneReportDefsReasonCivicDisclosure, 61 ToolsOzoneReportDefsReasonCivicInterference, 62 ToolsOzoneReportDefsReasonCivicMisinformation, 63 ToolsOzoneReportDefsReasonCivicImpersonation, 64 Other(jacquard_common::CowStr<'a>), 65} 66 67impl<'a> ReasonType<'a> { 68 pub fn as_str(&self) -> &str { 69 match self { 70 Self::ComAtprotoModerationDefsReasonSpam => { 71 "com.atproto.moderation.defs#reasonSpam" 72 } 73 Self::ComAtprotoModerationDefsReasonViolation => { 74 "com.atproto.moderation.defs#reasonViolation" 75 } 76 Self::ComAtprotoModerationDefsReasonMisleading => { 77 "com.atproto.moderation.defs#reasonMisleading" 78 } 79 Self::ComAtprotoModerationDefsReasonSexual => { 80 "com.atproto.moderation.defs#reasonSexual" 81 } 82 Self::ComAtprotoModerationDefsReasonRude => { 83 "com.atproto.moderation.defs#reasonRude" 84 } 85 Self::ComAtprotoModerationDefsReasonOther => { 86 "com.atproto.moderation.defs#reasonOther" 87 } 88 Self::ComAtprotoModerationDefsReasonAppeal => { 89 "com.atproto.moderation.defs#reasonAppeal" 90 } 91 Self::ToolsOzoneReportDefsReasonAppeal => { 92 "tools.ozone.report.defs#reasonAppeal" 93 } 94 Self::ToolsOzoneReportDefsReasonViolenceAnimalWelfare => { 95 "tools.ozone.report.defs#reasonViolenceAnimalWelfare" 96 } 97 Self::ToolsOzoneReportDefsReasonViolenceThreats => { 98 "tools.ozone.report.defs#reasonViolenceThreats" 99 } 100 Self::ToolsOzoneReportDefsReasonViolenceGraphicContent => { 101 "tools.ozone.report.defs#reasonViolenceGraphicContent" 102 } 103 Self::ToolsOzoneReportDefsReasonViolenceSelfHarm => { 104 "tools.ozone.report.defs#reasonViolenceSelfHarm" 105 } 106 Self::ToolsOzoneReportDefsReasonViolenceGlorification => { 107 "tools.ozone.report.defs#reasonViolenceGlorification" 108 } 109 Self::ToolsOzoneReportDefsReasonViolenceExtremistContent => { 110 "tools.ozone.report.defs#reasonViolenceExtremistContent" 111 } 112 Self::ToolsOzoneReportDefsReasonViolenceTrafficking => { 113 "tools.ozone.report.defs#reasonViolenceTrafficking" 114 } 115 Self::ToolsOzoneReportDefsReasonViolenceOther => { 116 "tools.ozone.report.defs#reasonViolenceOther" 117 } 118 Self::ToolsOzoneReportDefsReasonSexualAbuseContent => { 119 "tools.ozone.report.defs#reasonSexualAbuseContent" 120 } 121 Self::ToolsOzoneReportDefsReasonSexualNcii => { 122 "tools.ozone.report.defs#reasonSexualNCII" 123 } 124 Self::ToolsOzoneReportDefsReasonSexualSextortion => { 125 "tools.ozone.report.defs#reasonSexualSextortion" 126 } 127 Self::ToolsOzoneReportDefsReasonSexualDeepfake => { 128 "tools.ozone.report.defs#reasonSexualDeepfake" 129 } 130 Self::ToolsOzoneReportDefsReasonSexualAnimal => { 131 "tools.ozone.report.defs#reasonSexualAnimal" 132 } 133 Self::ToolsOzoneReportDefsReasonSexualUnlabeled => { 134 "tools.ozone.report.defs#reasonSexualUnlabeled" 135 } 136 Self::ToolsOzoneReportDefsReasonSexualOther => { 137 "tools.ozone.report.defs#reasonSexualOther" 138 } 139 Self::ToolsOzoneReportDefsReasonChildSafetyCsam => { 140 "tools.ozone.report.defs#reasonChildSafetyCSAM" 141 } 142 Self::ToolsOzoneReportDefsReasonChildSafetyGroom => { 143 "tools.ozone.report.defs#reasonChildSafetyGroom" 144 } 145 Self::ToolsOzoneReportDefsReasonChildSafetyMinorPrivacy => { 146 "tools.ozone.report.defs#reasonChildSafetyMinorPrivacy" 147 } 148 Self::ToolsOzoneReportDefsReasonChildSafetyEndangerment => { 149 "tools.ozone.report.defs#reasonChildSafetyEndangerment" 150 } 151 Self::ToolsOzoneReportDefsReasonChildSafetyHarassment => { 152 "tools.ozone.report.defs#reasonChildSafetyHarassment" 153 } 154 Self::ToolsOzoneReportDefsReasonChildSafetyPromotion => { 155 "tools.ozone.report.defs#reasonChildSafetyPromotion" 156 } 157 Self::ToolsOzoneReportDefsReasonChildSafetyOther => { 158 "tools.ozone.report.defs#reasonChildSafetyOther" 159 } 160 Self::ToolsOzoneReportDefsReasonHarassmentTroll => { 161 "tools.ozone.report.defs#reasonHarassmentTroll" 162 } 163 Self::ToolsOzoneReportDefsReasonHarassmentTargeted => { 164 "tools.ozone.report.defs#reasonHarassmentTargeted" 165 } 166 Self::ToolsOzoneReportDefsReasonHarassmentHateSpeech => { 167 "tools.ozone.report.defs#reasonHarassmentHateSpeech" 168 } 169 Self::ToolsOzoneReportDefsReasonHarassmentDoxxing => { 170 "tools.ozone.report.defs#reasonHarassmentDoxxing" 171 } 172 Self::ToolsOzoneReportDefsReasonHarassmentOther => { 173 "tools.ozone.report.defs#reasonHarassmentOther" 174 } 175 Self::ToolsOzoneReportDefsReasonMisleadingBot => { 176 "tools.ozone.report.defs#reasonMisleadingBot" 177 } 178 Self::ToolsOzoneReportDefsReasonMisleadingImpersonation => { 179 "tools.ozone.report.defs#reasonMisleadingImpersonation" 180 } 181 Self::ToolsOzoneReportDefsReasonMisleadingSpam => { 182 "tools.ozone.report.defs#reasonMisleadingSpam" 183 } 184 Self::ToolsOzoneReportDefsReasonMisleadingScam => { 185 "tools.ozone.report.defs#reasonMisleadingScam" 186 } 187 Self::ToolsOzoneReportDefsReasonMisleadingSyntheticContent => { 188 "tools.ozone.report.defs#reasonMisleadingSyntheticContent" 189 } 190 Self::ToolsOzoneReportDefsReasonMisleadingMisinformation => { 191 "tools.ozone.report.defs#reasonMisleadingMisinformation" 192 } 193 Self::ToolsOzoneReportDefsReasonMisleadingOther => { 194 "tools.ozone.report.defs#reasonMisleadingOther" 195 } 196 Self::ToolsOzoneReportDefsReasonRuleSiteSecurity => { 197 "tools.ozone.report.defs#reasonRuleSiteSecurity" 198 } 199 Self::ToolsOzoneReportDefsReasonRuleStolenContent => { 200 "tools.ozone.report.defs#reasonRuleStolenContent" 201 } 202 Self::ToolsOzoneReportDefsReasonRuleProhibitedSales => { 203 "tools.ozone.report.defs#reasonRuleProhibitedSales" 204 } 205 Self::ToolsOzoneReportDefsReasonRuleBanEvasion => { 206 "tools.ozone.report.defs#reasonRuleBanEvasion" 207 } 208 Self::ToolsOzoneReportDefsReasonRuleOther => { 209 "tools.ozone.report.defs#reasonRuleOther" 210 } 211 Self::ToolsOzoneReportDefsReasonCivicElectoralProcess => { 212 "tools.ozone.report.defs#reasonCivicElectoralProcess" 213 } 214 Self::ToolsOzoneReportDefsReasonCivicDisclosure => { 215 "tools.ozone.report.defs#reasonCivicDisclosure" 216 } 217 Self::ToolsOzoneReportDefsReasonCivicInterference => { 218 "tools.ozone.report.defs#reasonCivicInterference" 219 } 220 Self::ToolsOzoneReportDefsReasonCivicMisinformation => { 221 "tools.ozone.report.defs#reasonCivicMisinformation" 222 } 223 Self::ToolsOzoneReportDefsReasonCivicImpersonation => { 224 "tools.ozone.report.defs#reasonCivicImpersonation" 225 } 226 Self::Other(s) => s.as_ref(), 227 } 228 } 229} 230 231impl<'a> From<&'a str> for ReasonType<'a> { 232 fn from(s: &'a str) -> Self { 233 match s { 234 "com.atproto.moderation.defs#reasonSpam" => { 235 Self::ComAtprotoModerationDefsReasonSpam 236 } 237 "com.atproto.moderation.defs#reasonViolation" => { 238 Self::ComAtprotoModerationDefsReasonViolation 239 } 240 "com.atproto.moderation.defs#reasonMisleading" => { 241 Self::ComAtprotoModerationDefsReasonMisleading 242 } 243 "com.atproto.moderation.defs#reasonSexual" => { 244 Self::ComAtprotoModerationDefsReasonSexual 245 } 246 "com.atproto.moderation.defs#reasonRude" => { 247 Self::ComAtprotoModerationDefsReasonRude 248 } 249 "com.atproto.moderation.defs#reasonOther" => { 250 Self::ComAtprotoModerationDefsReasonOther 251 } 252 "com.atproto.moderation.defs#reasonAppeal" => { 253 Self::ComAtprotoModerationDefsReasonAppeal 254 } 255 "tools.ozone.report.defs#reasonAppeal" => { 256 Self::ToolsOzoneReportDefsReasonAppeal 257 } 258 "tools.ozone.report.defs#reasonViolenceAnimalWelfare" => { 259 Self::ToolsOzoneReportDefsReasonViolenceAnimalWelfare 260 } 261 "tools.ozone.report.defs#reasonViolenceThreats" => { 262 Self::ToolsOzoneReportDefsReasonViolenceThreats 263 } 264 "tools.ozone.report.defs#reasonViolenceGraphicContent" => { 265 Self::ToolsOzoneReportDefsReasonViolenceGraphicContent 266 } 267 "tools.ozone.report.defs#reasonViolenceSelfHarm" => { 268 Self::ToolsOzoneReportDefsReasonViolenceSelfHarm 269 } 270 "tools.ozone.report.defs#reasonViolenceGlorification" => { 271 Self::ToolsOzoneReportDefsReasonViolenceGlorification 272 } 273 "tools.ozone.report.defs#reasonViolenceExtremistContent" => { 274 Self::ToolsOzoneReportDefsReasonViolenceExtremistContent 275 } 276 "tools.ozone.report.defs#reasonViolenceTrafficking" => { 277 Self::ToolsOzoneReportDefsReasonViolenceTrafficking 278 } 279 "tools.ozone.report.defs#reasonViolenceOther" => { 280 Self::ToolsOzoneReportDefsReasonViolenceOther 281 } 282 "tools.ozone.report.defs#reasonSexualAbuseContent" => { 283 Self::ToolsOzoneReportDefsReasonSexualAbuseContent 284 } 285 "tools.ozone.report.defs#reasonSexualNCII" => { 286 Self::ToolsOzoneReportDefsReasonSexualNcii 287 } 288 "tools.ozone.report.defs#reasonSexualSextortion" => { 289 Self::ToolsOzoneReportDefsReasonSexualSextortion 290 } 291 "tools.ozone.report.defs#reasonSexualDeepfake" => { 292 Self::ToolsOzoneReportDefsReasonSexualDeepfake 293 } 294 "tools.ozone.report.defs#reasonSexualAnimal" => { 295 Self::ToolsOzoneReportDefsReasonSexualAnimal 296 } 297 "tools.ozone.report.defs#reasonSexualUnlabeled" => { 298 Self::ToolsOzoneReportDefsReasonSexualUnlabeled 299 } 300 "tools.ozone.report.defs#reasonSexualOther" => { 301 Self::ToolsOzoneReportDefsReasonSexualOther 302 } 303 "tools.ozone.report.defs#reasonChildSafetyCSAM" => { 304 Self::ToolsOzoneReportDefsReasonChildSafetyCsam 305 } 306 "tools.ozone.report.defs#reasonChildSafetyGroom" => { 307 Self::ToolsOzoneReportDefsReasonChildSafetyGroom 308 } 309 "tools.ozone.report.defs#reasonChildSafetyMinorPrivacy" => { 310 Self::ToolsOzoneReportDefsReasonChildSafetyMinorPrivacy 311 } 312 "tools.ozone.report.defs#reasonChildSafetyEndangerment" => { 313 Self::ToolsOzoneReportDefsReasonChildSafetyEndangerment 314 } 315 "tools.ozone.report.defs#reasonChildSafetyHarassment" => { 316 Self::ToolsOzoneReportDefsReasonChildSafetyHarassment 317 } 318 "tools.ozone.report.defs#reasonChildSafetyPromotion" => { 319 Self::ToolsOzoneReportDefsReasonChildSafetyPromotion 320 } 321 "tools.ozone.report.defs#reasonChildSafetyOther" => { 322 Self::ToolsOzoneReportDefsReasonChildSafetyOther 323 } 324 "tools.ozone.report.defs#reasonHarassmentTroll" => { 325 Self::ToolsOzoneReportDefsReasonHarassmentTroll 326 } 327 "tools.ozone.report.defs#reasonHarassmentTargeted" => { 328 Self::ToolsOzoneReportDefsReasonHarassmentTargeted 329 } 330 "tools.ozone.report.defs#reasonHarassmentHateSpeech" => { 331 Self::ToolsOzoneReportDefsReasonHarassmentHateSpeech 332 } 333 "tools.ozone.report.defs#reasonHarassmentDoxxing" => { 334 Self::ToolsOzoneReportDefsReasonHarassmentDoxxing 335 } 336 "tools.ozone.report.defs#reasonHarassmentOther" => { 337 Self::ToolsOzoneReportDefsReasonHarassmentOther 338 } 339 "tools.ozone.report.defs#reasonMisleadingBot" => { 340 Self::ToolsOzoneReportDefsReasonMisleadingBot 341 } 342 "tools.ozone.report.defs#reasonMisleadingImpersonation" => { 343 Self::ToolsOzoneReportDefsReasonMisleadingImpersonation 344 } 345 "tools.ozone.report.defs#reasonMisleadingSpam" => { 346 Self::ToolsOzoneReportDefsReasonMisleadingSpam 347 } 348 "tools.ozone.report.defs#reasonMisleadingScam" => { 349 Self::ToolsOzoneReportDefsReasonMisleadingScam 350 } 351 "tools.ozone.report.defs#reasonMisleadingSyntheticContent" => { 352 Self::ToolsOzoneReportDefsReasonMisleadingSyntheticContent 353 } 354 "tools.ozone.report.defs#reasonMisleadingMisinformation" => { 355 Self::ToolsOzoneReportDefsReasonMisleadingMisinformation 356 } 357 "tools.ozone.report.defs#reasonMisleadingOther" => { 358 Self::ToolsOzoneReportDefsReasonMisleadingOther 359 } 360 "tools.ozone.report.defs#reasonRuleSiteSecurity" => { 361 Self::ToolsOzoneReportDefsReasonRuleSiteSecurity 362 } 363 "tools.ozone.report.defs#reasonRuleStolenContent" => { 364 Self::ToolsOzoneReportDefsReasonRuleStolenContent 365 } 366 "tools.ozone.report.defs#reasonRuleProhibitedSales" => { 367 Self::ToolsOzoneReportDefsReasonRuleProhibitedSales 368 } 369 "tools.ozone.report.defs#reasonRuleBanEvasion" => { 370 Self::ToolsOzoneReportDefsReasonRuleBanEvasion 371 } 372 "tools.ozone.report.defs#reasonRuleOther" => { 373 Self::ToolsOzoneReportDefsReasonRuleOther 374 } 375 "tools.ozone.report.defs#reasonCivicElectoralProcess" => { 376 Self::ToolsOzoneReportDefsReasonCivicElectoralProcess 377 } 378 "tools.ozone.report.defs#reasonCivicDisclosure" => { 379 Self::ToolsOzoneReportDefsReasonCivicDisclosure 380 } 381 "tools.ozone.report.defs#reasonCivicInterference" => { 382 Self::ToolsOzoneReportDefsReasonCivicInterference 383 } 384 "tools.ozone.report.defs#reasonCivicMisinformation" => { 385 Self::ToolsOzoneReportDefsReasonCivicMisinformation 386 } 387 "tools.ozone.report.defs#reasonCivicImpersonation" => { 388 Self::ToolsOzoneReportDefsReasonCivicImpersonation 389 } 390 _ => Self::Other(jacquard_common::CowStr::from(s)), 391 } 392 } 393} 394 395impl<'a> From<String> for ReasonType<'a> { 396 fn from(s: String) -> Self { 397 match s.as_str() { 398 "com.atproto.moderation.defs#reasonSpam" => { 399 Self::ComAtprotoModerationDefsReasonSpam 400 } 401 "com.atproto.moderation.defs#reasonViolation" => { 402 Self::ComAtprotoModerationDefsReasonViolation 403 } 404 "com.atproto.moderation.defs#reasonMisleading" => { 405 Self::ComAtprotoModerationDefsReasonMisleading 406 } 407 "com.atproto.moderation.defs#reasonSexual" => { 408 Self::ComAtprotoModerationDefsReasonSexual 409 } 410 "com.atproto.moderation.defs#reasonRude" => { 411 Self::ComAtprotoModerationDefsReasonRude 412 } 413 "com.atproto.moderation.defs#reasonOther" => { 414 Self::ComAtprotoModerationDefsReasonOther 415 } 416 "com.atproto.moderation.defs#reasonAppeal" => { 417 Self::ComAtprotoModerationDefsReasonAppeal 418 } 419 "tools.ozone.report.defs#reasonAppeal" => { 420 Self::ToolsOzoneReportDefsReasonAppeal 421 } 422 "tools.ozone.report.defs#reasonViolenceAnimalWelfare" => { 423 Self::ToolsOzoneReportDefsReasonViolenceAnimalWelfare 424 } 425 "tools.ozone.report.defs#reasonViolenceThreats" => { 426 Self::ToolsOzoneReportDefsReasonViolenceThreats 427 } 428 "tools.ozone.report.defs#reasonViolenceGraphicContent" => { 429 Self::ToolsOzoneReportDefsReasonViolenceGraphicContent 430 } 431 "tools.ozone.report.defs#reasonViolenceSelfHarm" => { 432 Self::ToolsOzoneReportDefsReasonViolenceSelfHarm 433 } 434 "tools.ozone.report.defs#reasonViolenceGlorification" => { 435 Self::ToolsOzoneReportDefsReasonViolenceGlorification 436 } 437 "tools.ozone.report.defs#reasonViolenceExtremistContent" => { 438 Self::ToolsOzoneReportDefsReasonViolenceExtremistContent 439 } 440 "tools.ozone.report.defs#reasonViolenceTrafficking" => { 441 Self::ToolsOzoneReportDefsReasonViolenceTrafficking 442 } 443 "tools.ozone.report.defs#reasonViolenceOther" => { 444 Self::ToolsOzoneReportDefsReasonViolenceOther 445 } 446 "tools.ozone.report.defs#reasonSexualAbuseContent" => { 447 Self::ToolsOzoneReportDefsReasonSexualAbuseContent 448 } 449 "tools.ozone.report.defs#reasonSexualNCII" => { 450 Self::ToolsOzoneReportDefsReasonSexualNcii 451 } 452 "tools.ozone.report.defs#reasonSexualSextortion" => { 453 Self::ToolsOzoneReportDefsReasonSexualSextortion 454 } 455 "tools.ozone.report.defs#reasonSexualDeepfake" => { 456 Self::ToolsOzoneReportDefsReasonSexualDeepfake 457 } 458 "tools.ozone.report.defs#reasonSexualAnimal" => { 459 Self::ToolsOzoneReportDefsReasonSexualAnimal 460 } 461 "tools.ozone.report.defs#reasonSexualUnlabeled" => { 462 Self::ToolsOzoneReportDefsReasonSexualUnlabeled 463 } 464 "tools.ozone.report.defs#reasonSexualOther" => { 465 Self::ToolsOzoneReportDefsReasonSexualOther 466 } 467 "tools.ozone.report.defs#reasonChildSafetyCSAM" => { 468 Self::ToolsOzoneReportDefsReasonChildSafetyCsam 469 } 470 "tools.ozone.report.defs#reasonChildSafetyGroom" => { 471 Self::ToolsOzoneReportDefsReasonChildSafetyGroom 472 } 473 "tools.ozone.report.defs#reasonChildSafetyMinorPrivacy" => { 474 Self::ToolsOzoneReportDefsReasonChildSafetyMinorPrivacy 475 } 476 "tools.ozone.report.defs#reasonChildSafetyEndangerment" => { 477 Self::ToolsOzoneReportDefsReasonChildSafetyEndangerment 478 } 479 "tools.ozone.report.defs#reasonChildSafetyHarassment" => { 480 Self::ToolsOzoneReportDefsReasonChildSafetyHarassment 481 } 482 "tools.ozone.report.defs#reasonChildSafetyPromotion" => { 483 Self::ToolsOzoneReportDefsReasonChildSafetyPromotion 484 } 485 "tools.ozone.report.defs#reasonChildSafetyOther" => { 486 Self::ToolsOzoneReportDefsReasonChildSafetyOther 487 } 488 "tools.ozone.report.defs#reasonHarassmentTroll" => { 489 Self::ToolsOzoneReportDefsReasonHarassmentTroll 490 } 491 "tools.ozone.report.defs#reasonHarassmentTargeted" => { 492 Self::ToolsOzoneReportDefsReasonHarassmentTargeted 493 } 494 "tools.ozone.report.defs#reasonHarassmentHateSpeech" => { 495 Self::ToolsOzoneReportDefsReasonHarassmentHateSpeech 496 } 497 "tools.ozone.report.defs#reasonHarassmentDoxxing" => { 498 Self::ToolsOzoneReportDefsReasonHarassmentDoxxing 499 } 500 "tools.ozone.report.defs#reasonHarassmentOther" => { 501 Self::ToolsOzoneReportDefsReasonHarassmentOther 502 } 503 "tools.ozone.report.defs#reasonMisleadingBot" => { 504 Self::ToolsOzoneReportDefsReasonMisleadingBot 505 } 506 "tools.ozone.report.defs#reasonMisleadingImpersonation" => { 507 Self::ToolsOzoneReportDefsReasonMisleadingImpersonation 508 } 509 "tools.ozone.report.defs#reasonMisleadingSpam" => { 510 Self::ToolsOzoneReportDefsReasonMisleadingSpam 511 } 512 "tools.ozone.report.defs#reasonMisleadingScam" => { 513 Self::ToolsOzoneReportDefsReasonMisleadingScam 514 } 515 "tools.ozone.report.defs#reasonMisleadingSyntheticContent" => { 516 Self::ToolsOzoneReportDefsReasonMisleadingSyntheticContent 517 } 518 "tools.ozone.report.defs#reasonMisleadingMisinformation" => { 519 Self::ToolsOzoneReportDefsReasonMisleadingMisinformation 520 } 521 "tools.ozone.report.defs#reasonMisleadingOther" => { 522 Self::ToolsOzoneReportDefsReasonMisleadingOther 523 } 524 "tools.ozone.report.defs#reasonRuleSiteSecurity" => { 525 Self::ToolsOzoneReportDefsReasonRuleSiteSecurity 526 } 527 "tools.ozone.report.defs#reasonRuleStolenContent" => { 528 Self::ToolsOzoneReportDefsReasonRuleStolenContent 529 } 530 "tools.ozone.report.defs#reasonRuleProhibitedSales" => { 531 Self::ToolsOzoneReportDefsReasonRuleProhibitedSales 532 } 533 "tools.ozone.report.defs#reasonRuleBanEvasion" => { 534 Self::ToolsOzoneReportDefsReasonRuleBanEvasion 535 } 536 "tools.ozone.report.defs#reasonRuleOther" => { 537 Self::ToolsOzoneReportDefsReasonRuleOther 538 } 539 "tools.ozone.report.defs#reasonCivicElectoralProcess" => { 540 Self::ToolsOzoneReportDefsReasonCivicElectoralProcess 541 } 542 "tools.ozone.report.defs#reasonCivicDisclosure" => { 543 Self::ToolsOzoneReportDefsReasonCivicDisclosure 544 } 545 "tools.ozone.report.defs#reasonCivicInterference" => { 546 Self::ToolsOzoneReportDefsReasonCivicInterference 547 } 548 "tools.ozone.report.defs#reasonCivicMisinformation" => { 549 Self::ToolsOzoneReportDefsReasonCivicMisinformation 550 } 551 "tools.ozone.report.defs#reasonCivicImpersonation" => { 552 Self::ToolsOzoneReportDefsReasonCivicImpersonation 553 } 554 _ => Self::Other(jacquard_common::CowStr::from(s)), 555 } 556 } 557} 558 559impl<'a> AsRef<str> for ReasonType<'a> { 560 fn as_ref(&self) -> &str { 561 self.as_str() 562 } 563} 564 565impl<'a> serde::Serialize for ReasonType<'a> { 566 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> 567 where 568 S: serde::Serializer, 569 { 570 serializer.serialize_str(self.as_str()) 571 } 572} 573 574impl<'de, 'a> serde::Deserialize<'de> for ReasonType<'a> 575where 576 'de: 'a, 577{ 578 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> 579 where 580 D: serde::Deserializer<'de>, 581 { 582 let s = <&'de str>::deserialize(deserializer)?; 583 Ok(Self::from(s)) 584 } 585} 586 587impl jacquard_common::IntoStatic for ReasonType<'_> { 588 type Output = ReasonType<'static>; 589 fn into_static(self) -> Self::Output { 590 match self { 591 ReasonType::ComAtprotoModerationDefsReasonSpam => { 592 ReasonType::ComAtprotoModerationDefsReasonSpam 593 } 594 ReasonType::ComAtprotoModerationDefsReasonViolation => { 595 ReasonType::ComAtprotoModerationDefsReasonViolation 596 } 597 ReasonType::ComAtprotoModerationDefsReasonMisleading => { 598 ReasonType::ComAtprotoModerationDefsReasonMisleading 599 } 600 ReasonType::ComAtprotoModerationDefsReasonSexual => { 601 ReasonType::ComAtprotoModerationDefsReasonSexual 602 } 603 ReasonType::ComAtprotoModerationDefsReasonRude => { 604 ReasonType::ComAtprotoModerationDefsReasonRude 605 } 606 ReasonType::ComAtprotoModerationDefsReasonOther => { 607 ReasonType::ComAtprotoModerationDefsReasonOther 608 } 609 ReasonType::ComAtprotoModerationDefsReasonAppeal => { 610 ReasonType::ComAtprotoModerationDefsReasonAppeal 611 } 612 ReasonType::ToolsOzoneReportDefsReasonAppeal => { 613 ReasonType::ToolsOzoneReportDefsReasonAppeal 614 } 615 ReasonType::ToolsOzoneReportDefsReasonViolenceAnimalWelfare => { 616 ReasonType::ToolsOzoneReportDefsReasonViolenceAnimalWelfare 617 } 618 ReasonType::ToolsOzoneReportDefsReasonViolenceThreats => { 619 ReasonType::ToolsOzoneReportDefsReasonViolenceThreats 620 } 621 ReasonType::ToolsOzoneReportDefsReasonViolenceGraphicContent => { 622 ReasonType::ToolsOzoneReportDefsReasonViolenceGraphicContent 623 } 624 ReasonType::ToolsOzoneReportDefsReasonViolenceSelfHarm => { 625 ReasonType::ToolsOzoneReportDefsReasonViolenceSelfHarm 626 } 627 ReasonType::ToolsOzoneReportDefsReasonViolenceGlorification => { 628 ReasonType::ToolsOzoneReportDefsReasonViolenceGlorification 629 } 630 ReasonType::ToolsOzoneReportDefsReasonViolenceExtremistContent => { 631 ReasonType::ToolsOzoneReportDefsReasonViolenceExtremistContent 632 } 633 ReasonType::ToolsOzoneReportDefsReasonViolenceTrafficking => { 634 ReasonType::ToolsOzoneReportDefsReasonViolenceTrafficking 635 } 636 ReasonType::ToolsOzoneReportDefsReasonViolenceOther => { 637 ReasonType::ToolsOzoneReportDefsReasonViolenceOther 638 } 639 ReasonType::ToolsOzoneReportDefsReasonSexualAbuseContent => { 640 ReasonType::ToolsOzoneReportDefsReasonSexualAbuseContent 641 } 642 ReasonType::ToolsOzoneReportDefsReasonSexualNcii => { 643 ReasonType::ToolsOzoneReportDefsReasonSexualNcii 644 } 645 ReasonType::ToolsOzoneReportDefsReasonSexualSextortion => { 646 ReasonType::ToolsOzoneReportDefsReasonSexualSextortion 647 } 648 ReasonType::ToolsOzoneReportDefsReasonSexualDeepfake => { 649 ReasonType::ToolsOzoneReportDefsReasonSexualDeepfake 650 } 651 ReasonType::ToolsOzoneReportDefsReasonSexualAnimal => { 652 ReasonType::ToolsOzoneReportDefsReasonSexualAnimal 653 } 654 ReasonType::ToolsOzoneReportDefsReasonSexualUnlabeled => { 655 ReasonType::ToolsOzoneReportDefsReasonSexualUnlabeled 656 } 657 ReasonType::ToolsOzoneReportDefsReasonSexualOther => { 658 ReasonType::ToolsOzoneReportDefsReasonSexualOther 659 } 660 ReasonType::ToolsOzoneReportDefsReasonChildSafetyCsam => { 661 ReasonType::ToolsOzoneReportDefsReasonChildSafetyCsam 662 } 663 ReasonType::ToolsOzoneReportDefsReasonChildSafetyGroom => { 664 ReasonType::ToolsOzoneReportDefsReasonChildSafetyGroom 665 } 666 ReasonType::ToolsOzoneReportDefsReasonChildSafetyMinorPrivacy => { 667 ReasonType::ToolsOzoneReportDefsReasonChildSafetyMinorPrivacy 668 } 669 ReasonType::ToolsOzoneReportDefsReasonChildSafetyEndangerment => { 670 ReasonType::ToolsOzoneReportDefsReasonChildSafetyEndangerment 671 } 672 ReasonType::ToolsOzoneReportDefsReasonChildSafetyHarassment => { 673 ReasonType::ToolsOzoneReportDefsReasonChildSafetyHarassment 674 } 675 ReasonType::ToolsOzoneReportDefsReasonChildSafetyPromotion => { 676 ReasonType::ToolsOzoneReportDefsReasonChildSafetyPromotion 677 } 678 ReasonType::ToolsOzoneReportDefsReasonChildSafetyOther => { 679 ReasonType::ToolsOzoneReportDefsReasonChildSafetyOther 680 } 681 ReasonType::ToolsOzoneReportDefsReasonHarassmentTroll => { 682 ReasonType::ToolsOzoneReportDefsReasonHarassmentTroll 683 } 684 ReasonType::ToolsOzoneReportDefsReasonHarassmentTargeted => { 685 ReasonType::ToolsOzoneReportDefsReasonHarassmentTargeted 686 } 687 ReasonType::ToolsOzoneReportDefsReasonHarassmentHateSpeech => { 688 ReasonType::ToolsOzoneReportDefsReasonHarassmentHateSpeech 689 } 690 ReasonType::ToolsOzoneReportDefsReasonHarassmentDoxxing => { 691 ReasonType::ToolsOzoneReportDefsReasonHarassmentDoxxing 692 } 693 ReasonType::ToolsOzoneReportDefsReasonHarassmentOther => { 694 ReasonType::ToolsOzoneReportDefsReasonHarassmentOther 695 } 696 ReasonType::ToolsOzoneReportDefsReasonMisleadingBot => { 697 ReasonType::ToolsOzoneReportDefsReasonMisleadingBot 698 } 699 ReasonType::ToolsOzoneReportDefsReasonMisleadingImpersonation => { 700 ReasonType::ToolsOzoneReportDefsReasonMisleadingImpersonation 701 } 702 ReasonType::ToolsOzoneReportDefsReasonMisleadingSpam => { 703 ReasonType::ToolsOzoneReportDefsReasonMisleadingSpam 704 } 705 ReasonType::ToolsOzoneReportDefsReasonMisleadingScam => { 706 ReasonType::ToolsOzoneReportDefsReasonMisleadingScam 707 } 708 ReasonType::ToolsOzoneReportDefsReasonMisleadingSyntheticContent => { 709 ReasonType::ToolsOzoneReportDefsReasonMisleadingSyntheticContent 710 } 711 ReasonType::ToolsOzoneReportDefsReasonMisleadingMisinformation => { 712 ReasonType::ToolsOzoneReportDefsReasonMisleadingMisinformation 713 } 714 ReasonType::ToolsOzoneReportDefsReasonMisleadingOther => { 715 ReasonType::ToolsOzoneReportDefsReasonMisleadingOther 716 } 717 ReasonType::ToolsOzoneReportDefsReasonRuleSiteSecurity => { 718 ReasonType::ToolsOzoneReportDefsReasonRuleSiteSecurity 719 } 720 ReasonType::ToolsOzoneReportDefsReasonRuleStolenContent => { 721 ReasonType::ToolsOzoneReportDefsReasonRuleStolenContent 722 } 723 ReasonType::ToolsOzoneReportDefsReasonRuleProhibitedSales => { 724 ReasonType::ToolsOzoneReportDefsReasonRuleProhibitedSales 725 } 726 ReasonType::ToolsOzoneReportDefsReasonRuleBanEvasion => { 727 ReasonType::ToolsOzoneReportDefsReasonRuleBanEvasion 728 } 729 ReasonType::ToolsOzoneReportDefsReasonRuleOther => { 730 ReasonType::ToolsOzoneReportDefsReasonRuleOther 731 } 732 ReasonType::ToolsOzoneReportDefsReasonCivicElectoralProcess => { 733 ReasonType::ToolsOzoneReportDefsReasonCivicElectoralProcess 734 } 735 ReasonType::ToolsOzoneReportDefsReasonCivicDisclosure => { 736 ReasonType::ToolsOzoneReportDefsReasonCivicDisclosure 737 } 738 ReasonType::ToolsOzoneReportDefsReasonCivicInterference => { 739 ReasonType::ToolsOzoneReportDefsReasonCivicInterference 740 } 741 ReasonType::ToolsOzoneReportDefsReasonCivicMisinformation => { 742 ReasonType::ToolsOzoneReportDefsReasonCivicMisinformation 743 } 744 ReasonType::ToolsOzoneReportDefsReasonCivicImpersonation => { 745 ReasonType::ToolsOzoneReportDefsReasonCivicImpersonation 746 } 747 ReasonType::Other(v) => ReasonType::Other(v.into_static()), 748 } 749 } 750} 751 752///Tag describing a type of subject that might be reported. 753#[derive(Debug, Clone, PartialEq, Eq, Hash)] 754pub enum SubjectType<'a> { 755 Account, 756 Record, 757 Chat, 758 Other(jacquard_common::CowStr<'a>), 759} 760 761impl<'a> SubjectType<'a> { 762 pub fn as_str(&self) -> &str { 763 match self { 764 Self::Account => "account", 765 Self::Record => "record", 766 Self::Chat => "chat", 767 Self::Other(s) => s.as_ref(), 768 } 769 } 770} 771 772impl<'a> From<&'a str> for SubjectType<'a> { 773 fn from(s: &'a str) -> Self { 774 match s { 775 "account" => Self::Account, 776 "record" => Self::Record, 777 "chat" => Self::Chat, 778 _ => Self::Other(jacquard_common::CowStr::from(s)), 779 } 780 } 781} 782 783impl<'a> From<String> for SubjectType<'a> { 784 fn from(s: String) -> Self { 785 match s.as_str() { 786 "account" => Self::Account, 787 "record" => Self::Record, 788 "chat" => Self::Chat, 789 _ => Self::Other(jacquard_common::CowStr::from(s)), 790 } 791 } 792} 793 794impl<'a> AsRef<str> for SubjectType<'a> { 795 fn as_ref(&self) -> &str { 796 self.as_str() 797 } 798} 799 800impl<'a> serde::Serialize for SubjectType<'a> { 801 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> 802 where 803 S: serde::Serializer, 804 { 805 serializer.serialize_str(self.as_str()) 806 } 807} 808 809impl<'de, 'a> serde::Deserialize<'de> for SubjectType<'a> 810where 811 'de: 'a, 812{ 813 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> 814 where 815 D: serde::Deserializer<'de>, 816 { 817 let s = <&'de str>::deserialize(deserializer)?; 818 Ok(Self::from(s)) 819 } 820} 821 822impl jacquard_common::IntoStatic for SubjectType<'_> { 823 type Output = SubjectType<'static>; 824 fn into_static(self) -> Self::Output { 825 match self { 826 SubjectType::Account => SubjectType::Account, 827 SubjectType::Record => SubjectType::Record, 828 SubjectType::Chat => SubjectType::Chat, 829 SubjectType::Other(v) => SubjectType::Other(v.into_static()), 830 } 831 } 832}