Skip to content

Commit 0355c0c

Browse files
committed
Add Native Query to fetch quay change history
1 parent 2423c32 commit 0355c0c

File tree

1 file changed

+96
-0
lines changed

1 file changed

+96
-0
lines changed

metadata/hsl/databases/databases.yaml

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,60 @@
2828
type_names:
2929
prefix: stops_database_
3030
logical_models:
31+
- fields:
32+
- name: netexId
33+
type:
34+
nullable: false
35+
scalar: text
36+
- name: version
37+
type:
38+
nullable: false
39+
scalar: text
40+
- name: changed
41+
type:
42+
nullable: true
43+
scalar: timestamp
44+
- name: changedBy
45+
type:
46+
nullable: true
47+
scalar: text
48+
- name: versionComment
49+
type:
50+
nullable: true
51+
scalar: text
52+
- name: validityStart
53+
type:
54+
nullable: true
55+
scalar: text
56+
- name: validityEnd
57+
type:
58+
nullable: true
59+
scalar: text
60+
- name: priority
61+
type:
62+
nullable: true
63+
scalar: integer
64+
- name: publicCode
65+
type:
66+
nullable: false
67+
scalar: text
68+
- name: privateCodeValue
69+
type:
70+
nullable: false
71+
scalar: text
72+
- name: privateCodeType
73+
type:
74+
nullable: true
75+
scalar: text
76+
- name: stopPlaceNetexId
77+
type:
78+
nullable: false
79+
scalar: text
80+
- name: stopPlaceVersion
81+
type:
82+
nullable: false
83+
scalar: text
84+
name: QuayChangeHistoryItem
3185
- fields:
3286
- name: cursor
3387
type:
@@ -97,4 +151,46 @@
97151
);
98152
returns: TerminalStopSearchResult
99153
root_field_name: findStopsForTerminal
154+
- arguments: {}
155+
code: |-
156+
SELECT -- Quay's own fields
157+
q.netex_id::TEXT AS "netexId",
158+
q.version::TEXT,
159+
160+
q.changed,
161+
q.changed_by::TEXT AS "changedBy",
162+
q.version_comment::TEXT AS "versionComment",
163+
164+
q.public_code::TEXT AS "publicCode",
165+
q.private_code_type::TEXT AS "privateCodeType",
166+
q.private_code_value::TEXT AS "privateCodeValue",
167+
168+
-- Stop Place info
169+
sp.netex_id::TEXT AS "stopPlaceNetexId",
170+
sp.version::TEXT AS "stopPlaceVersion",
171+
172+
-- HSL validity info
173+
validityStart.items::TEXT AS "validityStart",
174+
validityEnd.items::TEXT AS "validityEnd",
175+
priority.items::INTEGER AS "priority"
176+
177+
FROM quay AS q
178+
179+
INNER JOIN stop_place_quays AS spq ON q.id = spq.quays_id
180+
181+
INNER JOIN stop_place AS sp ON spq.stop_place_id = sp.id
182+
183+
LEFT JOIN quay_key_values AS qkvValidityStart ON
184+
q.id = qkvValidityStart.quay_id AND qkvValidityStart.key_values_key = 'validityStart'
185+
LEFT JOIN value_items AS validityStart ON qkvValidityStart.key_values_id = validityStart.value_id
186+
187+
LEFT JOIN quay_key_values AS qkvValidityEnd ON
188+
q.id = qkvValidityEnd.quay_id AND qkvValidityEnd.key_values_key = 'validityEnd'
189+
LEFT JOIN value_items AS validityEnd ON qkvValidityEnd.key_values_id = validityEnd.value_id
190+
191+
LEFT JOIN quay_key_values AS qkvPriority ON
192+
q.id = qkvPriority.quay_id AND qkvPriority.key_values_key = 'priority'
193+
LEFT JOIN value_items AS priority ON qkvPriority.key_values_id = priority.value_id;
194+
returns: QuayChangeHistoryItem
195+
root_field_name: getQuayChangeHistory
100196
tables: "!include stops/tables/tables.yaml"

0 commit comments

Comments
 (0)