/* Options: Date: 2024-05-17 11:42:48 SwiftVersion: 5.0 Version: 6.50 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://www.clubready.com/api/current //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: CreateZipWhipMessageRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/users/{UserId}/zipwhipmessage/create", "POST") public class CreateZipWhipMessageRequest : CreateZipWhipMessageRequestDto, IReturn, IRestrictedApiRequest { public typealias Return = CreateZipWhipMessageResponse /** * Api Key - grants access to resources */ // @ApiMember(DataType="string", Description="Api Key - grants access to resources", IsRequired=true, Name="ApiKey", ParameterType="query") public var apiKey:String /** * ClubReady Club ID (StoreID internally) */ // @ApiMember(DataType="integer", Description="ClubReady Club ID (StoreID internally)", IsRequired=true, Name="StoreId", ParameterType="query") public var storeId:Int? /** * Create note for this ClubReady User ID */ // @ApiMember(DataType="integer", Description="Create note for this ClubReady User ID", IsRequired=true, Name="UserId", ParameterType="query") public var userId:Int /** * Subject of the message (Up to 255 characters) */ // @ApiMember(DataType="string", Description="Subject of the message (Up to 255 characters)", IsRequired=true, Name="Subject", ParameterType="query") public var subject:String /** * Text body of the message (Up to 2000 characters) */ // @ApiMember(DataType="string", Description="Text body of the message (Up to 2000 characters)", IsRequired=true, Name="Text", ParameterType="query") public var text:String public var restrictedId:Int? public var restrictedResourceType:RestrictedResourceType required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case apiKey case storeId case userId case subject case text case restrictedId case restrictedResourceType } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) apiKey = try container.decodeIfPresent(String.self, forKey: .apiKey) storeId = try container.decodeIfPresent(Int.self, forKey: .storeId) userId = try container.decodeIfPresent(Int.self, forKey: .userId) subject = try container.decodeIfPresent(String.self, forKey: .subject) text = try container.decodeIfPresent(String.self, forKey: .text) restrictedId = try container.decodeIfPresent(Int.self, forKey: .restrictedId) restrictedResourceType = try container.decodeIfPresent(RestrictedResourceType.self, forKey: .restrictedResourceType) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if apiKey != nil { try container.encode(apiKey, forKey: .apiKey) } if storeId != nil { try container.encode(storeId, forKey: .storeId) } if userId != nil { try container.encode(userId, forKey: .userId) } if subject != nil { try container.encode(subject, forKey: .subject) } if text != nil { try container.encode(text, forKey: .text) } if restrictedId != nil { try container.encode(restrictedId, forKey: .restrictedId) } if restrictedResourceType != nil { try container.encode(restrictedResourceType, forKey: .restrictedResourceType) } } } public class CreateZipWhipMessageResponse : CreateZipWhipMessageResponseDto { public var success:Bool public var message:String public var noteId:Int public var contactLogId:Int public var taskId:Int required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case success case message case noteId case contactLogId case taskId } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) success = try container.decodeIfPresent(Bool.self, forKey: .success) message = try container.decodeIfPresent(String.self, forKey: .message) noteId = try container.decodeIfPresent(Int.self, forKey: .noteId) contactLogId = try container.decodeIfPresent(Int.self, forKey: .contactLogId) taskId = try container.decodeIfPresent(Int.self, forKey: .taskId) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if success != nil { try container.encode(success, forKey: .success) } if message != nil { try container.encode(message, forKey: .message) } if noteId != nil { try container.encode(noteId, forKey: .noteId) } if contactLogId != nil { try container.encode(contactLogId, forKey: .contactLogId) } if taskId != nil { try container.encode(taskId, forKey: .taskId) } } } public enum RestrictedResourceType : String, Codable { case Store case Chain case User case Undefined } public protocol IRestrictedApiRequest : IApiKeyEndpoint { var restrictedId:Int? { get set } var restrictedResourceType:RestrictedResourceType { get set } } public protocol IApiKeyEndpoint { var apiKey:String { get set } } public class ApiDtoBase : Codable { public var apiKey:String public var storeId:Int? public var chainId:Int? required public init(){} } public class CreateZipWhipMessageRequestDto : ApiDtoBase { public var userId:Int public var subject:String public var text:String public var postedBy:Int? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case userId case subject case text case postedBy } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) userId = try container.decodeIfPresent(Int.self, forKey: .userId) subject = try container.decodeIfPresent(String.self, forKey: .subject) text = try container.decodeIfPresent(String.self, forKey: .text) postedBy = try container.decodeIfPresent(Int.self, forKey: .postedBy) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if userId != nil { try container.encode(userId, forKey: .userId) } if subject != nil { try container.encode(subject, forKey: .subject) } if text != nil { try container.encode(text, forKey: .text) } if postedBy != nil { try container.encode(postedBy, forKey: .postedBy) } } } public class CreateZipWhipMessageResponseDto : ApiResponseBase { public var noteId:Int public var contactLogId:Int public var taskId:Int required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case noteId case contactLogId case taskId } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) noteId = try container.decodeIfPresent(Int.self, forKey: .noteId) contactLogId = try container.decodeIfPresent(Int.self, forKey: .contactLogId) taskId = try container.decodeIfPresent(Int.self, forKey: .taskId) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if noteId != nil { try container.encode(noteId, forKey: .noteId) } if contactLogId != nil { try container.encode(contactLogId, forKey: .contactLogId) } if taskId != nil { try container.encode(taskId, forKey: .taskId) } } } public class ApiResponseBase : Codable { public var success:Bool public var message:String required public init(){} }