Unverified Commit 47912240 authored by Prasath Sivasubramaniyan's avatar Prasath Sivasubramaniyan Committed by GitHub
Browse files

Add files via upload

Showing with 571 additions and 0 deletions
+571 -0
{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "Common",
"definitions": {
"IdentityDetails": {
"type": "object",
"title": "Identity Details",
"description": "Identity Details",
"required": [],
"properties": {
"fullName": {
"$id": "#/properties/fullName",
"type": "string",
"title": "Full name"
},
"gender": {
"$id": "#/properties/gender",
"type": "string",
"enum": [
"Male",
"Female",
"Other"
],
"title": "Gender"
},
"dob": {
"$id": "#/properties/dob",
"type": "string",
"format": "date",
"title": "DOB"
},
"identityType": {
"$id": "#/properties/identityType",
"type": "string",
"$comment": "Nationality",
"title": "ID Type"
},
"identityValue": {
"$id": "#/properties/identityValue",
"type": "string",
"$comment": "Nationality",
"title": "ID Value"
}
}
},
"ContactDetails": {
"type": "object",
"title": "Contact Details",
"description": "Contact Details",
"required": [],
"properties": {
"name": {
"type": "string",
"title": "Name"
},
"email": {
"$id": "#/properties/email",
"type": "string",
"title": "Email"
},
"mobile": {
"$id": "#/properties/mobile",
"type": "string",
"title": "Mobile"
},
"address": {
"$id": "#/properties/address",
"$ref": "#/definitions/Address",
"title": "Address"
}
}
},
"AcademicQualification": {
"type": "object",
"properties": {
"institute": {
"$id": "#/properties/institute",
"type": "string",
"title": "Institute Full Name"
},
"qualification": {
"$id": "#/properties/qualification",
"type": "string",
"title": "Qualification"
},
"program": {
"$id": "#/properties/program",
"type": "string",
"title": "Program of Study"
},
"graduationYear": {
"$id": "#/properties/graduationYear",
"type": "string",
"title": "Year of Graduation"
},
"marks": {
"$id": "#/properties/marks",
"type": "string",
"title": "Marks / Ranking / GPA, etc"
}
}
},
"ExperienceType": {
"type": "object",
"properties": {
"institute": {
"$id": "#/properties/institute",
"type": "string",
"title": "Institute Full Name"
},
"employmentType": {
"$id": "#/properties/employmentType",
"type": "string",
"title": "Employment Type",
"enum": [
"Permanent",
"Contract"
]
},
"start": {
"$id": "#/properties/start",
"type": "string",
"format": "date",
"title": "Start Date"
},
"end": {
"$id": "#/properties/end",
"type": "string",
"format": "date",
"title": "End Date"
},
"teacherType": {
"$id": "#/properties/teacherType",
"type": "string",
"title": "Teacher Type",
"enum": [
"Head teacher",
"Principal",
"VicePrincipal",
"Lecture"
]
},
"subjects": {
"$id": "#/properties/subjects",
"type": "array",
"title": "Subjects teaching at this Institute",
"items": {
"type": "string"
}
},
"grades": {
"$id": "#/properties/grades",
"type": "array",
"title": "Grades Taught (per subject taught)",
"items": {
"type": "string",
"enum": [
"Pre-Pri.",
"Class I",
"Class II",
"Class III",
"Class IV",
"Class V",
"Class VI",
"Class VII",
"Class VIII",
"Class IX",
"Class X",
"Class XI",
"Class XII"
]
}
}
}
},
"EducationType": {
"type": "object",
"properties": {
"institute": {
"$id": "#/properties/institute",
"type": "string",
"title": "Institute Name"
},
"board": {
"$id": "#/properties/board",
"type": "string",
"title": "Board of Education"
},
"medium": {
"$id": "#/properties/program",
"type": "string",
"title": "Medium of Education"
},
"class": {
"$id": "#/properties/graduationYear",
"type": "string",
"enum": [
"Pre-Pri.",
"Class I",
"Class II",
"Class III",
"Class IV",
"Class V",
"Class VI",
"Class VII",
"Class VIII",
"Class IX",
"Class X",
"Class XI",
"Class XII"
],
"title": "Current Enrollment Class / Std."
}
}
},
"GuardianDetails": {
"type": "object",
"properties": {
"fullName": {
"$id": "#/properties/fullName",
"type": "string",
"title": "Full Name"
},
"relation": {
"$id": "#/properties/relation",
"type": "string",
"title": "Relation type"
},
"email": {
"$ref": "#/definitions/ContactDetails/properties/email"
}
}
},
"CertificationType": {
"type": "object",
"properties": {
"institute": {
"type": "string"
},
"start": {
"type": "string",
"format": "date"
},
"end": {
"type": "string",
"format": "date"
}
}
},
"Address": {
"type": "object",
"required": [
],
"properties": {
"plot": {
"type": "string",
"title": "Plot"
},
"street": {
"type": "string",
"title": "Street"
},
"landmark": {
"type": "string",
"title": "Landmark"
},
"locality": {
"type": "string",
"title": "Locality"
},
"state": {
"type": "string",
"title": "State"
},
"district": {
"type": "string",
"title": "District"
},
"village": {
"type": "string",
"title": "Village/Town/City"
},
"pincode": {
"type": "string",
"title": "Pincode"
}
}
}
}
}
\ No newline at end of file
{
"$schema": "http://json-schema.org/draft-07/schema",
"type": "object",
"properties": {
"Institute": {
"$ref": "#/definitions/Institute"
}
},
"required": [
"Institute"
],
"title": "Institute",
"definitions": {
"Institute": {
"$id": "#/properties/Institute",
"type": "object",
"title": "The Institute Schema",
"required": [],
"properties": {
"instituteName": {
"$id": "#/properties/instituteName",
"type": "string",
"title": "Institute Name"
},
"address": {
"$ref": "Common.json/#/definitions/Address",
"title": "Address"
},
"establishmentYear": {
"$id": "#/properties/establishmentYear",
"type": "string",
"title": "Year of establishment of institute"
},
"gstnId": {
"$id": "#/properties/gstnId",
"type": "string",
"title": "GSTN ID"
},
"contactNumber": {
"$id": "#/properties/contactNumber",
"type": "string",
"title": "Landline / Mobile"
},
"email": {
"$id": "#/properties/email",
"type": "string",
"format": "email",
"title": "Email"
},
"website": {
"$id": "#/properties/website",
"type": "string",
"format": "uri",
"title": "Website"
},
"category": {
"$id": "#/properties/category",
"type": "string",
"title": "Institute Category (Primary/Secondary etc)",
"enum": [
"Primary",
"Secondary"
]
},
"schoolType": {
"$id": "#/properties/schoolType",
"type": "string",
"title": "School Type ",
"enum": [
"Boys",
"Girls",
"Co-ed"
]
},
"instituteManagement": {
"$id": "#/properties/instituteManagement",
"type": "string",
"title": "Management of institute"
},
"committee": {
"$id": "#/properties/instituteManagement",
"type": "string",
"title": "Name of Trust / Society / Managing Committee"
},
"adminName": {
"$id": "#/properties/adminName",
"type": "string",
"title": "Principal / Dean / Head - Full Name"
},
"adminEmail": {
"$id": "#/properties/adminEmail",
"type": "string",
"title": "Principal / Dean / Head - Email"
},
"adminMobile": {
"$id": "#/properties/adminMobile",
"type": "string",
"title": "Principal / Dean / Head - Mobile"
},
"affiliation": {
"type": "array",
"items": {
"$ref": "#/definitions/Affiliation"
},
"title": "Affiliation"
}
}
},
"Affiliation": {
"type": "object",
"properties": {
"medium": {
"type": "string",
"title": "Medium of Education"
},
"board": {
"type": "string",
"title": "Affiliations Board"
},
"affiliationNumber": {
"type": "string",
"title": "Affiliation Number"
},
"grantYear": {
"type": "string",
"title": "Grant year"
},
"expiryYear": {
"type": "string",
"title": "Expiry Year"
},
"classes": {
"type": "array",
"items": {
"type": "string"
},
"title": "Classes / Grades"
}
}
}
},
"_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": [
{
"property": "affiliation/[]",
"paths": [
"affiliation",
"instituteName"
],
"attestorEntity": "board-cbse",
"conditions": "(ATTESTOR#$.[*]#.contains('board-cbse'))"
}
],
"subjectJsonPath": "email"
}
}
\ No newline at end of file
{
"$schema": "http://json-schema.org/draft-07/schema",
"type": "object",
"properties": {
"Student": {
"$ref": "#/definitions/Student"
}
},
"required": [
"Student"
],
"title":"Student",
"definitions": {
"Student": {
"$id": "#/properties/Student",
"type": "object",
"title": "The Student Schema",
"required": [
],
"properties": {
"identityDetails": {
"$ref": "Common.json/#/definitions/IdentityDetails"
},
"contactDetails": {
"$ref": "Common.json/#/definitions/ContactDetails"
},
"educationDetails": {
"type": "array",
"items": {
"$ref": "Common.json/#/definitions/EducationType"
},
"title": "Education Details"
},
"guardianDetails": {
"$ref": "Common.json/#/definitions/GuardianDetails",
"title": "Guardian Details"
}
}
}
},
"_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, studentCode) is a composite index and studentName 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": [
"$.identityDetails.dob",
"$.identityDetails.identityType",
"$.identityDetails.identityValue",
"$.contactDetails.email",
"$.contactDetails.mobile",
"$.contactDetails.address.plot",
"$.contactDetails.address.street",
"$.contactDetails.address.landmark",
"$.contactDetails.address.locality"
],
"signedFields": [],
"indexFields": ["studentName"],
"uniqueIndexFields": ["identityValue"],
"systemFields": [
"_osCreatedAt",
"_osUpdatedAt",
"_osCreatedBy",
"_osUpdatedBy",
"_osAttestedData",
"_osClaimId",
"_osState"
],
"attestationAttributes": [
"educationDetails",
"nationalIdentifier"
],
"attestationPolicies": [
{
"name": "schoolId",
"additionalInput": {
"enrollmentNumber": {"type": "string"}
},
"attestationProperties": {
"name": "$.identityDetails.fullName",
"institute": "$.educationDetails[0].institute"
},
"paths": ["$.educationDetails[?(@.osid == 'PROPERTY_ID')]['institute', 'program', 'graduationYear', 'marks']", "$.identityDetails['fullName']"],
"type": "MANUAL",
"attestorEntity": "Teacher",
"conditions": "(ATTESTOR#$.experience.[*].institute#.contains(REQUESTER#$.institute#))",
"attestorPlugin": "did:internal:ClaimPluginActor?entity=Teacher",
"credentialTemplate": {}
}
],
"inviteRoles":["anonymous"],
"enableLogin": true,
"ownershipAttributes": [
{
"email":"/ContactDetails/email",
"mobile":"/ContactDetails/mobile",
"userId":"/ContactDetails/mobile"
}
]
}
}
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment