@velocitycareerlabs/libapp 1.25.0-dev-build.1c2d6340d → 1.25.0-dev-build.1e7340754
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/display-descriptors/MultiLicensev1.0.descriptor.json +140 -0
- package/display-descriptors/assessment-dec2020.descriptor.json +147 -0
- package/display-descriptors/assessment-dimension.descriptor.json +175 -0
- package/display-descriptors/assessment-v1.0.descriptor.json +267 -0
- package/display-descriptors/assessment-v1.1.descriptor.json +307 -0
- package/display-descriptors/badge-v1.1.descriptor.json +170 -0
- package/display-descriptors/badge.descriptor.json +143 -0
- package/display-descriptors/certification-v1.0.descriptor.json +140 -0
- package/display-descriptors/certification-v1.1.descriptor.json +190 -0
- package/display-descriptors/certification.descriptor.json +99 -0
- package/display-descriptors/clr.descriptor.json +123 -0
- package/display-descriptors/course-attendance-v1.0.descriptor.json +182 -0
- package/display-descriptors/course-attendance-v1.1.descriptor.json +242 -0
- package/display-descriptors/course-completion-v1.0.descriptor.json +192 -0
- package/display-descriptors/course-completion-v1.1.descriptor.json +253 -0
- package/display-descriptors/course-registration-v1.0.descriptor.json +151 -0
- package/display-descriptors/course-registration-v1.1.descriptor.json +181 -0
- package/display-descriptors/course.descriptor.json +150 -0
- package/display-descriptors/current-employment-position.descriptor.json +120 -0
- package/display-descriptors/drivers-license-v1.0.descriptor.json +261 -0
- package/display-descriptors/drivers-license-v1.1.descriptor.json +261 -0
- package/display-descriptors/education-degree-graduation-v1.0.descriptor.json +233 -0
- package/display-descriptors/education-degree-registration-v1.0.descriptor.json +171 -0
- package/display-descriptors/education-degree-registration-v1.1.descriptor.json +200 -0
- package/display-descriptors/education-degree-study-v1.0.descriptor.json +212 -0
- package/display-descriptors/education-degree-study-v1.1.descriptor.json +241 -0
- package/display-descriptors/education-degree.descriptor.json +110 -0
- package/display-descriptors/email-v1.1.descriptor.json +19 -0
- package/display-descriptors/email.descriptor.json +16 -0
- package/display-descriptors/employment-current-v1.0.descriptor.json +140 -0
- package/display-descriptors/employment-past-v1.0.descriptor.json +151 -0
- package/display-descriptors/employment-past-v1.1.descriptor.json +200 -0
- package/display-descriptors/en/MultiLicensev1.0.descriptor.json +140 -0
- package/display-descriptors/en/assessment-dec2020.descriptor.json +147 -0
- package/display-descriptors/en/assessment-dimension.descriptor.json +175 -0
- package/display-descriptors/en/assessment-v1.0.descriptor.json +267 -0
- package/display-descriptors/en/assessment-v1.1.descriptor.json +307 -0
- package/display-descriptors/en/badge-v1.1.descriptor.json +170 -0
- package/display-descriptors/en/badge.descriptor.json +143 -0
- package/display-descriptors/en/certification-v1.0.descriptor.json +140 -0
- package/display-descriptors/en/certification-v1.1.descriptor.json +190 -0
- package/display-descriptors/en/certification.descriptor.json +99 -0
- package/display-descriptors/en/clr.descriptor.json +123 -0
- package/display-descriptors/en/course-attendance-v1.0.descriptor.json +182 -0
- package/display-descriptors/en/course-attendance-v1.1.descriptor.json +242 -0
- package/display-descriptors/en/course-completion-v1.0.descriptor.json +192 -0
- package/display-descriptors/en/course-completion-v1.1.descriptor.json +253 -0
- package/display-descriptors/en/course-registration-v1.0.descriptor.json +151 -0
- package/display-descriptors/en/course-registration-v1.1.descriptor.json +181 -0
- package/display-descriptors/en/course.descriptor.json +150 -0
- package/display-descriptors/en/current-employment-position.descriptor.json +120 -0
- package/display-descriptors/en/drivers-license-v1.0.descriptor.json +261 -0
- package/display-descriptors/en/drivers-license-v1.1.descriptor.json +261 -0
- package/display-descriptors/en/education-degree-graduation-v1.0.descriptor.json +233 -0
- package/display-descriptors/en/education-degree-registration-v1.0.descriptor.json +171 -0
- package/display-descriptors/en/education-degree-registration-v1.1.descriptor.json +200 -0
- package/display-descriptors/en/education-degree-study-v1.0.descriptor.json +212 -0
- package/display-descriptors/en/education-degree-study-v1.1.descriptor.json +241 -0
- package/display-descriptors/en/education-degree.descriptor.json +110 -0
- package/display-descriptors/en/email-v1.1.descriptor.json +19 -0
- package/display-descriptors/en/email.descriptor.json +16 -0
- package/display-descriptors/en/employment-current-v1.0.descriptor.json +140 -0
- package/display-descriptors/en/employment-past-v1.0.descriptor.json +151 -0
- package/display-descriptors/en/employment-past-v1.1.descriptor.json +200 -0
- package/display-descriptors/en/id-document-v1.0.descriptor.json +258 -0
- package/display-descriptors/en/id-document-v1.1.descriptor.json +258 -0
- package/display-descriptors/en/id-document.descriptor.json +152 -0
- package/display-descriptors/en/license-v1.0.descriptor.json +172 -0
- package/display-descriptors/en/license-v1.1.descriptor.json +210 -0
- package/display-descriptors/en/national-id-card-v1.0.descriptor.json +258 -0
- package/display-descriptors/en/national-id-card-v1.1.descriptor.json +268 -0
- package/display-descriptors/en/open-badge-v1.0.descriptor.json +140 -0
- package/display-descriptors/en/open-badge-v2.0.descriptor.json +121 -0
- package/display-descriptors/en/passport-v1.0.descriptor.json +229 -0
- package/display-descriptors/en/passport-v1.1.descriptor.json +239 -0
- package/display-descriptors/en/past-employment-position.descriptor.json +131 -0
- package/display-descriptors/en/phone-v1.0.descriptor.json +18 -0
- package/display-descriptors/en/phone-v1.1.descriptor.json +18 -0
- package/display-descriptors/en/phone.descriptor.json +15 -0
- package/display-descriptors/en/proof-of-age-v1.0.descriptor.json +258 -0
- package/display-descriptors/en/proof-of-age-v1.1.descriptor.json +268 -0
- package/display-descriptors/en/resident-permit-v1.0.descriptor.json +258 -0
- package/display-descriptors/en/resident-permit-v1.1.descriptor.json +268 -0
- package/display-descriptors/id-document-v1.0.descriptor.json +258 -0
- package/display-descriptors/id-document-v1.1.descriptor.json +258 -0
- package/display-descriptors/id-document.descriptor.json +152 -0
- package/display-descriptors/license-v1.0.descriptor.json +172 -0
- package/display-descriptors/license-v1.1.descriptor.json +210 -0
- package/display-descriptors/national-id-card-v1.0.descriptor.json +258 -0
- package/display-descriptors/national-id-card-v1.1.descriptor.json +268 -0
- package/display-descriptors/open-badge-v1.0.descriptor.json +140 -0
- package/display-descriptors/open-badge-v2.0.descriptor.json +121 -0
- package/display-descriptors/passport-v1.0.descriptor.json +229 -0
- package/display-descriptors/passport-v1.1.descriptor.json +239 -0
- package/display-descriptors/past-employment-position.descriptor.json +131 -0
- package/display-descriptors/phone-v1.0.descriptor.json +18 -0
- package/display-descriptors/phone-v1.1.descriptor.json +18 -0
- package/display-descriptors/phone.descriptor.json +15 -0
- package/display-descriptors/proof-of-age-v1.0.descriptor.json +258 -0
- package/display-descriptors/proof-of-age-v1.1.descriptor.json +268 -0
- package/display-descriptors/resident-permit-v1.0.descriptor.json +258 -0
- package/display-descriptors/resident-permit-v1.1.descriptor.json +268 -0
- package/form-schemas/AssessmentV1.0.form-schema.json +64 -0
- package/form-schemas/AssessmentV1.1.form-schema.json +89 -0
- package/form-schemas/BadgeV1.1.form-schema.json +72 -0
- package/form-schemas/CertificationV1.0.form-schema.json +84 -0
- package/form-schemas/CertificationV1.1.form-schema.json +109 -0
- package/form-schemas/CourseAttendanceV1.0.form-schema.json +76 -0
- package/form-schemas/CourseAttendanceV1.1.form-schema.json +101 -0
- package/form-schemas/CourseCompletionV1.0.form-schema.json +81 -0
- package/form-schemas/CourseCompletionV1.1.form-schema.json +106 -0
- package/form-schemas/CourseRegistrationV1.0.form-schema.json +56 -0
- package/form-schemas/CourseRegistrationV1.1.form-schema.json +81 -0
- package/form-schemas/DriversLicenseV1.0.form-schema.json +199 -0
- package/form-schemas/DriversLicenseV1.1.form-schema.json +199 -0
- package/form-schemas/EducationDegreeGraduationV1.0.form-schema.json +101 -0
- package/form-schemas/EducationDegreeRegistrationV1.0.form-schema.json +67 -0
- package/form-schemas/EducationDegreeRegistrationV1.1.form-schema.json +92 -0
- package/form-schemas/EducationDegreeStudyV1.0.form-schema.json +92 -0
- package/form-schemas/EducationDegreeStudyV1.1.form-schema.json +117 -0
- package/form-schemas/EmploymentCurrentV1.0.form-schema.json +70 -0
- package/form-schemas/EmploymentPastV1.0.form-schema.json +75 -0
- package/form-schemas/EmploymentPastV1.1.form-schema.json +101 -0
- package/form-schemas/IdDocumentV1.0.form-schema.json +180 -0
- package/form-schemas/IdDocumentV1.1.form-schema.json +180 -0
- package/form-schemas/LicenseV1.0.form-schema.json +92 -0
- package/form-schemas/LicenseV1.1.form-schema.json +117 -0
- package/form-schemas/NationalIdCardV1.0.form-schema.json +176 -0
- package/form-schemas/NationalIdCardV1.1.form-schema.json +176 -0
- package/form-schemas/OpenBadgeV1.0.form-schema.json +44 -0
- package/form-schemas/OpenBadgeV2.0.form-schema.json +44 -0
- package/form-schemas/PassportV1.0.form-schema.json +141 -0
- package/form-schemas/PassportV1.1.form-schema.json +141 -0
- package/form-schemas/PhoneV1.0.form-schema.json +5 -0
- package/form-schemas/PhoneV1.1.form-schema.json +5 -0
- package/form-schemas/ProofOfAgeV1.0.form-schema.json +176 -0
- package/form-schemas/ProofOfAgeV1.1.form-schema.json +176 -0
- package/form-schemas/ResidentPermitV1.0.form-schema.json +176 -0
- package/form-schemas/ResidentPermitV1.1.form-schema.json +176 -0
- package/form-schemas/en/AssessmentV1.0.form-schema.json +64 -0
- package/form-schemas/en/AssessmentV1.1.form-schema.json +89 -0
- package/form-schemas/en/BadgeV1.1.form-schema.json +72 -0
- package/form-schemas/en/CertificationV1.0.form-schema.json +84 -0
- package/form-schemas/en/CertificationV1.1.form-schema.json +109 -0
- package/form-schemas/en/CourseAttendanceV1.0.form-schema.json +76 -0
- package/form-schemas/en/CourseAttendanceV1.1.form-schema.json +101 -0
- package/form-schemas/en/CourseCompletionV1.0.form-schema.json +81 -0
- package/form-schemas/en/CourseCompletionV1.1.form-schema.json +106 -0
- package/form-schemas/en/CourseRegistrationV1.0.form-schema.json +56 -0
- package/form-schemas/en/CourseRegistrationV1.1.form-schema.json +81 -0
- package/form-schemas/en/DriversLicenseV1.0.form-schema.json +199 -0
- package/form-schemas/en/DriversLicenseV1.1.form-schema.json +199 -0
- package/form-schemas/en/EducationDegreeGraduationV1.0.form-schema.json +101 -0
- package/form-schemas/en/EducationDegreeRegistrationV1.0.form-schema.json +67 -0
- package/form-schemas/en/EducationDegreeRegistrationV1.1.form-schema.json +92 -0
- package/form-schemas/en/EducationDegreeStudyV1.0.form-schema.json +92 -0
- package/form-schemas/en/EducationDegreeStudyV1.1.form-schema.json +117 -0
- package/form-schemas/en/EmploymentCurrentV1.0.form-schema.json +70 -0
- package/form-schemas/en/EmploymentPastV1.0.form-schema.json +75 -0
- package/form-schemas/en/EmploymentPastV1.1.form-schema.json +101 -0
- package/form-schemas/en/IdDocumentV1.0.form-schema.json +180 -0
- package/form-schemas/en/IdDocumentV1.1.form-schema.json +180 -0
- package/form-schemas/en/LicenseV1.0.form-schema.json +92 -0
- package/form-schemas/en/LicenseV1.1.form-schema.json +117 -0
- package/form-schemas/en/NationalIdCardV1.0.form-schema.json +176 -0
- package/form-schemas/en/NationalIdCardV1.1.form-schema.json +176 -0
- package/form-schemas/en/OpenBadgeV1.0.form-schema.json +44 -0
- package/form-schemas/en/OpenBadgeV2.0.form-schema.json +44 -0
- package/form-schemas/en/PassportV1.0.form-schema.json +141 -0
- package/form-schemas/en/PassportV1.1.form-schema.json +141 -0
- package/form-schemas/en/PhoneV1.0.form-schema.json +5 -0
- package/form-schemas/en/PhoneV1.1.form-schema.json +5 -0
- package/form-schemas/en/ProofOfAgeV1.0.form-schema.json +176 -0
- package/form-schemas/en/ProofOfAgeV1.1.form-schema.json +176 -0
- package/form-schemas/en/ResidentPermitV1.0.form-schema.json +176 -0
- package/form-schemas/en/ResidentPermitV1.1.form-schema.json +176 -0
- package/package.json +2 -2
- package/schemas/MultiLicenseV1.0.json +997 -0
- package/schemas/assessment-v1.0.schema.json +314 -0
- package/schemas/assessment-v1.1.schema.json +360 -0
- package/schemas/assessment.schema.json +154 -0
- package/schemas/badge-v1.1.schema.json +243 -0
- package/schemas/badge.schema.json +152 -0
- package/schemas/certification-v1.0.schema.json +233 -0
- package/schemas/certification-v1.1.schema.json +277 -0
- package/schemas/certification.schema.json +149 -0
- package/schemas/clr-subject.schema.json +2247 -0
- package/schemas/clr.schema.json +1565 -0
- package/schemas/course-attendance-v1.0.schema.json +300 -0
- package/schemas/course-attendance-v1.1.schema.json +346 -0
- package/schemas/course-completion-v1.0.schema.json +303 -0
- package/schemas/course-completion-v1.1.schema.json +349 -0
- package/schemas/course-registration-v1.0.schema.json +219 -0
- package/schemas/course-registration-v1.1.schema.json +271 -0
- package/schemas/course.schema.json +140 -0
- package/schemas/current-employment-position.schema.json +145 -0
- package/schemas/drivers-license-v1.0.schema.json +333 -0
- package/schemas/education-degree-graduation-v1.0.schema.json +320 -0
- package/schemas/education-degree-registration-v1.0.schema.json +228 -0
- package/schemas/education-degree-registration-v1.1.schema.json +279 -0
- package/schemas/education-degree-study-v1.0.schema.json +311 -0
- package/schemas/education-degree-study-v1.1.schema.json +357 -0
- package/schemas/education-degree.schema.json +161 -0
- package/schemas/email.schema.json +19 -0
- package/schemas/employment-current-v1.0.schema.json +216 -0
- package/schemas/employment-past-v1.0.schema.json +220 -0
- package/schemas/employment-past-v1.1.schema.json +271 -0
- package/schemas/id-document-v1.0.schema.json +278 -0
- package/schemas/id-document.schema.json +169 -0
- package/schemas/license-v1.0.schema.json +252 -0
- package/schemas/license-v1.1.schema.json +296 -0
- package/schemas/license.schema.json +261 -0
- package/schemas/national-id-card-v1.0.schema.json +272 -0
- package/schemas/open-badge-v1.0.schema.json +176 -0
- package/schemas/open-badge-v2.0.schema.json +348 -0
- package/schemas/passport-v1.0.schema.json +235 -0
- package/schemas/past-employment-position.schema.json +149 -0
- package/schemas/phone-v1.0.schema.json +45 -0
- package/schemas/phone.schema.json +19 -0
- package/schemas/proof-of-age-v1.0.schema.json +272 -0
- package/schemas/resident-permit-v1.0.schema.json +272 -0
- package/docker/compose.yml +0 -9
- package/docker/nginx.conf +0 -9
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Open Badge",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"description": "Badge",
|
|
5
|
+
"$id": "https://velocitynetwork.foundation/schemas/open-badge-v2.0",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"definitions": {
|
|
8
|
+
"obiProfile": {
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"id": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"format": "uri",
|
|
14
|
+
"description": "Unique IRI for the Issuer/Profile file. Most platforms to date can only handle HTTP-based IRIs such as https://example.com/profiles/alice",
|
|
15
|
+
"maxLength": 2048
|
|
16
|
+
},
|
|
17
|
+
"type": {
|
|
18
|
+
"oneOf": [
|
|
19
|
+
{
|
|
20
|
+
"type": "string",
|
|
21
|
+
"enum": [
|
|
22
|
+
"Profile",
|
|
23
|
+
"Issuer"
|
|
24
|
+
],
|
|
25
|
+
"minLength": 1,
|
|
26
|
+
"maxLength": 64
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"type": "array",
|
|
30
|
+
"minItems": 1,
|
|
31
|
+
"items": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"minLength": 1,
|
|
34
|
+
"maxLength": 64
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
"description": "Valid JSON-LD representation of the Issuer or Profile type. In most cases, this will simply be the string Issuer or the more general Profile. An array including Issuer and other string elements that are either URLs or compact IRIs within the current context are allowed."
|
|
39
|
+
},
|
|
40
|
+
"name": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"description": "The name of the entity or organization",
|
|
43
|
+
"minLength": 1,
|
|
44
|
+
"maxLength": 128
|
|
45
|
+
},
|
|
46
|
+
"description": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"description": "A short description of the issuer entity or organization.\n",
|
|
49
|
+
"minLength": 1,
|
|
50
|
+
"maxLength": 2048
|
|
51
|
+
},
|
|
52
|
+
"image": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"format": "uri",
|
|
55
|
+
"description": "IRI or document representing an image of the issuer. This must be a PNG or SVG image",
|
|
56
|
+
"maxLength": 2048
|
|
57
|
+
},
|
|
58
|
+
"url": {
|
|
59
|
+
"type": "string",
|
|
60
|
+
"description": "The homepage or social media profile of the entity, whether individual or institutional. Should be a URL/URI Accessible via HTTP. ",
|
|
61
|
+
"format": "uri",
|
|
62
|
+
"maxLength": 2048
|
|
63
|
+
},
|
|
64
|
+
"telephone": {
|
|
65
|
+
"type": "string",
|
|
66
|
+
"pattern": "^\\+[1-9]\\d{1,14}$",
|
|
67
|
+
"minLength": 8,
|
|
68
|
+
"maxLength": 15,
|
|
69
|
+
"description": "A phone number for the entity. For maximum compatibility, the value should be expressed as a + and country code followed by the number with no spaces or other punctuation, like +16175551212 (E.164 format)."
|
|
70
|
+
},
|
|
71
|
+
"email": {
|
|
72
|
+
"type": "string",
|
|
73
|
+
"format": "email",
|
|
74
|
+
"description": "Contact address for the individual or organization."
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
"description": "Organization profile information is stored on Velocity Network registrar making most of this information redundant. a wallet may not show this information to the user in favour of the latest information on Velocity Network Registrar. Regular open badges also permit inclusion of `verification`, `publicKey` and `revocationList` properties which are not necessary when using standards aligned verifiable credentials on the velocity network. In particular only signed badges are supported and credentials are not signed using an organizations public key. revocation lists are handled on-chain",
|
|
78
|
+
"required": [
|
|
79
|
+
"id",
|
|
80
|
+
"type"
|
|
81
|
+
],
|
|
82
|
+
"additionalProperties": false
|
|
83
|
+
},
|
|
84
|
+
"Json-ld-context_Schema": {
|
|
85
|
+
"title": "json-ld-context",
|
|
86
|
+
"oneOf": [
|
|
87
|
+
{
|
|
88
|
+
"type": "string",
|
|
89
|
+
"maxLength": 2048
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"type": "array",
|
|
93
|
+
"minItems": 1,
|
|
94
|
+
"items": {
|
|
95
|
+
"type": "string",
|
|
96
|
+
"maxLength": 2048
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"description": "Simplified context for Velocity Publishers to Use"
|
|
101
|
+
},
|
|
102
|
+
"Alignment_Schema": {
|
|
103
|
+
"title": "Alignment",
|
|
104
|
+
"type": "object",
|
|
105
|
+
"additionalProperties": false,
|
|
106
|
+
"properties": {
|
|
107
|
+
"type": {
|
|
108
|
+
"type": "string",
|
|
109
|
+
"default": "AlignmentObject"
|
|
110
|
+
},
|
|
111
|
+
"targetName": {
|
|
112
|
+
"type": "string",
|
|
113
|
+
"description": "Name of the target alignment.",
|
|
114
|
+
"maxLength": 256
|
|
115
|
+
},
|
|
116
|
+
"targetUrl": {
|
|
117
|
+
"type": "string",
|
|
118
|
+
"format": "uri",
|
|
119
|
+
"description": "URL of the target alignment. ",
|
|
120
|
+
"maxLength": 2048
|
|
121
|
+
},
|
|
122
|
+
"targetDescription": {
|
|
123
|
+
"type": "string",
|
|
124
|
+
"description": "Detailed description of the target alignment. ",
|
|
125
|
+
"maxLength": 2048
|
|
126
|
+
},
|
|
127
|
+
"targetCode": {
|
|
128
|
+
"type": "string",
|
|
129
|
+
"description": "Code of the target alignment. ",
|
|
130
|
+
"maxLength": 256
|
|
131
|
+
},
|
|
132
|
+
"targetFramework": {
|
|
133
|
+
"type": "string",
|
|
134
|
+
"description": "The framework to which the target belongs. ",
|
|
135
|
+
"maxLength": 256
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
"required": [
|
|
139
|
+
"targetName",
|
|
140
|
+
"targetUrl"
|
|
141
|
+
]
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
"additionalProperties": false,
|
|
145
|
+
"properties": {
|
|
146
|
+
"@context": {
|
|
147
|
+
"$ref": "#/definitions/Json-ld-context_Schema"
|
|
148
|
+
},
|
|
149
|
+
"type": {
|
|
150
|
+
"type": "string",
|
|
151
|
+
"default": "Badge"
|
|
152
|
+
},
|
|
153
|
+
"hasCredential": {
|
|
154
|
+
"type": "object",
|
|
155
|
+
"required": [
|
|
156
|
+
"type",
|
|
157
|
+
"name",
|
|
158
|
+
"description",
|
|
159
|
+
"image",
|
|
160
|
+
"criteria",
|
|
161
|
+
"issuer"
|
|
162
|
+
],
|
|
163
|
+
"properties": {
|
|
164
|
+
"@context": {
|
|
165
|
+
"oneOf": [
|
|
166
|
+
{
|
|
167
|
+
"type": "string",
|
|
168
|
+
"default": "https://openbadgespec.org/v2/context.json"
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"type": "array",
|
|
172
|
+
"items": {
|
|
173
|
+
"type": "string"
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
]
|
|
177
|
+
},
|
|
178
|
+
"type": {
|
|
179
|
+
"oneOf": [
|
|
180
|
+
{
|
|
181
|
+
"type": "string",
|
|
182
|
+
"default": "BadgeClass",
|
|
183
|
+
"maxLength": 64
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"type": "array",
|
|
187
|
+
"minItems": 1,
|
|
188
|
+
"items": {
|
|
189
|
+
"type": "string",
|
|
190
|
+
"maxLength": 64
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
],
|
|
194
|
+
"description": "valid JSON-LD representation of the BadgeClass type. In most cases, this will simply be the string BadgeClass. An array including BadgeClass and other string elements that are either URLs or compact IRIs within the current context are allowed."
|
|
195
|
+
},
|
|
196
|
+
"id": {
|
|
197
|
+
"type": "string",
|
|
198
|
+
"format": "uri",
|
|
199
|
+
"description": "Unique IRI for the BadgeClass. Most platforms to date can only handle HTTP-based IRIs. Issuers using signed assertions are encouraged to publish BadgeClasses using HTTP IRIs but may instead use ephemeral BadgeClasses that use an id in another scheme such as urn:uuid.",
|
|
200
|
+
"maxLength": 2048
|
|
201
|
+
},
|
|
202
|
+
"name": {
|
|
203
|
+
"type": "string",
|
|
204
|
+
"maxLength": 128,
|
|
205
|
+
"description": "The name of the achievement."
|
|
206
|
+
},
|
|
207
|
+
"description": {
|
|
208
|
+
"type": "string",
|
|
209
|
+
"maxLength": 2048,
|
|
210
|
+
"description": "A short description of the achievement."
|
|
211
|
+
},
|
|
212
|
+
"image": {
|
|
213
|
+
"oneOf": [
|
|
214
|
+
{
|
|
215
|
+
"type": "string",
|
|
216
|
+
"format": "uri",
|
|
217
|
+
"description": "IRI or document representing an image of the achievement. This must be a PNG or SVG image.",
|
|
218
|
+
"maxLength": 2048
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"type": "object",
|
|
222
|
+
"required": [
|
|
223
|
+
"id"
|
|
224
|
+
],
|
|
225
|
+
"properties": {
|
|
226
|
+
"type": {
|
|
227
|
+
"oneOf": [
|
|
228
|
+
{
|
|
229
|
+
"type": "string",
|
|
230
|
+
"default": "ImageObject",
|
|
231
|
+
"maxLength": 64
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
"type": "array",
|
|
235
|
+
"minItems": 1,
|
|
236
|
+
"items": {
|
|
237
|
+
"type": "string",
|
|
238
|
+
"maxLength": 64
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
],
|
|
242
|
+
"description": "Defaults to schema:ImageObject."
|
|
243
|
+
},
|
|
244
|
+
"id": {
|
|
245
|
+
"type": "string",
|
|
246
|
+
"format": "uri",
|
|
247
|
+
"description": "The URI or Data URI of the image.",
|
|
248
|
+
"maxLength": 2048
|
|
249
|
+
},
|
|
250
|
+
"caption": {
|
|
251
|
+
"type": "string",
|
|
252
|
+
"description": "The caption for the image",
|
|
253
|
+
"maxLength": 256
|
|
254
|
+
},
|
|
255
|
+
"author": {
|
|
256
|
+
"oneOf": [
|
|
257
|
+
{
|
|
258
|
+
"type": "string",
|
|
259
|
+
"format": "uri",
|
|
260
|
+
"maxLength": 2048
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
"$ref": "#/definitions/obiProfile"
|
|
264
|
+
}
|
|
265
|
+
]
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
]
|
|
270
|
+
},
|
|
271
|
+
"criteria": {
|
|
272
|
+
"oneOf": [
|
|
273
|
+
{
|
|
274
|
+
"type": "string",
|
|
275
|
+
"description": "Unique URI for a webpage that describes in a human-readable format the criteria for the BadgeClass such as https://example.org/robotics-badge.html",
|
|
276
|
+
"format": "uri",
|
|
277
|
+
"maxLength": 2048
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"type": "object",
|
|
281
|
+
"properties": {
|
|
282
|
+
"id": {
|
|
283
|
+
"type": "string",
|
|
284
|
+
"format": "uri",
|
|
285
|
+
"description": "Unique URI for a webpage that describes in a human-readable format the criteria for the BadgeClass.",
|
|
286
|
+
"maxLength": 2048
|
|
287
|
+
},
|
|
288
|
+
"type": {
|
|
289
|
+
"type": "string",
|
|
290
|
+
"description": "JSON-LD type. Defaults to criteria.",
|
|
291
|
+
"default": "Criteria",
|
|
292
|
+
"maxLength": 32
|
|
293
|
+
},
|
|
294
|
+
"narrative": {
|
|
295
|
+
"type": "string",
|
|
296
|
+
"maxLength": 2048
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
]
|
|
301
|
+
},
|
|
302
|
+
"issuer": {
|
|
303
|
+
"oneOf": [
|
|
304
|
+
{
|
|
305
|
+
"type": "string",
|
|
306
|
+
"format": "uri",
|
|
307
|
+
"maxLength": 2048
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
"$ref": "#/definitions/obiProfile"
|
|
311
|
+
}
|
|
312
|
+
],
|
|
313
|
+
"description": "The organization that issued the badge. On Velocity Network this should be DID"
|
|
314
|
+
},
|
|
315
|
+
"alignment": {
|
|
316
|
+
"type": "array",
|
|
317
|
+
"description": "An array of objects describing which objectives or educational standards this badge aligns to, if any. Unlike Open Badge v2.1 must ALWAYS be defined in an array",
|
|
318
|
+
"minItems": 1,
|
|
319
|
+
"items": {
|
|
320
|
+
"$ref": "#/definitions/Alignment_Schema"
|
|
321
|
+
}
|
|
322
|
+
},
|
|
323
|
+
"tags": {
|
|
324
|
+
"oneOf": [
|
|
325
|
+
{
|
|
326
|
+
"type": "string",
|
|
327
|
+
"minLength": 1,
|
|
328
|
+
"maxLength": 64
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
"type": "array",
|
|
332
|
+
"minItems": 1,
|
|
333
|
+
"items": {
|
|
334
|
+
"type": "string",
|
|
335
|
+
"minLength": 1,
|
|
336
|
+
"maxLength": 64
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
],
|
|
340
|
+
"description": "Tags that describes the type of achievement."
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
},
|
|
345
|
+
"required": [
|
|
346
|
+
"hasCredential"
|
|
347
|
+
]
|
|
348
|
+
}
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Passport",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"$id": "https://velocitynetwork.foundation/schemas/passport-v1.0",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"properties": {
|
|
8
|
+
"@context": {
|
|
9
|
+
"$ref": "#/definitions/Json-ld-context_Schema"
|
|
10
|
+
},
|
|
11
|
+
"type": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"default": "Passport"
|
|
14
|
+
},
|
|
15
|
+
"documentCode": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"pattern": "^P[A-Z]?$",
|
|
18
|
+
"description": "The type of passport. The letter P + an optional additional letter to indicate type, e.g. diplomatic. \nOne additional capital letter may be used, in the\ncharacter position after the letter P and at the discretion of the issuing State or organization.",
|
|
19
|
+
"maxLength": 2
|
|
20
|
+
},
|
|
21
|
+
"authority": {
|
|
22
|
+
"$ref": "#/definitions/Organization_Schema"
|
|
23
|
+
},
|
|
24
|
+
"validity": {
|
|
25
|
+
"$ref": "#/definitions/Validity_Schema"
|
|
26
|
+
},
|
|
27
|
+
"person": {
|
|
28
|
+
"$ref": "#/definitions/Person_Schema"
|
|
29
|
+
},
|
|
30
|
+
"identifier": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"description": "The passport number.",
|
|
33
|
+
"maxLength": 64
|
|
34
|
+
},
|
|
35
|
+
"nationality": {
|
|
36
|
+
"type": "string",
|
|
37
|
+
"pattern": "^[A-Z]{2}$",
|
|
38
|
+
"description": "The nationality of the person holding the passport.",
|
|
39
|
+
"maxLength": 2
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"required": [
|
|
43
|
+
"documentCode",
|
|
44
|
+
"authority",
|
|
45
|
+
"identifier",
|
|
46
|
+
"person"
|
|
47
|
+
],
|
|
48
|
+
"definitions": {
|
|
49
|
+
"Json-ld-context_Schema": {
|
|
50
|
+
"title": "json-ld-context",
|
|
51
|
+
"oneOf": [
|
|
52
|
+
{
|
|
53
|
+
"type": "string",
|
|
54
|
+
"maxLength": 2048
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"type": "array",
|
|
58
|
+
"minItems": 1,
|
|
59
|
+
"items": {
|
|
60
|
+
"type": "string",
|
|
61
|
+
"maxLength": 2048
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
],
|
|
65
|
+
"description": "Simplified context for Velocity Publishers to Use"
|
|
66
|
+
},
|
|
67
|
+
"Did_Schema": {
|
|
68
|
+
"title": "DID",
|
|
69
|
+
"type": "string",
|
|
70
|
+
"pattern": "^did:[a-z0-9]+:[A-Za-z0-9._:?=&%;-]+$"
|
|
71
|
+
},
|
|
72
|
+
"Organization_Schema": {
|
|
73
|
+
"title": "Organization",
|
|
74
|
+
"type": "object",
|
|
75
|
+
"additionalProperties": false,
|
|
76
|
+
"properties": {
|
|
77
|
+
"type": {
|
|
78
|
+
"type": "string",
|
|
79
|
+
"default": "Organization"
|
|
80
|
+
},
|
|
81
|
+
"name": {
|
|
82
|
+
"type": "string",
|
|
83
|
+
"description": "The name of the organization.",
|
|
84
|
+
"maxLength": 256
|
|
85
|
+
},
|
|
86
|
+
"identifier": {
|
|
87
|
+
"$ref": "#/definitions/Did_Schema"
|
|
88
|
+
},
|
|
89
|
+
"place": {
|
|
90
|
+
"$ref": "#/definitions/Place_Schema"
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"required": [
|
|
94
|
+
"name",
|
|
95
|
+
"place"
|
|
96
|
+
]
|
|
97
|
+
},
|
|
98
|
+
"Person_Schema": {
|
|
99
|
+
"title": "Person",
|
|
100
|
+
"type": "object",
|
|
101
|
+
"additionalProperties": false,
|
|
102
|
+
"properties": {
|
|
103
|
+
"type": {
|
|
104
|
+
"type": "string",
|
|
105
|
+
"default": "Person"
|
|
106
|
+
},
|
|
107
|
+
"givenName": {
|
|
108
|
+
"type": "string",
|
|
109
|
+
"description": "The given name or first name of the person.",
|
|
110
|
+
"maxLength": 64
|
|
111
|
+
},
|
|
112
|
+
"familyName": {
|
|
113
|
+
"type": "string",
|
|
114
|
+
"description": "The family name or surname of the person.",
|
|
115
|
+
"maxLength": 64
|
|
116
|
+
},
|
|
117
|
+
"middleName": {
|
|
118
|
+
"type": "string",
|
|
119
|
+
"description": "The middle name of the person.",
|
|
120
|
+
"maxLength": 256
|
|
121
|
+
},
|
|
122
|
+
"namePrefix": {
|
|
123
|
+
"type": "string",
|
|
124
|
+
"description": "A prefix to the name such as Dr or Sir.",
|
|
125
|
+
"maxLength": 8
|
|
126
|
+
},
|
|
127
|
+
"nameSuffix": {
|
|
128
|
+
"type": "string",
|
|
129
|
+
"description": "A suffix to the name such as Jr. or Sr.",
|
|
130
|
+
"maxLength": 16
|
|
131
|
+
},
|
|
132
|
+
"birthDate": {
|
|
133
|
+
"type": "string",
|
|
134
|
+
"format": "date",
|
|
135
|
+
"description": "The date of birth of the person."
|
|
136
|
+
},
|
|
137
|
+
"birthPlace": {
|
|
138
|
+
"$ref": "#/definitions/Place_Schema"
|
|
139
|
+
},
|
|
140
|
+
"gender": {
|
|
141
|
+
"type": "string",
|
|
142
|
+
"enum": [
|
|
143
|
+
"Male",
|
|
144
|
+
"Female",
|
|
145
|
+
"Other"
|
|
146
|
+
],
|
|
147
|
+
"description": "The gender of the person."
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
"required": [
|
|
151
|
+
"givenName",
|
|
152
|
+
"birthDate"
|
|
153
|
+
]
|
|
154
|
+
},
|
|
155
|
+
"Place_Schema": {
|
|
156
|
+
"title": "Place",
|
|
157
|
+
"type": "object",
|
|
158
|
+
"additionalProperties": false,
|
|
159
|
+
"properties": {
|
|
160
|
+
"type": {
|
|
161
|
+
"type": "string",
|
|
162
|
+
"default": "Place"
|
|
163
|
+
},
|
|
164
|
+
"name": {
|
|
165
|
+
"type": "string",
|
|
166
|
+
"description": "The name of the place, e.g., building name, branch name, etc.",
|
|
167
|
+
"maxLength": 256
|
|
168
|
+
},
|
|
169
|
+
"addressLocality": {
|
|
170
|
+
"type": "string",
|
|
171
|
+
"description": "The locality where the place is, e.g., town or city name.",
|
|
172
|
+
"maxLength": 256
|
|
173
|
+
},
|
|
174
|
+
"addressRegion": {
|
|
175
|
+
"type": "string",
|
|
176
|
+
"pattern": "^[A-Z]{2}(-[A-Z0-9]{1,3})?$",
|
|
177
|
+
"description": "The region where the place is. These are states, provinces, etc. Must be an [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2)",
|
|
178
|
+
"maxLength": 6
|
|
179
|
+
},
|
|
180
|
+
"addressCountry": {
|
|
181
|
+
"type": "string",
|
|
182
|
+
"description": "The country where the place is. Must be an [ISO 3166 2 letter country code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes)",
|
|
183
|
+
"pattern": "^[A-Z]{2}$",
|
|
184
|
+
"maxLength": 2
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
"required": [
|
|
188
|
+
"addressCountry"
|
|
189
|
+
]
|
|
190
|
+
},
|
|
191
|
+
"Validity_Schema": {
|
|
192
|
+
"title": "Validity",
|
|
193
|
+
"type": "object",
|
|
194
|
+
"additionalProperties": false,
|
|
195
|
+
"properties": {
|
|
196
|
+
"type": {
|
|
197
|
+
"type": "string",
|
|
198
|
+
"default": "Validity"
|
|
199
|
+
},
|
|
200
|
+
"firstValidFrom": {
|
|
201
|
+
"type": "string",
|
|
202
|
+
"format": "date",
|
|
203
|
+
"description": "The original date from which a certification, document or license is valid. "
|
|
204
|
+
},
|
|
205
|
+
"validFrom": {
|
|
206
|
+
"oneOf": [
|
|
207
|
+
{
|
|
208
|
+
"format": "date"
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"format": "date-time"
|
|
212
|
+
}
|
|
213
|
+
],
|
|
214
|
+
"description": "The date from which a certification, document or license is valid. In case of renewal, validFrom date will state the date or renewal. ",
|
|
215
|
+
"type": "string"
|
|
216
|
+
},
|
|
217
|
+
"validUntil": {
|
|
218
|
+
"oneOf": [
|
|
219
|
+
{
|
|
220
|
+
"format": "date"
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"format": "date-time"
|
|
224
|
+
}
|
|
225
|
+
],
|
|
226
|
+
"description": "The date until which a certification, document or license is valid. ",
|
|
227
|
+
"type": "string"
|
|
228
|
+
},
|
|
229
|
+
"validIn": {
|
|
230
|
+
"$ref": "#/definitions/Place_Schema"
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|