feat: update report API endpoint
This commit is contained in:
parent
ddc79d8050
commit
00cc131dd2
|
@ -165,7 +165,25 @@ extension ReportViewModel {
|
|||
accountID: user.id,
|
||||
statusIDs: statusIDs,
|
||||
comment: comment,
|
||||
forward: true
|
||||
forward: true,
|
||||
category: {
|
||||
switch self.reportReasonViewModel.selectReason {
|
||||
case .dislike: return nil
|
||||
case .spam: return .spam
|
||||
case .violateRule: return .violation
|
||||
case .other: return .other
|
||||
case .none: return nil
|
||||
}
|
||||
}(),
|
||||
ruleIDs: {
|
||||
switch self.reportReasonViewModel.selectReason {
|
||||
case .violateRule:
|
||||
guard let rule = self.reportServerRulesViewModel.selectRule else { return nil }
|
||||
return [rule.id]
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}()
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
@ -69,23 +69,40 @@ public extension Mastodon.API.Reports {
|
|||
public var statusIDs: [Mastodon.Entity.Status.ID]?
|
||||
public var comment: String?
|
||||
public let forward: Bool?
|
||||
|
||||
public let category: Category?
|
||||
public let ruleIDs: [Mastodon.Entity.Instance.Rule.ID]?
|
||||
|
||||
enum CodingKeys: String, CodingKey {
|
||||
case accountID = "account_id"
|
||||
case statusIDs = "status_ids"
|
||||
case comment
|
||||
case forward
|
||||
case category
|
||||
case ruleIDs = "rule_ids"
|
||||
|
||||
}
|
||||
|
||||
public enum Category: String, Codable {
|
||||
case spam
|
||||
case violation
|
||||
case other
|
||||
}
|
||||
|
||||
public init(
|
||||
accountID: Mastodon.Entity.Account.ID,
|
||||
statusIDs: [Mastodon.Entity.Status.ID]?,
|
||||
comment: String?,
|
||||
forward: Bool?) {
|
||||
forward: Bool?,
|
||||
category: Category?,
|
||||
ruleIDs: [Mastodon.Entity.Instance.Rule.ID]?
|
||||
) {
|
||||
self.accountID = accountID
|
||||
self.statusIDs = statusIDs
|
||||
self.comment = comment
|
||||
self.forward = forward
|
||||
self.category = category
|
||||
self.ruleIDs = ruleIDs
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -106,7 +106,9 @@ extension Mastodon.Entity.Instance {
|
|||
|
||||
extension Mastodon.Entity.Instance {
|
||||
public struct Rule: Codable, Hashable {
|
||||
public let id: String
|
||||
public typealias ID = String
|
||||
|
||||
public let id: ID
|
||||
public let text: String
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue