Skip to content

Investigate removing null as a permitted value for countryCode #379

@mrshll1001

Description

@mrshll1001

Stemming from #378

countryCode currently has the following schema:

{
  "countryCode": {
    "type": [
      "string",
      "null"
    ]
  }
}

Combined with the codelist, this essentially allows the value of countryCode to either be a string which is a country code OR null. In JSON Schema, this has specific semantics where the value is not absent but is indeed null.

This is the only place we see this in the schema, similar fields such as currency just permit the string value. This leads me to think that this was either:

  • a mistake and thus should be rectified.
  • a deliberate design feature to allow declaring a countryCode of null to represent something specific e.g. unrecognised territory.

We should try to determine whether this was as deliberate design feature or an error in the schema. If it is the latter, fixing it would technically constitute a breaking change and thus qualify as a MAJOR upgrade so can be considered for version 2.0.

This is otherwise a straightforward amendment to the schema and would not be intensive.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions