Required role: | REGISUserRole |
POST | /Transcript/{uuid} |
---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ExternalDegreeResponse:
id: Optional[int] = None
institution_id: Optional[int] = None
degree_name: Optional[str] = None
degree_override_name: Optional[str] = None
institution_name: Optional[str] = None
graduation_month: Optional[str] = None
start_year: Optional[int] = None
end_year: Optional[int] = None
is_only_in_d365: bool = False
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StudentProgramTranscriptResponse:
response_status: Optional[ResponseStatus] = None
program_code: Optional[str] = None
program_name: Optional[str] = None
concentration_code: Optional[str] = None
concentration_name: Optional[str] = None
start_date: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RegentDegreeResponse:
id: int = 0
program_code: Optional[str] = None
program_name: Optional[str] = None
concentration_code: Optional[str] = None
concentration_name: Optional[str] = None
graduation_month: Optional[datetime.datetime] = None
start_date: Optional[datetime.datetime] = None
end_date: Optional[datetime.datetime] = None
gpa: Optional[Decimal] = None
academic_level: Optional[str] = None
commencement_date: Optional[datetime.datetime] = None
added_date: Optional[datetime.datetime] = None
added_by: Optional[str] = None
changed_date: Optional[datetime.datetime] = None
changed_by: Optional[str] = None
timestamp: datetime.datetime = datetime.datetime(1, 1, 1)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StudentAcademicCredentialResponse:
response_status: Optional[ResponseStatus] = None
uuid: Optional[str] = None
stac_uuid: Optional[str] = None
section_id: Optional[int] = None
course_name: Optional[str] = None
section_code: Optional[str] = None
subject: Optional[str] = None
course_level: Optional[int] = None
title: Optional[str] = None
pretty_title: Optional[str] = None
location: Optional[str] = None
is_audio: bool = False
is_oncampus: bool = False
credit_value: Optional[Decimal] = None
audit_value: Optional[Decimal] = None
is_audit: bool = False
is_pass_fail: bool = False
grade: Optional[str] = None
is_grade_final: bool = False
gpa_credits: Optional[Decimal] = None
grade_points: Optional[Decimal] = None
academic_level: Optional[str] = None
printed_comments: Optional[str] = None
term: Optional[str] = None
reporting_term: Optional[str] = None
reporting_year: Optional[int] = None
current_status: Optional[str] = None
added_by: Optional[str] = None
added_date: Optional[datetime.datetime] = None
changed_by: Optional[str] = None
changed_date: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StudentAcademicCredentialTranscriptResponse(StudentAcademicCredentialResponse):
registered_credits: Optional[Decimal] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StudentTransferCredentialTranscriptResponse:
course_name: Optional[str] = None
title: Optional[str] = None
is_advanced_standing: bool = False
credit_value: Optional[Decimal] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StudentTransferCredentialsTranscriptResponse:
institution_name: Optional[str] = None
transfer_credits: Optional[List[StudentTransferCredentialTranscriptResponse]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TranscriptResponse:
response_status: Optional[ResponseStatus] = None
first_name: Optional[str] = None
last_name: Optional[str] = None
middle_name: Optional[str] = None
override_name: Optional[str] = None
regent_id: int = 0
academic_level: Optional[str] = None
dob: datetime.datetime = datetime.datetime(1, 1, 1)
previous_degrees: Optional[List[ExternalDegreeResponse]] = None
student_programs: Optional[List[StudentProgramTranscriptResponse]] = None
regent_degrees: Optional[List[RegentDegreeResponse]] = None
student_academic_credentials: Optional[List[StudentAcademicCredentialTranscriptResponse]] = None
transfer_credentials: Optional[List[StudentTransferCredentialsTranscriptResponse]] = None
transcript_notes: Optional[List[str]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TranscriptRequest:
uuid: Optional[str] = None
academic_level: Optional[str] = None
override_all_restrictions: bool = False
override_nonfinancial_restrictions: bool = False
authorizing_uuid: Optional[str] = None
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /Transcript/{uuid} HTTP/1.1
Host: data.regent-college.edu
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"uuid":"String","academic_level":"String","override_all_restrictions":false,"override_nonfinancial_restrictions":false,"authorizing_uuid":"String"}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}},"first_name":"String","last_name":"String","middle_name":"String","override_name":"String","regent_id":0,"academic_level":"String","dob":"0001-01-01T00:00:00.0000000","previous_degrees":[{"id":0,"institution_id":0,"degree_name":"String","degree_override_name":"String","institution_name":"String","graduation_month":"String","start_year":0,"end_year":0,"is_only_in_d365":false}],"student_programs":[{"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}},"program_code":"String","program_name":"String","concentration_code":"String","concentration_name":"String","start_date":"0001-01-01T00:00:00.0000000"}],"regent_degrees":[{"id":0,"program_code":"String","program_name":"String","concentration_code":"String","concentration_name":"String","graduation_month":"0001-01-01T00:00:00.0000000","start_date":"0001-01-01T00:00:00.0000000","end_date":"0001-01-01T00:00:00.0000000","gpa":0,"academic_level":"String","commencement_date":"0001-01-01T00:00:00.0000000","added_date":"0001-01-01T00:00:00.0000000","added_by":"String","changed_date":"0001-01-01T00:00:00.0000000","changed_by":"String","timestamp":"0001-01-01T00:00:00.0000000"}],"student_academic_credentials":[{"registered_credits":0,"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"}],"transfer_credentials":[{"institution_name":"String","transferCredits":[{"course_name":"String","title":"String","is_advanced_standing":false,"credit_value":0}]}],"transcript_notes":["String"]}