This commit is contained in:
Eugene 2024-03-23 12:24:52 +01:00
parent 916d51a4e8
commit 47c943d201
No known key found for this signature in database
GPG key ID: 5896FCBBDD1CF4F4
9 changed files with 14 additions and 21 deletions

View file

@ -25,7 +25,7 @@ struct CreateTicketRequest {
username: String, username: String,
target_name: String, target_name: String,
expiry: Option<DateTime<Utc>>, expiry: Option<DateTime<Utc>>,
number_of_uses: Option<i32> number_of_uses: Option<i32>,
} }
#[derive(Object)] #[derive(Object)]
@ -89,7 +89,6 @@ impl Api {
created: Set(chrono::Utc::now()), created: Set(chrono::Utc::now()),
expiry: Set(body.expiry), expiry: Set(body.expiry),
uses_left: Set(body.number_of_uses), uses_left: Set(body.number_of_uses),
..Default::default()
}; };
let ticket = values.insert(&*db).await.context("Error saving ticket")?; let ticket = values.insert(&*db).await.context("Error saving ticket")?;

View file

@ -62,7 +62,7 @@ impl AuthStateStore {
.get_credential_policy(username, supported_credential_types) .get_credential_policy(username, supported_credential_types)
.await?; .await?;
let Some(policy) = policy else { let Some(policy) = policy else {
return Err(WarpgateError::UserNotFound(username.into())) return Err(WarpgateError::UserNotFound(username.into()));
}; };
let state = AuthState::new( let state = AuthState::new(

View file

@ -333,17 +333,11 @@ async fn get_auth_state(
) -> Option<Arc<Mutex<AuthState>>> { ) -> Option<Arc<Mutex<AuthState>>> {
let store = services.auth_state_store.lock().await; let store = services.auth_state_store.lock().await;
let Some(auth) = auth else { let SessionAuthorization::User(username) = auth? else {
return None; return None;
}; };
let SessionAuthorization::User(username) = auth else { let state_arc = store.get(id)?;
return None;
};
let Some(state_arc) = store.get(id) else {
return None;
};
{ {
let state = state_arc.lock().await; let state = state_arc.lock().await;

View file

@ -15,7 +15,7 @@ pub async fn span_for_request(req: &Request) -> poem::Result<Span> {
Ok(ref handle) => { Ok(ref handle) => {
let handle = handle.lock().await; let handle = handle.lock().await;
let ss = handle.session_state().lock().await; let ss = handle.session_state().lock().await;
match { ss.username.clone() } { match ss.username.clone() {
Some(ref username) => { Some(ref username) => {
info_span!("HTTP", session=%handle.id(), session_username=%username, %client_ip) info_span!("HTTP", session=%handle.id(), session_username=%username, %client_ip)
} }

View file

@ -994,7 +994,7 @@ impl ServerSession {
} }
async fn start_terminal_recording(&mut self, channel_id: Uuid, name: String) { async fn start_terminal_recording(&mut self, channel_id: Uuid, name: String) {
match async { let recorder = async {
let mut recorder = self let mut recorder = self
.services .services
.recordings .recordings
@ -1009,8 +1009,8 @@ impl ServerSession {
} }
Ok::<_, recordings::Error>(recorder) Ok::<_, recordings::Error>(recorder)
} }
.await .await;
{ match recorder {
Ok(recorder) => { Ok(recorder) => {
self.channel_recorders.insert(channel_id, recorder); self.channel_recorders.insert(channel_id, recorder);
} }

View file

@ -70,9 +70,9 @@ impl SsoClient {
} else { } else {
None None
}; };
let (auth_url, csrf_token, nonce) = auth_req.url(); let (auth_url, csrf_token, nonce) = auth_req.url();
Ok(SsoLoginRequest { Ok(SsoLoginRequest {
auth_url, auth_url,
csrf_token, csrf_token,

View file

@ -6,7 +6,7 @@ import { Alert, FormGroup } from 'sveltestrap'
let error: Error|null = null let error: Error|null = null
let name = '' let name = ''
let type: 'Ssh'|'MySql'|'Http' = 'Ssh' let type: 'Http' | 'MySql' | 'Ssh' = 'Ssh'
async function create () { async function create () {
if (!name || !type) { if (!name || !type) {

View file

@ -40,7 +40,7 @@ async function create () {
username: selectedUser.username, username: selectedUser.username,
targetName: selectedTarget.name, targetName: selectedTarget.name,
expiry: selectedExpiry ? new Date(selectedExpiry) : undefined, expiry: selectedExpiry ? new Date(selectedExpiry) : undefined,
numberOfUses: selectedNumberOfUses numberOfUses: selectedNumberOfUses,
}, },
}) })
} catch (err) { } catch (err) {

View file

@ -17,7 +17,7 @@
let seekInputValue = 0 let seekInputValue = 0
let duration = 0 let duration = 0
let resizeObserver: ResizeObserver|undefined let resizeObserver: ResizeObserver|undefined
let events: (SizeEvent | DataEvent | SnapshotEvent)[] = [] let events: (DataEvent | SizeEvent | SnapshotEvent)[] = []
let playing = false let playing = false
let loading = true let loading = true
let sessionIsLive: boolean|null = null let sessionIsLive: boolean|null = null
@ -67,7 +67,7 @@
} }
// eslint-disable-next-line @typescript-eslint/no-type-alias // eslint-disable-next-line @typescript-eslint/no-type-alias
type AsciiCastData = [number, 'o', string] type AsciiCastData = [number, 'o', string]
type AsciiCastItem = AsciiCastHeader | AsciiCastData type AsciiCastItem = AsciiCastData | AsciiCastHeader
function isAsciiCastHeader (data: AsciiCastItem): data is AsciiCastHeader { function isAsciiCastHeader (data: AsciiCastItem): data is AsciiCastHeader {
return 'version' in data return 'version' in data