diff options
Diffstat (limited to 'src/cli/mod.rs')
-rw-r--r-- | src/cli/mod.rs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/cli/mod.rs b/src/cli/mod.rs index c656c1c..a11fd48 100644 --- a/src/cli/mod.rs +++ b/src/cli/mod.rs @@ -1,23 +1,26 @@ use structopt::StructOpt; -use crate::{Settings, UrlMap}; +use crate::{Settings, UrlMap, db::backend::Connectable}; +mod migrate; mod run_server; #[derive(StructOpt)] enum Command { + Migrate(migrate::Migrate), RunServer(run_server::RunServer), } impl Command { - fn execute(self, urls: UrlMap, settings: Settings) { + fn execute(self, urls: UrlMap, settings: Settings<impl Connectable>) { match self { + Command::Migrate(command) => command.execute(urls, settings), Command::RunServer(command) => command.execute(urls, settings), } } } -pub fn main(urls: UrlMap, settings: Settings) { +pub fn main(urls: UrlMap, settings: Settings<impl Connectable>) { let command = Command::from_args(); command.execute(urls, settings); } |