/* Options: Date: 2026-04-30 11:01:06 Version: 8.52 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://www.imglobal.com/RestApi //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CommentsFilterExtended.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class CommentResponse implements IConvertible { String? Key; String? Name; String? Message; DateTime? DateCreated; String? ProfilePictureUrl; String? ProfilePictureThumbnailUrl; String? Status; String? Email; String? ThreadKey; String? AuthorIpAddress; String? CustomData; double? Rating; CommentResponse({this.Key,this.Name,this.Message,this.DateCreated,this.ProfilePictureUrl,this.ProfilePictureThumbnailUrl,this.Status,this.Email,this.ThreadKey,this.AuthorIpAddress,this.CustomData,this.Rating}); CommentResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Key = json['Key']; Name = json['Name']; Message = json['Message']; DateCreated = JsonConverters.fromJson(json['DateCreated'],'DateTime',context!); ProfilePictureUrl = json['ProfilePictureUrl']; ProfilePictureThumbnailUrl = json['ProfilePictureThumbnailUrl']; Status = json['Status']; Email = json['Email']; ThreadKey = json['ThreadKey']; AuthorIpAddress = json['AuthorIpAddress']; CustomData = json['CustomData']; Rating = JsonConverters.toDouble(json['Rating']); return this; } Map toJson() => { 'Key': Key, 'Name': Name, 'Message': Message, 'DateCreated': JsonConverters.toJson(DateCreated,'DateTime',context!), 'ProfilePictureUrl': ProfilePictureUrl, 'ProfilePictureThumbnailUrl': ProfilePictureThumbnailUrl, 'Status': Status, 'Email': Email, 'ThreadKey': ThreadKey, 'AuthorIpAddress': AuthorIpAddress, 'CustomData': CustomData, 'Rating': Rating }; getTypeName() => "CommentResponse"; TypeContext? context = _ctx; } class CollectionResponse implements IConvertible { int? TotalCount; List? Items; CollectionResponse({this.TotalCount,this.Items}); CollectionResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { TotalCount = json['TotalCount']; Items = JsonConverters.fromJson(json['Items'],'List',context!); return this; } Map toJson() => { 'TotalCount': TotalCount, 'Items': JsonConverters.toJson(Items,'List',context!) }; getTypeName() => "CollectionResponse<$T>"; TypeContext? context = _ctx; } // @Route("/comments-api/comments/filter", "POST") class CommentsFilterExtended implements IReturn>, IConvertible, IPost { List? CommentKey; List? ThreadKey; List? Language; List? AuthorKey; List? Status; List? ThreadType; List? Behavior; List? GroupKey; int? Skip; int? Take; bool? SortDescending; DateTime? NewerThan; DateTime? OlderThan; CommentsFilterExtended({this.CommentKey,this.ThreadKey,this.Language,this.AuthorKey,this.Status,this.ThreadType,this.Behavior,this.GroupKey,this.Skip,this.Take,this.SortDescending,this.NewerThan,this.OlderThan}); CommentsFilterExtended.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CommentKey = JsonConverters.fromJson(json['CommentKey'],'List',context!); ThreadKey = JsonConverters.fromJson(json['ThreadKey'],'List',context!); Language = JsonConverters.fromJson(json['Language'],'List',context!); AuthorKey = JsonConverters.fromJson(json['AuthorKey'],'List',context!); Status = JsonConverters.fromJson(json['Status'],'List',context!); ThreadType = JsonConverters.fromJson(json['ThreadType'],'List',context!); Behavior = JsonConverters.fromJson(json['Behavior'],'List',context!); GroupKey = JsonConverters.fromJson(json['GroupKey'],'List',context!); Skip = json['Skip']; Take = json['Take']; SortDescending = json['SortDescending']; NewerThan = JsonConverters.fromJson(json['NewerThan'],'DateTime',context!); OlderThan = JsonConverters.fromJson(json['OlderThan'],'DateTime',context!); return this; } Map toJson() => { 'CommentKey': JsonConverters.toJson(CommentKey,'List',context!), 'ThreadKey': JsonConverters.toJson(ThreadKey,'List',context!), 'Language': JsonConverters.toJson(Language,'List',context!), 'AuthorKey': JsonConverters.toJson(AuthorKey,'List',context!), 'Status': JsonConverters.toJson(Status,'List',context!), 'ThreadType': JsonConverters.toJson(ThreadType,'List',context!), 'Behavior': JsonConverters.toJson(Behavior,'List',context!), 'GroupKey': JsonConverters.toJson(GroupKey,'List',context!), 'Skip': Skip, 'Take': Take, 'SortDescending': SortDescending, 'NewerThan': JsonConverters.toJson(NewerThan,'DateTime',context!), 'OlderThan': JsonConverters.toJson(OlderThan,'DateTime',context!) }; createResponse() => CollectionResponse(); getResponseTypeName() => "CollectionResponse"; getTypeName() => "CommentsFilterExtended"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'www.imglobal.com', types: { 'CommentResponse': TypeInfo(TypeOf.Class, create:() => CommentResponse()), 'CollectionResponse': TypeInfo(TypeOf.Class, create:() => CollectionResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'CommentsFilterExtended': TypeInfo(TypeOf.Class, create:() => CommentsFilterExtended()), });