/* Options: Date: 2024-09-24 11:15:27 Version: 5.140 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://product-matching-api.kit.co //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: PostProductMatchingUpdateCallbackRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; // @DataContract class ProductMatch implements IProductMatch, IConvertible { // @DataMember(Name="retailerGuid") String? retailerGuid; // @DataMember(Name="retailerName") String? retailerName; // @DataMember(Name="brand") String? brand; // @DataMember(Name="productName") String? productName; // @DataMember(Name="description") String? description; // @DataMember(Name="sku") String? sku; // @DataMember(Name="gtin") String? gtin; // @DataMember(Name="ean8") String? eaN8; // @DataMember(Name="ean13") String? eaN13; // @DataMember(Name="isbn") String? isbn; // @DataMember(Name="upc") String? upc; // @DataMember(Name="productImageUrl") Uri? productImageUrl; // @DataMember(Name="productUrl") Uri? productUrl; // @DataMember(Name="auditResult") String? auditResult; // @DataMember(Name="auditResultReasons") List? auditResultReasons; ProductMatch({this.retailerGuid,this.retailerName,this.brand,this.productName,this.description,this.sku,this.gtin,this.eaN8,this.eaN13,this.isbn,this.upc,this.productImageUrl,this.productUrl,this.auditResult,this.auditResultReasons}); ProductMatch.fromJson(Map json) { fromMap(json); } fromMap(Map json) { retailerGuid = json['retailerGuid']; retailerName = json['retailerName']; brand = json['brand']; productName = json['productName']; description = json['description']; sku = json['sku']; gtin = json['gtin']; eaN8 = json['eaN8']; eaN13 = json['eaN13']; isbn = json['isbn']; upc = json['upc']; productImageUrl = JsonConverters.fromJson(json['productImageUrl'],'Uri',context!); productUrl = JsonConverters.fromJson(json['productUrl'],'Uri',context!); auditResult = json['auditResult']; auditResultReasons = JsonConverters.fromJson(json['auditResultReasons'],'List',context!); return this; } Map toJson() => { 'retailerGuid': retailerGuid, 'retailerName': retailerName, 'brand': brand, 'productName': productName, 'description': description, 'sku': sku, 'gtin': gtin, 'eaN8': eaN8, 'eaN13': eaN13, 'isbn': isbn, 'upc': upc, 'productImageUrl': JsonConverters.toJson(productImageUrl,'Uri',context!), 'productUrl': JsonConverters.toJson(productUrl,'Uri',context!), 'auditResult': auditResult, 'auditResultReasons': JsonConverters.toJson(auditResultReasons,'List',context!) }; getTypeName() => "ProductMatch"; TypeContext? context = _ctx; } abstract class IProductMatch { String? retailerGuid; String? retailerName; String? brand; String? productName; String? description; String? sku; String? gtin; String? eaN8; String? eaN13; String? isbn; String? upc; Uri? productImageUrl; Uri? productUrl; String? auditResult; List? auditResultReasons; } class PostProductMatchingUpdateCallbackResponse implements IConvertible { ResponseStatus? responseStatus; PostProductMatchingUpdateCallbackResponse({this.responseStatus}); PostProductMatchingUpdateCallbackResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!) }; getTypeName() => "PostProductMatchingUpdateCallbackResponse"; TypeContext? context = _ctx; } // @Route("/v1/product-matching-update-callback", "POST") class PostProductMatchingUpdateCallbackRequest implements IReturn, IConvertible { List? productMatches; Uri? sourceUrl; PostProductMatchingUpdateCallbackRequest({this.productMatches,this.sourceUrl}); PostProductMatchingUpdateCallbackRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { productMatches = JsonConverters.fromJson(json['productMatches'],'List',context!); sourceUrl = JsonConverters.fromJson(json['sourceUrl'],'Uri',context!); return this; } Map toJson() => { 'productMatches': JsonConverters.toJson(productMatches,'List',context!), 'sourceUrl': JsonConverters.toJson(sourceUrl,'Uri',context!) }; createResponse() => PostProductMatchingUpdateCallbackResponse(); getResponseTypeName() => "PostProductMatchingUpdateCallbackResponse"; getTypeName() => "PostProductMatchingUpdateCallbackRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'product_matching_api.kit.co', types: { 'ProductMatch': TypeInfo(TypeOf.Class, create:() => ProductMatch()), 'Uri': TypeInfo(TypeOf.Class, create:() => Uri()), 'IProductMatch': TypeInfo(TypeOf.Interface), 'PostProductMatchingUpdateCallbackResponse': TypeInfo(TypeOf.Class, create:() => PostProductMatchingUpdateCallbackResponse()), 'PostProductMatchingUpdateCallbackRequest': TypeInfo(TypeOf.Class, create:() => PostProductMatchingUpdateCallbackRequest()), 'List': TypeInfo(TypeOf.Class, create:() => []), });