diff --git a/schema/core-person.json b/schema/core-person.json index cff4513..4d42db5 100644 --- a/schema/core-person.json +++ b/schema/core-person.json @@ -1,122 +1,76 @@ { - "$id": "core-person", - "$schema": "http://json-schema.org/draft-07/schema#", - "description": "A core representation of a person", - "type": "object", - "required": [ "name", "email" ], - "properties": { - "name": { - "$ref": "#/components/schemas/name" + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Core Person Schema from Internet2 T&I", + "description": "Core Person Schema from Internet2 T&I", + "type": "object", + "required": [ + "name", + "email" + ], + "properties": { + "name": {"$ref": "#/components/schemas/name"}, + "logon-id": {"$ref": "#/components/schemas/logon-id"}, + "subject-id": {"$ref": "#/components/schemas/subject-id"}, + "priorSubject-id": {"$ref": "#/components/schemas/priorSubject-id"}, + "sourcedId": {"$ref": "#/components/schemas/sourcedId"}, + "birthDate": {"$ref": "#/components/schemas/birthDate"}, + "email": {"$ref": "#/components/schemas/email"}, + "phone": {"$ref": "#/components/schemas/phone"}, + "personalPronoun": {"$ref": "#/components/schemas/personalPronoun"} }, - "logon-id": { - "$ref": "#/components/schemas/logon-id" - }, - "subject-id": { - "$ref": "#/components/schemas/subject-id" - }, - "priorSubject-id": { - "$ref": "#/components/schemas/priorSubject-id" - }, - "sourcedId": { - "$ref": "#/components/schemas/sourcedId" - }, - - "birthDate": { - "$ref": "#/components/schemas/birthDate" - }, - "email": { - "$ref": "#/components/schemas/email" - }, - "phone": { - "$ref": "#/components/schemas/phone" - }, - "personalPronoun": { - "$ref": "#/components/schemas/personalPronoun" - } - }, - "components": - { - "schemas": - { - "name": { - "type": "object", - "properties": { - "familyName": { - "type": "string" - }, - "givenName": { - "type": "string" - }, - "middleName": { - "type": "string" - }, - "nameType": { - "type": "string" - } - } - }, - "logon-id": { - "type": "string", - "description": "same as identifier/network in Core Attribute Specification" - }, - "subject-id": { - "type": "string", - "description": "same as identifier/enterprise in Core Attribute Specification" - }, - "priorSubject-id": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string" - } - } - } - }, - "sourcedId": { - "type": "array", - "items": { - "id": { - "type": "string" - } - } - } - }, - "dateOfBirth": { - "type": "string" - }, - "email": { - "type": "array", - "items": { - "type": "object", - "properties": { - "emailAddress": { - "type": "string" - } - } - } - }, - "phone": { - "type": "array", - "description": "same as telephoneNumber in Core Attribute Specification" - "items": { - "type": "object", - "properties": { - "phoneNumber": { - "type": "string" - }, - "phoneType": { - "type": "string" - } - } - } - }, - "personalPronoun": { - "type": "string" - "description": "needs to be added to Core Attribute Specification" + "components": { + "schemas": { + "name": { + "type": "object", + "properties": { + "familyName": {"type": "string"}, + "givenName": {"type": "string"}, + "middleName": {"type": "string"}, + "nameType": {"type": "string"} + } + }, + "logon-id": { + "type": "string", + "description": "same as identifier/network in Core Attribute Specification" + }, + "subject-id": { + "type": "string", + "description": "same as identifier/enterprise in Core Attribute Specification" + }, + "priorSubject-id": { + "type": "array", + "items": { + "id": {"type": "string"} + } + }, + "sourcedId": { + "type": "array", + "items": { + "id": {"type": "string"} + } + }, + "birthDate": {"type": "string"}, + "email": { + "type": "array", + "items": { + "type": "object", + "properties": { + "emailAddress": {"type": "string"} + } + } + }, + "phone": { + "type": "array", + "description": "same as telephoneNumber in Core Attribute Specification", + "items": { + "type": "object", + "properties": { + "phoneNumber": {"type": "string"}, + "phoneType": {"type": "string"} + } + } + }, + "personalPronoun": {"type": "string"} } - } } - } - +}