/* Options: Date: 2025-01-08 03:17:17 SwiftVersion: 6.0 Version: 8.53 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://blazordiffusion.com //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: UserData.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @ValidateRequest(Validator="IsAuthenticated") public class UserData : IReturn, IPost, Codable { public typealias Return = UserDataResponse required public init(){} } public class UserDataResponse : Codable { public var user:UserResult? public var profile:UserProfile? public var signups:[SignupType] = [] public var roles:[String] = [] public var responseStatus:ResponseStatus? required public init(){} } public enum SignupType : String, Codable { case Updates case Beta } public class AlbumResult : Codable { public var id:Int? public var name:String? public var slug:String? public var albumRef:String? public var ownerRef:String? public var primaryArtifactId:Int? public var score:Int? public var artifactIds:[Int] = [] required public init(){} } public class UserResult : Codable { public var refId:String? public var handle:String? public var avatar:String? public var profileUrl:String? public var likes:Likes? public var albums:[AlbumResult] = [] required public init(){} } public class Likes : Codable { public var artifactIds:[Int] = [] public var albumIds:[Int] = [] required public init(){} } public class UserProfile : Codable { public var displayName:String? public var avatar:String? public var handle:String? required public init(){} }