You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
These fields are required at creation time, but cannot be changed afterwards.
@@ -143,67 +159,58 @@ GET /v2/timetable/ID/conflicts
143
159
# Projects the space time curves and paths of a number of train schedules onto the path of another one
144
160
GET /v2/timetable/ID/project_path?onto=X&ids[]=Y&ids[]=Z
145
161
146
-
POST /v2/train_schedule
162
+
POST /v2/train_schedule# Can be a batch creation
147
163
GET /v2/train_schedule/ID
148
164
GET /v2/train_schedule/ID/path
149
-
PATCH /v2/train_schedule/ID
165
+
PATCH /v2/train_schedule/ID# TODO what operation is allowed
150
166
DELETE /v2/train_schedule/ID
151
167
152
-
POST /v2/infra/ID/pathfinding/topo
168
+
POST /v2/infra/ID/pathfinding/topo# Not required now can be move later
153
169
POST /v2/infra/ID/pathfinding/blocks
154
-
155
-
# takes a path (the output of pathfinding/blocks) and a list of properties that need extracting
156
-
POST /v2/infra/ID/path_properties?properties=slopes,gradients,electrification,neutral_sections
157
170
```
158
171
159
172
160
173
## Migration plan
161
174
162
-
### Phase 0
175
+
### Phase 1
163
176
164
-
- Start the redesign the margin / power restrictions UI
177
+
Front:
165
178
166
-
### Phase 1
179
+
- Design margin interface and scheduled points
167
180
168
-
- core: Implement v2 pathfinding endpoints in core, without removing the old ones
169
-
- editoast: Implement the timetable v2 endpoints, and patch v1 endpoints to use the new model. As timetables currently are created automatically with scenarios, we can use this API to create new style timetables all the time.
170
-
- editoast: implement v2 pathfinding endpoints, without removing the old ones
171
-
- editoast: Implement v2 train schedule endpoints, extending existing tables: v1 endpoints still always work, and v2 endpoints work as long as the train schedule was created using v2 endpoints (we need to have the new-style path description). All train schedules still have a path ID, which can only be seen with the v1 API. For margins and power restrictions, a temporary unordered `path_offset` location type is used, and converted on the fly to a `track_offset` location type.
181
+
Back:
172
182
173
-
About 1 month
183
+
- Create new tables and associated models (using ModelV2)
184
+
- Implement GET / DELETE / POST / PATCH endpoints for these new models
174
185
175
186
### Phase 2
176
187
177
-
- editoast: implement the new projection API (2 weeks)
178
-
- front: call train schedule v2 endpoints, but still use the old pathfinding endpoints (1 week)
179
-
- editoast: implement the new path properties electrification endpoints (1 week)
180
-
- front: migrate the power restriction selector to use the new path electrification properties endpoint, which does not need path IDs (1 week)
181
-
- editoast: implement path properties extractors, either in editoast directly or via core (decision needed) (2 weeks)
188
+
Front (using legacy train schedules):
182
189
183
-
About 1 month
190
+
- Adapt margin interface to the new design
191
+
- Handle scheduled points
184
192
185
-
### Phase 3
193
+
Back:
186
194
187
-
- front: migrate the opendata import (2 weeks)
188
-
- front: use the new pathfinding call, which means there is no more path ID (2 weeks parallel)
189
-
- front: use the new projections API, which don't need path IDs (2 weeks parallel)
190
-
- front: use the new path properties API, which don't need path IDs either (2 weeks parallel)
191
-
- front: ensure all path IDs are gone (2 weeks parallel)
192
-
- editoast: remove the old style pathfinding result
195
+
- Implement pathfinding endpoint
196
+
- Implement path endpoint of a `train_schedule`
193
197
194
-
About 1 month
198
+
### Phase 3
195
199
196
-
### Phase 4
200
+
Front (start using the new train schedule model):
197
201
198
-
- front: implement the new margin / power restrictions UI (1 month)
199
-
- front: migrate away from path_offset locations
200
-
- editoast: remove the code which converts `path_offset` locations to `track_offset` locations
202
+
- Handle pathfinding separated from the train schedule
0 commit comments