/* Options: Date: 2026-04-15 21:22:55 Version: 8.60 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: http://api.booklinker.com //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetProductMetadataRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; // @DataContract class ProductMetadata extends ProductMetadata implements IConvertible { ProductMetadata(); ProductMetadata.fromJson(Map json) : super.fromJson(json); fromMap(Map json) { super.fromMap(json); return this; } Map toJson() => super.toJson(); getTypeName() => "ProductMetadata"; TypeContext? context = _ctx; } // @DataContract abstract class ProductMetadata { // @DataMember(Name="title") String? title; // @DataMember(Name="author") String? author; // @DataMember(Name="url") Uri? url; // @DataMember(Name="description") String? description; // @DataMember(Name="retailer") String? retailer; // @DataMember(Name="productImages") Map? productImages; ProductMetadata({this.title,this.author,this.url,this.description,this.retailer,this.productImages}); ProductMetadata.fromJson(Map json) { fromMap(json); } fromMap(Map json) { title = json['title']; author = json['author']; url = JsonConverters.fromJson(json['url'],'Uri',context!); description = json['description']; retailer = json['retailer']; productImages = JsonConverters.fromJson(json['productImages'],'Map',context!); return this; } Map toJson() => { 'title': title, 'author': author, 'url': JsonConverters.toJson(url,'Uri',context!), 'description': description, 'retailer': retailer, 'productImages': JsonConverters.toJson(productImages,'Map',context!) }; getTypeName() => "ProductMetadata"; TypeContext? context = _ctx; } // @DataContract class GetProductMetadataResponse implements IConvertible { // @DataMember(Name="productMetadata") ProductMetadata? productMetadata; // @DataMember(Name="isSupported") bool? isSupported; // @DataMember(Name="responseStatus") ResponseStatus? responseStatus; GetProductMetadataResponse({this.productMetadata,this.isSupported,this.responseStatus}); GetProductMetadataResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { productMetadata = JsonConverters.fromJson(json['productMetadata'],'ProductMetadata',context!); isSupported = json['isSupported']; responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'productMetadata': JsonConverters.toJson(productMetadata,'ProductMetadata',context!), 'isSupported': isSupported, 'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!) }; getTypeName() => "GetProductMetadataResponse"; TypeContext? context = _ctx; } // @Route("/v1/product/metadata", "GET") // @DataContract class GetProductMetadataRequest implements IReturn, IConvertible, IGet { // @DataMember(Name="url") // @ApiMember(IsRequired=true) String? url; GetProductMetadataRequest({this.url}); GetProductMetadataRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { url = json['url']; return this; } Map toJson() => { 'url': url }; createResponse() => GetProductMetadataResponse(); getResponseTypeName() => "GetProductMetadataResponse"; getTypeName() => "GetProductMetadataRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.booklinker.com', types: { 'ProductMetadata': TypeInfo(TypeOf.Class, create:() => ProductMetadata()), 'Uri': TypeInfo(TypeOf.Class, create:() => Uri()), 'Map': TypeInfo(TypeOf.Class, create:() => Map()), 'GetProductMetadataResponse': TypeInfo(TypeOf.Class, create:() => GetProductMetadataResponse()), 'GetProductMetadataRequest': TypeInfo(TypeOf.Class, create:() => GetProductMetadataRequest()), });