use crate::error::Result;
use crate::types::{Resource, User};
#[async_trait::async_trait]
pub trait Service: Send + Sync {
async fn verify(&self, code: &str) -> Result<String>;
async fn me(&self, token: &str) -> Result<User>;
async fn create_resource(&self, resource: &Resource, token: &str) -> Result<()>;
async fn delete_resource(&self, resource_id: &str, token: &str) -> Result<()>;
}