Skip to content

Commit

Permalink
Merge pull request #5 from spdci:dci-changes
Browse files Browse the repository at this point in the history
Discussion points( Changes of 14/16 Aug discussion)
  • Loading branch information
vvujjini authored Sep 3, 2023
2 parents 2bec406 + f1532dd commit 802bace
Show file tree
Hide file tree
Showing 40 changed files with 918 additions and 631 deletions.
50 changes: 35 additions & 15 deletions release/html/registry_core_api_v1_0.0.0.html

Large diffs are not rendered by default.

699 changes: 417 additions & 282 deletions release/yaml/registry_core_api_v1.0.0.yaml

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions src/common/schema/Expression.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
description: Expression
type: object
properties:
seq_num:
description: expression seq number for correlation
Expand Down
3 changes: 2 additions & 1 deletion src/common/schema/ExpressionList.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
type: object
description: list of attributes with matching conditions
items:
$ref: "./Expression.yaml"
$ref: "./Expression.yaml"
3 changes: 2 additions & 1 deletion src/common/schema/ExpressionResult.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
description: Expression result
type: object
properties:
seq_num:
description: expression seq number for correlation
Expand All @@ -12,4 +13,4 @@ properties:
example: "y"
required:
- seq_num
- result
- result
3 changes: 2 additions & 1 deletion src/common/schema/ExpressionResultList.yaml
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
type: array
items:
$ref: "./ExpressionResult.yaml"
$ref: "./ExpressionResult.yaml"
3 changes: 2 additions & 1 deletion src/common/schema/ExpressionWithConditionList.yaml
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
type: array
items:
$ref: "./ExpressionWithCondition.yaml"
$ref: "./ExpressionWithCondition.yaml"
3 changes: 2 additions & 1 deletion src/common/schema/ReferenceIdList.yaml
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
type: array
items:
$ref: "./ReferenceId.yaml"
$ref: "./ReferenceId.yaml"
3 changes: 2 additions & 1 deletion src/common/schema/SearchSortList.yaml
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
type: array
items:
$ref: "./SearchSort.yaml"
$ref: "./SearchSort.yaml"
4 changes: 2 additions & 2 deletions src/extensions/cdpi/PersonId.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
type: string
type: object
description: |
1. Person id is case insensitve normative represenation as id-type:id@provider <br>
2. This will enumerate foundational and functioanl id's to easily resolvable addressess <br>
Expand All @@ -9,4 +9,4 @@ description: |
- id@functional-identifier.issuing-agency e.g id:12345@voter-id, id:12345@driving-license, mobile:12345@farmer-reg <br>
Note: id provider should be made configurable and solutions should adapt to the local jurisdiction and policies.
format: "^[a-zA-Z0-9.-]+@[a-zA-Z0-9.-]+$"
example: vid:54321@mosip
example: vid:54321@mosip
3 changes: 2 additions & 1 deletion src/extensions/dci/IdentifierTypeValue.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
type: object
properties:
identifier_type:
$ref: IdentifierType.yaml
identifier_value:
type: string
description: Value of the identifier
description: Value of the identifier
8 changes: 7 additions & 1 deletion src/extensions/dci/PersonRecord.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,15 @@ properties:
phone_number:
description: Applicant preferred phone number as in [E.164](https://www.itu.int/rec/T-REC-E.164-201011-I/en)
type: string
phone_number_verified:
description: True if the End-User's phone number has been verified; otherwise false.
type: string
email:
description: Applicant preferred e-mail address as in [RFC 5322](https://datatracker.ietf.org/doc/html/rfc5322) [addr-spec](https://datatracker.ietf.org/doc/html/rfc5322#section-3.4.1) [specification](https://datatracker.ietf.org/doc/html/rfc5322#section-3.4.1)
type: string
email_verified:
description: Email address was controlled by the End-User at the time the verification was performed. The means by which an e-mail address is verified is context-specific, and dependent upon the trust framework or contractual agreements within which the parties are operating.
type: boolean
sex:
$ref: Sex.yaml
birthdate:
Expand Down Expand Up @@ -50,4 +56,4 @@ properties:
$ref: IdentifierType.yaml
identifier:
type: string
description: Value of the identifier
description: Value of the identifier
3 changes: 1 addition & 2 deletions src/extensions/nid/DeceasedRecord.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,4 @@ properties:
description: Date in DDMMYYYY format to capture the Demo Check Date
type: string
document:
description: Reference document collected for registering the deceased information
$ref: Document.yaml
$ref: Document.yaml
4 changes: 2 additions & 2 deletions src/extensions/nid/Document.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
type: object
description: Supporting document of the Resident
description: Supporting document of the Resident,Reference document collected for registering the deceased information,Document encoded as Base64 string
properties:
document_name:
description: Name of the document
type: string
document:
description: Bases 64 encoded document
type: string
type: string
4 changes: 2 additions & 2 deletions src/extensions/nid/EKycDetails.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
type: object
description: eKYC details of the resident
description: eKYC details of the resident ,ekyc Details undertaken by the Resident
properties:
ekyc_date:
description: Date on which eKYC has been done. A null value indicates that eKYC has not been undertaken
type: string
type: string
4 changes: 2 additions & 2 deletions src/extensions/nid/ResidentNationality.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
type: object
description: Resident Nationality Information
description: Resident Nationality Information,Nationality information of the Resident
properties:
nationality:
description: Nationality information of the Resident
Expand All @@ -21,4 +21,4 @@ properties:
type: string
oci_valid_upto:
description: OCI Validity date in DDMMYYYY format
type: string
type: string
4 changes: 2 additions & 2 deletions src/extensions/nid/ResidentPhoto.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
type: object
description: Resident Photo
description: Resident Photo,Image encoded as Base64 string
properties:
photo:
description: Photo encoded as Base64 string
type: string
type: string
6 changes: 1 addition & 5 deletions src/extensions/nid/ResidentRecord.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,10 @@ properties:
local_address:
$ref: ResidentLocalAddress.yaml
photo:
description: Image encoded as Base64 string
$ref: ResidentPhoto.yaml
nationality:
description: Nationality information of the Resident
$ref: ResidentNationality.yaml
kyc_status:
description: ekyc Details undertaken by the Resident
$ref: EKycDetails.yaml
document:
description: Document encoded as Base64 string
$ref: Document.yaml
$ref: Document.yaml
3 changes: 2 additions & 1 deletion src/extensions/openid/Address.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
title: Address
type: object
description: Address info as per OpenID <a href="https://openid.net/specs/openid-connect-core-1_0.html#AddressClaim">specs</a>
properties:
address_line1:
Expand Down Expand Up @@ -34,4 +35,4 @@ properties:
Refer [Plus Codes](https://github.com/google/open-location-code/wiki/Plus-codes-API) for more details
oneOf:
- $ref: ../../common/schema/LatLong.yaml
- $ref : ../google/GooglePlusCode.yaml
- $ref : ../google/GooglePlusCode.yaml
3 changes: 2 additions & 1 deletion src/extensions/openid/PersonRecord.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
type: object
description: |
1. Attributes of a person to create fetch records, create verifiable credentials or use in search criteria.
2. Allowes Country/Registry specific implementation extensions using Attribute Name/Value pairs.
Expand Down Expand Up @@ -99,4 +100,4 @@ properties:
description: Stage name, religious name or any other type of alias/pseudonym with which a person is known in a specific context besides its legal name. This must be part of the applicable legislation and thus the trust framework (e.g., be an attribute on the identity card).
type: string
additional_attributes:
$ref: ../../common/schema/AttributeNameValueList.yaml
$ref: ../../common/schema/AttributeNameValueList.yaml
93 changes: 75 additions & 18 deletions src/registry/registry_core_api_v1.0.0.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,65 @@ tags:
description: Sync endpoints
- name: Schemas
description: Schemas
- name: SearchRequest
x-displayName: SearchRequest
description: |
<SchemaDefinition schemaRef="#/components/schemas/SearchRequest" />
- name: SearchResponse
x-displayName: SearchResponse
description: |
<SchemaDefinition schemaRef="#/components/schemas/SearchResponse" />
- name: SubscribeRequest
x-displayName: SubscribeRequest
description: |
<SchemaDefinition schemaRef="#/components/schemas/SubscribeRequest" />
- name: NotifyEventRequest
x-displayName: NotifyEventRequest
description: |
<SchemaDefinition schemaRef="#/components/schemas/NotifyEventRequest" />
- name: TxnStatusRequest
x-displayName: TxnStatusRequest
description: |
<SchemaDefinition schemaRef="#/components/schemas/TxnStatusRequest" />
- name: TxnStatusResponse
x-displayName: TxnStatusResponse
description: |
<SchemaDefinition schemaRef="#/components/schemas/TxnStatusResponse" />
- name: FetchSubscriptionsRequest
x-displayName: FetchSubscriptionsRequest
description: |
<SchemaDefinition schemaRef="#/components/schemas/FetchSubscriptionsRequest" />
- name: FetchSubscriptionsResponse
x-displayName: FetchSubscriptionsResponse
description: |
<SchemaDefinition schemaRef="#/components/schemas/FetchSubscriptionsResponse" />
- name: UnSubscribeRequest
x-displayName: UnSubscribeRequest
description: |
<SchemaDefinition schemaRef="#/components/schemas/UnSubscribeRequest" />
- name: UnSubscribeResponse
x-displayName: UnSubscribeResponse
description: |
<SchemaDefinition schemaRef="#/components/schemas/UnSubscribeResponse" />
x-tagGroups:
- name: API Definitions
tags:
- Async
- Sync
- name: Schema Objects
tags:
- SearchRequest
- SearchResponse
- SubscribeRequest
- NotifyEventRequest
- TxnStatusRequest
- TxnStatusResponse
- FetchSubscriptionsRequest
- FetchSubscriptionsResponse
- UnSubscribeRequest
- UnSubscribeResponse

paths:
/registry/search:
post:
Expand Down Expand Up @@ -659,7 +718,7 @@ paths:
message:
type: object
description: The search data using which registry search to be performed
anyOf:
oneOf:
- $ref: '#/components/schemas/SearchRequest'
- $ref: '#/components/schemas/EncryptedMessage'
required:
Expand Down Expand Up @@ -1063,42 +1122,40 @@ components:
$ref: schema/core/AllRecordTypes.yaml
coreReg_EventType:
$ref: schema/core/EventType.yaml
FetchSubscriptionsRequest:
$ref: schema/core/FetchSubscriptionsRequest.yaml
FetchSubscriptionsRequest:
$ref: schema/core/FetchSubscriptionsRequest.yaml
FetchSubscriptionsResponse:
$ref: schema/core/FetchSubscriptionsResponse.yaml
NotifyEventRequest:
$ref: schema/core/NotifyEventRequest.yaml
$ref: schema/core/FetchSubscriptionsResponse.yaml
NotifyEventRequest:
$ref: schema/core/NotifyEventRequest.yaml
other_RecordType:
$ref: schema/core/RegistryRecordType.yaml
coreReg_Type:
$ref: schema/core/RegistryType.yaml
SearchRequest:
SearchRequest:
$ref: schema/core/SearchRequest.yaml
SearchResponse:
$ref: schema/core/SearchResponse.yaml
SearchResponse:
$ref: schema/core/SearchResponse.yaml
SearchStatusReasonCode:
$ref: schema/core/SearchStatusReasonCode.yaml
SubscribeRequest:
$ref: schema/core/SubscribeRequest.yaml
# SubscribeResponse:
# $ref: schema/core/SubscribeResponse.yaml
SubscribeRequest:
$ref: schema/core/SubscribeRequest.yaml
SubscribeStatusReasonCode:
$ref: schema/core/SubscribeStatusReasonCode.yaml
SubscriptionCode:
$ref: schema/core/SubscriptionCode.yaml
SubscriptionInfo:
$ref: schema/core/SubscriptionInfo.yaml
SubscriptionStatus:
$ref: schema/core/SubscriptionStatus.yaml
$ref: schema/core/SubscriptionStatus.yaml
TxnStatusRequest:
$ref: schema/core/TxnStatusRequest.yaml
$ref: schema/core/TxnStatusRequest.yaml
TxnStatusResponse:
$ref: schema/core/TxnStatusResponse.yaml
$ref: schema/core/TxnStatusResponse.yaml
UnSubscribeRequest:
$ref: schema/core/UnSubscribeRequest.yaml
$ref: schema/core/UnSubscribeRequest.yaml
UnSubscribeResponse:
$ref: schema/core/UnSubscribeResponse.yaml
$ref: schema/core/UnSubscribeResponse.yaml
UnSubscribeStatusReasonCode:
$ref: schema/core/UnSubscribeStatusReasonCode.yaml

Expand Down
4 changes: 2 additions & 2 deletions src/registry/schema/civil/EventType.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ description: |
2. This is an indicative list as reference and every country, organisation, system shall customise to local requirements as extensions
3. Example Civil Registration events: person, birth, death, marriage, divorce, annulment, seperation, adoption, demo_change, unregister, etc.,
type: string
example:
enum:
- "person"
- "birth"
- "death"
Expand All @@ -13,4 +13,4 @@ example:
- "seperation"
- "adoption"
- "demo_change"
- "unregister"
- "unregister"
4 changes: 3 additions & 1 deletion src/registry/schema/civil/PersonRecord.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
type: object
description: |
1. A sample person record to identity an individual or civil regisration event in a typical civil registry
2, This is an indicative list as reference and every country, organisation, system shall customise to local requirements as extensions
Expand All @@ -17,10 +18,11 @@ allOf:
type: string
registration_date:
description: Registration date
type: string
link_registration_number:
description: Registration number to related record. e.g birth registration no for death, marriage registration no for divorce/annulment, etc.,
type: string
related_persons:
type: array
items:
$ref: RelatedPerson.yaml
$ref: RelatedPerson.yaml
4 changes: 2 additions & 2 deletions src/registry/schema/civil/RecordType.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ description: |
1. A sample record list to identity various records that civil registry can produce
2, This is an indicative list as reference and every country, organisation, system shall customise to local requirements as extensions
3. Example Civil Registry records - person_record, birth_cert, death_cert, marriage_cert, etc.,
example:
enum:
- "person_record"
- "brith_cert"
- "death_cert"
- "marriage_cert"
- "other_record"
- "other_record"
3 changes: 2 additions & 1 deletion src/registry/schema/core/AllEvents.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
type: string
description: |
1. List of all events type defined by respective registries, entities, coutnries and organisation as extensions
2. Events can be used for defining custom selection criteria with in the context of registry domain
oneOf:
- $ref: ../../../extensions/dci/VitalEvents.yaml
- $ref: ../civil/EventType.yaml
- $ref: ../../../extensions/mosip/EventType.yaml
- $ref: ./EventType.yaml
- $ref: ./EventType.yaml
3 changes: 2 additions & 1 deletion src/registry/schema/core/AllQueries.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
type: object
description: |
1. Pre defined query objects injected by each country/org/system to query a registry
2. Implementing systems may create pre-defined query objects based on use cases and inject as custom extensions
Expand All @@ -8,4 +9,4 @@ description: |
oneOf:
- $ref: ../../../extensions/dci/IdentifierTypeValue.yaml
- $ref: ../../../extensions/cdpi/PersonId.yaml
- $ref: "../../../common/schema/ExpressionWithConditionList.yaml"
- $ref: "../../../common/schema/ExpressionWithConditionList.yaml"
Loading

0 comments on commit 802bace

Please sign in to comment.