/* Options: Date: 2025-09-07 12:11:27 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: QuerySkus.* //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; } // @ValidateRequest(Validator="IsAdmin") class QuerySkus extends QueryDb implements IReturn>, IConvertible, IGet { QuerySkus(); QuerySkus.fromJson(Map json) : super.fromJson(json); fromMap(Map json) { super.fromMap(json); return this; } Map toJson() => super.toJson(); createResponse() => QueryResponse(); getResponseTypeName() => "QueryResponse"; getTypeName() => "QuerySkus"; 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()), 'QueryResponse': TypeInfo(TypeOf.Class, create:() => QueryResponse()), 'QuerySkus': TypeInfo(TypeOf.Class, create:() => QuerySkus()), 'List': TypeInfo(TypeOf.Class, create:() => []), });