/* Options: Date: 2025-09-07 12:37:49 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: Customer.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; abstract class IAddress { String? addressLine1; String? addressLine2; String? addressCity; String? addressZip; String? addressState; String? addressCountry; } class Order implements IAddress, IConvertible { int? id; int? customerId; String? productName; String? firstName; String? lastName; String? email; String? company; String? phoneNumber; String? addressLine1; String? addressLine2; String? addressCity; String? addressZip; String? addressState; String? addressCountry; bool? agreeTerms; String? notes; String? last4; int? subTotal; String? couponId; int? discount; int? tax; int? total; int? itemQuantity; int? authorizedQuantity; int? subscriptionId; String? licenseRef; int? paymentId; int? emailId; bool? paid; DateTime? createdDate; DateTime? modifiedDate; String? modifiedBy; DateTime? cancelledDate; String? cancelledReason; String? ipAddress; List? orderDetails; Order({this.id,this.customerId,this.productName,this.firstName,this.lastName,this.email,this.company,this.phoneNumber,this.addressLine1,this.addressLine2,this.addressCity,this.addressZip,this.addressState,this.addressCountry,this.agreeTerms,this.notes,this.last4,this.subTotal,this.couponId,this.discount,this.tax,this.total,this.itemQuantity,this.authorizedQuantity,this.subscriptionId,this.licenseRef,this.paymentId,this.emailId,this.paid,this.createdDate,this.modifiedDate,this.modifiedBy,this.cancelledDate,this.cancelledReason,this.ipAddress,this.orderDetails}); Order.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; customerId = json['customerId']; productName = json['productName']; firstName = json['firstName']; lastName = json['lastName']; email = json['email']; company = json['company']; phoneNumber = json['phoneNumber']; addressLine1 = json['addressLine1']; addressLine2 = json['addressLine2']; addressCity = json['addressCity']; addressZip = json['addressZip']; addressState = json['addressState']; addressCountry = json['addressCountry']; agreeTerms = json['agreeTerms']; notes = json['notes']; last4 = json['last4']; subTotal = json['subTotal']; couponId = json['couponId']; discount = json['discount']; tax = json['tax']; total = json['total']; itemQuantity = json['itemQuantity']; authorizedQuantity = json['authorizedQuantity']; subscriptionId = json['subscriptionId']; licenseRef = json['licenseRef']; paymentId = json['paymentId']; emailId = json['emailId']; 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']; ipAddress = json['ipAddress']; orderDetails = JsonConverters.fromJson(json['orderDetails'],'List',context!); return this; } Map toJson() => { 'id': id, 'customerId': customerId, 'productName': productName, 'firstName': firstName, 'lastName': lastName, 'email': email, 'company': company, 'phoneNumber': phoneNumber, 'addressLine1': addressLine1, 'addressLine2': addressLine2, 'addressCity': addressCity, 'addressZip': addressZip, 'addressState': addressState, 'addressCountry': addressCountry, 'agreeTerms': agreeTerms, 'notes': notes, 'last4': last4, 'subTotal': subTotal, 'couponId': couponId, 'discount': discount, 'tax': tax, 'total': total, 'itemQuantity': itemQuantity, 'authorizedQuantity': authorizedQuantity, 'subscriptionId': subscriptionId, 'licenseRef': licenseRef, 'paymentId': paymentId, 'emailId': emailId, 'paid': paid, 'createdDate': JsonConverters.toJson(createdDate,'DateTime',context!), 'modifiedDate': JsonConverters.toJson(modifiedDate,'DateTime',context!), 'modifiedBy': modifiedBy, 'cancelledDate': JsonConverters.toJson(cancelledDate,'DateTime',context!), 'cancelledReason': cancelledReason, 'ipAddress': ipAddress, 'orderDetails': JsonConverters.toJson(orderDetails,'List',context!) }; getTypeName() => "Order"; 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("/Customer") // @Route("/Customer/{Id}") class Customer implements IAddress, IConvertible, IPost { int? id; String? email; String? displayName; String? firstName; String? lastName; String? company; String? phoneNumber; String? addressLine1; String? addressLine2; String? addressCity; String? addressZip; String? addressState; String? addressCountry; String? stripeCustomerId; String? stripeCouponId; String? plan; DateTime? createdDate; bool? isReferrer; List? orders; List? subscriptions; Customer({this.id,this.email,this.displayName,this.firstName,this.lastName,this.company,this.phoneNumber,this.addressLine1,this.addressLine2,this.addressCity,this.addressZip,this.addressState,this.addressCountry,this.stripeCustomerId,this.stripeCouponId,this.plan,this.createdDate,this.isReferrer,this.orders,this.subscriptions}); Customer.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; email = json['email']; displayName = json['displayName']; firstName = json['firstName']; lastName = json['lastName']; company = json['company']; phoneNumber = json['phoneNumber']; addressLine1 = json['addressLine1']; addressLine2 = json['addressLine2']; addressCity = json['addressCity']; addressZip = json['addressZip']; addressState = json['addressState']; addressCountry = json['addressCountry']; stripeCustomerId = json['stripeCustomerId']; stripeCouponId = json['stripeCouponId']; plan = json['plan']; createdDate = JsonConverters.fromJson(json['createdDate'],'DateTime',context!); isReferrer = json['isReferrer']; orders = JsonConverters.fromJson(json['orders'],'List',context!); subscriptions = JsonConverters.fromJson(json['subscriptions'],'List',context!); return this; } Map toJson() => { 'id': id, 'email': email, 'displayName': displayName, 'firstName': firstName, 'lastName': lastName, 'company': company, 'phoneNumber': phoneNumber, 'addressLine1': addressLine1, 'addressLine2': addressLine2, 'addressCity': addressCity, 'addressZip': addressZip, 'addressState': addressState, 'addressCountry': addressCountry, 'stripeCustomerId': stripeCustomerId, 'stripeCouponId': stripeCouponId, 'plan': plan, 'createdDate': JsonConverters.toJson(createdDate,'DateTime',context!), 'isReferrer': isReferrer, 'orders': JsonConverters.toJson(orders,'List',context!), 'subscriptions': JsonConverters.toJson(subscriptions,'List',context!) }; getTypeName() => "Customer"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'account.servicestack.net', types: { 'IAddress': TypeInfo(TypeOf.Interface), 'Order': TypeInfo(TypeOf.Class, create:() => Order()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'OrderDetail': TypeInfo(TypeOf.Class, create:() => OrderDetail()), 'Subscription': TypeInfo(TypeOf.Class, create:() => Subscription()), 'SkuType': TypeInfo(TypeOf.Class, create:() => SkuType()), 'LicenseType': TypeInfo(TypeOf.Class, create:() => LicenseType()), 'LicenseKey': TypeInfo(TypeOf.Class, create:() => LicenseKey()), 'Customer': TypeInfo(TypeOf.Class, create:() => Customer()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), });