// // EditedReport.swift // Tusker // // Created by Shadowfacts on 1/13/23. // Copyright © 2023 Shadowfacts. All rights reserved. // import Foundation import Pachyderm class EditedReport: ObservableObject { let accountID: String @Published var statusIDs = [String]() @Published var comment = "" @Published var forward = false @Published var reason: Reason = .spam init(accountID: String) { self.accountID = accountID } func makeRequest() -> Request? { let category: String let ruleIDs: [String] switch reason { case .spam: category = "spam" ruleIDs = [] case .rules(let ids): category = "violation" ruleIDs = ids } return Client.report(account: accountID, statuses: statusIDs, comment: comment, forward: forward, category: category, ruleIDs: ruleIDs) } } extension EditedReport { enum Reason { case spam case rules([String]) } }