/* Options: Date: 2025-09-07 08:08:59 SwiftVersion: 6.0 Version: 8.81 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://account.servicestack.net //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: QuerySubscriptions.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/query/subscriptions") // @ValidateRequest(Validator="IsAdmin") // @AutoQueryViewer(DefaultSearchField="Email", DefaultSearchType="Contains", IconUrl="material-icons:person_outline", Title="Subscriptions") public class QuerySubscriptions : QueryDb, IReturn { public typealias Return = QueryResponse 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 enum SkuType : String, Codable { case Product case PerDev case PerCore case Site case Support case Training case Register case Payment } public enum LicenseType : String, Codable { case Free case FreeIndividual case FreeOpenSource case Indie case Business case Enterprise case TextIndie case TextBusiness case OrmLiteIndie case OrmLiteBusiness case RedisIndie case RedisBusiness case AwsIndie case AwsBusiness case Trial case Site case TextSite case RedisSite case OrmLiteSite } public class LicenseKey : Codable { public var ref:String? public var name:String? public var type:LicenseType? public var meta:Int? public var hash:String? public var halg:String? public var expiry:Date? required public init(){} } public class Subscription : Codable { public var id:Int? public var customerId:Int? public var email:String? public var skuId:Int? public var skuName:String? public var skuType:SkuType? public var code:String? public var quantity:Int? public var supportQuantity:Int? public var total:Int? public var isPlan:Bool? public var isRenewal:Bool? public var subscriptionDurationDays:Int? public var renewalDate:Date? public var licenseRef:String? public var licenseName:String? public var licenseAddress:String? public var licenseType:LicenseType? public var expiryDate:Date? public var licenseKey:LicenseKey? public var licenseKeyText:String? public var createdDate:Date? public var modifiedDate:Date? public var cancelledDate:Date? public var stripeSubscriptionId:String? public var emailId:Int? public var emailRenewalId:Int? public var emailExpiredId:Int? public var renewalSubscriptionId:Int? public var externalRef:String? public var notes:String? public var error:String? required public init(){} }