@planning-inspectorate/data-model 1.11.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 +60 -0
- package/.azure/release.yml +57 -0
- package/.github/dependabot.yml +11 -0
- package/.husky/install.mjs +7 -0
- package/.husky/pre-commit +1 -0
- package/.prettierignore +11 -0
- package/.prettierrc +19 -0
- package/LICENSE +21 -0
- package/README.md +237 -0
- package/commitlint.config.js +8 -0
- package/docs/README.md +85 -0
- package/docs/appeal-document.md +776 -0
- package/docs/appeal-event-estimate.md +108 -0
- package/docs/appeal-event.md +404 -0
- package/docs/appeal-has.md +1960 -0
- package/docs/appeal-representation.md +375 -0
- package/docs/appeal-s78.md +3607 -0
- package/docs/appeal.md +1879 -0
- package/docs/case-schedule.md +8 -0
- package/docs/dart-response.md +1413 -0
- package/docs/employee.md +70 -0
- package/docs/entraid.md +108 -0
- package/docs/folder.md +147 -0
- package/docs/gettimesheets-response.md +188 -0
- package/docs/interested-party.md +284 -0
- package/docs/listed-building.md +113 -0
- package/docs/listed-buildings.md +113 -0
- package/docs/nsip-document.md +966 -0
- package/docs/nsip-exam-timetable-defs-event.md +223 -0
- package/docs/nsip-exam-timetable-defs-line-item.md +51 -0
- package/docs/nsip-exam-timetable-defs.md +3 -0
- package/docs/nsip-exam-timetable-submission.md +113 -0
- package/docs/nsip-exam-timetable.md +352 -0
- package/docs/nsip-project-update.md +163 -0
- package/docs/nsip-project.md +2098 -0
- package/docs/nsip-representation-defs-attachment.md +133 -0
- package/docs/nsip-representation-defs.md +3 -0
- package/docs/nsip-representation.md +448 -0
- package/docs/nsip-subscription.md +193 -0
- package/docs/pins-inspector.md +184 -0
- package/docs/pins-lpa.md +260 -0
- package/docs/s51-advice.md +460 -0
- package/docs/service-user.md +575 -0
- package/eslint.config.js +21 -0
- package/jsconfig.json +12 -0
- package/package.json +55 -0
- package/pins_data_model/__init__.py +0 -0
- package/pins_data_model/gen_models.py +51 -0
- package/pins_data_model/load_schemas.py +51 -0
- package/pins_data_model/models/__init__.py +0 -0
- package/pins_data_model/models/model_appeal_document.py +294 -0
- package/pins_data_model/models/model_appeal_event.py +117 -0
- package/pins_data_model/models/model_appeal_event_estimate.py +37 -0
- package/pins_data_model/models/model_appeal_has.py +585 -0
- package/pins_data_model/models/model_appeal_representation.py +132 -0
- package/pins_data_model/models/model_appeal_s78.py +864 -0
- package/pins_data_model/models/model_case_schedule.py +11 -0
- package/pins_data_model/models/model_dart_response.py +292 -0
- package/pins_data_model/models/model_entraid.py +37 -0
- package/pins_data_model/models/model_folder.py +56 -0
- package/pins_data_model/models/model_gettimesheets_response.py +45 -0
- package/pins_data_model/models/model_listed_building.py +33 -0
- package/pins_data_model/models/model_listed_buildings.py +33 -0
- package/pins_data_model/models/model_nsip_document.py +199 -0
- package/pins_data_model/models/model_nsip_exam_timetable.py +90 -0
- package/pins_data_model/models/model_nsip_project.py +488 -0
- package/pins_data_model/models/model_nsip_project_update.py +60 -0
- package/pins_data_model/models/model_nsip_representation.py +83 -0
- package/pins_data_model/models/model_nsip_subscription.py +60 -0
- package/pins_data_model/models/model_pins_inspector.py +53 -0
- package/pins_data_model/models/model_pins_lpa.py +69 -0
- package/pins_data_model/models/model_s51_advice.py +109 -0
- package/pins_data_model/models/model_service_user.py +121 -0
- package/requirements.txt +2 -0
- package/schemas/__init__.py +0 -0
- package/schemas/appeal-document.schema.json +250 -0
- package/schemas/appeal-event-estimate.schema.json +31 -0
- package/schemas/appeal-event.schema.json +123 -0
- package/schemas/appeal-has.schema.json +576 -0
- package/schemas/appeal-representation.schema.json +131 -0
- package/schemas/appeal-s78.schema.json +1060 -0
- package/schemas/commands/__init__.py +0 -0
- package/schemas/commands/appeal-common-submission.schema.json +202 -0
- package/schemas/commands/appeal-has-submission.schema.json +82 -0
- package/schemas/commands/appeal-representation-submission.schema.json +192 -0
- package/schemas/commands/appeal-s78-submission.schema.json +100 -0
- package/schemas/commands/appellant-submission.schema.json +164 -0
- package/schemas/commands/interested-party.schema.json +80 -0
- package/schemas/commands/lpa-questionnaire-common.schema.json +110 -0
- package/schemas/commands/lpa-questionnaire-has.schema.json +69 -0
- package/schemas/commands/lpa-questionnaire-s78.schema.json +218 -0
- package/schemas/commands/lpa-questionnaire.schema.json +125 -0
- package/schemas/commands/new-deadline-submission.schema.json +59 -0
- package/schemas/commands/nsip-exam-timetable-submission.schema.json +27 -0
- package/schemas/commands/register-nsip-subscription.schema.json +32 -0
- package/schemas/commands/register-representation.schema.json +51 -0
- package/schemas/dart-response.schema.json +350 -0
- package/schemas/entraid.schema.json +31 -0
- package/schemas/folder.schema.json +49 -0
- package/schemas/gettimesheets-response.schema.json +46 -0
- package/schemas/listed-building.schema.json +31 -0
- package/schemas/listed-buildings.schema.json +31 -0
- package/schemas/nsip-document.schema.json +235 -0
- package/schemas/nsip-exam-timetable.schema.json +101 -0
- package/schemas/nsip-project-update.schema.json +49 -0
- package/schemas/nsip-project.schema.json +539 -0
- package/schemas/nsip-representation.schema.json +110 -0
- package/schemas/nsip-subscription.schema.json +52 -0
- package/schemas/pins-inspector.schema.json +47 -0
- package/schemas/pins-lpa.schema.json +63 -0
- package/schemas/s51-advice.schema.json +113 -0
- package/schemas/service-user.schema.json +152 -0
- package/setup.py +15 -0
- package/src/enums.cjs +632 -0
- package/src/enums.d.ts +573 -0
- package/src/enums.js +573 -0
- package/src/gen-docs.js +34 -0
- package/src/gen-enums.js +119 -0
- package/src/gen-types.js +70 -0
- package/src/index.cjs +746 -0
- package/src/index.d.ts +18 -0
- package/src/index.js +34 -0
- package/src/lib/load.js +78 -0
- package/src/schemas.d.ts +4570 -0
- package/tests/appeals/appeal-event.test.js +62 -0
- package/tests/appeals/commands/appeal-representation-submission.test.js +107 -0
- package/tests/appeals/commands/has-questionnaire.test.js +92 -0
- package/tests/appeals/commands/has-submission.test.js +113 -0
- package/tests/appeals/commands/s78-questionnaire.test.js +96 -0
- package/tests/appeals/commands/s78-submission.test.js +119 -0
- package/tests/schemas.test.js +97 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "appeal-representation.schema.json",
|
|
4
|
+
"title": "Appeal Representation",
|
|
5
|
+
"description": "Schema defining the metadata for appeal representations, such as statements, third-party comments and final comments",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": true,
|
|
8
|
+
"required": [
|
|
9
|
+
"representationId",
|
|
10
|
+
"caseId",
|
|
11
|
+
"caseReference",
|
|
12
|
+
"representationStatus",
|
|
13
|
+
"originalRepresentation",
|
|
14
|
+
"redacted",
|
|
15
|
+
"redactedRepresentation",
|
|
16
|
+
"redactedBy",
|
|
17
|
+
"invalidOrIncompleteDetails",
|
|
18
|
+
"otherInvalidOrIncompleteDetails",
|
|
19
|
+
"source",
|
|
20
|
+
"serviceUserId",
|
|
21
|
+
"representationType",
|
|
22
|
+
"dateReceived",
|
|
23
|
+
"documentIds"
|
|
24
|
+
],
|
|
25
|
+
"properties": {
|
|
26
|
+
"representationId": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"examples": ["7000000-1"],
|
|
29
|
+
"description": "The unique identifier for the representation",
|
|
30
|
+
"$comment": "This is a composite key with the caseReference and a representation counter"
|
|
31
|
+
},
|
|
32
|
+
"caseId": {
|
|
33
|
+
"type": ["integer", "null"],
|
|
34
|
+
"examples": [1200],
|
|
35
|
+
"description": "Internal case identifier"
|
|
36
|
+
},
|
|
37
|
+
"caseReference": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"examples": ["7002471"],
|
|
40
|
+
"description": "External case identifier"
|
|
41
|
+
},
|
|
42
|
+
"representationStatus": {
|
|
43
|
+
"type": ["string", "null"],
|
|
44
|
+
"enum": [
|
|
45
|
+
"awaiting_review",
|
|
46
|
+
"referred",
|
|
47
|
+
"valid",
|
|
48
|
+
"invalid",
|
|
49
|
+
"invalid_incomplete",
|
|
50
|
+
"published",
|
|
51
|
+
"archived",
|
|
52
|
+
"draft",
|
|
53
|
+
"withdrawn",
|
|
54
|
+
null
|
|
55
|
+
],
|
|
56
|
+
"description": "Status of the representation",
|
|
57
|
+
"$comment": "BO workflow should validate or withdraw a representation.Enumerated list expected to change."
|
|
58
|
+
},
|
|
59
|
+
"originalRepresentation": {
|
|
60
|
+
"type": ["string", "null"],
|
|
61
|
+
"description": "The original representation"
|
|
62
|
+
},
|
|
63
|
+
"redacted": {
|
|
64
|
+
"type": ["boolean", "null"],
|
|
65
|
+
"description": "Indicates if the representation is redacted"
|
|
66
|
+
},
|
|
67
|
+
"redactedRepresentation": {
|
|
68
|
+
"type": ["string", "null"],
|
|
69
|
+
"description": "The redacted version of the representation"
|
|
70
|
+
},
|
|
71
|
+
"redactedBy": {
|
|
72
|
+
"type": ["string", "null"],
|
|
73
|
+
"description": "Unique identifier for the case team member that performed the redaction",
|
|
74
|
+
"$comment": "This is the user in Entra ID"
|
|
75
|
+
},
|
|
76
|
+
"invalidOrIncompleteDetails": {
|
|
77
|
+
"type": ["array", "null"],
|
|
78
|
+
"items": {
|
|
79
|
+
"type": "string",
|
|
80
|
+
"enum": [
|
|
81
|
+
"Received after deadline",
|
|
82
|
+
"Includes personal or medical information",
|
|
83
|
+
"Includes inflammatory content",
|
|
84
|
+
"Duplicated or repeated comment",
|
|
85
|
+
"Not relevant to this appeal",
|
|
86
|
+
"Contains links to web pages",
|
|
87
|
+
"No list of suggested conditions",
|
|
88
|
+
"other_reason",
|
|
89
|
+
null
|
|
90
|
+
]
|
|
91
|
+
},
|
|
92
|
+
"description": "A list of reasons why the representation has been marked as invalid or incomplete.",
|
|
93
|
+
"$comment": "The list will contain items only if the status is `invalid` or `invalid_incomplete`"
|
|
94
|
+
},
|
|
95
|
+
"otherInvalidOrIncompleteDetails": {
|
|
96
|
+
"type": ["array", "null"],
|
|
97
|
+
"items": {
|
|
98
|
+
"type": "string",
|
|
99
|
+
"examples": ["Other: reason", "Supporting documents missing: document 2"]
|
|
100
|
+
},
|
|
101
|
+
"description": "A list of free text reasons why the representation has been marked as invalid or incomplete",
|
|
102
|
+
"$comment": "The list will contain items only if the status is `invalid` or `invalid_incomplete` and if invalidOrIncompleteDetails list includes 'other_reason'"
|
|
103
|
+
},
|
|
104
|
+
"source": {
|
|
105
|
+
"type": ["string", "null"],
|
|
106
|
+
"enum": ["lpa", "citizen", null],
|
|
107
|
+
"description": "Source of the representation (citizen or LPA)"
|
|
108
|
+
},
|
|
109
|
+
"serviceUserId": {
|
|
110
|
+
"type": ["string", "null"],
|
|
111
|
+
"description": "Service User Id of the person or organisation making the representation"
|
|
112
|
+
},
|
|
113
|
+
"representationType": {
|
|
114
|
+
"type": ["string", "null"],
|
|
115
|
+
"enum": ["statement", "comment", "final_comment", "proofs_evidence", null],
|
|
116
|
+
"description": "The type of representation"
|
|
117
|
+
},
|
|
118
|
+
"dateReceived": {
|
|
119
|
+
"type": "string",
|
|
120
|
+
"format": "date-time",
|
|
121
|
+
"examples": ["2023-07-27T20:30:00.000Z"]
|
|
122
|
+
},
|
|
123
|
+
"documentIds": {
|
|
124
|
+
"type": "array",
|
|
125
|
+
"items": {
|
|
126
|
+
"type": "string"
|
|
127
|
+
},
|
|
128
|
+
"description": "An array of documentIds"
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|