Merge pull request #437 from mastodon/feature-report-flow-endpoint
Update report API endpoint
This commit is contained in:
commit
5611c67479
@ -165,7 +165,25 @@ extension ReportViewModel {
|
|||||||
accountID: user.id,
|
accountID: user.id,
|
||||||
statusIDs: statusIDs,
|
statusIDs: statusIDs,
|
||||||
comment: comment,
|
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 statusIDs: [Mastodon.Entity.Status.ID]?
|
||||||
public var comment: String?
|
public var comment: String?
|
||||||
public let forward: Bool?
|
public let forward: Bool?
|
||||||
|
|
||||||
|
public let category: Category?
|
||||||
|
public let ruleIDs: [Mastodon.Entity.Instance.Rule.ID]?
|
||||||
|
|
||||||
enum CodingKeys: String, CodingKey {
|
enum CodingKeys: String, CodingKey {
|
||||||
case accountID = "account_id"
|
case accountID = "account_id"
|
||||||
case statusIDs = "status_ids"
|
case statusIDs = "status_ids"
|
||||||
case comment
|
case comment
|
||||||
case forward
|
case forward
|
||||||
|
case category
|
||||||
|
case ruleIDs = "rule_ids"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum Category: String, Codable {
|
||||||
|
case spam
|
||||||
|
case violation
|
||||||
|
case other
|
||||||
}
|
}
|
||||||
|
|
||||||
public init(
|
public init(
|
||||||
accountID: Mastodon.Entity.Account.ID,
|
accountID: Mastodon.Entity.Account.ID,
|
||||||
statusIDs: [Mastodon.Entity.Status.ID]?,
|
statusIDs: [Mastodon.Entity.Status.ID]?,
|
||||||
comment: String?,
|
comment: String?,
|
||||||
forward: Bool?) {
|
forward: Bool?,
|
||||||
|
category: Category?,
|
||||||
|
ruleIDs: [Mastodon.Entity.Instance.Rule.ID]?
|
||||||
|
) {
|
||||||
self.accountID = accountID
|
self.accountID = accountID
|
||||||
self.statusIDs = statusIDs
|
self.statusIDs = statusIDs
|
||||||
self.comment = comment
|
self.comment = comment
|
||||||
self.forward = forward
|
self.forward = forward
|
||||||
|
self.category = category
|
||||||
|
self.ruleIDs = ruleIDs
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -106,7 +106,9 @@ extension Mastodon.Entity.Instance {
|
|||||||
|
|
||||||
extension Mastodon.Entity.Instance {
|
extension Mastodon.Entity.Instance {
|
||||||
public struct Rule: Codable, Hashable {
|
public struct Rule: Codable, Hashable {
|
||||||
public let id: String
|
public typealias ID = String
|
||||||
|
|
||||||
|
public let id: ID
|
||||||
public let text: String
|
public let text: String
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user