/* Options: Date: 2026-08-17 08:24:06 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: WebshopProductCreateRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class WebshopProduct implements IConvertible { int? id; int? ownerId; // @StringLength(200) String? name; // @StringLength(2000) String? description; // @StringLength(150) String? category; // @StringLength(150) String? subCategory; int? defaultPriceMinor; // @StringLength(1500) String? imageUrl; int? viewOrder; // @StringLength(20) String? status; int? payoutInfoId; int? legacyItemId; DateTime? createdAt; DateTime? updatedAt; WebshopProduct({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.createdAt,this.updatedAt}); WebshopProduct.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']; createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!); updatedAt = JsonConverters.fromJson(json['updatedAt'],'DateTime',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, 'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!), 'updatedAt': JsonConverters.toJson(updatedAt,'DateTime',context!) }; getTypeName() => "WebshopProduct"; TypeContext? context = _ctx; } 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 WebshopProductResult implements IConvertible { WebshopProductSummary? product; int? statusCode; String? message; WebshopProductResult({this.product,this.statusCode,this.message}); WebshopProductResult.fromJson(Map json) { fromMap(json); } fromMap(Map json) { product = JsonConverters.fromJson(json['product'],'WebshopProductSummary',context!); statusCode = json['statusCode']; message = json['message']; return this; } Map toJson() => { 'product': JsonConverters.toJson(product,'WebshopProductSummary',context!), 'statusCode': statusCode, 'message': message }; getTypeName() => "WebshopProductResult"; TypeContext? context = _ctx; } // @Route("/Webshop/Product", "POST") class WebshopProductCreateRequest implements IReturn, IConvertible { WebshopProduct? item; int? ownerId; WebshopProductCreateRequest({this.item,this.ownerId}); WebshopProductCreateRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { item = JsonConverters.fromJson(json['item'],'WebshopProduct',context!); ownerId = json['ownerId']; return this; } Map toJson() => { 'item': JsonConverters.toJson(item,'WebshopProduct',context!), 'ownerId': ownerId }; createResponse() => WebshopProductResult(); getResponseTypeName() => "WebshopProductResult"; getTypeName() => "WebshopProductCreateRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: { 'WebshopProduct': TypeInfo(TypeOf.Class, create:() => WebshopProduct()), 'WebshopVariantSummary': TypeInfo(TypeOf.Class, create:() => WebshopVariantSummary()), 'WebshopProductSummary': TypeInfo(TypeOf.Class, create:() => WebshopProductSummary()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'WebshopProductResult': TypeInfo(TypeOf.Class, create:() => WebshopProductResult()), 'WebshopProductCreateRequest': TypeInfo(TypeOf.Class, create:() => WebshopProductCreateRequest()), });