/* Options: Date: 2024-12-03 09:25:09 Version: 6.00 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://resourcelibrary.api.ashcompanies.com //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: TopicRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class BasicResourceLibraryRequest implements IConvertible { int? resourceLibraryMemberId; BasicResourceLibraryRequest({this.resourceLibraryMemberId}); BasicResourceLibraryRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { resourceLibraryMemberId = json['resourceLibraryMemberId']; return this; } Map toJson() => { 'resourceLibraryMemberId': resourceLibraryMemberId }; getTypeName() => "BasicResourceLibraryRequest"; TypeContext? context = _ctx; } class Tag implements IConvertible { String? id; String? title; Tag({this.id,this.title}); Tag.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; title = json['title']; return this; } Map toJson() => { 'id': id, 'title': title }; getTypeName() => "Tag"; TypeContext? context = _ctx; } class ScreenshotItem implements IConvertible { String? largeFilepathS3; String? thumbFilepathS3; double? order; String? description; ScreenshotItem({this.largeFilepathS3,this.thumbFilepathS3,this.order,this.description}); ScreenshotItem.fromJson(Map json) { fromMap(json); } fromMap(Map json) { largeFilepathS3 = json['largeFilepathS3']; thumbFilepathS3 = json['thumbFilepathS3']; order = JsonConverters.toDouble(json['order']); description = json['description']; return this; } Map toJson() => { 'largeFilepathS3': largeFilepathS3, 'thumbFilepathS3': thumbFilepathS3, 'order': order, 'description': description }; getTypeName() => "ScreenshotItem"; TypeContext? context = _ctx; } class ResourceCard implements IConvertible { String? id; String? title; String? description; String? descriptionSummary; String? type; String? content; bool? isComplete; bool? isFavorite; bool? isImplicitlyComplete; String? mediaPath; bool? isConfirmable; bool? isWcagCompliant; String? duration; String? preview; int? calories; String? instructor; String? thumbnail; String? difficulty; List? tags; String? subtitles; List? screenshots; bool? drmEncrypted; ResourceCard({this.id,this.title,this.description,this.descriptionSummary,this.type,this.content,this.isComplete,this.isFavorite,this.isImplicitlyComplete,this.mediaPath,this.isConfirmable,this.isWcagCompliant,this.duration,this.preview,this.calories,this.instructor,this.thumbnail,this.difficulty,this.tags,this.subtitles,this.screenshots,this.drmEncrypted}); ResourceCard.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; title = json['title']; description = json['description']; descriptionSummary = json['descriptionSummary']; type = json['type']; content = json['content']; isComplete = json['isComplete']; isFavorite = json['isFavorite']; isImplicitlyComplete = json['isImplicitlyComplete']; mediaPath = json['mediaPath']; isConfirmable = json['isConfirmable']; isWcagCompliant = json['isWcagCompliant']; duration = json['duration']; preview = json['preview']; calories = json['calories']; instructor = json['instructor']; thumbnail = json['thumbnail']; difficulty = json['difficulty']; tags = JsonConverters.fromJson(json['tags'],'List',context!); subtitles = json['subtitles']; screenshots = JsonConverters.fromJson(json['screenshots'],'List',context!); drmEncrypted = json['drmEncrypted']; return this; } Map toJson() => { 'id': id, 'title': title, 'description': description, 'descriptionSummary': descriptionSummary, 'type': type, 'content': content, 'isComplete': isComplete, 'isFavorite': isFavorite, 'isImplicitlyComplete': isImplicitlyComplete, 'mediaPath': mediaPath, 'isConfirmable': isConfirmable, 'isWcagCompliant': isWcagCompliant, 'duration': duration, 'preview': preview, 'calories': calories, 'instructor': instructor, 'thumbnail': thumbnail, 'difficulty': difficulty, 'tags': JsonConverters.toJson(tags,'List',context!), 'subtitles': subtitles, 'screenshots': JsonConverters.toJson(screenshots,'List',context!), 'drmEncrypted': drmEncrypted }; getTypeName() => "ResourceCard"; TypeContext? context = _ctx; } class SubtopicLite implements IConvertible { String? id; String? title; int? resourceCount; List? resourceItems; SubtopicLite({this.id,this.title,this.resourceCount,this.resourceItems}); SubtopicLite.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; title = json['title']; resourceCount = json['resourceCount']; resourceItems = JsonConverters.fromJson(json['resourceItems'],'List',context!); return this; } Map toJson() => { 'id': id, 'title': title, 'resourceCount': resourceCount, 'resourceItems': JsonConverters.toJson(resourceItems,'List',context!) }; getTypeName() => "SubtopicLite"; TypeContext? context = _ctx; } class TopicLite implements IConvertible { String? id; List? subtopicItems; List? resourceItems; String? title; String? isVisible; int? resourceCount; TopicLite({this.id,this.subtopicItems,this.resourceItems,this.title,this.isVisible,this.resourceCount}); TopicLite.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; subtopicItems = JsonConverters.fromJson(json['subtopicItems'],'List',context!); resourceItems = JsonConverters.fromJson(json['resourceItems'],'List',context!); title = json['title']; isVisible = json['isVisible']; resourceCount = json['resourceCount']; return this; } Map toJson() => { 'id': id, 'subtopicItems': JsonConverters.toJson(subtopicItems,'List',context!), 'resourceItems': JsonConverters.toJson(resourceItems,'List',context!), 'title': title, 'isVisible': isVisible, 'resourceCount': resourceCount }; getTypeName() => "TopicLite"; TypeContext? context = _ctx; } class TopicResponse implements IConvertible { TopicLite? topic; TopicResponse({this.topic}); TopicResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { topic = JsonConverters.fromJson(json['topic'],'TopicLite',context!); return this; } Map toJson() => { 'topic': JsonConverters.toJson(topic,'TopicLite',context!) }; getTypeName() => "TopicResponse"; TypeContext? context = _ctx; } // @Route("/topics/{topicid}", "GET") class TopicRequest extends BasicResourceLibraryRequest implements IReturn, IConvertible { bool? includeCompletionStatus; String? limit; String? offset; String? topicId; bool? isMobile; /** * Set it to true if the topic being requested belogs to digital fitness. Don't set it if unsure. */ // @ApiMember(Description="Set it to true if the topic being requested belogs to digital fitness. Don't set it if unsure.") bool? digitalFitness; TopicRequest({this.includeCompletionStatus,this.limit,this.offset,this.topicId,this.isMobile,this.digitalFitness}); TopicRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); includeCompletionStatus = json['includeCompletionStatus']; limit = json['limit']; offset = json['offset']; topicId = json['topicId']; isMobile = json['isMobile']; digitalFitness = json['digitalFitness']; return this; } Map toJson() => super.toJson()..addAll({ 'includeCompletionStatus': includeCompletionStatus, 'limit': limit, 'offset': offset, 'topicId': topicId, 'isMobile': isMobile, 'digitalFitness': digitalFitness }); createResponse() => TopicResponse(); getResponseTypeName() => "TopicResponse"; getTypeName() => "TopicRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'resourcelibrary.api.ashcompanies.com', types: { 'BasicResourceLibraryRequest': TypeInfo(TypeOf.Class, create:() => BasicResourceLibraryRequest()), 'Tag': TypeInfo(TypeOf.Class, create:() => Tag()), 'ScreenshotItem': TypeInfo(TypeOf.Class, create:() => ScreenshotItem()), 'ResourceCard': TypeInfo(TypeOf.Class, create:() => ResourceCard()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'SubtopicLite': TypeInfo(TypeOf.Class, create:() => SubtopicLite()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'TopicLite': TypeInfo(TypeOf.Class, create:() => TopicLite()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'TopicResponse': TypeInfo(TypeOf.Class, create:() => TopicResponse()), 'TopicRequest': TypeInfo(TypeOf.Class, create:() => TopicRequest()), });