regis

<back to all web services

GradeByCourseRequest

Requires Authentication
Required role:REGISUserRole
The following routes are available for this service:
POST/Academic/{secUUID}/Grade
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 StudentAcademicCredentialAndStudentResponse:
    response_status: Optional[ResponseStatus] = None
    uuid: Optional[str] = None
    regent_id: int = 0
    student_name: Optional[str] = None
    last_name: Optional[str] = None
    first_name: Optional[str] = None
    current_program: Optional[str] = None
    applied_to_graduate_from_programs: Optional[str] = None
    additional_instructors: 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
    location: Optional[str] = None
    is_audio: 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 InstructorResponse:
    response_status: Optional[ResponseStatus] = None
    regent_id: int = 0
    regent_login: Optional[str] = None
    preferred_name: Optional[str] = None
    first_name: Optional[str] = None
    last_name: Optional[str] = None
    full_name: Optional[str] = None
    email: Optional[str] = None
    image_base64: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StudentAcademicCredentialExtensionResponse:
    uuid: Optional[str] = None
    stac_uuid: Optional[str] = None
    regent_id: int = 0
    first_name: Optional[str] = None
    last_name: Optional[str] = None
    course_name: Optional[str] = None
    section_code: Optional[str] = None
    location_code: Optional[str] = None
    title: Optional[str] = None
    term: Optional[str] = None
    reporting_term: Optional[str] = None
    is_audit: bool = False
    is_active: bool = False
    amount: Decimal = decimal.Decimal(0)
    instructors: Optional[List[InstructorResponse]] = None
    due_date: Optional[datetime.datetime] = None
    received_date: Optional[datetime.datetime] = None
    grade_penalty: Optional[str] = None
    assignments: Optional[str] = None
    comments: Optional[str] = None
    added_date: Optional[datetime.datetime] = None
    added_by: Optional[str] = None
    changed_date: Optional[datetime.datetime] = None
    changed_by: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GradeResponse:
    response_status: Optional[ResponseStatus] = None
    id: int = 0
    grade_code: Optional[str] = None
    grade_name: Optional[str] = None
    grade_points: Decimal = decimal.Decimal(0)
    gpa_credit: bool = False
    completed_credit: bool = False


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GradeByCourseResponse:
    response_status: Optional[ResponseStatus] = None
    sec_u_u_i_d: Optional[str] = None
    grading_end_date: Optional[datetime.datetime] = None
    override_grading_end_date: Optional[datetime.datetime] = None
    course_name: Optional[str] = None
    title: Optional[str] = None
    term: Optional[str] = None
    crosslists_included: bool = False
    has_crosslists: bool = False
    student_academic_credentials: Optional[List[StudentAcademicCredentialAndStudentResponse]] = None
    student_academic_credential_retakes: Optional[List[StudentAcademicCredentialAndStudentResponse]] = None
    student_academic_credential_extensions: Optional[List[StudentAcademicCredentialExtensionResponse]] = None
    valid_grades: Optional[List[GradeResponse]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GradeByCourseRequest:
    sec_u_u_i_d: Optional[str] = None
    include_crosslist: bool = False

Python GradeByCourseRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /Academic/{secUUID}/Grade HTTP/1.1 
Host: data.regent-college.edu 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	secUUID: String,
	include_crosslist: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	},
	secUUID: String,
	gradingEndDate: 0001-01-01,
	overrideGradingEndDate: 0001-01-01,
	course_name: String,
	title: String,
	term: String,
	crosslists_included: False,
	has_crosslists: False,
	studentAcademicCredentials: 
	[
		{
			responseStatus: 
			{
				errorCode: String,
				message: String,
				stackTrace: String,
				errors: 
				[
					{
						errorCode: String,
						fieldName: String,
						message: String,
						meta: 
						{
							String: String
						}
					}
				],
				meta: 
				{
					String: String
				}
			},
			uuid: String,
			regent_id: 0,
			student_name: String,
			last_name: String,
			first_name: String,
			current_program: String,
			applied_to_graduate_from_programs: String,
			additional_instructors: String,
			stac_uuid: String,
			section_id: 0,
			course_name: String,
			section_code: String,
			subject: String,
			course_level: 0,
			title: String,
			location: String,
			is_audio: 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-01,
			changed_by: String,
			changed_date: 0001-01-01
		}
	],
	studentAcademicCredentialRetakes: 
	[
		{
			responseStatus: 
			{
				errorCode: String,
				message: String,
				stackTrace: String,
				errors: 
				[
					{
						errorCode: String,
						fieldName: String,
						message: String,
						meta: 
						{
							String: String
						}
					}
				],
				meta: 
				{
					String: String
				}
			},
			uuid: String,
			regent_id: 0,
			student_name: String,
			last_name: String,
			first_name: String,
			current_program: String,
			applied_to_graduate_from_programs: String,
			additional_instructors: String,
			stac_uuid: String,
			section_id: 0,
			course_name: String,
			section_code: String,
			subject: String,
			course_level: 0,
			title: String,
			location: String,
			is_audio: 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-01,
			changed_by: String,
			changed_date: 0001-01-01
		}
	],
	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-01,
			received_date: 0001-01-01,
			grade_penalty: String,
			assignments: String,
			comments: String,
			added_date: 0001-01-01,
			added_by: String,
			changed_date: 0001-01-01,
			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
		}
	]
}