Skip to content

Commit 8e49945

Browse files
committed
fix(api): properly register import revision route to not shadow following route registrations
1 parent 607733c commit 8e49945

1 file changed

Lines changed: 12 additions & 12 deletions

File tree

src/server/handlers/trackers_import_revisions.rs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
use crate::{config::TrackersConfig, error::Error as RetrackError, server::ServerState};
2-
use actix_web::{HttpResponse, post, web};
2+
use actix_web::{HttpResponse, web};
33
use retrack_types::trackers::{TrackerDataRevisionImportParams, TrackerDataRevisionImportResult};
44
use tracing::error;
55
use uuid::Uuid;
66

7-
pub fn service(trackers_config: &TrackersConfig) -> actix_web::Scope {
8-
web::scope("")
7+
pub fn service(trackers_config: &TrackersConfig) -> actix_web::Resource {
8+
web::resource("/api/trackers/{tracker_id}/revisions/_import")
99
.app_data(
1010
web::JsonConfig::default()
1111
.limit(trackers_config.max_import_body_size.as_u64() as usize),
1212
)
13-
.service(trackers_import_revisions)
13+
.route(web::post().to(trackers_import_revisions))
1414
}
1515

1616
/// Imports multiple data revisions for a tracker in bulk.
1717
#[utoipa::path(
18+
method(post),
19+
path = "/api/trackers/{tracker_id}/revisions/_import",
1820
tags = ["trackers"],
1921
params(
2022
("tracker_id" = Uuid, Path, description = "A unique tracker ID.")
@@ -24,7 +26,6 @@ pub fn service(trackers_config: &TrackersConfig) -> actix_web::Scope {
2426
(status = OK, description = "Import result with counts.", body = TrackerDataRevisionImportResult),
2527
)
2628
)]
27-
#[post("/api/trackers/{tracker_id}/revisions/_import")]
2829
pub async fn trackers_import_revisions(
2930
state: web::Data<ServerState>,
3031
tracker_id: web::Path<Uuid>,
@@ -47,10 +48,9 @@ pub async fn trackers_import_revisions(
4748
mod tests {
4849
use crate::{
4950
server::{
50-
handlers::trackers_import_revisions::trackers_import_revisions,
51-
server_state::tests::mock_server_state,
51+
handlers::trackers_import_revisions::service, server_state::tests::mock_server_state,
5252
},
53-
tests::TrackerCreateParamsBuilder,
53+
tests::{TrackerCreateParamsBuilder, mock_config},
5454
};
5555
use actix_web::{
5656
App,
@@ -73,7 +73,7 @@ mod tests {
7373
let app = init_service(
7474
App::new()
7575
.app_data(server_state.clone())
76-
.service(trackers_import_revisions),
76+
.service(service(&mock_config()?.trackers)),
7777
)
7878
.await;
7979

@@ -130,7 +130,7 @@ mod tests {
130130
let app = init_service(
131131
App::new()
132132
.app_data(server_state.clone())
133-
.service(trackers_import_revisions),
133+
.service(service(&mock_config()?.trackers)),
134134
)
135135
.await;
136136

@@ -179,7 +179,7 @@ mod tests {
179179
let app = init_service(
180180
App::new()
181181
.app_data(server_state.clone())
182-
.service(trackers_import_revisions),
182+
.service(service(&mock_config()?.trackers)),
183183
)
184184
.await;
185185

@@ -210,7 +210,7 @@ mod tests {
210210
let app = init_service(
211211
App::new()
212212
.app_data(server_state.clone())
213-
.service(trackers_import_revisions),
213+
.service(service(&mock_config()?.trackers)),
214214
)
215215
.await;
216216

0 commit comments

Comments
 (0)