45 lines
1.1 KiB
Rust
45 lines
1.1 KiB
Rust
pub mod api;
|
|
pub mod recorder;
|
|
pub mod validator;
|
|
|
|
use anyhow::Result;
|
|
use chrono::{DateTime, Utc};
|
|
use serde_json::Value;
|
|
// use chromiumoxide::{Browser, Page}; // Un-comment when chromiumoxide is correctly available
|
|
|
|
pub struct BrowserSession {
|
|
pub id: String,
|
|
// pub browser: Arc<Browser>,
|
|
// pub page: Arc<Mutex<Page>>,
|
|
pub created_at: DateTime<Utc>,
|
|
}
|
|
|
|
impl BrowserSession {
|
|
pub async fn new(_headless: bool) -> Result<Self> {
|
|
// Mock Implementation
|
|
Ok(Self {
|
|
id: uuid::Uuid::new_v4().to_string(),
|
|
created_at: Utc::now(),
|
|
})
|
|
}
|
|
|
|
pub async fn navigate(&self, _url: &str) -> Result<()> {
|
|
Ok(())
|
|
}
|
|
|
|
pub async fn click(&self, _selector: &str) -> Result<()> {
|
|
Ok(())
|
|
}
|
|
|
|
pub async fn fill(&self, _selector: &str, _text: &str) -> Result<()> {
|
|
Ok(())
|
|
}
|
|
|
|
pub async fn screenshot(&self) -> Result<Vec<u8>> {
|
|
Ok(vec![])
|
|
}
|
|
|
|
pub async fn execute(&self, _script: &str) -> Result<Value> {
|
|
Ok(serde_json::json!({}))
|
|
}
|
|
}
|