/* Options: Date: 2025-09-08 01:43:21 Version: 8.81 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://account.servicestack.net //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: QuerySubscriptions.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* @Route(Path="/query/subscriptions") @ValidateRequest(Validator="IsAdmin") @AutoQueryViewer(DefaultSearchField="Email", DefaultSearchType="Contains", IconUrl="material-icons:person_outline", Title="Subscriptions") open class QuerySubscriptions : QueryDb(), IReturn> { companion object { private val responseType = object : TypeToken>(){}.type } override fun getResponseType(): Any? = QuerySubscriptions.responseType } @DataContract open class QueryResponse { @DataMember(Order=1) open var offset:Int? = null @DataMember(Order=2) open var total:Int? = null @DataMember(Order=3) open var results:ArrayList = ArrayList() @DataMember(Order=4) open var meta:HashMap? = null @DataMember(Order=5) open var responseStatus:ResponseStatus? = null } open class QueryDb : QueryBase() { } enum class SkuType { Product, PerDev, PerCore, Site, Support, Training, Register, Payment, } enum class LicenseType { Free, FreeIndividual, FreeOpenSource, Indie, Business, Enterprise, TextIndie, TextBusiness, OrmLiteIndie, OrmLiteBusiness, RedisIndie, RedisBusiness, AwsIndie, AwsBusiness, Trial, Site, TextSite, RedisSite, OrmLiteSite, } open class LicenseKey { open var ref:String? = null open var name:String? = null @SerializedName("type") open var Type:LicenseType? = null open var meta:Long? = null open var hash:String? = null open var halg:String? = null open var expiry:Date? = null } @DataContract open class QueryBase { @DataMember(Order=1) open var skip:Int? = null @DataMember(Order=2) open var take:Int? = null @DataMember(Order=3) open var orderBy:String? = null @DataMember(Order=4) open var orderByDesc:String? = null @DataMember(Order=5) open var include:String? = null @DataMember(Order=6) open var fields:String? = null @DataMember(Order=7) open var meta:HashMap? = null } open class Subscription { open var id:Int? = null open var customerId:Int? = null open var email:String? = null open var skuId:Int? = null open var skuName:String? = null open var skuType:SkuType? = null open var code:String? = null open var quantity:Int? = null open var supportQuantity:Int? = null open var total:Int? = null open var isPlan:Boolean? = null open var isRenewal:Boolean? = null open var subscriptionDurationDays:Int? = null open var renewalDate:Date? = null open var licenseRef:String? = null open var licenseName:String? = null open var licenseAddress:String? = null open var licenseType:LicenseType? = null open var expiryDate:Date? = null open var licenseKey:LicenseKey? = null open var licenseKeyText:String? = null open var createdDate:Date? = null open var modifiedDate:Date? = null open var cancelledDate:Date? = null open var stripeSubscriptionId:String? = null open var emailId:Int? = null open var emailRenewalId:Int? = null open var emailExpiredId:Int? = null open var renewalSubscriptionId:Int? = null open var externalRef:String? = null open var notes:String? = null open var error:String? = null }