/* Options: Date: 2025-09-08 02:39:56 Version: 8.81 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://account.servicestack.net //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: Subscriptions.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; enum SkuType { Product, PerDev, PerCore, Site, Support, Training, Register, Payment, } // @flags() class LicenseFeature { static const LicenseFeature None = const LicenseFeature._(0); static const LicenseFeature Free = const LicenseFeature._(0); static const LicenseFeature Premium = const LicenseFeature._(1); static const LicenseFeature Text = const LicenseFeature._(2); static const LicenseFeature Client = const LicenseFeature._(4); static const LicenseFeature Common = const LicenseFeature._(8); static const LicenseFeature Redis = const LicenseFeature._(16); static const LicenseFeature RedisSku = const LicenseFeature._(18); static const LicenseFeature OrmLite = const LicenseFeature._(32); static const LicenseFeature OrmLiteSku = const LicenseFeature._(34); static const LicenseFeature ServiceStack = const LicenseFeature._(64); static const LicenseFeature Server = const LicenseFeature._(128); static const LicenseFeature Razor = const LicenseFeature._(256); static const LicenseFeature Admin = const LicenseFeature._(512); static const LicenseFeature Aws = const LicenseFeature._(1024); static const LicenseFeature AwsSku = const LicenseFeature._(1026); static const LicenseFeature All = const LicenseFeature._(2047); final int _value; const LicenseFeature._(this._value); int get value => _value; static List get values => const [None,Free,Premium,Text,Client,Common,Redis,RedisSku,OrmLite,OrmLiteSku,ServiceStack,Server,Razor,Admin,Aws,AwsSku,All]; } enum LicenseType { Free, FreeIndividual, FreeOpenSource, Indie, Business, Enterprise, TextIndie, TextBusiness, OrmLiteIndie, OrmLiteBusiness, RedisIndie, RedisBusiness, AwsIndie, AwsBusiness, Trial, Site, TextSite, RedisSite, OrmLiteSite, } class Sku implements IConvertible { int? id; int? productId; SkuType? type; LicenseFeature? feature; String? code; String? name; String? notes; // @ignore() int? minQty; int? maxQty; int? price; String? plan; int? discountOff; String? discountLabelOff; int? actualPrice; bool? isPlan; bool? isRenewal; int? subscriptionDurationDays; int? expiryDurationDays; int? trialPeriodDays; int? supportQty; int? coresQty; DateTime? createdDate; DateTime? modifiedDate; LicenseType? licenseType; bool? active; Sku({this.id,this.productId,this.type,this.feature,this.code,this.name,this.notes,this.minQty,this.maxQty,this.price,this.plan,this.discountOff,this.discountLabelOff,this.actualPrice,this.isPlan,this.isRenewal,this.subscriptionDurationDays,this.expiryDurationDays,this.trialPeriodDays,this.supportQty,this.coresQty,this.createdDate,this.modifiedDate,this.licenseType,this.active}); Sku.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; productId = json['productId']; type = JsonConverters.fromJson(json['type'],'SkuType',context!); feature = JsonConverters.fromJson(json['feature'],'LicenseFeature',context!); code = json['code']; name = json['name']; notes = json['notes']; minQty = json['minQty']; maxQty = json['maxQty']; price = json['price']; plan = json['plan']; discountOff = json['discountOff']; discountLabelOff = json['discountLabelOff']; actualPrice = json['actualPrice']; isPlan = json['isPlan']; isRenewal = json['isRenewal']; subscriptionDurationDays = json['subscriptionDurationDays']; expiryDurationDays = json['expiryDurationDays']; trialPeriodDays = json['trialPeriodDays']; supportQty = json['supportQty']; coresQty = json['coresQty']; createdDate = JsonConverters.fromJson(json['createdDate'],'DateTime',context!); modifiedDate = JsonConverters.fromJson(json['modifiedDate'],'DateTime',context!); licenseType = JsonConverters.fromJson(json['licenseType'],'LicenseType',context!); active = json['active']; return this; } Map toJson() => { 'id': id, 'productId': productId, 'type': JsonConverters.toJson(type,'SkuType',context!), 'feature': JsonConverters.toJson(feature,'LicenseFeature',context!), 'code': code, 'name': name, 'notes': notes, 'minQty': minQty, 'maxQty': maxQty, 'price': price, 'plan': plan, 'discountOff': discountOff, 'discountLabelOff': discountLabelOff, 'actualPrice': actualPrice, 'isPlan': isPlan, 'isRenewal': isRenewal, 'subscriptionDurationDays': subscriptionDurationDays, 'expiryDurationDays': expiryDurationDays, 'trialPeriodDays': trialPeriodDays, 'supportQty': supportQty, 'coresQty': coresQty, 'createdDate': JsonConverters.toJson(createdDate,'DateTime',context!), 'modifiedDate': JsonConverters.toJson(modifiedDate,'DateTime',context!), 'licenseType': JsonConverters.toJson(licenseType,'LicenseType',context!), 'active': active }; getTypeName() => "Sku"; TypeContext? context = _ctx; } class OrderDetail implements IConvertible { int? id; int? orderId; int? skuId; SkuType? skuType; int? price; String? description; int? quantity; int? total; OrderDetail({this.id,this.orderId,this.skuId,this.skuType,this.price,this.description,this.quantity,this.total}); OrderDetail.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; orderId = json['orderId']; skuId = json['skuId']; skuType = JsonConverters.fromJson(json['skuType'],'SkuType',context!); price = json['price']; description = json['description']; quantity = json['quantity']; total = json['total']; return this; } Map toJson() => { 'id': id, 'orderId': orderId, 'skuId': skuId, 'skuType': JsonConverters.toJson(skuType,'SkuType',context!), 'price': price, 'description': description, 'quantity': quantity, 'total': total }; getTypeName() => "OrderDetail"; TypeContext? context = _ctx; } class OrderAnalyticData implements IConvertible { String? productName; int? subTotal; String? couponId; int? discount; int? tax; int? total; bool? paid; DateTime? createdDate; DateTime? modifiedDate; String? modifiedBy; DateTime? cancelledDate; String? cancelledReason; List? orderDetails; OrderAnalyticData({this.productName,this.subTotal,this.couponId,this.discount,this.tax,this.total,this.paid,this.createdDate,this.modifiedDate,this.modifiedBy,this.cancelledDate,this.cancelledReason,this.orderDetails}); OrderAnalyticData.fromJson(Map json) { fromMap(json); } fromMap(Map json) { productName = json['productName']; subTotal = json['subTotal']; couponId = json['couponId']; discount = json['discount']; tax = json['tax']; total = json['total']; paid = json['paid']; createdDate = JsonConverters.fromJson(json['createdDate'],'DateTime',context!); modifiedDate = JsonConverters.fromJson(json['modifiedDate'],'DateTime',context!); modifiedBy = json['modifiedBy']; cancelledDate = JsonConverters.fromJson(json['cancelledDate'],'DateTime',context!); cancelledReason = json['cancelledReason']; orderDetails = JsonConverters.fromJson(json['orderDetails'],'List',context!); return this; } Map toJson() => { 'productName': productName, 'subTotal': subTotal, 'couponId': couponId, 'discount': discount, 'tax': tax, 'total': total, 'paid': paid, 'createdDate': JsonConverters.toJson(createdDate,'DateTime',context!), 'modifiedDate': JsonConverters.toJson(modifiedDate,'DateTime',context!), 'modifiedBy': modifiedBy, 'cancelledDate': JsonConverters.toJson(cancelledDate,'DateTime',context!), 'cancelledReason': cancelledReason, 'orderDetails': JsonConverters.toJson(orderDetails,'List',context!) }; getTypeName() => "OrderAnalyticData"; TypeContext? context = _ctx; } class Subscription implements IConvertible { int? id; int? customerId; String? email; int? skuId; String? skuName; SkuType? skuType; String? code; int? quantity; int? supportQuantity; int? total; bool? isPlan; bool? isRenewal; int? subscriptionDurationDays; DateTime? renewalDate; String? licenseRef; String? licenseName; String? licenseAddress; LicenseType? licenseType; DateTime? expiryDate; LicenseKey? licenseKey; String? licenseKeyText; DateTime? createdDate; DateTime? modifiedDate; DateTime? cancelledDate; String? stripeSubscriptionId; int? emailId; int? emailRenewalId; int? emailExpiredId; int? renewalSubscriptionId; String? externalRef; String? notes; String? error; Subscription({this.id,this.customerId,this.email,this.skuId,this.skuName,this.skuType,this.code,this.quantity,this.supportQuantity,this.total,this.isPlan,this.isRenewal,this.subscriptionDurationDays,this.renewalDate,this.licenseRef,this.licenseName,this.licenseAddress,this.licenseType,this.expiryDate,this.licenseKey,this.licenseKeyText,this.createdDate,this.modifiedDate,this.cancelledDate,this.stripeSubscriptionId,this.emailId,this.emailRenewalId,this.emailExpiredId,this.renewalSubscriptionId,this.externalRef,this.notes,this.error}); Subscription.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; customerId = json['customerId']; email = json['email']; skuId = json['skuId']; skuName = json['skuName']; skuType = JsonConverters.fromJson(json['skuType'],'SkuType',context!); code = json['code']; quantity = json['quantity']; supportQuantity = json['supportQuantity']; total = json['total']; isPlan = json['isPlan']; isRenewal = json['isRenewal']; subscriptionDurationDays = json['subscriptionDurationDays']; renewalDate = JsonConverters.fromJson(json['renewalDate'],'DateTime',context!); licenseRef = json['licenseRef']; licenseName = json['licenseName']; licenseAddress = json['licenseAddress']; licenseType = JsonConverters.fromJson(json['licenseType'],'LicenseType',context!); expiryDate = JsonConverters.fromJson(json['expiryDate'],'DateTime',context!); licenseKey = JsonConverters.fromJson(json['licenseKey'],'LicenseKey',context!); licenseKeyText = json['licenseKeyText']; createdDate = JsonConverters.fromJson(json['createdDate'],'DateTime',context!); modifiedDate = JsonConverters.fromJson(json['modifiedDate'],'DateTime',context!); cancelledDate = JsonConverters.fromJson(json['cancelledDate'],'DateTime',context!); stripeSubscriptionId = json['stripeSubscriptionId']; emailId = json['emailId']; emailRenewalId = json['emailRenewalId']; emailExpiredId = json['emailExpiredId']; renewalSubscriptionId = json['renewalSubscriptionId']; externalRef = json['externalRef']; notes = json['notes']; error = json['error']; return this; } Map toJson() => { 'id': id, 'customerId': customerId, 'email': email, 'skuId': skuId, 'skuName': skuName, 'skuType': JsonConverters.toJson(skuType,'SkuType',context!), 'code': code, 'quantity': quantity, 'supportQuantity': supportQuantity, 'total': total, 'isPlan': isPlan, 'isRenewal': isRenewal, 'subscriptionDurationDays': subscriptionDurationDays, 'renewalDate': JsonConverters.toJson(renewalDate,'DateTime',context!), 'licenseRef': licenseRef, 'licenseName': licenseName, 'licenseAddress': licenseAddress, 'licenseType': JsonConverters.toJson(licenseType,'LicenseType',context!), 'expiryDate': JsonConverters.toJson(expiryDate,'DateTime',context!), 'licenseKey': JsonConverters.toJson(licenseKey,'LicenseKey',context!), 'licenseKeyText': licenseKeyText, 'createdDate': JsonConverters.toJson(createdDate,'DateTime',context!), 'modifiedDate': JsonConverters.toJson(modifiedDate,'DateTime',context!), 'cancelledDate': JsonConverters.toJson(cancelledDate,'DateTime',context!), 'stripeSubscriptionId': stripeSubscriptionId, 'emailId': emailId, 'emailRenewalId': emailRenewalId, 'emailExpiredId': emailExpiredId, 'renewalSubscriptionId': renewalSubscriptionId, 'externalRef': externalRef, 'notes': notes, 'error': error }; getTypeName() => "Subscription"; TypeContext? context = _ctx; } // @Route("/account/subscription") // @Route("/Subscriptions", "GET") class Subscriptions implements IReturn, IConvertible, IGet { String? section; bool? success; bool? activated; int? purchasedOrderId; Subscriptions({this.section,this.success,this.activated,this.purchasedOrderId}); Subscriptions.fromJson(Map json) { fromMap(json); } fromMap(Map json) { section = json['section']; success = json['success']; activated = json['activated']; purchasedOrderId = json['purchasedOrderId']; return this; } Map toJson() => { 'section': section, 'success': success, 'activated': activated, 'purchasedOrderId': purchasedOrderId }; createResponse() => SubscriptionsResponse(); getResponseTypeName() => "SubscriptionsResponse"; getTypeName() => "Subscriptions"; TypeContext? context = _ctx; } class SubscriptionsResponse implements IConvertible { String? section; int? supportQuantity; Sku? activeSku; Subscription? activeSubscription; List? inActiveSubscriptions; OrderAnalyticData? purchasedOrder; ResponseStatus? responseStatus; SubscriptionsResponse({this.section,this.supportQuantity,this.activeSku,this.activeSubscription,this.inActiveSubscriptions,this.purchasedOrder,this.responseStatus}); SubscriptionsResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { section = json['section']; supportQuantity = json['supportQuantity']; activeSku = JsonConverters.fromJson(json['activeSku'],'Sku',context!); activeSubscription = JsonConverters.fromJson(json['activeSubscription'],'Subscription',context!); inActiveSubscriptions = JsonConverters.fromJson(json['inActiveSubscriptions'],'List',context!); purchasedOrder = JsonConverters.fromJson(json['purchasedOrder'],'OrderAnalyticData',context!); responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'section': section, 'supportQuantity': supportQuantity, 'activeSku': JsonConverters.toJson(activeSku,'Sku',context!), 'activeSubscription': JsonConverters.toJson(activeSubscription,'Subscription',context!), 'inActiveSubscriptions': JsonConverters.toJson(inActiveSubscriptions,'List',context!), 'purchasedOrder': JsonConverters.toJson(purchasedOrder,'OrderAnalyticData',context!), 'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!) }; getTypeName() => "SubscriptionsResponse"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'account.servicestack.net', types: { 'SkuType': TypeInfo(TypeOf.Enum, enumValues:SkuType.values), 'LicenseFeature': TypeInfo(TypeOf.Enum, enumValues:LicenseFeature.values), 'LicenseType': TypeInfo(TypeOf.Enum, enumValues:LicenseType.values), 'Sku': TypeInfo(TypeOf.Class, create:() => Sku()), 'OrderDetail': TypeInfo(TypeOf.Class, create:() => OrderDetail()), 'OrderAnalyticData': TypeInfo(TypeOf.Class, create:() => OrderAnalyticData()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'Subscription': TypeInfo(TypeOf.Class, create:() => Subscription()), 'LicenseKey': TypeInfo(TypeOf.Class, create:() => LicenseKey()), 'Subscriptions': TypeInfo(TypeOf.Class, create:() => Subscriptions()), 'SubscriptionsResponse': TypeInfo(TypeOf.Class, create:() => SubscriptionsResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), });