/* Options: Date: 2024-11-23 01:35:57 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: TopicsRequest.* //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 ActivityItem implements IConvertible { String? name; String? id; ActivityItem({this.name,this.id}); ActivityItem.fromJson(Map json) { fromMap(json); } fromMap(Map json) { name = json['name']; id = json['id']; return this; } Map toJson() => { 'name': name, 'id': id }; getTypeName() => "ActivityItem"; TypeContext? context = _ctx; } class SeriesItem implements IConvertible { String? id; String? title; SeriesItem({this.id,this.title}); SeriesItem.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; title = json['title']; return this; } Map toJson() => { 'id': id, 'title': title }; getTypeName() => "SeriesItem"; TypeContext? context = _ctx; } class AltMediaPaths implements IConvertible { String? webm; String? ogv; String? mp4Low; String? mp4High; AltMediaPaths({this.webm,this.ogv,this.mp4Low,this.mp4High}); AltMediaPaths.fromJson(Map json) { fromMap(json); } fromMap(Map json) { webm = json['webm']; ogv = json['ogv']; mp4Low = json['mp4Low']; mp4High = json['mp4High']; return this; } Map toJson() => { 'webm': webm, 'ogv': ogv, 'mp4Low': mp4Low, 'mp4High': mp4High }; getTypeName() => "AltMediaPaths"; TypeContext? context = _ctx; } class ResourceItem extends ResourceCard implements IConvertible { String? content; String? credit; String? references; String? disclaimer; String? headerImage; String? origin; String? originId; List? tags; List? categories; int? index; String? activityLevel; String? activityDetails; String? transcript; bool? isArchived; List? activities; List? seriesItems; String? videoId; String? focus; String? series; String? seriesUrl; String? category; List? equipments; String? durationRange; String? providerName; String? uploadDate; DateTime? completionDate; String? level; String? bodyFocus; AltMediaPaths? altMediaPaths; String? subtitles; bool? drmEncrypted; List? screenshots; ResourceItem({this.content,this.credit,this.references,this.disclaimer,this.headerImage,this.origin,this.originId,this.tags,this.categories,this.index,this.activityLevel,this.activityDetails,this.transcript,this.isArchived,this.activities,this.seriesItems,this.videoId,this.focus,this.series,this.seriesUrl,this.category,this.equipments,this.durationRange,this.providerName,this.uploadDate,this.completionDate,this.level,this.bodyFocus,this.altMediaPaths,this.subtitles,this.drmEncrypted,this.screenshots}); ResourceItem.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); content = json['content']; credit = json['credit']; references = json['references']; disclaimer = json['disclaimer']; headerImage = json['headerImage']; origin = json['origin']; originId = json['originId']; tags = JsonConverters.fromJson(json['tags'],'List',context!); categories = JsonConverters.fromJson(json['categories'],'List',context!); index = json['index']; activityLevel = json['activityLevel']; activityDetails = json['activityDetails']; transcript = json['transcript']; isArchived = json['isArchived']; activities = JsonConverters.fromJson(json['activities'],'List',context!); seriesItems = JsonConverters.fromJson(json['seriesItems'],'List',context!); videoId = json['videoId']; focus = json['focus']; series = json['series']; seriesUrl = json['seriesUrl']; category = json['category']; equipments = JsonConverters.fromJson(json['equipments'],'List',context!); durationRange = json['durationRange']; providerName = json['providerName']; uploadDate = json['uploadDate']; completionDate = JsonConverters.fromJson(json['completionDate'],'DateTime',context!); level = json['level']; bodyFocus = json['bodyFocus']; altMediaPaths = JsonConverters.fromJson(json['altMediaPaths'],'AltMediaPaths',context!); subtitles = json['subtitles']; drmEncrypted = json['drmEncrypted']; screenshots = JsonConverters.fromJson(json['screenshots'],'List',context!); return this; } Map toJson() => super.toJson()..addAll({ 'content': content, 'credit': credit, 'references': references, 'disclaimer': disclaimer, 'headerImage': headerImage, 'origin': origin, 'originId': originId, 'tags': JsonConverters.toJson(tags,'List',context!), 'categories': JsonConverters.toJson(categories,'List',context!), 'index': index, 'activityLevel': activityLevel, 'activityDetails': activityDetails, 'transcript': transcript, 'isArchived': isArchived, 'activities': JsonConverters.toJson(activities,'List',context!), 'seriesItems': JsonConverters.toJson(seriesItems,'List',context!), 'videoId': videoId, 'focus': focus, 'series': series, 'seriesUrl': seriesUrl, 'category': category, 'equipments': JsonConverters.toJson(equipments,'List',context!), 'durationRange': durationRange, 'providerName': providerName, 'uploadDate': uploadDate, 'completionDate': JsonConverters.toJson(completionDate,'DateTime',context!), 'level': level, 'bodyFocus': bodyFocus, 'altMediaPaths': JsonConverters.toJson(altMediaPaths,'AltMediaPaths',context!), 'subtitles': subtitles, 'drmEncrypted': drmEncrypted, 'screenshots': JsonConverters.toJson(screenshots,'List',context!) }); getTypeName() => "ResourceItem"; TypeContext? context = _ctx; } class SubTopic implements IConvertible { String? id; String? title; int? resourceCount; List? resourceItems; SubTopic({this.id,this.title,this.resourceCount,this.resourceItems}); SubTopic.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() => "SubTopic"; TypeContext? context = _ctx; } class Category implements IConvertible { String? id; List? subtopicItems; List? resourceItems; String? title; String? isVisible; int? resourceCount; Category({this.id,this.subtopicItems,this.resourceItems,this.title,this.isVisible,this.resourceCount}); Category.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() => "Category"; TypeContext? context = _ctx; } class Topic implements IConvertible { String? id; List? subtopicItems; List? resourceItems; String? title; String? isVisible; int? resourceCount; Topic({this.id,this.subtopicItems,this.resourceItems,this.title,this.isVisible,this.resourceCount}); Topic.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() => "Topic"; TypeContext? context = _ctx; } class TopicsResponse implements IConvertible { List? topics; TopicsResponse({this.topics}); TopicsResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { topics = JsonConverters.fromJson(json['topics'],'List',context!); return this; } Map toJson() => { 'topics': JsonConverters.toJson(topics,'List',context!) }; getTypeName() => "TopicsResponse"; TypeContext? context = _ctx; } // @Route("/topics", "GET") class TopicsRequest extends BasicResourceLibraryRequest implements IReturn, IConvertible { bool? includeCompletionStatus; bool? isMobile; bool? includeSubtopicItems; bool? includeResourceItems; /** * Set it to true if the topics being requested belogs to digital fitness. Don't set it if unsure. */ // @ApiMember(Description="Set it to true if the topics being requested belogs to digital fitness. Don't set it if unsure.") bool? digitalFitness; TopicsRequest({this.includeCompletionStatus,this.isMobile,this.includeSubtopicItems,this.includeResourceItems,this.digitalFitness}); TopicsRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); includeCompletionStatus = json['includeCompletionStatus']; isMobile = json['isMobile']; includeSubtopicItems = json['includeSubtopicItems']; includeResourceItems = json['includeResourceItems']; digitalFitness = json['digitalFitness']; return this; } Map toJson() => super.toJson()..addAll({ 'includeCompletionStatus': includeCompletionStatus, 'isMobile': isMobile, 'includeSubtopicItems': includeSubtopicItems, 'includeResourceItems': includeResourceItems, 'digitalFitness': digitalFitness }); createResponse() => TopicsResponse(); getResponseTypeName() => "TopicsResponse"; getTypeName() => "TopicsRequest"; 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:() => []), 'ActivityItem': TypeInfo(TypeOf.Class, create:() => ActivityItem()), 'SeriesItem': TypeInfo(TypeOf.Class, create:() => SeriesItem()), 'AltMediaPaths': TypeInfo(TypeOf.Class, create:() => AltMediaPaths()), 'ResourceItem': TypeInfo(TypeOf.Class, create:() => ResourceItem()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'Category': TypeInfo(TypeOf.Class, create:() => Category()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'SubTopic': TypeInfo(TypeOf.Class, create:() => SubTopic()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'Topic': TypeInfo(TypeOf.Class, create:() => Topic()), 'TopicsResponse': TypeInfo(TypeOf.Class, create:() => TopicsResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'TopicsRequest': TypeInfo(TypeOf.Class, create:() => TopicsRequest()), });