25 lines
583 B
Rust
25 lines
583 B
Rust
use std::{collections::HashMap, net::SocketAddr};
|
|
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
use crate::models::{device::DeviceInfo, file::FileMetadata};
|
|
|
|
#[derive(Deserialize, Serialize)]
|
|
pub struct Session {
|
|
pub session_id: String,
|
|
pub files: HashMap<String, FileMetadata>,
|
|
pub file_tokens: HashMap<String, String>,
|
|
pub receiver: DeviceInfo,
|
|
pub sender: DeviceInfo,
|
|
pub status: SessionStatus,
|
|
pub addr: SocketAddr,
|
|
}
|
|
|
|
#[derive(PartialEq, Deserialize, Serialize)]
|
|
pub enum SessionStatus {
|
|
Pending,
|
|
Active,
|
|
Completed,
|
|
Failed,
|
|
Cancelled,
|
|
}
|