Files
Morgan Pretty 5e384eb7fb Moved and renamed remaining API definitions
• Cleaned up API structures to be more consistent
• Moved OpenGroupAPI into SessionNetworkingKit
• Moved PushNotificationAPI into SessionNetworkingKit
• Renamed to OpenGroupAPI to SOGSAPI
2025-09-15 14:22:39 +10:00

32 lines
1.5 KiB
Swift

// Copyright © 2022 Rangeproof Pty Ltd. All rights reserved.
import Foundation
extension Network.SOGS {
struct UserBanRequest: Codable {
/// List of one or more room tokens from which the user should be banned (the invoking user must be a `moderator`
/// of all of the given rooms
///
/// This may be set to the single-element list ["*"] to ban the user from all rooms in which the invoking user has `moderator`
/// permissions (the call will succeed if the calling user is a moderator in at least one channel)
///
/// Exclusive of `global`
let rooms: [String]?
/// If true then apply the ban at the server-wide global level: the user will be banned from the server entirely—not merely from
/// all rooms, but also from calling any other server request (the invoking user must be a global `moderator` in order to add
/// a global ban
///
/// Exclusive of rooms
let global: Bool?
/// Optional value specifying a time limit on the ban, in seconds
///
/// The applied ban will expire and be removed after the given interval - If omitted (or `null`) then the ban is permanent
///
/// If this endpoint is called multiple times then the timeout of the last call takes effect (eg. a permanent ban can be replaced
/// with a time-limited ban by calling the endpoint again with a timeout value, and vice versa)
let timeout: TimeInterval?
}
}