Radish alpha
r
Radicle web interface
Radicle
Git (anonymous pull)
Log in to clone via SSH
httpd: Add node alias to session endpoints
Sebastian Martinez committed 2 years ago
commit 9c533cdea86b039a4f6afe7ef45aeebabc663878
parent fe753d898ded8bb0b7af107e31a56d532a7bf89a
4 files changed +5 -0
modified radicle-httpd/src/api/auth.rs
@@ -3,6 +3,7 @@ use time::serde::timestamp;
use time::{Duration, OffsetDateTime};

use radicle::crypto::PublicKey;
+
use radicle::node::Alias;

use crate::api::error::Error;
use crate::api::Context;
@@ -22,6 +23,7 @@ pub enum AuthState {
pub struct Session {
    pub status: AuthState,
    pub public_key: PublicKey,
+
    pub alias: Alias,
    #[serde(with = "timestamp")]
    pub issued_at: OffsetDateTime,
    #[serde(with = "timestamp")]
modified radicle-httpd/src/api/json.rs
@@ -48,6 +48,7 @@ pub(crate) fn session(session_id: String, session: &Session) -> Value {
      "sessionId": session_id,
      "status": session.status,
      "publicKey": session.public_key,
+
      "alias": session.alias,
      "issuedAt": session.issued_at.unix_timestamp(),
      "expiresAt": session.expires_at.unix_timestamp()
    })
modified radicle-httpd/src/api/v1/sessions.rs
@@ -45,6 +45,7 @@ async fn session_create_handler(State(ctx): State<Context>) -> impl IntoResponse
    let session = Session {
        status: AuthState::Unauthorized,
        public_key: *signer.public_key(),
+
        alias: ctx.profile.config.node.alias.clone(),
        issued_at: OffsetDateTime::now_utc(),
        expires_at: OffsetDateTime::now_utc()
            .checked_add(auth::UNAUTHORIZED_SESSIONS_EXPIRATION)
modified radicle-httpd/src/test.rs
@@ -236,6 +236,7 @@ pub async fn create_session(ctx: Context) {
        auth::Session {
            status: auth::AuthState::Authorized,
            public_key: ctx.profile().public_key,
+
            alias: ctx.profile().config.node.alias.clone(),
            issued_at,
            expires_at: issued_at
                .checked_add(auth::AUTHORIZED_SESSIONS_EXPIRATION)