/* Options: Date: 2026-04-15 21:20:43 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: GetShortLinkMetadataRequest.* //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 Destination implements IConvertible { // @DataMember(Name="isSuggestion") bool? isSuggestion; // @DataMember(Name="isAutoSuggestion") bool? isAutoSuggestion; // @DataMember(Name="destinationUrl") String? destinationUrl; // @DataMember(Name="replacementButton") String? replacementButton; Destination({this.isSuggestion,this.isAutoSuggestion,this.destinationUrl,this.replacementButton}); Destination.fromJson(Map json) { fromMap(json); } fromMap(Map json) { isSuggestion = json['isSuggestion']; isAutoSuggestion = json['isAutoSuggestion']; destinationUrl = json['destinationUrl']; replacementButton = json['replacementButton']; return this; } Map toJson() => { 'isSuggestion': isSuggestion, 'isAutoSuggestion': isAutoSuggestion, 'destinationUrl': destinationUrl, 'replacementButton': replacementButton }; getTypeName() => "Destination"; TypeContext? context = _ctx; } // @DataContract class GetShortLinkMetadataResponse implements IConvertible { // @DataMember(Name="baseCode") String? baseCode; // @DataMember(Name="domain") String? domain; // @DataMember(Name="code") String? code; // @DataMember(Name="productMetadata") ProductMetadata? productMetadata; // @DataMember(Name="destinations") List? destinations; // @DataMember(Name="responseStatus") ResponseStatus? responseStatus; GetShortLinkMetadataResponse({this.baseCode,this.domain,this.code,this.productMetadata,this.destinations,this.responseStatus}); GetShortLinkMetadataResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { baseCode = json['baseCode']; domain = json['domain']; code = json['code']; productMetadata = JsonConverters.fromJson(json['productMetadata'],'ProductMetadata',context!); destinations = JsonConverters.fromJson(json['destinations'],'List',context!); responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'baseCode': baseCode, 'domain': domain, 'code': code, 'productMetadata': JsonConverters.toJson(productMetadata,'ProductMetadata',context!), 'destinations': JsonConverters.toJson(destinations,'List',context!), 'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!) }; getTypeName() => "GetShortLinkMetadataResponse"; TypeContext? context = _ctx; } // @Route("/v1/shortlink/metadata", "GET") // @DataContract class GetShortLinkMetadataRequest implements IReturn, IConvertible, IGet { // @DataMember(Name="domain") String? domain; // @DataMember(Name="code") String? code; GetShortLinkMetadataRequest({this.domain,this.code}); GetShortLinkMetadataRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { domain = json['aliasDomain']; code = json['aliasCode']; return this; } Map toJson() => { 'domain': domain, 'code': code }; createResponse() => GetShortLinkMetadataResponse(); getResponseTypeName() => "GetShortLinkMetadataResponse"; getTypeName() => "GetShortLinkMetadataRequest"; 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()), 'Destination': TypeInfo(TypeOf.Class, create:() => Destination()), 'GetShortLinkMetadataResponse': TypeInfo(TypeOf.Class, create:() => GetShortLinkMetadataResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'GetShortLinkMetadataRequest': TypeInfo(TypeOf.Class, create:() => GetShortLinkMetadataRequest()), });