/* Options: Date: 2025-08-05 02:00:48 Version: 8.0 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://www.asg.com.au/RestApi //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CommentCreateRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class GroupCreateRequest implements IConvertible { String? Key; String? Name; String? Description; GroupCreateRequest({this.Key,this.Name,this.Description}); GroupCreateRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Key = json['Key']; Name = json['Name']; Description = json['Description']; return this; } Map toJson() => { 'Key': Key, 'Name': Name, 'Description': Description }; getTypeName() => "GroupCreateRequest"; TypeContext? context = _ctx; } class ThreadCreateRequest implements IConvertible { String? Key; String? Type; String? Behavior; String? Title; String? Language; String? DataSource; String? GroupKey; GroupCreateRequest? Group; ThreadCreateRequest({this.Key,this.Type,this.Behavior,this.Title,this.Language,this.DataSource,this.GroupKey,this.Group}); ThreadCreateRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Key = json['Key']; Type = json['Type']; Behavior = json['Behavior']; Title = json['Title']; Language = json['Language']; DataSource = json['DataSource']; GroupKey = json['GroupKey']; Group = JsonConverters.fromJson(json['Group'],'GroupCreateRequest',context!); return this; } Map toJson() => { 'Key': Key, 'Type': Type, 'Behavior': Behavior, 'Title': Title, 'Language': Language, 'DataSource': DataSource, 'GroupKey': GroupKey, 'Group': JsonConverters.toJson(Group,'GroupCreateRequest',context!) }; getTypeName() => "ThreadCreateRequest"; TypeContext? context = _ctx; } 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; } // @Route("/captcha", "POST") class CaptchaInfo implements IConvertible, IPost { String? Answer; String? CorrectAnswer; String? InitializationVector; String? Key; CaptchaInfo({this.Answer,this.CorrectAnswer,this.InitializationVector,this.Key}); CaptchaInfo.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Answer = json['Answer']; CorrectAnswer = json['CorrectAnswer']; InitializationVector = json['InitializationVector']; Key = json['Key']; return this; } Map toJson() => { 'Answer': Answer, 'CorrectAnswer': CorrectAnswer, 'InitializationVector': InitializationVector, 'Key': Key }; getTypeName() => "CaptchaInfo"; TypeContext? context = _ctx; } // @Route("/comments-api/comments", "POST") class CommentCreateRequest implements IReturn, IConvertible, IPost { String? Message; String? Name; String? Email; String? CustomData; String? ThreadKey; ThreadCreateRequest? Thread; CaptchaInfo? Captcha; double? Rating; CommentCreateRequest({this.Message,this.Name,this.Email,this.CustomData,this.ThreadKey,this.Thread,this.Captcha,this.Rating}); CommentCreateRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Message = json['Message']; Name = json['Name']; Email = json['Email']; CustomData = json['CustomData']; ThreadKey = json['ThreadKey']; Thread = JsonConverters.fromJson(json['Thread'],'ThreadCreateRequest',context!); Captcha = JsonConverters.fromJson(json['Captcha'],'CaptchaInfo',context!); Rating = JsonConverters.toDouble(json['Rating']); return this; } Map toJson() => { 'Message': Message, 'Name': Name, 'Email': Email, 'CustomData': CustomData, 'ThreadKey': ThreadKey, 'Thread': JsonConverters.toJson(Thread,'ThreadCreateRequest',context!), 'Captcha': JsonConverters.toJson(Captcha,'CaptchaInfo',context!), 'Rating': Rating }; createResponse() => CommentResponse(); getResponseTypeName() => "CommentResponse"; getTypeName() => "CommentCreateRequest"; TypeContext? context = _ctx; } // @Route("/comments-api/captcha", "POST") class CaptchaInfo implements IConvertible, IPost { String? Answer; String? CorrectAnswer; String? InitializationVector; String? Key; CaptchaInfo({this.Answer,this.CorrectAnswer,this.InitializationVector,this.Key}); CaptchaInfo.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Answer = json['Answer']; CorrectAnswer = json['CorrectAnswer']; InitializationVector = json['InitializationVector']; Key = json['Key']; return this; } Map toJson() => { 'Answer': Answer, 'CorrectAnswer': CorrectAnswer, 'InitializationVector': InitializationVector, 'Key': Key }; getTypeName() => "CaptchaInfo"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'www.asg.com.au', types: { 'GroupCreateRequest': TypeInfo(TypeOf.Class, create:() => GroupCreateRequest()), 'ThreadCreateRequest': TypeInfo(TypeOf.Class, create:() => ThreadCreateRequest()), 'CommentResponse': TypeInfo(TypeOf.Class, create:() => CommentResponse()), 'CaptchaInfo': TypeInfo(TypeOf.Class, create:() => CaptchaInfo()), 'CommentCreateRequest': TypeInfo(TypeOf.Class, create:() => CommentCreateRequest()), });