Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: student classId as array and attendance add Unmarked option #3

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
153 changes: 75 additions & 78 deletions schemas/Attendance.json
Original file line number Diff line number Diff line change
@@ -1,82 +1,79 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"type": "object",
"properties": {
"Attendance": {
"$ref": "#/definitions/StudentAttendance"
}
},
"required": [
"StudentAttendance"
],
"title": "StudentAttendance",
"definitions": {
"Attendance": {
"$id": "#/properties/StudentAttendance",
"type": "object",
"title": "The Student Attendance schema",
"description": "An attendance record is used to represent the attendance of a student. The attendance record may be at date level or optionally at the subject level, in cases where attendance is marked multiple times a day, once for each subject.",
"required": [],
"properties": {
"attendanceRecordId": {
"$id": "#/properties/attendanceRecordId",
"type": "string"
},
"studentId": {
"$id": "#/properties/studentId",
"type": "string"
},
"attendance": {
"$id": "#/properties/attendance",
"type": "string",
"enum" : ["Present", "Absent"]
},
"attendanceNote": {
"$id": "#/properties/attendanceNote",
"type": "string"
},
"date": {
"$id": "#/properties/date",
"type": "string",
"format": "date",
"title": "The date for which attendance is to be marked"
},
"classId": {
"$id": "#/properties/classId",
"type": "string"
},
"subjectId": {
"$id": "#/properties/subjectId",
"type": "string"
},
"teacherId": {
"$id": "#/properties/teacherId",
"type": "string"
}

"$schema": "http://json-schema.org/draft-07/schema",
"type": "object",
"properties": {
"Attendance": {
"$ref": "#/definitions/StudentAttendance"
}
},
"required": ["StudentAttendance"],
"title": "StudentAttendance",
"definitions": {
"Attendance": {
"$id": "#/properties/StudentAttendance",
"type": "object",
"title": "The Student Attendance schema",
"description": "An attendance record is used to represent the attendance of a student. The attendance record may be at date level or optionally at the subject level, in cases where attendance is marked multiple times a day, once for each subject.",
"required": [],
"properties": {
"attendanceRecordId": {
"$id": "#/properties/attendanceRecordId",
"type": "string"
},
"studentId": {
"$id": "#/properties/studentId",
"type": "string"
},
"attendance": {
"$id": "#/properties/attendance",
"type": "string",
"enum": ["Present", "Absent", "Unmarked"]
},
"attendanceNote": {
"$id": "#/properties/attendanceNote",
"type": "string"
},
"date": {
"$id": "#/properties/date",
"type": "string",
"format": "date",
"title": "The date for which attendance is to be marked"
},
"classId": {
"$id": "#/properties/classId",
"type": "string"
},
"subjectId": {
"$id": "#/properties/subjectId",
"type": "string"
},
"teacherId": {
"$id": "#/properties/teacherId",
"type": "string"
}
}
},
"_osConfig": {
"osComment": [
"This section contains the OpenSABER specific configuration information",
"privateFields: Optional; list of field names to be encrypted and stored in database",
"signedFields: Optional; list of field names that must be pre-signed",
"indexFields: Optional; list of field names used for creating index. Enclose within braces to indicate it is a composite index. In this definition, (serialNum, schoolCode) is a composite index and schoolName is a single column index.",
"uniqueIndexFields: Optional; list of field names used for creating unique index. Field names must be different from index field name",
"systemFields: Optional; list of fields names used for system standard information like created, updated timestamps and userid"
],
"privateFields": [],
"signedFields": [],
"indexFields": [],
"uniqueIndexFields": [],
"systemFields": [
"osCreatedAt",
"osUpdatedAt",
"osCreatedBy",
"osUpdatedBy"
],
"attestationPolicies": [],
"roles": ["attendance-management"]
}
}
},
"_osConfig": {
"osComment": [
"This section contains the OpenSABER specific configuration information",
"privateFields: Optional; list of field names to be encrypted and stored in database",
"signedFields: Optional; list of field names that must be pre-signed",
"indexFields: Optional; list of field names used for creating index. Enclose within braces to indicate it is a composite index. In this definition, (serialNum, schoolCode) is a composite index and schoolName is a single column index.",
"uniqueIndexFields: Optional; list of field names used for creating unique index. Field names must be different from index field name",
"systemFields: Optional; list of fields names used for system standard information like created, updated timestamps and userid"
],
"privateFields": [],
"signedFields": [],
"indexFields": [],
"uniqueIndexFields": [],
"systemFields": [
"osCreatedAt",
"osUpdatedAt",
"osCreatedBy",
"osUpdatedBy"
],
"attestationPolicies": [],
"roles": ["attendance-management"]
}
}
Loading