/* Options: Date: 2024-12-22 12:35:58 Version: 8.51 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://techstacks.io //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetPost.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; enum PostType { Announcement, Post, Showcase, Question, Request, } class Post implements IConvertible { int? id; int? organizationId; int? userId; PostType? type; int? categoryId; String? title; String? slug; String? url; String? imageUrl; // @StringLength(2147483647) String? content; // @StringLength(2147483647) String? contentHtml; int? pinCommentId; List? technologyIds; DateTime? fromDate; DateTime? toDate; String? location; String? metaType; String? meta; bool? approved; int? upVotes; int? downVotes; int? points; int? views; int? favorites; int? subscribers; int? replyCount; int? commentsCount; int? wordCount; int? reportCount; int? linksCount; int? linkedToCount; int? score; int? rank; List? labels; List? refUserIds; List? refLinks; List? muteUserIds; DateTime? lastCommentDate; int? lastCommentId; int? lastCommentUserId; DateTime? deleted; String? deletedBy; DateTime? locked; String? lockedBy; DateTime? hidden; String? hiddenBy; String? status; DateTime? statusDate; String? statusBy; bool? archived; DateTime? bumped; DateTime? created; String? createdBy; DateTime? modified; String? modifiedBy; int? refId; String? refSource; String? refUrn; Post({this.id,this.organizationId,this.userId,this.type,this.categoryId,this.title,this.slug,this.url,this.imageUrl,this.content,this.contentHtml,this.pinCommentId,this.technologyIds,this.fromDate,this.toDate,this.location,this.metaType,this.meta,this.approved,this.upVotes,this.downVotes,this.points,this.views,this.favorites,this.subscribers,this.replyCount,this.commentsCount,this.wordCount,this.reportCount,this.linksCount,this.linkedToCount,this.score,this.rank,this.labels,this.refUserIds,this.refLinks,this.muteUserIds,this.lastCommentDate,this.lastCommentId,this.lastCommentUserId,this.deleted,this.deletedBy,this.locked,this.lockedBy,this.hidden,this.hiddenBy,this.status,this.statusDate,this.statusBy,this.archived,this.bumped,this.created,this.createdBy,this.modified,this.modifiedBy,this.refId,this.refSource,this.refUrn}); Post.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; organizationId = json['organizationId']; userId = json['userId']; type = JsonConverters.fromJson(json['type'],'PostType',context!); categoryId = json['categoryId']; title = json['title']; slug = json['slug']; url = json['url']; imageUrl = json['imageUrl']; content = json['content']; contentHtml = json['contentHtml']; pinCommentId = json['pinCommentId']; technologyIds = JsonConverters.fromJson(json['technologyIds'],'List',context!); fromDate = JsonConverters.fromJson(json['fromDate'],'DateTime',context!); toDate = JsonConverters.fromJson(json['toDate'],'DateTime',context!); location = json['location']; metaType = json['metaType']; meta = json['meta']; approved = json['approved']; upVotes = json['upVotes']; downVotes = json['downVotes']; points = json['points']; views = json['views']; favorites = json['favorites']; subscribers = json['subscribers']; replyCount = json['replyCount']; commentsCount = json['commentsCount']; wordCount = json['wordCount']; reportCount = json['reportCount']; linksCount = json['linksCount']; linkedToCount = json['linkedToCount']; score = json['score']; rank = json['rank']; labels = JsonConverters.fromJson(json['labels'],'List',context!); refUserIds = JsonConverters.fromJson(json['refUserIds'],'List',context!); refLinks = JsonConverters.fromJson(json['refLinks'],'List',context!); muteUserIds = JsonConverters.fromJson(json['muteUserIds'],'List',context!); lastCommentDate = JsonConverters.fromJson(json['lastCommentDate'],'DateTime',context!); lastCommentId = json['lastCommentId']; lastCommentUserId = json['lastCommentUserId']; deleted = JsonConverters.fromJson(json['deleted'],'DateTime',context!); deletedBy = json['deletedBy']; locked = JsonConverters.fromJson(json['locked'],'DateTime',context!); lockedBy = json['lockedBy']; hidden = JsonConverters.fromJson(json['hidden'],'DateTime',context!); hiddenBy = json['hiddenBy']; status = json['status']; statusDate = JsonConverters.fromJson(json['statusDate'],'DateTime',context!); statusBy = json['statusBy']; archived = json['archived']; bumped = JsonConverters.fromJson(json['bumped'],'DateTime',context!); created = JsonConverters.fromJson(json['created'],'DateTime',context!); createdBy = json['createdBy']; modified = JsonConverters.fromJson(json['modified'],'DateTime',context!); modifiedBy = json['modifiedBy']; refId = json['refId']; refSource = json['refSource']; refUrn = json['refUrn']; return this; } Map toJson() => { 'id': id, 'organizationId': organizationId, 'userId': userId, 'type': JsonConverters.toJson(type,'PostType',context!), 'categoryId': categoryId, 'title': title, 'slug': slug, 'url': url, 'imageUrl': imageUrl, 'content': content, 'contentHtml': contentHtml, 'pinCommentId': pinCommentId, 'technologyIds': JsonConverters.toJson(technologyIds,'List',context!), 'fromDate': JsonConverters.toJson(fromDate,'DateTime',context!), 'toDate': JsonConverters.toJson(toDate,'DateTime',context!), 'location': location, 'metaType': metaType, 'meta': meta, 'approved': approved, 'upVotes': upVotes, 'downVotes': downVotes, 'points': points, 'views': views, 'favorites': favorites, 'subscribers': subscribers, 'replyCount': replyCount, 'commentsCount': commentsCount, 'wordCount': wordCount, 'reportCount': reportCount, 'linksCount': linksCount, 'linkedToCount': linkedToCount, 'score': score, 'rank': rank, 'labels': JsonConverters.toJson(labels,'List',context!), 'refUserIds': JsonConverters.toJson(refUserIds,'List',context!), 'refLinks': JsonConverters.toJson(refLinks,'List',context!), 'muteUserIds': JsonConverters.toJson(muteUserIds,'List',context!), 'lastCommentDate': JsonConverters.toJson(lastCommentDate,'DateTime',context!), 'lastCommentId': lastCommentId, 'lastCommentUserId': lastCommentUserId, 'deleted': JsonConverters.toJson(deleted,'DateTime',context!), 'deletedBy': deletedBy, 'locked': JsonConverters.toJson(locked,'DateTime',context!), 'lockedBy': lockedBy, 'hidden': JsonConverters.toJson(hidden,'DateTime',context!), 'hiddenBy': hiddenBy, 'status': status, 'statusDate': JsonConverters.toJson(statusDate,'DateTime',context!), 'statusBy': statusBy, 'archived': archived, 'bumped': JsonConverters.toJson(bumped,'DateTime',context!), 'created': JsonConverters.toJson(created,'DateTime',context!), 'createdBy': createdBy, 'modified': JsonConverters.toJson(modified,'DateTime',context!), 'modifiedBy': modifiedBy, 'refId': refId, 'refSource': refSource, 'refUrn': refUrn }; getTypeName() => "Post"; TypeContext? context = _ctx; } class PostComment implements IConvertible { int? id; int? postId; int? userId; int? replyId; // @StringLength(2147483647) String? content; // @StringLength(2147483647) String? contentHtml; int? score; int? rank; int? upVotes; int? downVotes; int? favorites; int? wordCount; int? reportCount; DateTime? deleted; DateTime? hidden; DateTime? modified; DateTime? created; String? createdBy; int? refId; String? refSource; String? refUrn; PostComment({this.id,this.postId,this.userId,this.replyId,this.content,this.contentHtml,this.score,this.rank,this.upVotes,this.downVotes,this.favorites,this.wordCount,this.reportCount,this.deleted,this.hidden,this.modified,this.created,this.createdBy,this.refId,this.refSource,this.refUrn}); PostComment.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; postId = json['postId']; userId = json['userId']; replyId = json['replyId']; content = json['content']; contentHtml = json['contentHtml']; score = json['score']; rank = json['rank']; upVotes = json['upVotes']; downVotes = json['downVotes']; favorites = json['favorites']; wordCount = json['wordCount']; reportCount = json['reportCount']; deleted = JsonConverters.fromJson(json['deleted'],'DateTime',context!); hidden = JsonConverters.fromJson(json['hidden'],'DateTime',context!); modified = JsonConverters.fromJson(json['modified'],'DateTime',context!); created = JsonConverters.fromJson(json['created'],'DateTime',context!); createdBy = json['createdBy']; refId = json['refId']; refSource = json['refSource']; refUrn = json['refUrn']; return this; } Map toJson() => { 'id': id, 'postId': postId, 'userId': userId, 'replyId': replyId, 'content': content, 'contentHtml': contentHtml, 'score': score, 'rank': rank, 'upVotes': upVotes, 'downVotes': downVotes, 'favorites': favorites, 'wordCount': wordCount, 'reportCount': reportCount, 'deleted': JsonConverters.toJson(deleted,'DateTime',context!), 'hidden': JsonConverters.toJson(hidden,'DateTime',context!), 'modified': JsonConverters.toJson(modified,'DateTime',context!), 'created': JsonConverters.toJson(created,'DateTime',context!), 'createdBy': createdBy, 'refId': refId, 'refSource': refSource, 'refUrn': refUrn }; getTypeName() => "PostComment"; TypeContext? context = _ctx; } class GetPostResponse implements IConvertible { int? cache; Post? post; List? comments; ResponseStatus? responseStatus; GetPostResponse({this.cache,this.post,this.comments,this.responseStatus}); GetPostResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { cache = json['cache']; post = JsonConverters.fromJson(json['post'],'Post',context!); comments = JsonConverters.fromJson(json['comments'],'List',context!); responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'cache': cache, 'post': JsonConverters.toJson(post,'Post',context!), 'comments': JsonConverters.toJson(comments,'List',context!), 'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!) }; getTypeName() => "GetPostResponse"; TypeContext? context = _ctx; } // @Route("/posts/{Id}", "GET") class GetPost implements IReturn, IGet, IConvertible { int? id; String? include; GetPost({this.id,this.include}); GetPost.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; include = json['include']; return this; } Map toJson() => { 'id': id, 'include': include }; createResponse() => GetPostResponse(); getResponseTypeName() => "GetPostResponse"; getTypeName() => "GetPost"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'techstacks.io', types: { 'PostType': TypeInfo(TypeOf.Enum, enumValues:PostType.values), 'Post': TypeInfo(TypeOf.Class, create:() => Post()), 'PostComment': TypeInfo(TypeOf.Class, create:() => PostComment()), 'GetPostResponse': TypeInfo(TypeOf.Class, create:() => GetPostResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'GetPost': TypeInfo(TypeOf.Class, create:() => GetPost()), });