@planning-inspectorate/data-model 2.32.0 → 2.33.0

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 (28) hide show
  1. package/docs/appeal-s78.md +0 -4
  2. package/package.json +1 -1
  3. package/pins_data_model/models/model_appeal_document.py +1 -1
  4. package/pins_data_model/models/model_appeal_event.py +1 -1
  5. package/pins_data_model/models/model_appeal_event_estimate.py +1 -1
  6. package/pins_data_model/models/model_appeal_has.py +1 -1
  7. package/pins_data_model/models/model_appeal_representation.py +1 -1
  8. package/pins_data_model/models/model_appeal_s78.py +3 -3
  9. package/pins_data_model/models/model_dart_response.py +1 -1
  10. package/pins_data_model/models/model_entraid.py +1 -1
  11. package/pins_data_model/models/model_folder.py +1 -1
  12. package/pins_data_model/models/model_gettimesheets_response.py +1 -1
  13. package/pins_data_model/models/model_listed_building.py +1 -1
  14. package/pins_data_model/models/model_listed_buildings.py +1 -1
  15. package/pins_data_model/models/model_nsip_document.py +2 -1
  16. package/pins_data_model/models/model_nsip_exam_timetable.py +1 -1
  17. package/pins_data_model/models/model_nsip_invoice.py +1 -1
  18. package/pins_data_model/models/model_nsip_meeting.py +1 -1
  19. package/pins_data_model/models/model_nsip_project.py +1 -1
  20. package/pins_data_model/models/model_nsip_project_update.py +1 -1
  21. package/pins_data_model/models/model_nsip_representation.py +1 -1
  22. package/pins_data_model/models/model_nsip_subscription.py +1 -1
  23. package/pins_data_model/models/model_pins_inspector.py +1 -1
  24. package/pins_data_model/models/model_pins_lpa.py +1 -1
  25. package/pins_data_model/models/model_s51_advice.py +1 -1
  26. package/pins_data_model/models/model_service_user.py +1 -1
  27. package/schemas/appeal-s78.schema.json +0 -1
  28. package/tests/appeals/expedited-appeals.test.js +0 -7
@@ -4829,10 +4829,6 @@ Reason for appeal as provided by the appellant (Expedited Appeals)
4829
4829
 
4830
4830
  `string`
4831
4831
 
4832
- ### reasonForAppealAppellant Constraints
4833
-
4834
- **maximum length**: the maximum number of characters for this string is: `250`
4835
-
4836
4832
  ## screeningOpinionIndicatesEiaRequired
4837
4833
 
4838
4834
  Indicates if the screening opinion specifies that an EIA is required (Expedited Appeals)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@planning-inspectorate/data-model",
3
- "version": "2.32.0",
3
+ "version": "2.33.0",
4
4
  "description": "JSON Schemas for the Planning Inspectorate's Data Model",
5
5
  "main": "src/index.js",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: appeal-document.schema.json
3
- # timestamp: 2026-04-15T12:58:38+00:00
3
+ # timestamp: 2026-04-22T14:15:03+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: appeal-event.schema.json
3
- # timestamp: 2026-04-15T12:58:37+00:00
3
+ # timestamp: 2026-04-22T14:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: appeal-event-estimate.schema.json
3
- # timestamp: 2026-04-15T12:58:37+00:00
3
+ # timestamp: 2026-04-22T14:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: appeal-has.schema.json
3
- # timestamp: 2026-04-15T12:58:37+00:00
3
+ # timestamp: 2026-04-22T14:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: appeal-representation.schema.json
3
- # timestamp: 2026-04-15T12:58:37+00:00
3
+ # timestamp: 2026-04-22T14:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: appeal-s78.schema.json
3
- # timestamp: 2026-04-15T12:58:37+00:00
3
+ # timestamp: 2026-04-22T14:15:03+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1251,7 +1251,7 @@ class AppealS78Case1(BaseModel):
1251
1251
  Other reason for serving a discontinuance notice, for discontinuanceNoticeServedReason: other
1252
1252
  """
1253
1253
  wasRetrospectivePlanningApplicationMade: bool | None = None
1254
- reasonForAppealAppellant: constr(max_length=250) | None = None
1254
+ reasonForAppealAppellant: str | None = None
1255
1255
  """
1256
1256
  Reason for appeal as provided by the appellant (Expedited Appeals)
1257
1257
  """
@@ -2010,7 +2010,7 @@ class AppealS78Case2(BaseModel):
2010
2010
  Other reason for serving a discontinuance notice, for discontinuanceNoticeServedReason: other
2011
2011
  """
2012
2012
  wasRetrospectivePlanningApplicationMade: bool | None = None
