11use crate :: { config:: TrackersConfig , error:: Error as RetrackError , server:: ServerState } ;
2- use actix_web:: { HttpResponse , post , web} ;
2+ use actix_web:: { HttpResponse , web} ;
33use retrack_types:: trackers:: { TrackerDataRevisionImportParams , TrackerDataRevisionImportResult } ;
44use tracing:: error;
55use 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" ) ]
2829pub 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(
4748mod 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