GET,POST | /resourceItemList | Use to get a list Resource Items |
---|
import 'package:servicestack/servicestack.dart';
class BasicResourceLibraryRequest implements IConvertible
{
int? resourceLibraryMemberId;
BasicResourceLibraryRequest({this.resourceLibraryMemberId});
BasicResourceLibraryRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
resourceLibraryMemberId = json['resourceLibraryMemberId'];
return this;
}
Map<String, dynamic> toJson() => {
'resourceLibraryMemberId': resourceLibraryMemberId
};
getTypeName() => "BasicResourceLibraryRequest";
TypeContext? context = _ctx;
}
class Tag implements IConvertible
{
String? id;
String? title;
Tag({this.id,this.title});
Tag.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
title = json['title'];
return this;
}
Map<String, dynamic> 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<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
largeFilepathS3 = json['largeFilepathS3'];
thumbFilepathS3 = json['thumbFilepathS3'];
order = JsonConverters.toDouble(json['order']);
description = json['description'];
return this;
}
Map<String, dynamic> 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<Tag>? tags;
String? subtitles;
List<ScreenshotItem>? 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<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> 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<Tag>',context!);
subtitles = json['subtitles'];
screenshots = JsonConverters.fromJson(json['screenshots'],'List<ScreenshotItem>',context!);
drmEncrypted = json['drmEncrypted'];
return this;
}
Map<String, dynamic> 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<Tag>',context!),
'subtitles': subtitles,
'screenshots': JsonConverters.toJson(screenshots,'List<ScreenshotItem>',context!),
'drmEncrypted': drmEncrypted
};
getTypeName() => "ResourceCard";
TypeContext? context = _ctx;
}
class SubTopic implements IConvertible
{
String? id;
String? title;
int? resourceCount;
List<ResourceItem>? resourceItems;
SubTopic({this.id,this.title,this.resourceCount,this.resourceItems});
SubTopic.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
title = json['title'];
resourceCount = json['resourceCount'];
resourceItems = JsonConverters.fromJson(json['resourceItems'],'List<ResourceItem>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'title': title,
'resourceCount': resourceCount,
'resourceItems': JsonConverters.toJson(resourceItems,'List<ResourceItem>',context!)
};
getTypeName() => "SubTopic";
TypeContext? context = _ctx;
}
class Category implements IConvertible
{
String? id;
List<SubTopic>? subtopicItems;
List<ResourceItem>? resourceItems;
String? title;
String? isVisible;
int? resourceCount;
Category({this.id,this.subtopicItems,this.resourceItems,this.title,this.isVisible,this.resourceCount});
Category.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
subtopicItems = JsonConverters.fromJson(json['subtopicItems'],'List<SubTopic>',context!);
resourceItems = JsonConverters.fromJson(json['resourceItems'],'List<ResourceItem>',context!);
title = json['title'];
isVisible = json['isVisible'];
resourceCount = json['resourceCount'];
return this;
}
Map<String, dynamic> toJson() => {
'id': id,
'subtopicItems': JsonConverters.toJson(subtopicItems,'List<SubTopic>',context!),
'resourceItems': JsonConverters.toJson(resourceItems,'List<ResourceItem>',context!),
'title': title,
'isVisible': isVisible,
'resourceCount': resourceCount
};
getTypeName() => "Category";
TypeContext? context = _ctx;
}
class ActivityItem implements IConvertible
{
String? name;
String? id;
ActivityItem({this.name,this.id});
ActivityItem.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
name = json['name'];
id = json['id'];
return this;
}
Map<String, dynamic> 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<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
id = json['id'];
title = json['title'];
return this;
}
Map<String, dynamic> 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<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
webm = json['webm'];
ogv = json['ogv'];
mp4Low = json['mp4Low'];
mp4High = json['mp4High'];
return this;
}
Map<String, dynamic> 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<Tag>? tags;
List<Category>? categories;
int? index;
String? activityLevel;
String? activityDetails;
String? transcript;
bool? isArchived;
List<ActivityItem>? activities;
List<SeriesItem>? seriesItems;
String? videoId;
String? focus;
String? series;
String? seriesUrl;
String? category;
List<String>? equipments;
String? durationRange;
String? providerName;
String? uploadDate;
DateTime? completionDate;
String? level;
String? bodyFocus;
AltMediaPaths? altMediaPaths;
String? subtitles;
bool? drmEncrypted;
List<ScreenshotItem>? 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<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> 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<Tag>',context!);
categories = JsonConverters.fromJson(json['categories'],'List<Category>',context!);
index = json['index'];
activityLevel = json['activityLevel'];
activityDetails = json['activityDetails'];
transcript = json['transcript'];
isArchived = json['isArchived'];
activities = JsonConverters.fromJson(json['activities'],'List<ActivityItem>',context!);
seriesItems = JsonConverters.fromJson(json['seriesItems'],'List<SeriesItem>',context!);
videoId = json['videoId'];
focus = json['focus'];
series = json['series'];
seriesUrl = json['seriesUrl'];
category = json['category'];
equipments = JsonConverters.fromJson(json['equipments'],'List<String>',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<ScreenshotItem>',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'content': content,
'credit': credit,
'references': references,
'disclaimer': disclaimer,
'headerImage': headerImage,
'origin': origin,
'originId': originId,
'tags': JsonConverters.toJson(tags,'List<Tag>',context!),
'categories': JsonConverters.toJson(categories,'List<Category>',context!),
'index': index,
'activityLevel': activityLevel,
'activityDetails': activityDetails,
'transcript': transcript,
'isArchived': isArchived,
'activities': JsonConverters.toJson(activities,'List<ActivityItem>',context!),
'seriesItems': JsonConverters.toJson(seriesItems,'List<SeriesItem>',context!),
'videoId': videoId,
'focus': focus,
'series': series,
'seriesUrl': seriesUrl,
'category': category,
'equipments': JsonConverters.toJson(equipments,'List<String>',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<ScreenshotItem>',context!)
});
getTypeName() => "ResourceItem";
TypeContext? context = _ctx;
}
class ResourceItemsResponse implements IResourceItemsLiteResponse, IConvertible
{
List<ResourceItem>? resourceItems;
ResourceItemsResponse({this.resourceItems});
ResourceItemsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
resourceItems = JsonConverters.fromJson(json['resourceItems'],'List<ResourceItem>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'resourceItems': JsonConverters.toJson(resourceItems,'List<ResourceItem>',context!)
};
getTypeName() => "ResourceItemsResponse";
TypeContext? context = _ctx;
}
class ResourceItemListRequest extends BasicResourceLibraryRequest implements IConvertible
{
List<String>? resourceItemIds;
ResourceItemListRequest({this.resourceItemIds});
ResourceItemListRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
resourceItemIds = JsonConverters.fromJson(json['resourceItemIds'],'List<String>',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'resourceItemIds': JsonConverters.toJson(resourceItemIds,'List<String>',context!)
});
getTypeName() => "ResourceItemListRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'resourcelibrary.api.ashcompanies.com', types: <String, TypeInfo> {
'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<Tag>': TypeInfo(TypeOf.Class, create:() => <Tag>[]),
'List<ScreenshotItem>': TypeInfo(TypeOf.Class, create:() => <ScreenshotItem>[]),
'SubTopic': TypeInfo(TypeOf.Class, create:() => SubTopic()),
'List<ResourceItem>': TypeInfo(TypeOf.Class, create:() => <ResourceItem>[]),
'ResourceItem': TypeInfo(TypeOf.Class, create:() => ResourceItem()),
'Category': TypeInfo(TypeOf.Class, create:() => Category()),
'List<SubTopic>': TypeInfo(TypeOf.Class, create:() => <SubTopic>[]),
'ActivityItem': TypeInfo(TypeOf.Class, create:() => ActivityItem()),
'SeriesItem': TypeInfo(TypeOf.Class, create:() => SeriesItem()),
'AltMediaPaths': TypeInfo(TypeOf.Class, create:() => AltMediaPaths()),
'List<Category>': TypeInfo(TypeOf.Class, create:() => <Category>[]),
'List<ActivityItem>': TypeInfo(TypeOf.Class, create:() => <ActivityItem>[]),
'List<SeriesItem>': TypeInfo(TypeOf.Class, create:() => <SeriesItem>[]),
'ResourceItemsResponse': TypeInfo(TypeOf.Class, create:() => ResourceItemsResponse()),
'ResourceItemListRequest': TypeInfo(TypeOf.Class, create:() => ResourceItemListRequest()),
});
Dart ResourceItemListRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /resourceItemList HTTP/1.1
Host: resourcelibrary.api.ashcompanies.com
Accept: application/json
Content-Type: application/json
Content-Length: length
{"resourceItemIds":["String"],"resourceLibraryMemberId":0}
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {"resourceItems":[{"content":"String","credit":"String","references":"String","disclaimer":"String","headerImage":"String","origin":"String","originId":"String","tags":[{"id":"String","title":"String"}],"categories":[{"id":"String","subtopicItems":null,"resourceItems":null,"title":"String","isVisible":"String","resourceCount":0}],"index":0,"activityLevel":"String","activityDetails":"String","transcript":"String","isArchived":false,"activities":[{"name":"String","id":"String"}],"seriesItems":[{"id":"String","title":"String"}],"videoId":"String","focus":"String","series":"String","seriesUrl":"String","category":"String","equipments":["String"],"durationRange":"String","providerName":"String","uploadDate":"String","completionDate":"0001-01-01T00:00:00.0000000","level":"String","bodyFocus":"String","altMediaPaths":{"webm":"String","ogv":"String","mp4Low":"String","mp4High":"String"},"subtitles":"String","drmEncrypted":false,"screenshots":[{"largeFilepathS3":"String","thumbFilepathS3":"String","order":0,"description":"String"}],"id":"String","title":"String","description":"String","descriptionSummary":"String","type":"String","isComplete":false,"isFavorite":false,"isImplicitlyComplete":false,"mediaPath":"String","isConfirmable":false,"isWcagCompliant":false,"duration":"String","preview":"String","calories":0,"instructor":"String","thumbnail":"String","difficulty":"String"}]}