2013
- reasonForAppealAppellant: constr(max_length=250) | None = None
2013
+ reasonForAppealAppellant: str | None = None
2014
2014
  """
2015
2015
  Reason for appeal as provided by the appellant (Expedited Appeals)
2016
2016
  """
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: dart-response.schema.json
3
- # timestamp: 2026-04-15T12:58:37+00:00
3
+ # timestamp: 2026-04-22T14:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: entraid.schema.json
3
- # timestamp: 2026-04-15T12:58:37+00:00
3
+ # timestamp: 2026-04-22T14:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: folder.schema.json
3
- # timestamp: 2026-04-15T12:58:37+00:00
3
+ # timestamp: 2026-04-22T14:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: gettimesheets-response.schema.json
3
- # timestamp: 2026-04-15T12:58:37+00:00
3
+ # timestamp: 2026-04-22T14:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: listed-building.schema.json
3
- # timestamp: 2026-04-15T12:58:37+00:00
3
+ # timestamp: 2026-04-22T14:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: listed-buildings.schema.json
3
- # timestamp: 2026-04-15T12:58:37+00:00
3
+ # timestamp: 2026-04-22T14:15:03+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: nsip-document.schema.json
3
- # timestamp: 2026-04-15T12:58:37+00:00
3
+ # timestamp: 2026-04-22T14:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -59,6 +59,7 @@ class SecurityClassification(Enum):
59
59
  class SourceSystem(Enum):
60
60
  back_office_appeals = "back-office-appeals"
61
61
  back_office_applications = "back-office-applications"
62
+ dco_portal = "dco-portal"
62
63
  horizon = "horizon"
63
64
  ni_file = "ni_file"
64
65
  sharepoint = "sharepoint"
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: nsip-exam-timetable.schema.json
3
- # timestamp: 2026-04-15T12:58:37+00:00
3
+ # timestamp: 2026-04-22T14:15:03+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: nsip-invoice.schema.json
3
- # timestamp: 2026-04-15T12:58:37+00:00
3
+ # timestamp: 2026-04-22T14:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: nsip-meeting.schema.json
3
- # timestamp: 2026-04-15T12:58:37+00:00
3
+ # timestamp: 2026-04-22T14:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: nsip-project.schema.json
3
- # timestamp: 2026-04-15T12:58:37+00:00
3
+ # timestamp: 2026-04-22T14:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: nsip-project-update.schema.json
3
- # timestamp: 2026-04-15T12:58:37+00:00
3
+ # timestamp: 2026-04-22T14:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: nsip-representation.schema.json
3
- # timestamp: 2026-04-15T12:58:37+00:00
3
+ # timestamp: 2026-04-22T14:15:03+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: nsip-subscription.schema.json
3
- # timestamp: 2026-04-15T12:58:37+00:00
3
+ # timestamp: 2026-04-22T14:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: pins-inspector.schema.json
3
- # timestamp: 2026-04-15T12:58:37+00:00
3
+ # timestamp: 2026-04-22T14:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: pins-lpa.schema.json
3
- # timestamp: 2026-04-15T12:58:37+00:00
3
+ # timestamp: 2026-04-22T14:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: s51-advice.schema.json
3
- # timestamp: 2026-04-15T12:58:37+00:00
3
+ # timestamp: 2026-04-22T14:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: service-user.schema.json
3
- # timestamp: 2026-04-15T12:58:37+00:00
3
+ # timestamp: 2026-04-22T14:15:02+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1350,7 +1350,6 @@
1350
1350
  },
1351
1351
  "reasonForAppealAppellant": {
1352
1352
  "type": ["string", "null"],
1353
- "maxLength": 250,
1354
1353
  "description": "Reason for appeal as provided by the appellant (Expedited Appeals)"
1355
1354
  },
1356
1355
  "screeningOpinionIndicatesEiaRequired": {
@@ -183,13 +183,6 @@ describe('Expedited S78 Appeals', () => {
183
183
  assert.strictEqual(validationResult, true);
184
184
  });
185
185
 
186
- it('should enforce maxLength for reasonForAppealAppellant', () => {
187
- const test = structuredClone(expeditedAppealPayload);
188
- test.reasonForAppealAppellant = 'a'.repeat(251);
189
- const validationResult = ajv.validate(schema, test);
190
- assert.strictEqual(validationResult, false);
191
- });
192
-
193
186
  it('should enforce enum for significantChangesAffectingApplication', () => {
194
187
  const test = structuredClone(expeditedAppealPayload);
195
188
  test.significantChangesAffectingApplicationAppellant = [{ value: 'invalid-enum-value', comment: 'some comment' }];