TM-SGNL-iOS/SignalServiceKit/Network/API/Requests/OWSRequestFactory+Spam.swift
TeleMessage developers dde0620daf initial commit
2025-05-03 12:28:28 -07:00

37 lines
1.1 KiB
Swift

//
// Copyright 2023 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
import Foundation
public import LibSignalClient
public extension OWSRequestFactory {
static func reportSpam(
from sender: Aci,
withServerGuid serverGuid: String,
reportingToken: SpamReportingToken?
) -> TSRequest {
let url: URL = {
let urlWithGuid = URL(
pathComponents: ["v1", "messages", "report", sender.serviceIdString, serverGuid]
)!
if serverGuid.isEmpty {
// This will probably never happen, but the server should be allowed to provide an
// empty message ID.
return URL(string: urlWithGuid.path + "/")!
} else {
return urlWithGuid
}
}()
let parameters: [String: String]?
if let reportingTokenString = reportingToken?.base64EncodedString().nilIfEmpty {
parameters = ["token": reportingTokenString]
} else {
parameters = nil
}
return .init(url: url, method: "POST", parameters: parameters)
}
}