@velocitycareerlabs/libapp 1.25.0-dev-build.17c2a2ff0 → 1.25.0-dev-build.1a18f10e5

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.
Files changed (223) hide show
  1. package/display-descriptors/MultiLicensev1.0.descriptor.json +140 -0
  2. package/display-descriptors/assessment-dec2020.descriptor.json +147 -0
  3. package/display-descriptors/assessment-dimension.descriptor.json +175 -0
  4. package/display-descriptors/assessment-v1.0.descriptor.json +267 -0
  5. package/display-descriptors/assessment-v1.1.descriptor.json +307 -0
  6. package/display-descriptors/badge-v1.1.descriptor.json +170 -0
  7. package/display-descriptors/badge.descriptor.json +143 -0
  8. package/display-descriptors/certification-v1.0.descriptor.json +140 -0
  9. package/display-descriptors/certification-v1.1.descriptor.json +190 -0
  10. package/display-descriptors/certification.descriptor.json +99 -0
  11. package/display-descriptors/clr.descriptor.json +123 -0
  12. package/display-descriptors/course-attendance-v1.0.descriptor.json +182 -0
  13. package/display-descriptors/course-attendance-v1.1.descriptor.json +242 -0
  14. package/display-descriptors/course-completion-v1.0.descriptor.json +192 -0
  15. package/display-descriptors/course-completion-v1.1.descriptor.json +253 -0
  16. package/display-descriptors/course-registration-v1.0.descriptor.json +151 -0
  17. package/display-descriptors/course-registration-v1.1.descriptor.json +181 -0
  18. package/display-descriptors/course.descriptor.json +150 -0
  19. package/display-descriptors/current-employment-position.descriptor.json +120 -0
  20. package/display-descriptors/drivers-license-v1.0.descriptor.json +261 -0
  21. package/display-descriptors/drivers-license-v1.1.descriptor.json +261 -0
  22. package/display-descriptors/education-degree-graduation-v1.0.descriptor.json +233 -0
  23. package/display-descriptors/education-degree-registration-v1.0.descriptor.json +171 -0
  24. package/display-descriptors/education-degree-registration-v1.1.descriptor.json +200 -0
  25. package/display-descriptors/education-degree-study-v1.0.descriptor.json +212 -0
  26. package/display-descriptors/education-degree-study-v1.1.descriptor.json +241 -0
  27. package/display-descriptors/education-degree.descriptor.json +110 -0
  28. package/display-descriptors/email-v1.1.descriptor.json +19 -0
  29. package/display-descriptors/email.descriptor.json +16 -0
  30. package/display-descriptors/employment-current-v1.0.descriptor.json +140 -0
  31. package/display-descriptors/employment-past-v1.0.descriptor.json +151 -0
  32. package/display-descriptors/employment-past-v1.1.descriptor.json +200 -0
  33. package/display-descriptors/en/MultiLicensev1.0.descriptor.json +140 -0
  34. package/display-descriptors/en/assessment-dec2020.descriptor.json +147 -0
  35. package/display-descriptors/en/assessment-dimension.descriptor.json +175 -0
  36. package/display-descriptors/en/assessment-v1.0.descriptor.json +267 -0
  37. package/display-descriptors/en/assessment-v1.1.descriptor.json +307 -0
  38. package/display-descriptors/en/badge-v1.1.descriptor.json +170 -0
  39. package/display-descriptors/en/badge.descriptor.json +143 -0
  40. package/display-descriptors/en/certification-v1.0.descriptor.json +140 -0
  41. package/display-descriptors/en/certification-v1.1.descriptor.json +190 -0
  42. package/display-descriptors/en/certification.descriptor.json +99 -0
  43. package/display-descriptors/en/clr.descriptor.json +123 -0
  44. package/display-descriptors/en/course-attendance-v1.0.descriptor.json +182 -0
  45. package/display-descriptors/en/course-attendance-v1.1.descriptor.json +242 -0
  46. package/display-descriptors/en/course-completion-v1.0.descriptor.json +192 -0
  47. package/display-descriptors/en/course-completion-v1.1.descriptor.json +253 -0
  48. package/display-descriptors/en/course-registration-v1.0.descriptor.json +151 -0
  49. package/display-descriptors/en/course-registration-v1.1.descriptor.json +181 -0
  50. package/display-descriptors/en/course.descriptor.json +150 -0
  51. package/display-descriptors/en/current-employment-position.descriptor.json +120 -0
  52. package/display-descriptors/en/drivers-license-v1.0.descriptor.json +261 -0
  53. package/display-descriptors/en/drivers-license-v1.1.descriptor.json +261 -0
  54. package/display-descriptors/en/education-degree-graduation-v1.0.descriptor.json +233 -0
  55. package/display-descriptors/en/education-degree-registration-v1.0.descriptor.json +171 -0
  56. package/display-descriptors/en/education-degree-registration-v1.1.descriptor.json +200 -0
  57. package/display-descriptors/en/education-degree-study-v1.0.descriptor.json +212 -0
  58. package/display-descriptors/en/education-degree-study-v1.1.descriptor.json +241 -0
  59. package/display-descriptors/en/education-degree.descriptor.json +110 -0
  60. package/display-descriptors/en/email-v1.1.descriptor.json +19 -0
  61. package/display-descriptors/en/email.descriptor.json +16 -0
  62. package/display-descriptors/en/employment-current-v1.0.descriptor.json +140 -0
  63. package/display-descriptors/en/employment-past-v1.0.descriptor.json +151 -0
  64. package/display-descriptors/en/employment-past-v1.1.descriptor.json +200 -0
  65. package/display-descriptors/en/id-document-v1.0.descriptor.json +258 -0
  66. package/display-descriptors/en/id-document-v1.1.descriptor.json +258 -0
  67. package/display-descriptors/en/id-document.descriptor.json +152 -0
  68. package/display-descriptors/en/license-v1.0.descriptor.json +172 -0
  69. package/display-descriptors/en/license-v1.1.descriptor.json +210 -0
  70. package/display-descriptors/en/national-id-card-v1.0.descriptor.json +258 -0
  71. package/display-descriptors/en/national-id-card-v1.1.descriptor.json +268 -0
  72. package/display-descriptors/en/open-badge-v1.0.descriptor.json +140 -0
  73. package/display-descriptors/en/open-badge-v2.0.descriptor.json +121 -0
  74. package/display-descriptors/en/passport-v1.0.descriptor.json +229 -0
  75. package/display-descriptors/en/passport-v1.1.descriptor.json +239 -0
  76. package/display-descriptors/en/past-employment-position.descriptor.json +131 -0
  77. package/display-descriptors/en/phone-v1.0.descriptor.json +18 -0
  78. package/display-descriptors/en/phone-v1.1.descriptor.json +18 -0
  79. package/display-descriptors/en/phone.descriptor.json +15 -0
  80. package/display-descriptors/en/proof-of-age-v1.0.descriptor.json +258 -0
  81. package/display-descriptors/en/proof-of-age-v1.1.descriptor.json +268 -0
  82. package/display-descriptors/en/resident-permit-v1.0.descriptor.json +258 -0
  83. package/display-descriptors/en/resident-permit-v1.1.descriptor.json +268 -0
  84. package/display-descriptors/id-document-v1.0.descriptor.json +258 -0
  85. package/display-descriptors/id-document-v1.1.descriptor.json +258 -0
  86. package/display-descriptors/id-document.descriptor.json +152 -0
  87. package/display-descriptors/license-v1.0.descriptor.json +172 -0
  88. package/display-descriptors/license-v1.1.descriptor.json +210 -0
  89. package/display-descriptors/national-id-card-v1.0.descriptor.json +258 -0
  90. package/display-descriptors/national-id-card-v1.1.descriptor.json +268 -0
  91. package/display-descriptors/open-badge-v1.0.descriptor.json +140 -0
  92. package/display-descriptors/open-badge-v2.0.descriptor.json +121 -0
  93. package/display-descriptors/passport-v1.0.descriptor.json +229 -0
  94. package/display-descriptors/passport-v1.1.descriptor.json +239 -0
  95. package/display-descriptors/past-employment-position.descriptor.json +131 -0
  96. package/display-descriptors/phone-v1.0.descriptor.json +18 -0
  97. package/display-descriptors/phone-v1.1.descriptor.json +18 -0
  98. package/display-descriptors/phone.descriptor.json +15 -0
  99. package/display-descriptors/proof-of-age-v1.0.descriptor.json +258 -0
  100. package/display-descriptors/proof-of-age-v1.1.descriptor.json +268 -0
  101. package/display-descriptors/resident-permit-v1.0.descriptor.json +258 -0
  102. package/display-descriptors/resident-permit-v1.1.descriptor.json +268 -0
  103. package/form-schemas/AssessmentV1.0.form-schema.json +64 -0
  104. package/form-schemas/AssessmentV1.1.form-schema.json +89 -0
  105. package/form-schemas/BadgeV1.1.form-schema.json +72 -0
  106. package/form-schemas/CertificationV1.0.form-schema.json +84 -0
  107. package/form-schemas/CertificationV1.1.form-schema.json +109 -0
  108. package/form-schemas/CourseAttendanceV1.0.form-schema.json +76 -0
  109. package/form-schemas/CourseAttendanceV1.1.form-schema.json +101 -0
  110. package/form-schemas/CourseCompletionV1.0.form-schema.json +81 -0
  111. package/form-schemas/CourseCompletionV1.1.form-schema.json +106 -0
  112. package/form-schemas/CourseRegistrationV1.0.form-schema.json +56 -0
  113. package/form-schemas/CourseRegistrationV1.1.form-schema.json +81 -0
  114. package/form-schemas/DriversLicenseV1.0.form-schema.json +199 -0
  115. package/form-schemas/DriversLicenseV1.1.form-schema.json +199 -0
  116. package/form-schemas/EducationDegreeGraduationV1.0.form-schema.json +101 -0
  117. package/form-schemas/EducationDegreeRegistrationV1.0.form-schema.json +67 -0
  118. package/form-schemas/EducationDegreeRegistrationV1.1.form-schema.json +92 -0
  119. package/form-schemas/EducationDegreeStudyV1.0.form-schema.json +92 -0
  120. package/form-schemas/EducationDegreeStudyV1.1.form-schema.json +117 -0
  121. package/form-schemas/EmploymentCurrentV1.0.form-schema.json +70 -0
  122. package/form-schemas/EmploymentPastV1.0.form-schema.json +75 -0
  123. package/form-schemas/EmploymentPastV1.1.form-schema.json +101 -0
  124. package/form-schemas/IdDocumentV1.0.form-schema.json +180 -0
  125. package/form-schemas/IdDocumentV1.1.form-schema.json +180 -0
  126. package/form-schemas/LicenseV1.0.form-schema.json +92 -0
  127. package/form-schemas/LicenseV1.1.form-schema.json +117 -0
  128. package/form-schemas/NationalIdCardV1.0.form-schema.json +176 -0
  129. package/form-schemas/NationalIdCardV1.1.form-schema.json +176 -0
  130. package/form-schemas/OpenBadgeV1.0.form-schema.json +44 -0
  131. package/form-schemas/OpenBadgeV2.0.form-schema.json +44 -0
  132. package/form-schemas/PassportV1.0.form-schema.json +141 -0
  133. package/form-schemas/PassportV1.1.form-schema.json +141 -0
  134. package/form-schemas/PhoneV1.0.form-schema.json +5 -0
  135. package/form-schemas/PhoneV1.1.form-schema.json +5 -0
  136. package/form-schemas/ProofOfAgeV1.0.form-schema.json +176 -0
  137. package/form-schemas/ProofOfAgeV1.1.form-schema.json +176 -0
  138. package/form-schemas/ResidentPermitV1.0.form-schema.json +176 -0
  139. package/form-schemas/ResidentPermitV1.1.form-schema.json +176 -0
  140. package/form-schemas/en/AssessmentV1.0.form-schema.json +64 -0
  141. package/form-schemas/en/AssessmentV1.1.form-schema.json +89 -0
  142. package/form-schemas/en/BadgeV1.1.form-schema.json +72 -0
  143. package/form-schemas/en/CertificationV1.0.form-schema.json +84 -0
  144. package/form-schemas/en/CertificationV1.1.form-schema.json +109 -0
  145. package/form-schemas/en/CourseAttendanceV1.0.form-schema.json +76 -0
  146. package/form-schemas/en/CourseAttendanceV1.1.form-schema.json +101 -0
  147. package/form-schemas/en/CourseCompletionV1.0.form-schema.json +81 -0
  148. package/form-schemas/en/CourseCompletionV1.1.form-schema.json +106 -0
  149. package/form-schemas/en/CourseRegistrationV1.0.form-schema.json +56 -0
  150. package/form-schemas/en/CourseRegistrationV1.1.form-schema.json +81 -0
  151. package/form-schemas/en/DriversLicenseV1.0.form-schema.json +199 -0
  152. package/form-schemas/en/DriversLicenseV1.1.form-schema.json +199 -0
  153. package/form-schemas/en/EducationDegreeGraduationV1.0.form-schema.json +101 -0
  154. package/form-schemas/en/EducationDegreeRegistrationV1.0.form-schema.json +67 -0
  155. package/form-schemas/en/EducationDegreeRegistrationV1.1.form-schema.json +92 -0
  156. package/form-schemas/en/EducationDegreeStudyV1.0.form-schema.json +92 -0
  157. package/form-schemas/en/EducationDegreeStudyV1.1.form-schema.json +117 -0
  158. package/form-schemas/en/EmploymentCurrentV1.0.form-schema.json +70 -0
  159. package/form-schemas/en/EmploymentPastV1.0.form-schema.json +75 -0
  160. package/form-schemas/en/EmploymentPastV1.1.form-schema.json +101 -0
  161. package/form-schemas/en/IdDocumentV1.0.form-schema.json +180 -0
  162. package/form-schemas/en/IdDocumentV1.1.form-schema.json +180 -0
  163. package/form-schemas/en/LicenseV1.0.form-schema.json +92 -0
  164. package/form-schemas/en/LicenseV1.1.form-schema.json +117 -0
  165. package/form-schemas/en/NationalIdCardV1.0.form-schema.json +176 -0
  166. package/form-schemas/en/NationalIdCardV1.1.form-schema.json +176 -0
  167. package/form-schemas/en/OpenBadgeV1.0.form-schema.json +44 -0
  168. package/form-schemas/en/OpenBadgeV2.0.form-schema.json +44 -0
  169. package/form-schemas/en/PassportV1.0.form-schema.json +141 -0
  170. package/form-schemas/en/PassportV1.1.form-schema.json +141 -0
  171. package/form-schemas/en/PhoneV1.0.form-schema.json +5 -0
  172. package/form-schemas/en/PhoneV1.1.form-schema.json +5 -0
  173. package/form-schemas/en/ProofOfAgeV1.0.form-schema.json +176 -0
  174. package/form-schemas/en/ProofOfAgeV1.1.form-schema.json +176 -0
  175. package/form-schemas/en/ResidentPermitV1.0.form-schema.json +176 -0
  176. package/form-schemas/en/ResidentPermitV1.1.form-schema.json +176 -0
  177. package/package.json +2 -2
  178. package/schemas/MultiLicenseV1.0.json +997 -0
  179. package/schemas/assessment-v1.0.schema.json +314 -0
  180. package/schemas/assessment-v1.1.schema.json +360 -0
  181. package/schemas/assessment.schema.json +154 -0
  182. package/schemas/badge-v1.1.schema.json +243 -0
  183. package/schemas/badge.schema.json +152 -0
  184. package/schemas/certification-v1.0.schema.json +233 -0
  185. package/schemas/certification-v1.1.schema.json +277 -0
  186. package/schemas/certification.schema.json +149 -0
  187. package/schemas/clr-subject.schema.json +2247 -0
  188. package/schemas/clr.schema.json +1565 -0
  189. package/schemas/course-attendance-v1.0.schema.json +300 -0
  190. package/schemas/course-attendance-v1.1.schema.json +346 -0
  191. package/schemas/course-completion-v1.0.schema.json +303 -0
  192. package/schemas/course-completion-v1.1.schema.json +349 -0
  193. package/schemas/course-registration-v1.0.schema.json +219 -0
  194. package/schemas/course-registration-v1.1.schema.json +271 -0
  195. package/schemas/course.schema.json +140 -0
  196. package/schemas/current-employment-position.schema.json +145 -0
  197. package/schemas/drivers-license-v1.0.schema.json +333 -0
  198. package/schemas/education-degree-graduation-v1.0.schema.json +320 -0
  199. package/schemas/education-degree-registration-v1.0.schema.json +228 -0
  200. package/schemas/education-degree-registration-v1.1.schema.json +279 -0
  201. package/schemas/education-degree-study-v1.0.schema.json +311 -0
  202. package/schemas/education-degree-study-v1.1.schema.json +357 -0
  203. package/schemas/education-degree.schema.json +161 -0
  204. package/schemas/email.schema.json +19 -0
  205. package/schemas/employment-current-v1.0.schema.json +216 -0
  206. package/schemas/employment-past-v1.0.schema.json +220 -0
  207. package/schemas/employment-past-v1.1.schema.json +271 -0
  208. package/schemas/id-document-v1.0.schema.json +278 -0
  209. package/schemas/id-document.schema.json +169 -0
  210. package/schemas/license-v1.0.schema.json +252 -0
  211. package/schemas/license-v1.1.schema.json +296 -0
  212. package/schemas/license.schema.json +261 -0
  213. package/schemas/national-id-card-v1.0.schema.json +272 -0
  214. package/schemas/open-badge-v1.0.schema.json +176 -0
  215. package/schemas/open-badge-v2.0.schema.json +348 -0
  216. package/schemas/passport-v1.0.schema.json +235 -0
  217. package/schemas/past-employment-position.schema.json +149 -0
  218. package/schemas/phone-v1.0.schema.json +45 -0
  219. package/schemas/phone.schema.json +19 -0
  220. package/schemas/proof-of-age-v1.0.schema.json +272 -0
  221. package/schemas/resident-permit-v1.0.schema.json +272 -0
  222. package/docker/compose.yml +0 -9
  223. package/docker/nginx.conf +0 -9
