/* Options: Date: 2024-04-27 06:41:14 Version: 8.13 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://techstacks.io //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: QueryPosts.* //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; } // @Route("/posts", "GET") class QueryPosts extends QueryDb implements IReturn>, IConvertible, IGet { List? ids; int? organizationId; List? organizationIds; List? types; List? anyTechnologyIds; List? Is; // @DataMember(Order=1) int? skip; // @DataMember(Order=2) int? take; // @DataMember(Order=3) String? orderBy; // @DataMember(Order=4) String? orderByDesc; // @DataMember(Order=5) String? include; // @DataMember(Order=6) String? fields; // @DataMember(Order=7) Map? meta; QueryPosts({this.ids,this.organizationId,this.organizationIds,this.types,this.anyTechnologyIds,this.Is,this.skip,this.take,this.orderBy,this.orderByDesc,this.include,this.fields,this.meta}); QueryPosts.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); ids = JsonConverters.fromJson(json['ids'],'List',context!); organizationId = json['organizationId']; organizationIds = JsonConverters.fromJson(json['organizationIds'],'List',context!); types = JsonConverters.fromJson(json['types'],'List',context!); anyTechnologyIds = JsonConverters.fromJson(json['anyTechnologyIds'],'List',context!); Is = JsonConverters.fromJson(json['is'],'List',context!); skip = json['skip']; take = json['take']; orderBy = json['orderBy']; orderByDesc = json['orderByDesc']; include = json['include']; fields = json['fields']; meta = JsonConverters.toStringMap(json['meta']); return this; } Map toJson() => super.toJson()..addAll({ 'ids': JsonConverters.toJson(ids,'List',context!), 'organizationId': organizationId, 'organizationIds': JsonConverters.toJson(organizationIds,'List',context!), 'types': JsonConverters.toJson(types,'List',context!), 'anyTechnologyIds': JsonConverters.toJson(anyTechnologyIds,'List',context!), 'is': JsonConverters.toJson(Is,'List',context!), 'skip': skip, 'take': take, 'orderBy': orderBy, 'orderByDesc': orderByDesc, 'include': include, 'fields': fields, 'meta': meta }); createResponse() => QueryResponse(); getResponseTypeName() => "QueryResponse"; getTypeName() => "QueryPosts"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'techstacks.io', types: { 'PostType': TypeInfo(TypeOf.Enum, enumValues:PostType.values), 'Post': TypeInfo(TypeOf.Class, create:() => Post()), 'QueryResponse': TypeInfo(TypeOf.Class, create:() => QueryResponse()), 'QueryPosts': TypeInfo(TypeOf.Class, create:() => QueryPosts()), 'List': TypeInfo(TypeOf.Class, create:() => []), });