Required role: | REGISUserRole |
POST | /Courses/Admin/Create |
---|
import 'package:servicestack/servicestack.dart';
class CourseRequirementResponse implements IConvertible
{
int? course_id;
int? required_course_id;
int? requirement_group;
bool? is_prerequisite;
bool? is_corequisite;
DateTime? timestamp;
CourseRequirementResponse({this.course_id,this.required_course_id,this.requirement_group,this.is_prerequisite,this.is_corequisite,this.timestamp});
CourseRequirementResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
course_id = json['course_id'];
required_course_id = json['required_course_id'];
requirement_group = json['requirement_group'];
is_prerequisite = json['is_prerequisite'];
is_corequisite = json['is_corequisite'];
timestamp = JsonConverters.fromJson(json['timestamp'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => {
'course_id': course_id,
'required_course_id': required_course_id,
'requirement_group': requirement_group,
'is_prerequisite': is_prerequisite,
'is_corequisite': is_corequisite,
'timestamp': JsonConverters.toJson(timestamp,'DateTime',context!)
};
getTypeName() => "CourseRequirementResponse";
TypeContext? context = _ctx;
}
class CourseCreateRequest implements IConvertible
{
String? course_name;
String? title;
String? pretty_title;
String? course_description;
bool? is_active;
List<CourseRequirementResponse>? course_requirements;
String? authorizing_uuid;
CourseCreateRequest({this.course_name,this.title,this.pretty_title,this.course_description,this.is_active,this.course_requirements,this.authorizing_uuid});
CourseCreateRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
course_name = json['course_name'];
title = json['title'];
pretty_title = json['pretty_title'];
course_description = json['course_description'];
is_active = json['is_active'];
course_requirements = JsonConverters.fromJson(json['course_requirements'],'List<CourseRequirementResponse>',context!);
authorizing_uuid = json['authorizing_uuid'];
return this;
}
Map<String, dynamic> toJson() => {
'course_name': course_name,
'title': title,
'pretty_title': pretty_title,
'course_description': course_description,
'is_active': is_active,
'course_requirements': JsonConverters.toJson(course_requirements,'List<CourseRequirementResponse>',context!),
'authorizing_uuid': authorizing_uuid
};
getTypeName() => "CourseCreateRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'data.regent_college.edu', types: <String, TypeInfo> {
'CourseRequirementResponse': TypeInfo(TypeOf.Class, create:() => CourseRequirementResponse()),
'CourseCreateRequest': TypeInfo(TypeOf.Class, create:() => CourseCreateRequest()),
'List<CourseRequirementResponse>': TypeInfo(TypeOf.Class, create:() => <CourseRequirementResponse>[]),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /Courses/Admin/Create HTTP/1.1
Host: data.regent-college.edu
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
course_name: String,
title: String,
pretty_title: String,
course_description: String,
is_active: False,
course_requirements:
[
{
course_id: 0,
required_course_id: 0,
requirement_group: 0,
is_prerequisite: False,
is_corequisite: False,
timestamp: 0001-01-01
}
],
authorizing_uuid: String
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { errorCode: String, message: String, stackTrace: String, errors: [ { errorCode: String, fieldName: String, message: String, meta: { String: String } } ], meta: { String: String } }