Skip to content

Commit 6289b27

Browse files
committed
editoast: move track_ranget to editoast_schemas
1 parent 102af2c commit 6289b27

File tree

10 files changed

+38
-30
lines changed

10 files changed

+38
-30
lines changed

editoast/editoast_schemas/src/infra.rs

+2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
mod direction;
22
mod track_offset;
3+
mod track_range;
34
mod waypoint;
45

56
pub use direction::Direction;
67
pub use track_offset::TrackOffset;
8+
pub use track_range::TrackRange;
79
pub use waypoint::Waypoint;
810

911
editoast_common::schemas! {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
use derivative::Derivative;
2+
use editoast_common::Identifier;
3+
use serde::Deserialize;
4+
use serde::Serialize;
5+
use utoipa::ToSchema;
6+
7+
#[derive(Debug, Derivative, Clone, Deserialize, Serialize, PartialEq, ToSchema)]
8+
#[serde(deny_unknown_fields)]
9+
#[derivative(Default)]
10+
pub struct TrackRange {
11+
#[schema(value_type=String, example="01234567-89ab-cdef-0123-456789abcdef")]
12+
#[derivative(Default(value = r#""InvalidRef".into()"#))]
13+
pub track: Identifier,
14+
pub begin: f64,
15+
#[derivative(Default(value = "100."))]
16+
pub end: f64,
17+
}
18+
19+
impl TrackRange {
20+
pub fn new<T: AsRef<str>>(track: T, begin: f64, end: f64) -> Self {
21+
Self {
22+
track: track.as_ref().into(),
23+
begin,
24+
end,
25+
}
26+
}
27+
}

editoast/src/fixtures.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ pub mod tests {
1919
schema::{
2020
electrical_profiles::{ElectricalProfile, ElectricalProfileSetData},
2121
v2::trainschedule::TrainScheduleBase,
22-
RailJson, TrackRange,
22+
RailJson,
2323
},
2424
views::{
2525
rolling_stocks::rolling_stock_form::RollingStockForm,
@@ -31,6 +31,7 @@ pub mod tests {
3131
use actix_web::web::Data;
3232
use chrono::Utc;
3333
use diesel_async::pooled_connection::AsyncDieselConnectionManager;
34+
use editoast_schemas::infra::TrackRange;
3435
use futures::executor;
3536
use postgis_diesel::types::LineString;
3637
use rstest::*;

editoast/src/modelsv2/work_schedules.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
use crate::schema::TrackRange;
21
use chrono::NaiveDateTime;
32
use editoast_derive::ModelV2;
3+
use editoast_schemas::infra::TrackRange;
44
use strum::FromRepr;
55

66
use serde::Deserialize;

editoast/src/schema/electrical_profiles.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use serde::Deserialize;
44
use serde::Serialize;
55
use utoipa::ToSchema;
66

7-
use crate::schema::TrackRange;
7+
use editoast_schemas::infra::TrackRange;
88

99
#[derive(Debug, Serialize, Deserialize, PartialEq, Clone, ToSchema)]
1010
pub struct ElectricalProfile {

editoast/src/schema/mod.rs

-22
Original file line numberDiff line numberDiff line change
@@ -79,28 +79,6 @@ editoast_common::schemas! {
7979
operation::schemas(),
8080
}
8181

82-
#[derive(Debug, Derivative, Clone, Deserialize, Serialize, PartialEq, ToSchema)]
83-
#[serde(deny_unknown_fields)]
84-
#[derivative(Default)]
85-
pub struct TrackRange {
86-
#[schema(value_type=String, example="01234567-89ab-cdef-0123-456789abcdef")]
87-
#[derivative(Default(value = r#""InvalidRef".into()"#))]
88-
pub track: Identifier,
89-
pub begin: f64,
90-
#[derivative(Default(value = "100."))]
91-
pub end: f64,
92-
}
93-
94-
impl TrackRange {
95-
pub fn new<T: AsRef<str>>(track: T, begin: f64, end: f64) -> Self {
96-
Self {
97-
track: track.as_ref().into(),
98-
begin,
99-
end,
100-
}
101-
}
102-
}
103-
10482
#[derive(Debug, Derivative, Clone, Deserialize, Serialize, PartialEq, ToSchema)]
10583
#[serde(deny_unknown_fields)]
10684
#[derivative(Default)]

editoast/src/views/electrical_profiles.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ use crate::modelsv2::Retrieve;
2323
use crate::schema::electrical_profiles::ElectricalProfile;
2424
use crate::schema::electrical_profiles::ElectricalProfileSetData;
2525
use crate::schema::electrical_profiles::LevelValues;
26-
use crate::schema::TrackRange;
2726
use crate::DbPool;
27+
use editoast_schemas::infra::TrackRange;
2828

2929
crate::routes! {
3030
"/electrical_profile_set" => {
@@ -197,8 +197,8 @@ mod tests {
197197
use crate::fixtures::tests::electrical_profile_set;
198198
use crate::fixtures::tests::TestFixture;
199199
use crate::schema::electrical_profiles::ElectricalProfile;
200-
use crate::schema::TrackRange;
201200
use crate::views::tests::create_test_service;
201+
use editoast_schemas::infra::TrackRange;
202202

203203
#[rstest]
204204
async fn test_list(

editoast/src/views/pathfinding/electrical_profiles.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -153,8 +153,8 @@ mod tests {
153153
use crate::modelsv2::prelude::*;
154154
use crate::modelsv2::Infra;
155155
use crate::schema::electrical_profiles::ElectricalProfile;
156-
use crate::schema::TrackRange;
157156
use crate::views::tests::create_test_service;
157+
use editoast_schemas::infra::TrackRange;
158158

159159
#[fixture]
160160
async fn electrical_profile_set(db_pool: Data<DbPool>) -> TestFixture<ElectricalProfileSet> {

editoast/src/views/pathfinding/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,11 @@ use crate::modelsv2::Retrieve as RetrieveV2;
5252
use crate::modelsv2::RollingStockModel;
5353
use crate::schema::ApplicableDirectionsTrackRange;
5454
use crate::schema::OperationalPoint;
55-
use crate::schema::TrackRange;
5655
use crate::schema::TrackSection;
5756
use crate::DbPool;
5857
use editoast_common::geometry::diesel_linestring_to_geojson;
5958
use editoast_common::geometry::geojson_to_diesel_linestring;
59+
use editoast_schemas::infra::TrackRange;
6060

6161
crate::routes! {
6262
"/pathfinding" => {

editoast/src/views/work_schedules.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ use crate::modelsv2::Changeset;
2121
use crate::modelsv2::Create;
2222
use crate::modelsv2::CreateBatch;
2323
use crate::modelsv2::Model;
24-
use crate::schema::TrackRange;
2524
use crate::DbPool;
25+
use editoast_schemas::infra::TrackRange;
2626

2727
crate::routes! {
2828
"/work_schedules" => {

0 commit comments

Comments
 (0)