/* Options: Date: 2025-12-10 20:23:55 SwiftVersion: 5.0 Version: 6.50 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://galaxymobile.api.dev.86degrees.com //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: PostMessage.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/galaxy/sendmessage", "POST") public class PostMessage : IReturn, ILogRequest, IHasApiKey, Codable { public typealias Return = PostMessageResponse /** * The type of message being sent. */ // @ApiMember(DataType="MessageType", Description="The type of message being sent.", IsRequired=true) public var type:MessageType /** * The subject of the message */ // @ApiMember(DataType="string", Description="The subject of the message", IsRequired=true) public var subject:String /** * The content of the message */ // @ApiMember(DataType="string", Description="The content of the message", IsRequired=true) public var content:String /** * The recipients who will be receiving the message */ // @ApiMember(Description="The recipients who will be receiving the message", IsRequired=true) public var recipients:[UserDetails] = [] /** * The API Key required for authentication */ // @ApiMember(Description="The API Key required for authentication", IsRequired=true) public var apiKey:String /** * If set, the message will be displayed in the user's inbox in the app. Otherwise will just be a push notification. */ // @ApiMember(Description="If set, the message will be displayed in the user's inbox in the app. Otherwise will just be a push notification.", IsRequired=true) public var showInInbox:Bool required public init(){} } public class PostMessageResponse : ApiServiceResponse { required public init(){ super.init() } required public init(from decoder: Decoder) throws { try super.init(from: decoder) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) } } public protocol IHasApiKey { var apiKey:String { get set } } public protocol ILogRequest { } // @Flags() public enum MessageType : Int, Codable { case Info = 1 case Marketing = 2 case Policy = 3 case Announcement = 4 case General = 5 case Claim = 6 } public class UserDetails : Codable { public var idNumber:String public var galaxyCompanyId:Int required public init(){} } public class ApiServiceResponse : IServiceResponse, Codable { public var Description:String public var heading:String public var wasSuccessful:Bool //modelState:Object ignored. Type could not be extended in Swift required public init(){} }