1- use queensac:: domain:: RepositoryURL ;
1+ use queensac:: domain:: NewSubscriber ;
22use queensac:: { cancel_repository_checker, check_repository_links} ;
33
44use axum:: {
@@ -34,21 +34,27 @@ async fn health_check() -> &'static str {
3434
3535#[ derive( Deserialize ) ]
3636struct CheckRequest {
37- repo : RepositoryURL ,
38- branch : Option < String > ,
37+ subscriber : NewSubscriber ,
3938 interval_secs : Option < u64 > ,
4039}
4140
4241async fn check_handler ( Json ( payload) : Json < CheckRequest > ) -> Result < & ' static str , StatusCode > {
4342 info ! (
44- "Received check request for repository: {}, branch: {:?}" ,
45- payload. repo. url( ) ,
46- payload. branch
43+ "Received check request for repository: {}, branch: {:?}, email: {}" ,
44+ payload. subscriber. repository_url( ) . url( ) ,
45+ payload. subscriber. branch( ) ,
46+ payload. subscriber. email( ) . as_str( )
4747 ) ;
4848 // FIXME 일단 interval_secs 는 유저가 수정할 수 없게 할 거긴 한데, 일단 테스트할 때 편하게 요청을 받아보자.
4949 let interval = payload. interval_secs . unwrap_or ( 120 ) ;
5050 let interval = Duration :: from_secs ( interval) ;
51- if let Err ( e) = spawn_repository_checker ( payload. repo . url ( ) , payload. branch , interval) . await {
51+ if let Err ( e) = spawn_repository_checker (
52+ payload. subscriber . repository_url ( ) . url ( ) ,
53+ payload. subscriber . branch ( ) . cloned ( ) ,
54+ interval,
55+ )
56+ . await
57+ {
5258 error ! ( "Failed to spawn repository checker: {}" , e) ;
5359 return Err ( StatusCode :: BAD_REQUEST ) ;
5460 }
@@ -57,12 +63,16 @@ async fn check_handler(Json(payload): Json<CheckRequest>) -> Result<&'static str
5763
5864#[ derive( Deserialize ) ]
5965struct CancelRequest {
60- repo : RepositoryURL ,
61- branch : Option < String > ,
66+ subscriber : NewSubscriber ,
6267}
6368
6469async fn cancel_handler ( Json ( payload) : Json < CancelRequest > ) -> Result < & ' static str , StatusCode > {
65- if let Err ( e) = cancel_repository_checker ( payload. repo . url ( ) , payload. branch ) . await {
70+ if let Err ( e) = cancel_repository_checker (
71+ payload. subscriber . repository_url ( ) . url ( ) ,
72+ payload. subscriber . branch ( ) . cloned ( ) ,
73+ )
74+ . await
75+ {
6676 error ! ( "Repository checker failed: {}" , e) ;
6777 return Err ( StatusCode :: BAD_REQUEST ) ;
6878 }
0 commit comments