Adding token related code
catapult PR / Rustfmt (pull_request) Failing after 35s
catapult PR / Check (pull_request) Successful in 1m42s
catapult PR / Clippy (pull_request) Failing after 2m28s

This commit is contained in:
2026-06-22 23:01:03 -04:00
parent f2f4176a51
commit 5ae1715fb4
2 changed files with 26 additions and 58 deletions
+16 -10
View File
@@ -30,21 +30,27 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut svc = catapult::service::core::Service {
app: app.clone(),
// Use a pointer
token: token.clone(),
token: token,
};
loop {
// catapult::service::do_the_work(&app).await;
let refresh_token = match auth.get_refresh_token(&token).await {
Ok(refresh) => refresh,
Err(err) => {
eprintln!("Error: {err:?}");
std::process::exit(-1);
// TODO: Need to update textsender_models. The token module needs updating.
// The LoginResult needs expires_in populated
if catapult::service::auth::has_token_expired(&svc.token).await {
match auth.get_refresh_token(&svc.token).await {
Ok(refresh) => {
println!("Refresh token: {refresh:?}");
svc.token = refresh;
}
Err(err) => {
eprintln!("Error: {err:?}");
std::process::exit(-1);
}
}
};
println!("Refresh token: {refresh_token:?}");
}
svc.do_the_work().await;
tokio::time::sleep(tokio::time::Duration::from_secs(
catapult::app::SECONDS_TO_SLEEP,
))
+10 -48
View File
@@ -112,53 +112,15 @@ pub mod auth {
}
pub async fn has_token_expired(token: &textsender_models::token::LoginResult) -> bool {
todo!("Need to finish this");
false
let now = time::OffsetDateTime::now_utc();
let expire = match time::OffsetDateTime::from_unix_timestamp(token.expires_in) {
Ok(res) => res,
Err(err) => {
eprintln!("Error: {err:?}");
return false;
}
};
now > expire
}
}
/*
type refreshTokenRequest struct {
AccessToken string `json:"access_token"`
}
func (a *Auth) GetRefreshToken(tok *token.Login) (*token.Login, error) {
req := refreshTokenRequest{AccessToken: tok.AccessToken}
jsonData, err := json.Marshal(req)
if err != nil {
return nil, err
}
resp, err := http.Post(fmt.Sprintf("%s/api/v1/token/refresh", a.Application.AuthUrl), "application/json", bytes.NewBuffer(jsonData))
if err != nil {
return nil, err
}
defer resp.Body.Close()
var r tokenResponse
err = json.NewDecoder(resp.Body).Decode(&r)
if err != nil {
return nil, err
} else {
if len(r.Data) == 0 {
return nil, nil
} else {
return r.Data[0], nil
}
}
}
func (s *Auth) TokenExpired(tok *token.Login) bool {
now := time.Now()
expiredTime := time.Unix(tok.ExpiresIn, 0)
if now.After(expiredTime) {
return true
} else {
return false
}
}
*
*/