@@ -0,0 +1,300 @@
1
+ {
2
+ "title": "Course attendance",
3
+ "$id": "https://velocitynetwork.foundation/schemas/course-attendance-v1.0",
4
+ "allOf": [
5
+ {
6
+ "$ref": "#/definitions/Course-base_Schema"
7
+ },
8
+ {
9
+ "type": "object",
10
+ "properties": {
11
+ "grade": {
12
+ "$ref": "#/definitions/Score_Schema"
13
+ },
14
+ "registrationDate": {
15
+ "$ref": "#/definitions/Date_Schema"
16
+ },
17
+ "startDate": {
18
+ "$ref": "#/definitions/Date_Schema"
19
+ }
20
+ }
21
+ }
22
+ ],
23
+ "required": [
24
+ "provider",
25
+ "courseName",
26
+ "startDate"
27
+ ],
28
+ "definitions": {
29
+ "Course-base_Schema": {
30
+ "title": "Course-base",
31
+ "type": "object",
32
+ "properties": {
33
+ "@context": {
34
+ "$ref": "#/definitions/Json-ld-context_Schema"
35
+ },
36
+ "type": {
37
+ "type": "string",
38
+ "default": "Course"
39
+ },
40
+ "provider": {
41
+ "$ref": "#/definitions/Organization_Schema"
42
+ },
43
+ "contentProvider": {
44
+ "$ref": "#/definitions/Organization_Schema"
45
+ },
46
+ "courseName": {
47
+ "type": "string",
48
+ "description": "The name of the course.",
49
+ "maxLength": 256
50
+ },
51
+ "description": {
52
+ "type": "string",
53
+ "description": "A detailed description of the course. ",
54
+ "maxLength": 2048
55
+ },
56
+ "courseCode": {
57
+ "type": "string",
58
+ "description": "The code of the course as it appears in the provider's records.",
59
+ "maxLength": 256
60
+ },
61
+ "courseType": {
62
+ "type": "string",
63
+ "description": "The type of course, e.g., professional training, preparation for a license exam, academic course, etc.",
64
+ "maxLength": 256
65
+ },
66
+ "courseMode": {
67
+ "type": "string",
68
+ "description": "The course mode or method of teaching, e.g. online, instructor led, lecture, workshop, etc. ",
69
+ "maxLength": 256
70
+ },
71
+ "courseLevel": {
72
+ "type": "string",
73
+ "description": "The level of the course, e.g., standard, basic, advanced, etc. ",
74
+ "maxLength": 64
75
+ },
76
+ "courseDuration": {
77
+ "type": "string",
78
+ "format": "duration",
79
+ "description": "The duration of the course in ISO 8601 Duration format. See https://en.wikipedia.org/wiki/ISO_8601#Durations"
80
+ },
81
+ "alignment": {
82
+ "type": "array",
83
+ "description": "A public resource to which the course is aligned.",
84
+ "minItems": 1,
85
+ "items": {
86
+ "$ref": "#/definitions/Alignment_Schema"
87
+ }
88
+ }
89
+ }
90
+ },
91
+ "Json-ld-context_Schema": {
92
+ "title": "json-ld-context",
93
+ "oneOf": [
94
+ {
95
+ "type": "string",
96
+ "maxLength": 2048
97
+ },
98
+ {
99
+ "type": "array",
100
+ "minItems": 1,
101
+ "items": {
102
+ "type": "string",
103
+ "maxLength": 2048
104
+ }
105
+ }
106
+ ],
107
+ "description": "Simplified context for Velocity Publishers to Use"
108
+ },
109
+ "Alignment_Schema": {
110
+ "title": "Alignment",
111
+ "type": "object",
112
+ "additionalProperties": false,
113
+ "properties": {
114
+ "type": {
115
+ "type": "string",
116
+ "default": "AlignmentObject"
117
+ },
118
+ "targetName": {
119
+ "type": "string",
120
+ "description": "Name of the target alignment.",
121
+ "maxLength": 256
122
+ },
123
+ "targetUrl": {
124
+ "type": "string",
125
+ "format": "uri",
126
+ "description": "URL of the target alignment. ",
127
+ "maxLength": 2048
128
+ },
129
+ "targetDescription": {
130
+ "type": "string",
131
+ "description": "Detailed description of the target alignment. ",
132
+ "maxLength": 2048
133
+ },
134
+ "targetCode": {
135
+ "type": "string",
136
+ "description": "Code of the target alignment. ",
137
+ "maxLength": 256
138
+ },
139
+ "targetFramework": {
140
+ "type": "string",
141
+ "description": "The framework to which the target belongs. ",
142
+ "maxLength": 256
143
+ }
144
+ },
145
+ "required": [
146
+ "targetName",
147
+ "targetUrl"
148
+ ]
149
+ },
150
+ "Date_Schema": {
151
+ "title": "Calendar date",
152
+ "type": "string",
153
+ "pattern": "^[1,2]\\d\\d\\d(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2]\\d|30|31))?)?$"
154
+ },
155
+ "Did_Schema": {
156
+ "title": "DID",
157
+ "type": "string",
158
+ "pattern": "^did:[a-z0-9]+:[A-Za-z0-9._:?=&%;-]+$"
159
+ },
160
+ "Organization_Schema": {
161
+ "title": "Organization",
162
+ "type": "object",
163
+ "additionalProperties": false,
164
+ "properties": {
165
+ "type": {
166
+ "type": "string",
167
+ "default": "Organization"
168
+ },
169
+ "name": {
170
+ "type": "string",
171
+ "description": "The name of the organization.",
172
+ "maxLength": 256
173
+ },
174
+ "identifier": {
175
+ "$ref": "#/definitions/Did_Schema"
176
+ },
177
+ "place": {
178
+ "$ref": "#/definitions/Place_Schema"
179
+ },
180
+ "image": {
181
+ "type": "string",
182
+ "format": "uri",
183
+ "maxLength": 2048,
184
+ "description": "IRI representing the logo of the organization. This must be JPG, PNG or SVG file. \nFor PNG or JPG: 300px x 300px minimum, maximum size 500kb. "
185
+ }
186
+ },
187
+ "required": [
188
+ "name",
189
+ "place"
190
+ ]
191
+ },
192
+ "Place_Schema": {
193
+ "title": "Place",
194
+ "type": "object",
195
+ "additionalProperties": false,
196
+ "properties": {
197
+ "type": {
198
+ "type": "string",
199
+ "default": "Place"
200
+ },
201
+ "name": {
202
+ "type": "string",
203
+ "description": "The name of the place, e.g., building name, branch name, etc.",
204
+ "maxLength": 256
205
+ },
206
+ "addressLocality": {
207
+ "type": "string",
208
+ "description": "The locality where the place is, e.g., town or city name.",
209
+ "maxLength": 256
210
+ },
211
+ "addressRegion": {
212
+ "type": "string",
213
+ "pattern": "^[A-Z]{2}(-[A-Z0-9]{1,3})?$",
214
+ "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)",
215
+ "maxLength": 6
216
+ },
217
+ "addressCountry": {
218
+ "type": "string",
219
+ "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)",
220
+ "pattern": "^[A-Z]{2}$",
221
+ "maxLength": 2
222
+ }
223
+ },
224
+ "required": [
225
+ "addressCountry"
226
+ ]
227
+ },
228
+ "Score_Schema": {
229
+ "title": "Score",
230
+ "type": "object",
231
+ "additionalProperties": false,
232
+ "properties": {
233
+ "scoreMethod": {
234
+ "type": "object",
235
+ "description": "The method according to which the score is given. ",
236
+ "additionalProperties": false,
237
+ "properties": {
238
+ "type": {
239
+ "type": "string",
240
+ "default": "ScoreMethod"
241
+ },
242
+ "scoreMethodType": {
243
+ "type": "string",
244
+ "enum": [
245
+ "NormReferenced",
246
+ "CriterionReferenced"
247
+ ],
248
+ "description": "One of: NormReferenced, CriterionReferenced."
249
+ },
250
+ "scoreMethodDescription": {
251
+ "type": "string",
252
+ "description": "A description of the scoring method used.",
253
+ "maxLength": 2048
254
+ },
255
+ "alignment": {
256
+ "type": "array",
257
+ "description": "A public resource to which the scoring method is aligned.",
258
+ "minItems": 1,
259
+ "items": {
260
+ "$ref": "#/definitions/Alignment_Schema"
261
+ }
262
+ },
263
+ "passingScore": {
264
+ "type": "string",
265
+ "description": "The minimum passing score",
266
+ "maxLength": 16
267
+ }
268
+ }
269
+ },
270
+ "scoreValue": {
271
+ "type": "string",
272
+ "description": "The score achieved by the person.",
273
+ "maxLength": 16
274
+ },
275
+ "type": {
276
+ "type": "string",
277
+ "default": "Score"
278
+ },
279
+ "result": {
280
+ "type": "string",
281
+ "description": "The result achieved by the person, e.g. acceptable, excellent, poor. Applicable when results are not stated as scores. ",
282
+ "maxLength": 2048
283
+ },
284
+ "passFail": {
285
+ "type": "string",
286
+ "enum": [
287
+ "Pass",
288
+ "Fail"
289
+ ],
290
+ "description": "One of: Pass, Fail"
291
+ },
292
+ "scoreDescription": {
293
+ "type": "string",
294
+ "description": "Explanation or description of the meaning of the score and/or result achieved. ",
295
+ "maxLength": 2048
296
+ }
297
+ }
298
+ }
299
+ }
300
+ }
@@ -0,0 +1,346 @@
1
+ {
2
+ "title": "Course attendance",
3
+ "$id": "https://velocitynetwork.foundation/schemas/course-attendance-v1.1",
4
+ "allOf": [
5
+ {
6
+ "$ref": "#/definitions/Course-base_Schema"
7
+ },
8
+ {
9
+ "type": "object",
10
+ "properties": {
11
+ "grade": {
12
+ "$ref": "#/definitions/Score_Schema"
13
+ },
14
+ "registrationDate": {
15
+ "$ref": "#/definitions/Date_Schema"
16
+ },
17
+ "startDate": {
18
+ "$ref": "#/definitions/Date_Schema"
19
+ }
20
+ }
21
+ }
22
+ ],
23
+ "required": [
24
+ "provider",
25
+ "courseName",
26
+ "startDate",
27
+ "recipient"
28
+ ],
29
+ "definitions": {
30
+ "Course-base_Schema": {
31
+ "title": "Course-base",
32
+ "type": "object",
33
+ "properties": {
34
+ "@context": {
35
+ "$ref": "#/definitions/Json-ld-context_Schema"
36
+ },
37
+ "type": {
38
+ "type": "string",
39
+ "default": "Course"
40
+ },
41
+ "provider": {
42
+ "$ref": "#/definitions/Organization_Schema"
43
+ },
44
+ "contentProvider": {
45
+ "$ref": "#/definitions/Organization_Schema"
46
+ },
47
+ "courseName": {
48
+ "type": "string",
49
+ "description": "The name of the course.",
50
+ "maxLength": 256
51
+ },
52
+ "description": {
53
+ "type": "string",
54
+ "description": "A detailed description of the course. ",
55
+ "maxLength": 2048
56
+ },
57
+ "courseCode": {
58
+ "type": "string",
59
+ "description": "The code of the course as it appears in the provider's records.",
60
+ "maxLength": 256
61
+ },
62
+ "courseType": {
63
+ "type": "string",
64
+ "description": "The type of course, e.g., professional training, preparation for a license exam, academic course, etc.",
65
+ "maxLength": 256
66
+ },
67
+ "courseMode": {
68
+ "type": "string",
69
+ "description": "The course mode or method of teaching, e.g. online, instructor led, lecture, workshop, etc. ",
70
+ "maxLength": 256
71
+ },
72
+ "courseLevel": {
73
+ "type": "string",
74
+ "description": "The level of the course, e.g., standard, basic, advanced, etc. ",
75
+ "maxLength": 64
76
+ },
77
+ "courseDuration": {
78
+ "type": "string",
79
+ "format": "duration",
80
+ "description": "The duration of the course in ISO 8601 Duration format. See https://en.wikipedia.org/wiki/ISO_8601#Durations"
81
+ },
82
+ "recipient": {
83
+ "$ref": "#/definitions/PersonName_Schema"
84
+ },
85
+ "alignment": {
86
+ "type": "array",
87
+ "description": "A public resource to which the course is aligned.",
88
+ "minItems": 1,
89
+ "items": {
90
+ "$ref": "#/definitions/Alignment_Schema"
91
+ }
92
+ }
93
+ }
94
+ },
95
+ "Json-ld-context_Schema": {
96
+ "title": "json-ld-context",
97
+ "oneOf": [
98
+ {
99
+ "type": "string",
100
+ "maxLength": 2048
101
+ },
102
+ {
103
+ "type": "array",
104
+ "minItems": 1,
105
+ "items": {
106
+ "type": "string",
107
+ "maxLength": 2048
108
+ }
109
+ }
110
+ ],
111
+ "description": "Simplified context for Velocity Publishers to Use"
112
+ },
113
+ "Alignment_Schema": {
114
+ "title": "Alignment",
115
+ "type": "object",
116
+ "additionalProperties": false,
117
+ "properties": {
118
+ "type": {
119
+ "type": "string",
120
+ "default": "AlignmentObject"
121
+ },
122
+ "targetName": {
123
+ "type": "string",
124
+ "description": "Name of the target alignment.",
125
+ "maxLength": 256
126
+ },
127
+ "targetUrl": {
128
+ "type": "string",
129
+ "format": "uri",
130
+ "description": "URL of the target alignment. ",
131
+ "maxLength": 2048
132
+ },
133
+ "targetDescription": {
134
+ "type": "string",
135
+ "description": "Detailed description of the target alignment. ",
136
+ "maxLength": 2048
137
+ },
138
+ "targetCode": {
139
+ "type": "string",
140
+ "description": "Code of the target alignment. ",
141
+ "maxLength": 256
142
+ },
143
+ "targetFramework": {
144
+ "type": "string",
145
+ "description": "The framework to which the target belongs. ",
146
+ "maxLength": 256
147
+ }
148
+ },
149
+ "required": [
150
+ "targetName",
151
+ "targetUrl"
152
+ ]
153
+ },
154
+ "Date_Schema": {
155
+ "title": "Calendar date",
156
+ "type": "string",
157
+ "pattern": "^[1,2]\\d\\d\\d(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2]\\d|30|31))?)?$",
158
+ "description": ""
159
+ },
160
+ "Did_Schema": {
161
+ "title": "DID",
162
+ "type": "string",
163
+ "pattern": "^did:[a-z0-9]+:[A-Za-z0-9._:?=&%;-]+$"
164
+ },
165
+ "Organization_Schema": {
166
+ "title": "Organization",
167
+ "type": "object",
168
+ "additionalProperties": false,
169
+ "properties": {
170
+ "type": {
171
+ "type": "string",
172
+ "default": "Organization"
173
+ },
174
+ "name": {
175
+ "type": "string",
176
+ "description": "The name of the organization.",
177
+ "maxLength": 256
178
+ },
179
+ "identifier": {
180
+ "$ref": "#/definitions/Did_Schema"
181
+ },
182
+ "place": {
183
+ "$ref": "#/definitions/Place_Schema"
184
+ },
185
+ "image": {
186
+ "type": "string",
187
+ "maxLength": 2048,
188
+ "format": "uri",
189
+ "description": "IRI representing the logo of the organization. This must be JPG, PNG or SVG file. \nFor PNG or JPG: 300px x 300px minimum, maximum size 500kb. "
190
+ }
191
+ },
192
+ "required": [
193
+ "name",
194
+ "place"
195
+ ]
196
+ },
197
+ "PersonName_Schema": {
198
+ "title": "Person name",
199
+ "type": "object",
200
+ "additionalProperties": false,
201
+ "properties": {
202
+ "type": {
203
+ "type": "string",
204
+ "default": "PersonName"
205
+ },
206
+ "givenName": {
207
+ "type": "string",
208
+ "description": "The given name or first name of the person.",
209
+ "maxLength": 64
210
+ },
211
+ "familyName": {
212
+ "type": "string",
213
+ "description": "The family name or surname of the person.",
214
+ "maxLength": 64
215
+ },
216
+ "middleName": {
217
+ "type": "string",
218
+ "description": "The middle name of the person.",
219
+ "maxLength": 256
220
+ },
221
+ "namePrefix": {
222
+ "type": "string",
223
+ "description": "A prefix to the name such as Dr or Sir.",
224
+ "maxLength": 8
225
+ },
226
+ "nameSuffix": {
227
+ "type": "string",
228
+ "description": "A suffix to the name such as Jr. or Sr.",
229
+ "maxLength": 16
230
+ }
231
+ },
232
+ "required": [
233
+ "givenName",
234
+ "familyName"
235
+ ]
236
+ },
237
+ "Place_Schema": {
238
+ "title": "Place",
239
+ "type": "object",
240
+ "additionalProperties": false,
241
+ "properties": {
242
+ "type": {
243
+ "type": "string",
244
+ "default": "Place"
245
+ },
246
+ "name": {
247
+ "type": "string",
248
+ "description": "The name of the place, e.g., building name, branch name, etc.",
249
+ "maxLength": 256
250
+ },
251
+ "addressLocality": {
252
+ "type": "string",
253
+ "description": "The locality where the place is, e.g., town or city name.",
254
+ "maxLength": 256
255
+ },
256
+ "addressRegion": {
257
+ "type": "string",
258
+ "pattern": "^[A-Z]{2}(-[A-Z0-9]{1,3})?$",
259
+ "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)",
260
+ "maxLength": 6
261
+ },
262
+ "addressCountry": {
263
+ "type": "string",
264
+ "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)",
265
+ "pattern": "^[A-Z]{2}$",
266
+ "maxLength": 2
267
+ }
268
+ },
269
+ "required": [
270
+ "addressCountry"
271
+ ]
272
+ },
273
+ "Score_Schema": {
274
+ "title": "Score",
275
+ "type": "object",
276
+ "additionalProperties": false,
277
+ "properties": {
278
+ "scoreMethod": {
279
+ "type": "object",
280
+ "description": "The method according to which the score is given. ",
281
+ "additionalProperties": false,
282
+ "properties": {
283
+ "type": {
284
+ "type": "string",
285
+ "default": "ScoreMethod"
286
+ },
287
+ "scoreMethodType": {
288
+ "type": "string",
289
+ "enum": [
290
+ "NormReferenced",
291
+ "CriterionReferenced"
292
+ ],
293
+ "description": "One of: NormReferenced, CriterionReferenced."
294
+ },
295
+ "alignment": {
296
+ "type": "array",
297
+ "description": "A public resource to which the scoring method is aligned.",
298
+ "minItems": 1,
299
+ "items": {
300
+ "$ref": "#/definitions/Alignment_Schema"
301
+ }
302
+ },
303
+ "scoreMethodDescription": {
304
+ "type": "string",
305
+ "description": "A description of the scoring method used.",
306
+ "maxLength": 2048
307
+ },
308
+ "passingScore": {
309
+ "type": "string",
310
+ "description": "The minimum passing score",
311
+ "maxLength": 16
312
+ }
313
+ }
314
+ },
315
+ "type": {
316
+ "type": "string",
317
+ "default": "Score"
318
+ },
319
+ "scoreValue": {
320
+ "type": "string",
321
+ "description": "The score achieved by the person.",
322
+ "maxLength": 16
323
+ },
324
+ "result": {
325
+ "type": "string",
326
+ "description": "The result achieved by the person, e.g. acceptable, excellent, poor. Applicable when results are not stated as scores. ",
327
+ "maxLength": 2048
328
+ },
329
+ "passFail": {
330
+ "type": "string",
331
+ "enum": [
332
+ "Pass",
333
+ "Fail"
334
+ ],
335
+ "description": "One of: Pass, Fail"
336
+ },
337
+ "scoreDescription": {
338
+ "type": "string",
339
+ "description": "Explanation or description of the meaning of the score and/or result achieved.",
340
+ "maxLength": 2048
341
+ }
342
+ },
343
+ "description": ""
344
+ }
345
+ }
346
+ }