new schemas

This commit is contained in:
Cayo Puigdefabregas 2024-02-27 10:28:14 +01:00
parent 27f84c30e7
commit 1401148247
5 changed files with 92 additions and 51 deletions

View File

@ -1,5 +1,5 @@
{ {
"$id": "https://idhub.pangea.org/vc_schemas/course-credential.json", "$id": "https://idhub.pangea.org/vc_schemas/course-credential",
"$schema": "https://json-schema.org/draft/2020-12/schema", "$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "NGO Course Credential Schema", "title": "NGO Course Credential Schema",
"description": "A NGO Course Credential Schema awarded by a NGO federation and their NGO members, as proposed by Lafede.cat", "description": "A NGO Course Credential Schema awarded by a NGO federation and their NGO members, as proposed by Lafede.cat",
@ -30,44 +30,54 @@
"properties": { "properties": {
"id": { "id": {
"description": "Defines a unique identifier (DID) of the credential subject: the credential of a completed course by a student", "description": "Defines a unique identifier (DID) of the credential subject: the credential of a completed course by a student",
"type": "string" "type": "string",
"minLength": 1
}, },
"firstName": { "firstName": {
"type": "string", "type": "string",
"description": "The first name of the student" "description": "The first name of the student",
"minLength": 1
}, },
"lastName": { "lastName": {
"type": "string", "type": "string",
"description": "The family name of the student" "description": "The family name of the student",
"minLength": 1
}, },
"email": { "email": {
"type": "string", "type": "string",
"format": "email" "format": "email",
"pattern": "^\\S+@\\S+\\.\\S+$"
}, },
"personalIdentifier": { "personalIdentifier": {
"type": "string", "type": "string",
"description": "The personal identifier of the student, such as ID number" "description": "The personal identifier of the student, such as ID number",
"minLength": 1
}, },
"issuedDate": { "issuedDate": {
"type": "string", "type": "string",
"description": "The date the credential was issued", "description": "The date the credential was issued",
"format": "date" "format": "date",
"minLength": 1
}, },
"modeOfInstruction": { "modeOfInstruction": {
"type": "string", "type": "string",
"description": "The mode of instruction: online, in-person, etc." "description": "The mode of instruction: online, in-person, etc.",
"minLength": 1
}, },
"courseDuration": { "courseDuration": {
"type": "integer", "type": "integer",
"description": "The duration of the course in hours" "description": "The duration of the course in hours",
"minLength": 1
}, },
"courseDays": { "courseDays": {
"type": "integer", "type": "integer",
"description": "The number of days the course lasts" "description": "The number of days the course lasts",
"minLength": 1
}, },
"courseName": { "courseName": {
"type": "string", "type": "string",
"description": "The name of the course" "description": "The name of the course",
"minLength": 1
}, },
"courseDescription": { "courseDescription": {
"type": "string", "type": "string",
@ -103,7 +113,7 @@
"description": "The framework in which the course belongs to" "description": "The framework in which the course belongs to"
}, },
"courseCredits": { "courseCredits": {
"type": ["number", "string"], "type": "integer",
"description": "The number of (ECTS) credits awarded for the course" "description": "The number of (ECTS) credits awarded for the course"
}, },
"dateOfAssessment": { "dateOfAssessment": {

View File

@ -30,19 +30,23 @@
"properties": { "properties": {
"id": { "id": {
"description": "Defines a unique identifier of the credential subject", "description": "Defines a unique identifier of the credential subject",
"type": "string" "type": "string",
"minLength": 1
}, },
"legalName": { "legalName": {
"description": "Legal name of the operator", "description": "Legal name of the operator",
"type": "string" "type": "string",
"minLength": 1
}, },
"role": { "role": {
"description": "Role, either operator, witness, auditor", "description": "Role, either operator, witness, auditor",
"type": "string" "type": "string",
"minLength": 1
}, },
"email": { "email": {
"type": "string", "type": "string",
"format": "email" "format": "email",
"pattern": "^\\S+@\\S+\\.\\S+$"
}, },
"accreditedBy": { "accreditedBy": {
"description": "Legal name of the accrediting entity", "description": "Legal name of the accrediting entity",
@ -50,11 +54,11 @@
}, },
"operatorNumber": { "operatorNumber": {
"description": "Operator number awarded by accrediting entity", "description": "Operator number awarded by accrediting entity",
"type": ["number", "string"] "type": "string"
}, },
"limitJurisdiction": { "limitJurisdiction": {
"description": "Regional scope", "description": "Regional scope",
"type": ["number", "string"] "type": "string"
}, },
"accreditedFor": { "accreditedFor": {
"description": "Operation type: e.g. manufacture, repair, refurbishment, remanufacture, transport, dismantle, recycle, verification, audit", "description": "Operation type: e.g. manufacture, repair, refurbishment, remanufacture, transport, dismantle, recycle, verification, audit",

View File

@ -30,15 +30,18 @@
"properties": { "properties": {
"id": { "id": {
"description": "Defines a unique identifier of the credential subject", "description": "Defines a unique identifier of the credential subject",
"type": "string" "type": "string",
"minLength": 1
}, },
"federation": { "federation": {
"description": "Federation the credential subject is affiliated with", "description": "Federation the credential subject is affiliated with",
"type": "string" "type": "string",
"minLength": 1
}, },
"legalName": { "legalName": {
"description": "Legal name of the affiliated organisation", "description": "Legal name of the affiliated organisation",
"type": "string" "type": "string",
"minLength": 1
}, },
"shortName": { "shortName": {
"description": "Short name of the organisation of the affiliated organisation", "description": "Short name of the organisation of the affiliated organisation",
@ -46,7 +49,7 @@
}, },
"registrationIdentifier": { "registrationIdentifier": {
"description": "Registration identifier of the affiliated organisation", "description": "Registration identifier of the affiliated organisation",
"type": ["number", "string"] "type": "string"
}, },
"publicRegistry": { "publicRegistry": {
"description": "Registry where the affiliated organisation is registered: 'Generalitat de Catalunya', 'Ministerio del interior de España'", "description": "Registry where the affiliated organisation is registered: 'Generalitat de Catalunya', 'Ministerio del interior de España'",
@ -58,19 +61,22 @@
}, },
"postCode": { "postCode": {
"description": "Postal code of the member organisation", "description": "Postal code of the member organisation",
"type": ["number", "string"] "type": "string",
"minLength": 1
}, },
"city": { "city": {
"description": "City of the member organisation", "description": "City of the member organisation",
"type": "string" "type": "string",
"minLength": 1
}, },
"taxReference": { "taxReference": {
"description": "Tax reference as VAT registration of the member organisation", "description": "Tax reference as VAT registration of the member organisation",
"type": ["number", "string"] "type": "string"
}, },
"membershipType": { "membershipType": {
"description": "Type of membership: full / observer", "description": "Type of membership: full / observer",
"type": "string" "type": "string",
"minLength": 1
}, },
"membershipStatus": { "membershipStatus": {
"description": "Type of membership: active / suspended, etc.", "description": "Type of membership: active / suspended, etc.",
@ -78,18 +84,20 @@
}, },
"membershipId": { "membershipId": {
"description": "Membership identifier: an internal unique number or code", "description": "Membership identifier: an internal unique number or code",
"type": ["number", "string"] "type": "string"
}, },
"membershipSince": { "membershipSince": {
"type": "string", "type": "string",
"format": "date" "format": "date",
"minLength": 1
}, },
"email": { "email": {
"type": "string", "type": "string",
"format": "email" "format": "email",
"pattern": "^\\S+@\\S+\\.\\S+$"
}, },
"phone": { "phone": {
"type": ["number", "string"] "type": "string"
}, },
"website": { "website": {
"type": "string", "type": "string",
@ -101,7 +109,8 @@
}, },
"certificationDate": { "certificationDate": {
"type": "string", "type": "string",
"format": "date" "format": "date",
"minLength": 1
} }
}, },
"required": [ "required": [

View File

@ -30,56 +30,68 @@
"properties": { "properties": {
"id": { "id": {
"description": "Defines a unique identifier (DID) of the credential subject", "description": "Defines a unique identifier (DID) of the credential subject",
"type": "string" "type": "string",
"minLength": 1
}, },
"firstName": { "firstName": {
"description": "Name of the credential subject", "description": "Name of the credential subject",
"type": "string" "type": "string",
"minLength": 1
}, },
"lastName": { "lastName": {
"description": "Surname of the credential subject", "description": "Surname of the credential subject",
"type": "string" "type": "string",
"minLength": 1
}, },
"email": { "email": {
"type": "string", "type": "string",
"format": "email" "format": "email",
"pattern": "^\\S+@\\S+\\.\\S+$"
}, },
"phoneNumber": { "phoneNumber": {
"type": ["number", "string"] "type": "string"
}, },
"identityDocType": { "identityDocType": {
"description": "Type of the Identity Document of the credential subject", "description": "Type of the Identity Document of the credential subject",
"type": "string" "type": "string",
"minLength": 1
}, },
"identityNumber": { "identityNumber": {
"description": "Number of the Identity Document of the credential subject", "description": "Number of the Identity Document of the credential subject",
"type": "string" "type": "string",
"minLength": 1
}, },
"streetAddress": { "streetAddress": {
"description": "Postal address of the credential Subject", "description": "Postal address of the credential Subject",
"type": "string" "type": "string",
"minLength": 1
}, },
"socialWorkerName": { "socialWorkerName": {
"description": "Name of the social worker that support the vulnerable person/family", "description": "Name of the social worker that support the vulnerable person/family",
"type": "string" "type": "string",
"minLength": 1
}, },
"socialWorkerSurname": { "socialWorkerSurname": {
"description": "Surname of the social worker that support the vulnerable person/family", "description": "Surname of the social worker that support the vulnerable person/family",
"type": "string" "type": "string",
"minLength": 1
}, },
"financialVulnerabilityScore": { "financialVulnerabilityScore": {
"description": "Measure of an individual's susceptibility to financial hardship", "description": "Measure of an individual's susceptibility to financial hardship",
"type": ["number", "string"] "type": "string",
"minLength": 1
}, },
"amountCoveredByOtherAids": { "amountCoveredByOtherAids": {
"type": ["number", "string"] "type": "string",
"minLength": 1
}, },
"connectivityOptionList": { "connectivityOptionList": {
"type": "string" "type": "string"
}, },
"assessmentDate": { "assessmentDate": {
"type": "string", "type": "string",
"format": "date" "format": "date",
"minLength": 1
} }
}, },
"required": [ "required": [

View File

@ -30,11 +30,13 @@
"properties": { "properties": {
"id": { "id": {
"description": "Defines a unique identifier of the credential subject", "description": "Defines a unique identifier of the credential subject",
"type": "string" "type": "string",
"minLength": 1
}, },
"organisation": { "organisation": {
"description": "Organisation the credential subject is affiliated with", "description": "Organisation the credential subject is affiliated with",
"type": "string" "type": "string",
"minLength": 1
}, },
"membershipType": { "membershipType": {
"description": "Type of membership", "description": "Type of membership",
@ -42,11 +44,12 @@
}, },
"membershipId": { "membershipId": {
"description": "Membership identifier", "description": "Membership identifier",
"type": ["number", "string"] "type": "string"
}, },
"affiliatedSince": { "affiliatedSince": {
"type": "string", "type": "string",
"format": "date" "format": "date",
"minLength": 1
}, },
"affiliatedUntil": { "affiliatedUntil": {
"type": "string", "type": "string",
@ -57,7 +60,8 @@
"enum": [ "enum": [
"natural", "natural",
"legal" "legal"
] ],
"minLength": 1
}, },
"identityDocType": { "identityDocType": {
"description": "Type of the Identity Document of the credential subject", "description": "Type of the Identity Document of the credential subject",
@ -69,7 +73,8 @@
}, },
"firstName": { "firstName": {
"description": "Name of the natural person or name of the legal person (organisation)", "description": "Name of the natural person or name of the legal person (organisation)",
"type": "string" "type": "string",
"minLength": 1
}, },
"lastName": { "lastName": {
"type": "string" "type": "string"
@ -79,7 +84,8 @@
}, },
"email": { "email": {
"type": "string", "type": "string",
"format": "email" "format": "email",
"pattern": "^\\S+@\\S+\\.\\S+$"
} }
}, },
"required": [ "required": [