/* Options: Date: 2025-12-18 02:04:18 Version: 8.60 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://shortlinks-api.qa.platform.georiot.com //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetShortLinkMetadataRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; abstract class IGetShortLinkMetadataRequest { String? baseCode; } // @DataContract class ShortUrlAlias implements IShortUrlAlias, IConvertible { // @DataMember String? code; // @DataMember String? domain; // @DataMember String? baseCode; // @DataMember DateTime? lastUpdatedUtc; ShortUrlAlias({this.code,this.domain,this.baseCode,this.lastUpdatedUtc}); ShortUrlAlias.fromJson(Map json) { fromMap(json); } fromMap(Map json) { code = json['code']; domain = json['domain']; baseCode = json['baseCode']; lastUpdatedUtc = JsonConverters.fromJson(json['lastUpdatedUtc'],'DateTime',context!); return this; } Map toJson() => { 'code': code, 'domain': domain, 'baseCode': baseCode, 'lastUpdatedUtc': JsonConverters.toJson(lastUpdatedUtc,'DateTime',context!) }; getTypeName() => "ShortUrlAlias"; TypeContext? context = _ctx; } enum LinkCreatorOption { NotSet, Simple, Split, Advanced, Interstitial, Other, } // @DataContract class UserShortLink implements IUserShortLink, IConvertible { // @DataMember int? id; // @DataMember String? destinationUrl; // @DataMember String? shortUrlCode; // @DataMember String? domain; // @DataMember String? linkType; // @DataMember bool? hasOverride; // @DataMember String? productUrl; // @DataMember String? trackingCode; // @DataMember bool? skipAffiliateRedirect; // @DataMember DateTime? createdUtc; // @DataMember DateTime? updatedUtc; // @DataMember String? notes; // @DataMember DateTime? createdUserTime; // @DataMember DateTime? updatedUserTime; // @DataMember int? tsid; // @DataMember String? group; // @DataMember String? username; // @DataMember String? jsonMetadata; // @DataMember String? jsonItemMetadata; // @DataMember String? jsonPostProcessingRules; // @DataMember String? jsonOverrides; // @DataMember double? totalClicks; // @DataMember String? advertiser; // @DataMember int? advertiserId; // @DataMember double? percentChangePeriodOverPeriod; // @DataMember double? previousPeriodTotalClicks; // @DataMember int? isArchived; // @DataMember int? isArchivedInt; // @DataMember bool? fetchMetadata; // @DataMember String? productDisplayName1; // @DataMember String? productDisplayName2; // @DataMember String? productDisplayName3; // @DataMember String? productArtworkThumbnailUrl; // @DataMember String? productArtworkThumbnailUrl100; // @DataMember String? advertiserIcon; // @DataMember String? advertiserIconCssClass; // @DataMember bool? isGenius; // @DataMember String? advertiserIconTitle; // @DataMember String? trackingPixelIds; // @DataMember int? applePreference; // @DataMember List? aliases; // @DataMember LinkCreatorOption? linkCreatorSetting; UserShortLink({this.id,this.destinationUrl,this.shortUrlCode,this.domain,this.linkType,this.hasOverride,this.productUrl,this.trackingCode,this.skipAffiliateRedirect,this.createdUtc,this.updatedUtc,this.notes,this.createdUserTime,this.updatedUserTime,this.tsid,this.group,this.username,this.jsonMetadata,this.jsonItemMetadata,this.jsonPostProcessingRules,this.jsonOverrides,this.totalClicks,this.advertiser,this.advertiserId,this.percentChangePeriodOverPeriod,this.previousPeriodTotalClicks,this.isArchived,this.isArchivedInt,this.fetchMetadata,this.productDisplayName1,this.productDisplayName2,this.productDisplayName3,this.productArtworkThumbnailUrl,this.productArtworkThumbnailUrl100,this.advertiserIcon,this.advertiserIconCssClass,this.isGenius,this.advertiserIconTitle,this.trackingPixelIds,this.applePreference,this.aliases,this.linkCreatorSetting}); UserShortLink.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; destinationUrl = json['destinationUrl']; shortUrlCode = json['shortUrlCode']; domain = json['domain']; linkType = json['linkType']; hasOverride = json['hasOverride']; productUrl = json['productUrl']; trackingCode = json['trackingCode']; skipAffiliateRedirect = json['skipAffiliateRedirect']; createdUtc = JsonConverters.fromJson(json['createdUtc'],'DateTime',context!); updatedUtc = JsonConverters.fromJson(json['updatedUtc'],'DateTime',context!); notes = json['notes']; createdUserTime = JsonConverters.fromJson(json['createdUserTime'],'DateTime',context!); updatedUserTime = JsonConverters.fromJson(json['updatedUserTime'],'DateTime',context!); tsid = json['tsid']; group = json['group']; username = json['username']; jsonMetadata = json['jsonMetadata']; jsonItemMetadata = json['jsonItemMetadata']; jsonPostProcessingRules = json['jsonPostProcessingRules']; jsonOverrides = json['jsonOverrides']; totalClicks = JsonConverters.toDouble(json['totalClicks']); advertiser = json['advertiser']; advertiserId = json['advertiserId']; percentChangePeriodOverPeriod = JsonConverters.toDouble(json['percentChangePeriodOverPeriod']); previousPeriodTotalClicks = JsonConverters.toDouble(json['previousPeriodTotalClicks']); isArchived = json['isArchived']; isArchivedInt = json['isArchivedInt']; fetchMetadata = json['fetchMetadata']; productDisplayName1 = json['productDisplayName1']; productDisplayName2 = json['productDisplayName2']; productDisplayName3 = json['productDisplayName3']; productArtworkThumbnailUrl = json['productArtworkThumbnailUrl']; productArtworkThumbnailUrl100 = json['productArtworkThumbnailUrl100']; advertiserIcon = json['advertiserIcon']; advertiserIconCssClass = json['advertiserIconCssClass']; isGenius = json['isGenius']; advertiserIconTitle = json['advertiserIconTitle']; trackingPixelIds = json['trackingPixelIds']; applePreference = json['applePreference']; aliases = JsonConverters.fromJson(json['aliases'],'List',context!); linkCreatorSetting = JsonConverters.fromJson(json['linkCreatorSetting'],'LinkCreatorOption',context!); return this; } Map toJson() => { 'id': id, 'destinationUrl': destinationUrl, 'shortUrlCode': shortUrlCode, 'domain': domain, 'linkType': linkType, 'hasOverride': hasOverride, 'productUrl': productUrl, 'trackingCode': trackingCode, 'skipAffiliateRedirect': skipAffiliateRedirect, 'createdUtc': JsonConverters.toJson(createdUtc,'DateTime',context!), 'updatedUtc': JsonConverters.toJson(updatedUtc,'DateTime',context!), 'notes': notes, 'createdUserTime': JsonConverters.toJson(createdUserTime,'DateTime',context!), 'updatedUserTime': JsonConverters.toJson(updatedUserTime,'DateTime',context!), 'tsid': tsid, 'group': group, 'username': username, 'jsonMetadata': jsonMetadata, 'jsonItemMetadata': jsonItemMetadata, 'jsonPostProcessingRules': jsonPostProcessingRules, 'jsonOverrides': jsonOverrides, 'totalClicks': totalClicks, 'advertiser': advertiser, 'advertiserId': advertiserId, 'percentChangePeriodOverPeriod': percentChangePeriodOverPeriod, 'previousPeriodTotalClicks': previousPeriodTotalClicks, 'isArchived': isArchived, 'isArchivedInt': isArchivedInt, 'fetchMetadata': fetchMetadata, 'productDisplayName1': productDisplayName1, 'productDisplayName2': productDisplayName2, 'productDisplayName3': productDisplayName3, 'productArtworkThumbnailUrl': productArtworkThumbnailUrl, 'productArtworkThumbnailUrl100': productArtworkThumbnailUrl100, 'advertiserIcon': advertiserIcon, 'advertiserIconCssClass': advertiserIconCssClass, 'isGenius': isGenius, 'advertiserIconTitle': advertiserIconTitle, 'trackingPixelIds': trackingPixelIds, 'applePreference': applePreference, 'aliases': JsonConverters.toJson(aliases,'List',context!), 'linkCreatorSetting': JsonConverters.toJson(linkCreatorSetting,'LinkCreatorOption',context!) }; getTypeName() => "UserShortLink"; TypeContext? context = _ctx; } abstract class IGetShortLinkMetadataResponse { UserShortLink? data; } abstract class IUserShortLink { String? productUrl; String? destinationUrl; String? advertiser; String? productDisplayName1; String? productDisplayName2; String? productArtworkThumbnailUrl; String? productArtworkThumbnailUrl100; String? jsonOverrides; int? tsid; String? domain; String? linkType; String? shortUrlCode; } abstract class IShortUrlAlias { String? code; String? domain; String? baseCode; DateTime? lastUpdatedUtc; } // @DataContract class GetShortLinkMetadataResponse implements IGetShortLinkMetadataResponse, IConvertible { // @DataMember(Name="responseStatus") ResponseStatus? responseStatus; // @DataMember(Name="data") UserShortLink? data; GetShortLinkMetadataResponse({this.responseStatus,this.data}); GetShortLinkMetadataResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!); data = JsonConverters.fromJson(json['data'],'UserShortLink',context!); return this; } Map toJson() => { 'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!), 'data': JsonConverters.toJson(data,'UserShortLink',context!) }; getTypeName() => "GetShortLinkMetadataResponse"; TypeContext? context = _ctx; } // @Route("/v4/links/metadata/{baseCode}", "GET") // @DataContract class GetShortLinkMetadataRequest implements IReturn, IGetShortLinkMetadataRequest, IConvertible, IGet { // @DataMember(Name="baseCode") String? baseCode; GetShortLinkMetadataRequest({this.baseCode}); GetShortLinkMetadataRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { baseCode = json['baseCode']; return this; } Map toJson() => { 'baseCode': baseCode }; createResponse() => GetShortLinkMetadataResponse(); getResponseTypeName() => "GetShortLinkMetadataResponse"; getTypeName() => "GetShortLinkMetadataRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'shortlinks_api.qa.platform.georiot.com', types: { 'IGetShortLinkMetadataRequest': TypeInfo(TypeOf.Interface), 'ShortUrlAlias': TypeInfo(TypeOf.Class, create:() => ShortUrlAlias()), 'LinkCreatorOption': TypeInfo(TypeOf.Enum, enumValues:LinkCreatorOption.values), 'UserShortLink': TypeInfo(TypeOf.Class, create:() => UserShortLink()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'IGetShortLinkMetadataResponse': TypeInfo(TypeOf.Interface), 'IUserShortLink': TypeInfo(TypeOf.Interface), 'IShortUrlAlias': TypeInfo(TypeOf.Interface), 'GetShortLinkMetadataResponse': TypeInfo(TypeOf.Class, create:() => GetShortLinkMetadataResponse()), 'GetShortLinkMetadataRequest': TypeInfo(TypeOf.Class, create:() => GetShortLinkMetadataRequest()), });