use crate::request::{HttpRequestBuilder, ResponseMiddleware};
use crate::response::HttpResponse;
use document_model::document::{
CreateDocumentParams, DocumentId, DocumentInfo, ResetDocumentParams,
};
use flowy_client_network_config::{ClientServerConfiguration, HEADER_TOKEN};
use flowy_document::DocumentCloudService;
use flowy_error::FlowyError;
use lazy_static::lazy_static;
use lib_infra::future::FutureResult;
use std::sync::Arc;
pub struct DocumentCloudServiceImpl {
config: ClientServerConfiguration,
}
impl DocumentCloudServiceImpl {
pub fn new(config: ClientServerConfiguration) -> Self {
Self { config }
}
}
impl DocumentCloudService for DocumentCloudServiceImpl {
fn create_document(
&self,
token: &str,
params: CreateDocumentParams,
) -> FutureResult<(), FlowyError> {
let token = token.to_owned();
let url = self.config.doc_url();
FutureResult::new(async move { create_document_request(&token, params, &url).await })
}
fn fetch_document(
&self,
token: &str,
params: DocumentId,
) -> FutureResult