2021-12-15 23:42:16 +01:00
|
|
|
use std::future::Future;
|
2021-11-26 22:11:24 +01:00
|
|
|
use capnp::capability::Promise;
|
|
|
|
use capnp::Error;
|
2022-03-08 16:41:38 +01:00
|
|
|
use futures_rustls::server::TlsStream;
|
|
|
|
use futures_util::{AsyncRead, AsyncWrite};
|
2021-12-15 23:42:16 +01:00
|
|
|
|
|
|
|
use crate::error::Result;
|
2021-11-26 21:01:43 +01:00
|
|
|
|
2021-11-26 22:11:24 +01:00
|
|
|
use api::bootstrap::{
|
|
|
|
Server,
|
|
|
|
MechanismsParams,
|
|
|
|
MechanismsResults,
|
|
|
|
CreateSessionParams,
|
|
|
|
CreateSessionResults
|
|
|
|
};
|
|
|
|
|
|
|
|
mod authentication;
|
2021-12-06 21:53:42 +01:00
|
|
|
mod session;
|
|
|
|
mod users;
|
|
|
|
mod resources;
|
2021-11-26 22:11:24 +01:00
|
|
|
|
2021-12-15 23:42:16 +01:00
|
|
|
#[derive(Debug)]
|
|
|
|
pub struct APIHandler {
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
impl APIHandler {
|
|
|
|
pub fn handle<IO: 'static + Unpin + AsyncRead + AsyncWrite>(&mut self, stream: TlsStream<IO>)
|
|
|
|
-> impl Future<Output = Result<()>>
|
|
|
|
{
|
2022-03-08 16:41:38 +01:00
|
|
|
unimplemented!();
|
|
|
|
futures_util::future::ready(Ok(()))
|
2021-12-15 23:42:16 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-12-06 21:53:42 +01:00
|
|
|
#[derive(Debug)]
|
|
|
|
/// Cap'n Proto API Handler
|
2021-11-26 22:11:24 +01:00
|
|
|
struct ApiSystem {
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2021-12-06 21:53:42 +01:00
|
|
|
|
2021-11-26 22:11:24 +01:00
|
|
|
impl Server for ApiSystem {
|
|
|
|
fn mechanisms(
|
|
|
|
&mut self,
|
|
|
|
_: MechanismsParams,
|
|
|
|
_: MechanismsResults
|
|
|
|
) -> Promise<(), Error>
|
|
|
|
{
|
|
|
|
todo!()
|
|
|
|
}
|
|
|
|
|
|
|
|
fn create_session(
|
|
|
|
&mut self,
|
|
|
|
_: CreateSessionParams,
|
|
|
|
_: CreateSessionResults
|
|
|
|
) -> Promise<(), Error>
|
|
|
|
{
|
|
|
|
todo!()
|
|
|
|
}
|
|
|
|
}
|