/* Options: Date: 2026-01-25 12:23:08 SwiftVersion: 6.0 Version: 8.71 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://evovoice.io //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: PatchAlert.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack /** * Update a specific alert */ // @Route("/alerts/{alertId}", "PATCH") // @Api(Description="Update a specific alert") public class PatchAlert : IReturn, IPatch, Codable { public typealias Return = AlertInfo /** * The ID of the alert you want to update */ // @ApiMember(Description="The ID of the alert you want to update") public var alertId:String? /** * The name for the alert */ // @ApiMember(Description="The name for the alert") public var name:String? /** * The trigger alert */ // @ApiMember(Description="The trigger alert") public var trigger:AlertTriggers? /** * The number of hours for the window over which the alert will trigger */ // @ApiMember(Description="The number of hours for the window over which the alert will trigger") public var windowHours:Double? /** * The value at which the alert will trigger */ // @ApiMember(Description="The value at which the alert will trigger") public var threshold:Double? /** * The email addresses (one per line) to notify */ // @ApiMember(Description="The email addresses (one per line) to notify") public var notificationEmailAddresses:String? required public init(){} } public class AlertInfo : EntityInfo { /** * The ID of the account associated with this alert */ // @ApiMember(Description="The ID of the account associated with this alert") public var accountId:String? /** * The name of the alert */ // @ApiMember(Description="The name of the alert") public var name:String? /** * The trigger alert */ // @ApiMember(Description="The trigger alert") public var trigger:AlertTriggers? /** * The number of hours for the window over which the alert will trigger */ // @ApiMember(Description="The number of hours for the window over which the alert will trigger") public var windowHours:Double? /** * The value at which the alert will trigger */ // @ApiMember(Description="The value at which the alert will trigger") public var threshold:Double? /** * The email addresses (one per line) to notify */ // @ApiMember(Description="The email addresses (one per line) to notify") public var notificationEmailAddresses:String? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case accountId case name case trigger case windowHours case threshold case notificationEmailAddresses } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) accountId = try container.decodeIfPresent(String.self, forKey: .accountId) name = try container.decodeIfPresent(String.self, forKey: .name) trigger = try container.decodeIfPresent(AlertTriggers.self, forKey: .trigger) windowHours = try container.decodeIfPresent(Double.self, forKey: .windowHours) threshold = try container.decodeIfPresent(Double.self, forKey: .threshold) notificationEmailAddresses = try container.decodeIfPresent(String.self, forKey: .notificationEmailAddresses) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if accountId != nil { try container.encode(accountId, forKey: .accountId) } if name != nil { try container.encode(name, forKey: .name) } if trigger != nil { try container.encode(trigger, forKey: .trigger) } if windowHours != nil { try container.encode(windowHours, forKey: .windowHours) } if threshold != nil { try container.encode(threshold, forKey: .threshold) } if notificationEmailAddresses != nil { try container.encode(notificationEmailAddresses, forKey: .notificationEmailAddresses) } } } public enum AlertTriggers : String, Codable { case CallSpend } public class EntityInfo : Codable { /** * The ID of the object */ // @ApiMember(Description="The ID of the object") public var id:String? /** * The date the object was created */ // @ApiMember(Description="The date the object was created") public var dateCreated:String? /** * The date the object was last modified */ // @ApiMember(Description="The date the object was last modified") public var dateLastModified:String? /** * The user that created this object */ // @ApiMember(Description="The user that created this object") public var createdBy:String? /** * The user that last modified this object */ // @ApiMember(Description="The user that last modified this object") public var lastModifiedBy:String? required public init(){} }