@planning-inspectorate/data-model 2.2.0 → 2.3.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.
- package/.azure/ci.yml +3 -0
- package/docs/appeal-has.md +19 -0
- package/docs/appeal-s78.md +19 -0
- package/package.json +2 -2
- package/pins_data_model/models/model_appeal_document.py +1 -1
- package/pins_data_model/models/model_appeal_event.py +1 -1
- package/pins_data_model/models/model_appeal_event_estimate.py +1 -1
- package/pins_data_model/models/model_appeal_has.py +9 -1
- package/pins_data_model/models/model_appeal_representation.py +1 -1
- package/pins_data_model/models/model_appeal_s78.py +9 -1
- package/pins_data_model/models/model_dart_response.py +1 -1
- package/pins_data_model/models/model_entraid.py +1 -1
- package/pins_data_model/models/model_folder.py +1 -1
- package/pins_data_model/models/model_gettimesheets_response.py +1 -1
- package/pins_data_model/models/model_listed_building.py +1 -1
- package/pins_data_model/models/model_listed_buildings.py +1 -1
- package/pins_data_model/models/model_nsip_document.py +1 -1
- package/pins_data_model/models/model_nsip_exam_timetable.py +1 -1
- package/pins_data_model/models/model_nsip_invoice.py +2 -2
- package/pins_data_model/models/model_nsip_meeting.py +2 -2
- package/pins_data_model/models/model_nsip_project.py +1 -1
- package/pins_data_model/models/model_nsip_project_update.py +1 -1
- package/pins_data_model/models/model_nsip_representation.py +1 -1
- package/pins_data_model/models/model_nsip_subscription.py +1 -1
- package/pins_data_model/models/model_pins_inspector.py +1 -1
- package/pins_data_model/models/model_pins_lpa.py +1 -1
- package/pins_data_model/models/model_s51_advice.py +1 -1
- package/pins_data_model/models/model_service_user.py +1 -1
- package/schemas/appeal-has.schema.json +6 -1
- package/schemas/appeal-s78.schema.json +6 -1
- package/src/schemas.d.ts +8 -0
- package/tests/appeals/appeal-has.test.js +2 -1
- package/tests/appeals/appeal-s78.test.js +2 -1
package/.azure/ci.yml
CHANGED
|
@@ -21,6 +21,7 @@ resources:
|
|
|
21
21
|
extends:
|
|
22
22
|
template: stages/wrapper_ci.yml@templates
|
|
23
23
|
parameters:
|
|
24
|
+
gitFetchDepth: 0
|
|
24
25
|
skipAzureAuth: true
|
|
25
26
|
validationJobs:
|
|
26
27
|
- name: Run Checks
|
|
@@ -31,6 +32,8 @@ extends:
|
|
|
31
32
|
script: npm ci
|
|
32
33
|
- template: ../steps/node_script.yml
|
|
33
34
|
parameters:
|
|
35
|
+
# only run commitlint on branches, not main
|
|
36
|
+
condition: ne(variables['Build.SourceBranchName'], 'main')
|
|
34
37
|
nodeVersion: 22
|
|
35
38
|
script: npm run commitlint
|
|
36
39
|
- template: ../steps/node_script.yml
|
package/docs/appeal-has.md
CHANGED
|
@@ -115,6 +115,7 @@ any of
|
|
|
115
115
|
| [didAppellantSubmitCompletePhotosAndPlans](#didappellantsubmitcompletephotosandplans) | `boolean` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-didappellantsubmitcompletephotosandplans.md "appeal-has.schema.json#/properties/didAppellantSubmitCompletePhotosAndPlans") |
|
|
116
116
|
| [isSiteInAreaOfSpecialControlAdverts](#issiteinareaofspecialcontroladverts) | `boolean` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-issiteinareaofspecialcontroladverts.md "appeal-has.schema.json#/properties/isSiteInAreaOfSpecialControlAdverts") |
|
|
117
117
|
| [advertDetails](#advertdetails) | `array` | Optional | can be null | [Appeal HAS Case](appeal-has-properties-advertdetails.md "appeal-has.schema.json#/properties/advertDetails") |
|
|
118
|
+
| [padsSapId](#padssapid) | `string` | Required | can be null | [Appeal HAS Case](appeal-has-properties-padssapid.md "appeal-has.schema.json#/properties/padsSapId") |
|
|
118
119
|
| Additional Properties | Any | Optional | can be null | |
|
|
119
120
|
|
|
120
121
|
## caseId
|
|
@@ -2623,6 +2624,24 @@ A list of advertisements for the appeal
|
|
|
2623
2624
|
|
|
2624
2625
|
`object[]` ([Details](appeal-has-properties-advertdetails-items.md))
|
|
2625
2626
|
|
|
2627
|
+
## padsSapId
|
|
2628
|
+
|
|
2629
|
+
padsSapId for PADS inspectors
|
|
2630
|
+
|
|
2631
|
+
`padsSapId`
|
|
2632
|
+
|
|
2633
|
+
* is required
|
|
2634
|
+
|
|
2635
|
+
* Type: `string`
|
|
2636
|
+
|
|
2637
|
+
* can be null
|
|
2638
|
+
|
|
2639
|
+
* defined in: [Appeal HAS Case](appeal-has-properties-padssapid.md "appeal-has.schema.json#/properties/padsSapId")
|
|
2640
|
+
|
|
2641
|
+
### padsSapId Type
|
|
2642
|
+
|
|
2643
|
+
`string`
|
|
2644
|
+
|
|
2626
2645
|
## Additional Properties
|
|
2627
2646
|
|
|
2628
2647
|
Additional properties are allowed and do not have to follow a specific schema
|
package/docs/appeal-s78.md
CHANGED
|
@@ -154,6 +154,7 @@ any of
|
|
|
154
154
|
| [didAppellantSubmitCompletePhotosAndPlans](#didappellantsubmitcompletephotosandplans) | `boolean` | Optional | can be null | [Appeal S78 Case](appeal-s78-properties-didappellantsubmitcompletephotosandplans.md "appeal-s78.schema.json#/properties/didAppellantSubmitCompletePhotosAndPlans") |
|
|
155
155
|
| [isSiteInAreaOfSpecialControlAdverts](#issiteinareaofspecialcontroladverts) | `boolean` | Optional | can be null | [Appeal S78 Case](appeal-s78-properties-issiteinareaofspecialcontroladverts.md "appeal-s78.schema.json#/properties/isSiteInAreaOfSpecialControlAdverts") |
|
|
156
156
|
| [advertDetails](#advertdetails) | `array` | Optional | can be null | [Appeal S78 Case](appeal-s78-properties-advertdetails.md "appeal-s78.schema.json#/properties/advertDetails") |
|
|
157
|
+
| [padsSapId](#padssapid) | `string` | Required | can be null | [Appeal S78 Case](appeal-s78-properties-padssapid.md "appeal-s78.schema.json#/properties/padsSapId") |
|
|
157
158
|
| Additional Properties | Any | Optional | can be null | |
|
|
158
159
|
|
|
159
160
|
## caseId
|
|
@@ -3692,6 +3693,24 @@ A list of advertisements for the appeal
|
|
|
3692
3693
|
|
|
3693
3694
|
`object[]` ([Details](appeal-s78-properties-advertdetails-items.md))
|
|
3694
3695
|
|
|
3696
|
+
## padsSapId
|
|
3697
|
+
|
|
3698
|
+
padsSapId for PADS inspectors
|
|
3699
|
+
|
|
3700
|
+
`padsSapId`
|
|
3701
|
+
|
|
3702
|
+
* is required
|
|
3703
|
+
|
|
3704
|
+
* Type: `string`
|
|
3705
|
+
|
|
3706
|
+
* can be null
|
|
3707
|
+
|
|
3708
|
+
* defined in: [Appeal S78 Case](appeal-s78-properties-padssapid.md "appeal-s78.schema.json#/properties/padsSapId")
|
|
3709
|
+
|
|
3710
|
+
### padsSapId Type
|
|
3711
|
+
|
|
3712
|
+
`string`
|
|
3713
|
+
|
|
3695
3714
|
## Additional Properties
|
|
3696
3715
|
|
|
3697
3716
|
Additional properties are allowed and do not have to follow a specific schema
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@planning-inspectorate/data-model",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0",
|
|
4
4
|
"description": "JSON Schemas for the Planning Inspectorate's Data Model",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"require": "./src/index.cjs"
|
|
10
10
|
},
|
|
11
11
|
"scripts": {
|
|
12
|
-
"commitlint": "commitlint --from=$(git cherry origin/main | head -n 1 | cut -c 3-)",
|
|
12
|
+
"commitlint": "commitlint --from=$(git rev-parse $(git cherry origin/main | head -n 1 | cut -c 3-)^1)",
|
|
13
13
|
"gen": "npm run gen-docs && npm run gen-enums && npm run gen-types && npm run gen-cjs",
|
|
14
14
|
"gen-docs": "node src/lib/gen-docs.js",
|
|
15
15
|
"gen-enums": "node src/lib/gen-enums.js",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: appeal-has.schema.json
|
|
3
|
-
# timestamp: 2025-
|
|
3
|
+
# timestamp: 2025-12-02T17:41:26+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -742,6 +742,10 @@ class AppealHasCase1(BaseModel):
|
|
|
742
742
|
"""
|
|
743
743
|
A list of advertisements for the appeal
|
|
744
744
|
"""
|
|
745
|
+
padsSapId: str | None = None
|
|
746
|
+
"""
|
|
747
|
+
padsSapId for PADS inspectors
|
|
748
|
+
"""
|
|
745
749
|
|
|
746
750
|
|
|
747
751
|
class AdvertDetail1(BaseModel):
|
|
@@ -1237,6 +1241,10 @@ class AppealHasCase2(BaseModel):
|
|
|
1237
1241
|
"""
|
|
1238
1242
|
A list of advertisements for the appeal
|
|
1239
1243
|
"""
|
|
1244
|
+
padsSapId: str | None = None
|
|
1245
|
+
"""
|
|
1246
|
+
padsSapId for PADS inspectors
|
|
1247
|
+
"""
|
|
1240
1248
|
|
|
1241
1249
|
|
|
1242
1250
|
class AppealHasCase(RootModel[AppealHasCase1 | AppealHasCase2]):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: appeal-s78.schema.json
|
|
3
|
-
# timestamp: 2025-
|
|
3
|
+
# timestamp: 2025-12-02T17:41:26+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -916,6 +916,10 @@ class AppealS78Case1(BaseModel):
|
|
|
916
916
|
"""
|
|
917
917
|
A list of advertisements for the appeal
|
|
918
918
|
"""
|
|
919
|
+
padsSapId: str | None = None
|
|
920
|
+
"""
|
|
921
|
+
padsSapId for PADS inspectors
|
|
922
|
+
"""
|
|
919
923
|
|
|
920
924
|
|
|
921
925
|
class AdvertDetail1(BaseModel):
|
|
@@ -1519,6 +1523,10 @@ class AppealS78Case2(BaseModel):
|
|
|
1519
1523
|
"""
|
|
1520
1524
|
A list of advertisements for the appeal
|
|
1521
1525
|
"""
|
|
1526
|
+
padsSapId: str | None = None
|
|
1527
|
+
"""
|
|
1528
|
+
padsSapId for PADS inspectors
|
|
1529
|
+
"""
|
|
1522
1530
|
|
|
1523
1531
|
|
|
1524
1532
|
class AppealS78Case(RootModel[AppealS78Case1 | AppealS78Case2]):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: nsip-invoice.schema.json
|
|
3
|
-
# timestamp: 2025-
|
|
3
|
+
# timestamp: 2025-12-02T17:41:26+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -35,7 +35,7 @@ class NsipInvoice(BaseModel):
|
|
|
35
35
|
The unique identifier within the Back Office. This is not the same as the case reference
|
|
36
36
|
"""
|
|
37
37
|
caseReference: str | None = Field(..., examples=["BC0510001"])
|
|
38
|
-
invoiceStage: InvoiceStage
|
|
38
|
+
invoiceStage: InvoiceStage = Field(..., examples=["pre_acceptance"])
|
|
39
39
|
"""
|
|
40
40
|
Invoice stage
|
|
41
41
|
"""
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: nsip-meeting.schema.json
|
|
3
|
-
# timestamp: 2025-
|
|
3
|
+
# timestamp: 2025-12-02T17:41:26+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -41,7 +41,7 @@ class NsipMeeting(BaseModel):
|
|
|
41
41
|
"""
|
|
42
42
|
Meeting agenda
|
|
43
43
|
"""
|
|
44
|
-
planningInspectorateRole: PlanningInspectorateRole
|
|
44
|
+
planningInspectorateRole: PlanningInspectorateRole = Field(
|
|
45
45
|
..., examples=["facilitator"]
|
|
46
46
|
)
|
|
47
47
|
"""
|
|
@@ -72,7 +72,8 @@
|
|
|
72
72
|
"neighbouringSiteAddresses",
|
|
73
73
|
"affectedListedBuildingNumbers",
|
|
74
74
|
"appellantCostsAppliedFor",
|
|
75
|
-
"lpaCostsAppliedFor"
|
|
75
|
+
"lpaCostsAppliedFor",
|
|
76
|
+
"padsSapId"
|
|
76
77
|
],
|
|
77
78
|
"anyOf": [
|
|
78
79
|
{
|
|
@@ -763,6 +764,10 @@
|
|
|
763
764
|
},
|
|
764
765
|
"description": "A list of advertisements for the appeal",
|
|
765
766
|
"$comment": "Also available on CAS Adverts (ZA) cases"
|
|
767
|
+
},
|
|
768
|
+
"padsSapId": {
|
|
769
|
+
"type": ["string", "null"],
|
|
770
|
+
"description": "padsSapId for PADS inspectors"
|
|
766
771
|
}
|
|
767
772
|
}
|
|
768
773
|
}
|
|
@@ -130,7 +130,8 @@
|
|
|
130
130
|
"numberOfResidencesNetChange",
|
|
131
131
|
"siteViewableFromRoad",
|
|
132
132
|
"siteWithinSSSI",
|
|
133
|
-
"typeOfPlanningApplication"
|
|
133
|
+
"typeOfPlanningApplication",
|
|
134
|
+
"padsSapId"
|
|
134
135
|
],
|
|
135
136
|
"anyOf": [
|
|
136
137
|
{
|
|
@@ -1087,6 +1088,10 @@
|
|
|
1087
1088
|
},
|
|
1088
1089
|
"description": "A list of advertisements for the appeal",
|
|
1089
1090
|
"$comment": "Also available on CAS Adverts (ZA) cases"
|
|
1091
|
+
},
|
|
1092
|
+
"padsSapId": {
|
|
1093
|
+
"type": ["string", "null"],
|
|
1094
|
+
"description": "padsSapId for PADS inspectors"
|
|
1090
1095
|
}
|
|
1091
1096
|
}
|
|
1092
1097
|
}
|
package/src/schemas.d.ts
CHANGED
|
@@ -799,6 +799,10 @@ export type AppealHASCase = (
|
|
|
799
799
|
[k: string]: unknown;
|
|
800
800
|
}[]
|
|
801
801
|
| null;
|
|
802
|
+
/**
|
|
803
|
+
* padsSapId for PADS inspectors
|
|
804
|
+
*/
|
|
805
|
+
padsSapId: string | null;
|
|
802
806
|
[k: string]: unknown;
|
|
803
807
|
};
|
|
804
808
|
|
|
@@ -1505,6 +1509,10 @@ export type AppealS78Case = (
|
|
|
1505
1509
|
[k: string]: unknown;
|
|
1506
1510
|
}[]
|
|
1507
1511
|
| null;
|
|
1512
|
+
/**
|
|
1513
|
+
* padsSapId for PADS inspectors
|
|
1514
|
+
*/
|
|
1515
|
+
padsSapId: string | null;
|
|
1508
1516
|
[k: string]: unknown;
|
|
1509
1517
|
};
|
|
1510
1518
|
|