/* Options: Date: 2026-08-17 08:23:56 Version: 6.10 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://stubbur-app.azurewebsites.net //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: WebshopCatalogRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class WebshopVariantSummary implements IConvertible { int? id; int? productId; String? size; String? color; int? stockOnHand; int? quantitySold; int? availableQuantity; String? status; WebshopVariantSummary({this.id,this.productId,this.size,this.color,this.stockOnHand,this.quantitySold,this.availableQuantity,this.status}); WebshopVariantSummary.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; productId = json['productId']; size = json['size']; color = json['color']; stockOnHand = json['stockOnHand']; quantitySold = json['quantitySold']; availableQuantity = json['availableQuantity']; status = json['status']; return this; } Map toJson() => { 'id': id, 'productId': productId, 'size': size, 'color': color, 'stockOnHand': stockOnHand, 'quantitySold': quantitySold, 'availableQuantity': availableQuantity, 'status': status }; getTypeName() => "WebshopVariantSummary"; TypeContext? context = _ctx; } class WebshopProductSummary implements IConvertible { int? id; int? ownerId; String? name; String? description; String? category; String? subCategory; int? defaultPriceMinor; String? imageUrl; int? viewOrder; String? status; int? payoutInfoId; int? legacyItemId; List? variants; WebshopProductSummary({this.id,this.ownerId,this.name,this.description,this.category,this.subCategory,this.defaultPriceMinor,this.imageUrl,this.viewOrder,this.status,this.payoutInfoId,this.legacyItemId,this.variants}); WebshopProductSummary.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; ownerId = json['ownerId']; name = json['name']; description = json['description']; category = json['category']; subCategory = json['subCategory']; defaultPriceMinor = json['defaultPriceMinor']; imageUrl = json['imageUrl']; viewOrder = json['viewOrder']; status = json['status']; payoutInfoId = json['payoutInfoId']; legacyItemId = json['legacyItemId']; variants = JsonConverters.fromJson(json['variants'],'List',context!); return this; } Map toJson() => { 'id': id, 'ownerId': ownerId, 'name': name, 'description': description, 'category': category, 'subCategory': subCategory, 'defaultPriceMinor': defaultPriceMinor, 'imageUrl': imageUrl, 'viewOrder': viewOrder, 'status': status, 'payoutInfoId': payoutInfoId, 'legacyItemId': legacyItemId, 'variants': JsonConverters.toJson(variants,'List',context!) }; getTypeName() => "WebshopProductSummary"; TypeContext? context = _ctx; } class WebshopDeliveryOptions implements IConvertible { bool? pickupAllowed; bool? droppAllowed; bool? shippedAllowed; String? pickupAddress; String? pickupDescription; int? droppFeeMinor; int? shippedFeeMinor; String? orderEmail; WebshopDeliveryOptions({this.pickupAllowed,this.droppAllowed,this.shippedAllowed,this.pickupAddress,this.pickupDescription,this.droppFeeMinor,this.shippedFeeMinor,this.orderEmail}); WebshopDeliveryOptions.fromJson(Map json) { fromMap(json); } fromMap(Map json) { pickupAllowed = json['pickupAllowed']; droppAllowed = json['droppAllowed']; shippedAllowed = json['shippedAllowed']; pickupAddress = json['pickupAddress']; pickupDescription = json['pickupDescription']; droppFeeMinor = json['droppFeeMinor']; shippedFeeMinor = json['shippedFeeMinor']; orderEmail = json['orderEmail']; return this; } Map toJson() => { 'pickupAllowed': pickupAllowed, 'droppAllowed': droppAllowed, 'shippedAllowed': shippedAllowed, 'pickupAddress': pickupAddress, 'pickupDescription': pickupDescription, 'droppFeeMinor': droppFeeMinor, 'shippedFeeMinor': shippedFeeMinor, 'orderEmail': orderEmail }; getTypeName() => "WebshopDeliveryOptions"; TypeContext? context = _ctx; } class WebshopCatalogResult implements IConvertible { int? ownerId; List? products; WebshopDeliveryOptions? delivery; int? statusCode; String? message; WebshopCatalogResult({this.ownerId,this.products,this.delivery,this.statusCode,this.message}); WebshopCatalogResult.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ownerId = json['ownerId']; products = JsonConverters.fromJson(json['products'],'List',context!); delivery = JsonConverters.fromJson(json['delivery'],'WebshopDeliveryOptions',context!); statusCode = json['statusCode']; message = json['message']; return this; } Map toJson() => { 'ownerId': ownerId, 'products': JsonConverters.toJson(products,'List',context!), 'delivery': JsonConverters.toJson(delivery,'WebshopDeliveryOptions',context!), 'statusCode': statusCode, 'message': message }; getTypeName() => "WebshopCatalogResult"; TypeContext? context = _ctx; } // @Route("/Webshop/Catalog/{OwnerId}", "GET") class WebshopCatalogRequest implements IReturn, IConvertible { int? ownerId; String? externalId; WebshopCatalogRequest({this.ownerId,this.externalId}); WebshopCatalogRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ownerId = json['ownerId']; externalId = json['externalId']; return this; } Map toJson() => { 'ownerId': ownerId, 'externalId': externalId }; createResponse() => WebshopCatalogResult(); getResponseTypeName() => "WebshopCatalogResult"; getTypeName() => "WebshopCatalogRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: { 'WebshopVariantSummary': TypeInfo(TypeOf.Class, create:() => WebshopVariantSummary()), 'WebshopProductSummary': TypeInfo(TypeOf.Class, create:() => WebshopProductSummary()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'WebshopDeliveryOptions': TypeInfo(TypeOf.Class, create:() => WebshopDeliveryOptions()), 'WebshopCatalogResult': TypeInfo(TypeOf.Class, create:() => WebshopCatalogResult()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'WebshopCatalogRequest': TypeInfo(TypeOf.Class, create:() => WebshopCatalogRequest()), });