field_ios

In-the-field app for Radroots on iOS
git clone https://radroots.dev/git/field_ios.git
Log | Files | Refs | README | LICENSE

TeraGeneratedAuthorVisibility.swift (1096B)


      1 import TeraKitBindings
      2 
      3 extension TeraGeneratedRuntimeBackend {
      4   func authorVisibility() async throws -> TeraAuthorVisibilityPolicy {
      5     do { return try await runtime.authorVisibility().appValue } catch { throw TeraGeneratedRuntimeFailure.from(error) }
      6   }
      7 
      8   func setAuthorVisibility(author: String, visibility: TeraAuthorVisibility) async throws -> TeraAuthorVisibilityPolicy {
      9     let mode: FfiAuthorVisibility = switch visibility {
     10     case .visible: .visible
     11     case .muted: .muted
     12     case .blocked: .blocked
     13     }
     14     do { return try await runtime.setAuthorVisibility(author: author, visibility: mode).appValue } catch { throw TeraGeneratedRuntimeFailure.from(error) }
     15   }
     16 }
     17 
     18 private extension FfiAuthorVisibilityPolicy {
     19   var appValue: TeraAuthorVisibilityPolicy {
     20     TeraAuthorVisibilityPolicy(revision: revision, entries: entries.map {
     21       let mode: TeraAuthorVisibility = switch $0.visibility {
     22       case .visible: .visible
     23       case .muted: .muted
     24       case .blocked: .blocked
     25       }
     26       return TeraAuthorVisibilityEntry(author: $0.author, visibility: mode)
     27     })
     28   }
     29 }