Required role: | REGISUserRole |
POST | /Academic/Student/{uuid}/Grade |
---|
<?php namespace dtos;
use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};
class StudentAcademicCredentialResponse implements JsonSerializable
{
public function __construct(
/** @var ResponseStatus|null */
public ?ResponseStatus $responseStatus=null,
/** @var string|null */
public ?string $uuid=null,
/** @var string|null */
public ?string $stac_uuid=null,
/** @var int|null */
public ?int $section_id=null,
/** @var string|null */
public ?string $course_name=null,
/** @var string|null */
public ?string $section_code=null,
/** @var string|null */
public ?string $subject=null,
/** @var int|null */
public ?int $course_level=null,
/** @var string|null */
public ?string $title=null,
/** @var string|null */
public ?string $pretty_title=null,
/** @var string|null */
public ?string $location=null,
/** @var bool|null */
public ?bool $is_audio=null,
/** @var bool|null */
public ?bool $is_oncampus=null,
/** @var float|null */
public ?float $credit_value=null,
/** @var float|null */
public ?float $audit_value=null,
/** @var bool|null */
public ?bool $is_audit=null,
/** @var bool|null */
public ?bool $is_pass_fail=null,
/** @var string|null */
public ?string $grade=null,
/** @var bool|null */
public ?bool $is_grade_final=null,
/** @var float|null */
public ?float $gpa_credits=null,
/** @var float|null */
public ?float $grade_points=null,
/** @var string|null */
public ?string $academic_level=null,
/** @var string|null */
public ?string $printed_comments=null,
/** @var string|null */
public ?string $term=null,
/** @var string|null */
public ?string $reporting_term=null,
/** @var int|null */
public ?int $reporting_year=null,
/** @var string|null */
public ?string $current_status=null,
/** @var string|null */
public ?string $added_by=null,
/** @var DateTime|null */
public ?DateTime $added_date=null,
/** @var string|null */
public ?string $changed_by=null,
/** @var DateTime|null */
public ?DateTime $changed_date=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['responseStatus'])) $this->responseStatus = JsonConverters::from('ResponseStatus', $o['responseStatus']);
if (isset($o['uuid'])) $this->uuid = $o['uuid'];
if (isset($o['stac_uuid'])) $this->stac_uuid = $o['stac_uuid'];
if (isset($o['section_id'])) $this->section_id = $o['section_id'];
if (isset($o['course_name'])) $this->course_name = $o['course_name'];
if (isset($o['section_code'])) $this->section_code = $o['section_code'];
if (isset($o['subject'])) $this->subject = $o['subject'];
if (isset($o['course_level'])) $this->course_level = $o['course_level'];
if (isset($o['title'])) $this->title = $o['title'];
if (isset($o['pretty_title'])) $this->pretty_title = $o['pretty_title'];
if (isset($o['location'])) $this->location = $o['location'];
if (isset($o['is_audio'])) $this->is_audio = $o['is_audio'];
if (isset($o['is_oncampus'])) $this->is_oncampus = $o['is_oncampus'];
if (isset($o['credit_value'])) $this->credit_value = $o['credit_value'];
if (isset($o['audit_value'])) $this->audit_value = $o['audit_value'];
if (isset($o['is_audit'])) $this->is_audit = $o['is_audit'];
if (isset($o['is_pass_fail'])) $this->is_pass_fail = $o['is_pass_fail'];
if (isset($o['grade'])) $this->grade = $o['grade'];
if (isset($o['is_grade_final'])) $this->is_grade_final = $o['is_grade_final'];
if (isset($o['gpa_credits'])) $this->gpa_credits = $o['gpa_credits'];
if (isset($o['grade_points'])) $this->grade_points = $o['grade_points'];
if (isset($o['academic_level'])) $this->academic_level = $o['academic_level'];
if (isset($o['printed_comments'])) $this->printed_comments = $o['printed_comments'];
if (isset($o['term'])) $this->term = $o['term'];
if (isset($o['reporting_term'])) $this->reporting_term = $o['reporting_term'];
if (isset($o['reporting_year'])) $this->reporting_year = $o['reporting_year'];
if (isset($o['current_status'])) $this->current_status = $o['current_status'];
if (isset($o['added_by'])) $this->added_by = $o['added_by'];
if (isset($o['added_date'])) $this->added_date = JsonConverters::from('DateTime', $o['added_date']);
if (isset($o['changed_by'])) $this->changed_by = $o['changed_by'];
if (isset($o['changed_date'])) $this->changed_date = JsonConverters::from('DateTime', $o['changed_date']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->responseStatus)) $o['responseStatus'] = JsonConverters::to('ResponseStatus', $this->responseStatus);
if (isset($this->uuid)) $o['uuid'] = $this->uuid;
if (isset($this->stac_uuid)) $o['stac_uuid'] = $this->stac_uuid;
if (isset($this->section_id)) $o['section_id'] = $this->section_id;
if (isset($this->course_name)) $o['course_name'] = $this->course_name;
if (isset($this->section_code)) $o['section_code'] = $this->section_code;
if (isset($this->subject)) $o['subject'] = $this->subject;
if (isset($this->course_level)) $o['course_level'] = $this->course_level;
if (isset($this->title)) $o['title'] = $this->title;
if (isset($this->pretty_title)) $o['pretty_title'] = $this->pretty_title;
if (isset($this->location)) $o['location'] = $this->location;
if (isset($this->is_audio)) $o['is_audio'] = $this->is_audio;
if (isset($this->is_oncampus)) $o['is_oncampus'] = $this->is_oncampus;
if (isset($this->credit_value)) $o['credit_value'] = $this->credit_value;
if (isset($this->audit_value)) $o['audit_value'] = $this->audit_value;
if (isset($this->is_audit)) $o['is_audit'] = $this->is_audit;
if (isset($this->is_pass_fail)) $o['is_pass_fail'] = $this->is_pass_fail;
if (isset($this->grade)) $o['grade'] = $this->grade;
if (isset($this->is_grade_final)) $o['is_grade_final'] = $this->is_grade_final;
if (isset($this->gpa_credits)) $o['gpa_credits'] = $this->gpa_credits;
if (isset($this->grade_points)) $o['grade_points'] = $this->grade_points;
if (isset($this->academic_level)) $o['academic_level'] = $this->academic_level;
if (isset($this->printed_comments)) $o['printed_comments'] = $this->printed_comments;
if (isset($this->term)) $o['term'] = $this->term;
if (isset($this->reporting_term)) $o['reporting_term'] = $this->reporting_term;
if (isset($this->reporting_year)) $o['reporting_year'] = $this->reporting_year;
if (isset($this->current_status)) $o['current_status'] = $this->current_status;
if (isset($this->added_by)) $o['added_by'] = $this->added_by;
if (isset($this->added_date)) $o['added_date'] = JsonConverters::to('DateTime', $this->added_date);
if (isset($this->changed_by)) $o['changed_by'] = $this->changed_by;
if (isset($this->changed_date)) $o['changed_date'] = JsonConverters::to('DateTime', $this->changed_date);
return empty($o) ? new class(){} : $o;
}
}
class InstructorResponse implements JsonSerializable
{
public function __construct(
/** @var ResponseStatus|null */
public ?ResponseStatus $responseStatus=null,
/** @var int */
public int $regent_id=0,
/** @var string|null */
public ?string $regent_login=null,
/** @var string|null */
public ?string $preferred_name=null,
/** @var string|null */
public ?string $first_name=null,
/** @var string|null */
public ?string $last_name=null,
/** @var string|null */
public ?string $full_name=null,
/** @var string|null */
public ?string $email=null,
/** @var string|null */
public ?string $image_base64=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['responseStatus'])) $this->responseStatus = JsonConverters::from('ResponseStatus', $o['responseStatus']);
if (isset($o['regent_id'])) $this->regent_id = $o['regent_id'];
if (isset($o['regent_login'])) $this->regent_login = $o['regent_login'];
if (isset($o['preferred_name'])) $this->preferred_name = $o['preferred_name'];
if (isset($o['first_name'])) $this->first_name = $o['first_name'];
if (isset($o['last_name'])) $this->last_name = $o['last_name'];
if (isset($o['full_name'])) $this->full_name = $o['full_name'];
if (isset($o['email'])) $this->email = $o['email'];
if (isset($o['image_base64'])) $this->image_base64 = $o['image_base64'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->responseStatus)) $o['responseStatus'] = JsonConverters::to('ResponseStatus', $this->responseStatus);
if (isset($this->regent_id)) $o['regent_id'] = $this->regent_id;
if (isset($this->regent_login)) $o['regent_login'] = $this->regent_login;
if (isset($this->preferred_name)) $o['preferred_name'] = $this->preferred_name;
if (isset($this->first_name)) $o['first_name'] = $this->first_name;
if (isset($this->last_name)) $o['last_name'] = $this->last_name;
if (isset($this->full_name)) $o['full_name'] = $this->full_name;
if (isset($this->email)) $o['email'] = $this->email;
if (isset($this->image_base64)) $o['image_base64'] = $this->image_base64;
return empty($o) ? new class(){} : $o;
}
}
class StudentAcademicCredentialExtensionResponse implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $uuid=null,
/** @var string|null */
public ?string $stac_uuid=null,
/** @var int */
public int $regent_id=0,
/** @var string|null */
public ?string $first_name=null,
/** @var string|null */
public ?string $last_name=null,
/** @var string|null */
public ?string $course_name=null,
/** @var string|null */
public ?string $section_code=null,
/** @var string|null */
public ?string $location_code=null,
/** @var string|null */
public ?string $title=null,
/** @var string|null */
public ?string $term=null,
/** @var string|null */
public ?string $reporting_term=null,
/** @var bool|null */
public ?bool $is_audit=null,
/** @var bool|null */
public ?bool $is_active=null,
/** @var float */
public float $amount=0.0,
/** @var array<InstructorResponse>|null */
public ?array $instructors=null,
/** @var DateTime|null */
public ?DateTime $due_date=null,
/** @var DateTime|null */
public ?DateTime $received_date=null,
/** @var string|null */
public ?string $grade_penalty=null,
/** @var string|null */
public ?string $assignments=null,
/** @var string|null */
public ?string $comments=null,
/** @var DateTime|null */
public ?DateTime $added_date=null,
/** @var string|null */
public ?string $added_by=null,
/** @var DateTime|null */
public ?DateTime $changed_date=null,
/** @var string|null */
public ?string $changed_by=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['uuid'])) $this->uuid = $o['uuid'];
if (isset($o['stac_uuid'])) $this->stac_uuid = $o['stac_uuid'];
if (isset($o['regent_id'])) $this->regent_id = $o['regent_id'];
if (isset($o['first_name'])) $this->first_name = $o['first_name'];
if (isset($o['last_name'])) $this->last_name = $o['last_name'];
if (isset($o['course_name'])) $this->course_name = $o['course_name'];
if (isset($o['section_code'])) $this->section_code = $o['section_code'];
if (isset($o['location_code'])) $this->location_code = $o['location_code'];
if (isset($o['title'])) $this->title = $o['title'];
if (isset($o['term'])) $this->term = $o['term'];
if (isset($o['reporting_term'])) $this->reporting_term = $o['reporting_term'];
if (isset($o['is_audit'])) $this->is_audit = $o['is_audit'];
if (isset($o['is_active'])) $this->is_active = $o['is_active'];
if (isset($o['amount'])) $this->amount = $o['amount'];
if (isset($o['instructors'])) $this->instructors = JsonConverters::fromArray('InstructorResponse', $o['instructors']);
if (isset($o['due_date'])) $this->due_date = JsonConverters::from('DateTime', $o['due_date']);
if (isset($o['received_date'])) $this->received_date = JsonConverters::from('DateTime', $o['received_date']);
if (isset($o['grade_penalty'])) $this->grade_penalty = $o['grade_penalty'];
if (isset($o['assignments'])) $this->assignments = $o['assignments'];
if (isset($o['comments'])) $this->comments = $o['comments'];
if (isset($o['added_date'])) $this->added_date = JsonConverters::from('DateTime', $o['added_date']);
if (isset($o['added_by'])) $this->added_by = $o['added_by'];
if (isset($o['changed_date'])) $this->changed_date = JsonConverters::from('DateTime', $o['changed_date']);
if (isset($o['changed_by'])) $this->changed_by = $o['changed_by'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->uuid)) $o['uuid'] = $this->uuid;
if (isset($this->stac_uuid)) $o['stac_uuid'] = $this->stac_uuid;
if (isset($this->regent_id)) $o['regent_id'] = $this->regent_id;
if (isset($this->first_name)) $o['first_name'] = $this->first_name;
if (isset($this->last_name)) $o['last_name'] = $this->last_name;
if (isset($this->course_name)) $o['course_name'] = $this->course_name;
if (isset($this->section_code)) $o['section_code'] = $this->section_code;
if (isset($this->location_code)) $o['location_code'] = $this->location_code;
if (isset($this->title)) $o['title'] = $this->title;
if (isset($this->term)) $o['term'] = $this->term;
if (isset($this->reporting_term)) $o['reporting_term'] = $this->reporting_term;
if (isset($this->is_audit)) $o['is_audit'] = $this->is_audit;
if (isset($this->is_active)) $o['is_active'] = $this->is_active;
if (isset($this->amount)) $o['amount'] = $this->amount;
if (isset($this->instructors)) $o['instructors'] = JsonConverters::toArray('InstructorResponse', $this->instructors);
if (isset($this->due_date)) $o['due_date'] = JsonConverters::to('DateTime', $this->due_date);
if (isset($this->received_date)) $o['received_date'] = JsonConverters::to('DateTime', $this->received_date);
if (isset($this->grade_penalty)) $o['grade_penalty'] = $this->grade_penalty;
if (isset($this->assignments)) $o['assignments'] = $this->assignments;
if (isset($this->comments)) $o['comments'] = $this->comments;
if (isset($this->added_date)) $o['added_date'] = JsonConverters::to('DateTime', $this->added_date);
if (isset($this->added_by)) $o['added_by'] = $this->added_by;
if (isset($this->changed_date)) $o['changed_date'] = JsonConverters::to('DateTime', $this->changed_date);
if (isset($this->changed_by)) $o['changed_by'] = $this->changed_by;
return empty($o) ? new class(){} : $o;
}
}
class GradeResponse implements JsonSerializable
{
public function __construct(
/** @var ResponseStatus|null */
public ?ResponseStatus $responseStatus=null,
/** @var int */
public int $id=0,
/** @var string|null */
public ?string $grade_code=null,
/** @var string|null */
public ?string $grade_name=null,
/** @var float */
public float $grade_points=0.0,
/** @var bool|null */
public ?bool $gpa_credit=null,
/** @var bool|null */
public ?bool $completed_credit=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['responseStatus'])) $this->responseStatus = JsonConverters::from('ResponseStatus', $o['responseStatus']);
if (isset($o['id'])) $this->id = $o['id'];
if (isset($o['grade_code'])) $this->grade_code = $o['grade_code'];
if (isset($o['grade_name'])) $this->grade_name = $o['grade_name'];
if (isset($o['grade_points'])) $this->grade_points = $o['grade_points'];
if (isset($o['gpa_credit'])) $this->gpa_credit = $o['gpa_credit'];
if (isset($o['completed_credit'])) $this->completed_credit = $o['completed_credit'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->responseStatus)) $o['responseStatus'] = JsonConverters::to('ResponseStatus', $this->responseStatus);
if (isset($this->id)) $o['id'] = $this->id;
if (isset($this->grade_code)) $o['grade_code'] = $this->grade_code;
if (isset($this->grade_name)) $o['grade_name'] = $this->grade_name;
if (isset($this->grade_points)) $o['grade_points'] = $this->grade_points;
if (isset($this->gpa_credit)) $o['gpa_credit'] = $this->gpa_credit;
if (isset($this->completed_credit)) $o['completed_credit'] = $this->completed_credit;
return empty($o) ? new class(){} : $o;
}
}
class GradeByStudentResponse implements JsonSerializable
{
public function __construct(
/** @var ResponseStatus|null */
public ?ResponseStatus $responseStatus=null,
/** @var int */
public int $regent_id=0,
/** @var string|null */
public ?string $uuid=null,
/** @var array<StudentAcademicCredentialResponse>|null */
public ?array $studentAcademicCredentials=null,
/** @var array<StudentAcademicCredentialResponse>|null */
public ?array $studentAcademicCredentialRetakes=null,
/** @var array<StudentAcademicCredentialExtensionResponse>|null */
public ?array $studentAcademicCredentialExtensions=null,
/** @var array<GradeResponse>|null */
public ?array $validGrades=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['responseStatus'])) $this->responseStatus = JsonConverters::from('ResponseStatus', $o['responseStatus']);
if (isset($o['regent_id'])) $this->regent_id = $o['regent_id'];
if (isset($o['uuid'])) $this->uuid = $o['uuid'];
if (isset($o['studentAcademicCredentials'])) $this->studentAcademicCredentials = JsonConverters::fromArray('StudentAcademicCredentialResponse', $o['studentAcademicCredentials']);
if (isset($o['studentAcademicCredentialRetakes'])) $this->studentAcademicCredentialRetakes = JsonConverters::fromArray('StudentAcademicCredentialResponse', $o['studentAcademicCredentialRetakes']);
if (isset($o['studentAcademicCredentialExtensions'])) $this->studentAcademicCredentialExtensions = JsonConverters::fromArray('StudentAcademicCredentialExtensionResponse', $o['studentAcademicCredentialExtensions']);
if (isset($o['validGrades'])) $this->validGrades = JsonConverters::fromArray('GradeResponse', $o['validGrades']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->responseStatus)) $o['responseStatus'] = JsonConverters::to('ResponseStatus', $this->responseStatus);
if (isset($this->regent_id)) $o['regent_id'] = $this->regent_id;
if (isset($this->uuid)) $o['uuid'] = $this->uuid;
if (isset($this->studentAcademicCredentials)) $o['studentAcademicCredentials'] = JsonConverters::toArray('StudentAcademicCredentialResponse', $this->studentAcademicCredentials);
if (isset($this->studentAcademicCredentialRetakes)) $o['studentAcademicCredentialRetakes'] = JsonConverters::toArray('StudentAcademicCredentialResponse', $this->studentAcademicCredentialRetakes);
if (isset($this->studentAcademicCredentialExtensions)) $o['studentAcademicCredentialExtensions'] = JsonConverters::toArray('StudentAcademicCredentialExtensionResponse', $this->studentAcademicCredentialExtensions);
if (isset($this->validGrades)) $o['validGrades'] = JsonConverters::toArray('GradeResponse', $this->validGrades);
return empty($o) ? new class(){} : $o;
}
}
class GradeByStudentRequest implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $uuid=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['uuid'])) $this->uuid = $o['uuid'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->uuid)) $o['uuid'] = $this->uuid;
return empty($o) ? new class(){} : $o;
}
}
PHP GradeByStudentRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /Academic/Student/{uuid}/Grade HTTP/1.1
Host: data.regent-college.edu
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"uuid":"String"}
HTTP/1.1 200 OK Content-Type: text/jsonl Content-Length: length {"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}},"regent_id":0,"uuid":"String","studentAcademicCredentials":[{"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}},"uuid":"String","stac_uuid":"String","section_id":0,"course_name":"String","section_code":"String","subject":"String","course_level":0,"title":"String","pretty_title":"String","location":"String","is_audio":false,"is_oncampus":false,"credit_value":0,"audit_value":0,"is_audit":false,"is_pass_fail":false,"grade":"String","is_grade_final":false,"gpa_credits":0,"grade_points":0,"academic_level":"String","printed_comments":"String","term":"String","reporting_term":"String","reporting_year":0,"current_status":"String","added_by":"String","added_date":"0001-01-01T00:00:00.0000000","changed_by":"String","changed_date":"0001-01-01T00:00:00.0000000"}],"studentAcademicCredentialRetakes":[{"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}},"uuid":"String","stac_uuid":"String","section_id":0,"course_name":"String","section_code":"String","subject":"String","course_level":0,"title":"String","pretty_title":"String","location":"String","is_audio":false,"is_oncampus":false,"credit_value":0,"audit_value":0,"is_audit":false,"is_pass_fail":false,"grade":"String","is_grade_final":false,"gpa_credits":0,"grade_points":0,"academic_level":"String","printed_comments":"String","term":"String","reporting_term":"String","reporting_year":0,"current_status":"String","added_by":"String","added_date":"0001-01-01T00:00:00.0000000","changed_by":"String","changed_date":"0001-01-01T00:00:00.0000000"}],"studentAcademicCredentialExtensions":[{"uuid":"String","stac_uuid":"String","regent_id":0,"first_name":"String","last_name":"String","course_name":"String","section_code":"String","location_code":"String","title":"String","term":"String","reporting_term":"String","is_audit":false,"is_active":false,"amount":0,"instructors":[{"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}},"regent_id":0,"regent_login":"String","preferred_name":"String","first_name":"String","last_name":"String","full_name":"String","email":"String","image_base64":"String"}],"due_date":"0001-01-01T00:00:00.0000000","received_date":"0001-01-01T00:00:00.0000000","grade_penalty":"String","assignments":"String","comments":"String","added_date":"0001-01-01T00:00:00.0000000","added_by":"String","changed_date":"0001-01-01T00:00:00.0000000","changed_by":"String"}],"validGrades":[{"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}},"id":0,"grade_code":"String","grade_name":"String","grade_points":0,"gpa_credit":false,"completed_credit":false}]}