diff --git a/implementors/actix_web/service/trait.HttpServiceFactory.js b/implementors/actix_web/service/trait.HttpServiceFactory.js index 4e95393..2cbab09 100644 --- a/implementors/actix_web/service/trait.HttpServiceFactory.js +++ b/implementors/actix_web/service/trait.HttpServiceFactory.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["pages"] = [{"text":"impl HttpServiceFactory for update","synthetic":false,"types":["pages::deploy::update"]},{"text":"impl HttpServiceFactory for deploy_info","synthetic":false,"types":["pages::deploy::deploy_info"]},{"text":"impl HttpServiceFactory for build_details","synthetic":false,"types":["pages::meta::build_details"]},{"text":"impl HttpServiceFactory for index","synthetic":false,"types":["pages::serve::index"]}]; +implementors["pages"] = [{"text":"impl HttpServiceFactory for update","synthetic":false,"types":["pages::deploy::update"]},{"text":"impl HttpServiceFactory for deploy_info","synthetic":false,"types":["pages::deploy::deploy_info"]},{"text":"impl HttpServiceFactory for build_details","synthetic":false,"types":["pages::meta::build_details"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/clap/derive/trait.Args.js b/implementors/clap/derive/trait.Args.js deleted file mode 100644 index 0f1b32c..0000000 --- a/implementors/clap/derive/trait.Args.js +++ /dev/null @@ -1,3 +0,0 @@ -(function() {var implementors = {}; -implementors["pages"] = [{"text":"impl Args for Cli","synthetic":false,"types":["pages::Cli"]}]; -if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/clap/derive/trait.CommandFactory.js b/implementors/clap/derive/trait.CommandFactory.js deleted file mode 100644 index b04fc65..0000000 --- a/implementors/clap/derive/trait.CommandFactory.js +++ /dev/null @@ -1,3 +0,0 @@ -(function() {var implementors = {}; -implementors["pages"] = [{"text":"impl CommandFactory for Cli","synthetic":false,"types":["pages::Cli"]}]; -if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/clap/derive/trait.FromArgMatches.js b/implementors/clap/derive/trait.FromArgMatches.js deleted file mode 100644 index a8ed812..0000000 --- a/implementors/clap/derive/trait.FromArgMatches.js +++ /dev/null @@ -1,3 +0,0 @@ -(function() {var implementors = {}; -implementors["pages"] = [{"text":"impl FromArgMatches for Cli","synthetic":false,"types":["pages::Cli"]},{"text":"impl FromArgMatches for Commands","synthetic":false,"types":["pages::Commands"]}]; -if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/clap/derive/trait.Parser.js b/implementors/clap/derive/trait.Parser.js deleted file mode 100644 index 5dc16ba..0000000 --- a/implementors/clap/derive/trait.Parser.js +++ /dev/null @@ -1,3 +0,0 @@ -(function() {var implementors = {}; -implementors["pages"] = [{"text":"impl Parser for Cli","synthetic":false,"types":["pages::Cli"]}]; -if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/clap/derive/trait.Subcommand.js b/implementors/clap/derive/trait.Subcommand.js deleted file mode 100644 index 8fad26d..0000000 --- a/implementors/clap/derive/trait.Subcommand.js +++ /dev/null @@ -1,3 +0,0 @@ -(function() {var implementors = {}; -implementors["pages"] = [{"text":"impl Subcommand for Commands","synthetic":false,"types":["pages::Commands"]}]; -if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/clone/trait.Clone.js b/implementors/core/clone/trait.Clone.js index 15f6c71..a1e6ace 100644 --- a/implementors/core/clone/trait.Clone.js +++ b/implementors/core/clone/trait.Clone.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["pages"] = [{"text":"impl Clone for Ctx","synthetic":false,"types":["pages::ctx::Ctx"]},{"text":"impl Clone for Database","synthetic":false,"types":["pages::db::Database"]},{"text":"impl<'a> Clone for Register<'a>","synthetic":false,"types":["pages::db::Register"]},{"text":"impl<'a> Clone for UpdateEmail<'a>","synthetic":false,"types":["pages::db::UpdateEmail"]},{"text":"impl<'a> Clone for Login<'a>","synthetic":false,"types":["pages::db::Login"]},{"text":"impl Clone for NameHash","synthetic":false,"types":["pages::db::NameHash"]},{"text":"impl Clone for DeployEvent","synthetic":false,"types":["pages::deploy::DeployEvent"]},{"text":"impl Clone for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl Clone for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl Clone for GitFileMode","synthetic":false,"types":["pages::git::GitFileMode"]},{"text":"impl Clone for FileInfo","synthetic":false,"types":["pages::git::FileInfo"]},{"text":"impl Clone for ContentType","synthetic":false,"types":["pages::git::ContentType"]},{"text":"impl<'a> Clone for BuildDetails<'a>","synthetic":false,"types":["pages::meta::BuildDetails"]},{"text":"impl Clone for Page","synthetic":false,"types":["pages::page::Page"]},{"text":"impl Clone for Server","synthetic":false,"types":["pages::settings::Server"]},{"text":"impl Clone for DBType","synthetic":false,"types":["pages::settings::DBType"]},{"text":"impl Clone for Database","synthetic":false,"types":["pages::settings::Database"]},{"text":"impl Clone for Settings","synthetic":false,"types":["pages::settings::Settings"]}]; +implementors["pages"] = [{"text":"impl Clone for Ctx","synthetic":false,"types":["pages::ctx::Ctx"]},{"text":"impl Clone for DeployEvent","synthetic":false,"types":["pages::deploy::DeployEvent"]},{"text":"impl Clone for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl Clone for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl<'a> Clone for BuildDetails<'a>","synthetic":false,"types":["pages::meta::BuildDetails"]},{"text":"impl Clone for Page","synthetic":false,"types":["pages::page::Page"]},{"text":"impl Clone for Server","synthetic":false,"types":["pages::settings::Server"]},{"text":"impl Clone for Settings","synthetic":false,"types":["pages::settings::Settings"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/cmp/trait.Eq.js b/implementors/core/cmp/trait.Eq.js deleted file mode 100644 index 13e284b..0000000 --- a/implementors/core/cmp/trait.Eq.js +++ /dev/null @@ -1,3 +0,0 @@ -(function() {var implementors = {}; -implementors["pages"] = [{"text":"impl<'a> Eq for Register<'a>","synthetic":false,"types":["pages::db::Register"]},{"text":"impl<'a> Eq for UpdateEmail<'a>","synthetic":false,"types":["pages::db::UpdateEmail"]},{"text":"impl<'a> Eq for Login<'a>","synthetic":false,"types":["pages::db::Login"]},{"text":"impl Eq for NameHash","synthetic":false,"types":["pages::db::NameHash"]},{"text":"impl Eq for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl Eq for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl Eq for GitFileMode","synthetic":false,"types":["pages::git::GitFileMode"]},{"text":"impl Eq for FileInfo","synthetic":false,"types":["pages::git::FileInfo"]},{"text":"impl Eq for ContentType","synthetic":false,"types":["pages::git::ContentType"]},{"text":"impl Eq for Page","synthetic":false,"types":["pages::page::Page"]},{"text":"impl Eq for DBType","synthetic":false,"types":["pages::settings::DBType"]}]; -if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/cmp/trait.PartialEq.js b/implementors/core/cmp/trait.PartialEq.js index ab0ea24..3918baf 100644 --- a/implementors/core/cmp/trait.PartialEq.js +++ b/implementors/core/cmp/trait.PartialEq.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["pages"] = [{"text":"impl<'a> PartialEq<Register<'a>> for Register<'a>","synthetic":false,"types":["pages::db::Register"]},{"text":"impl<'a> PartialEq<UpdateEmail<'a>> for UpdateEmail<'a>","synthetic":false,"types":["pages::db::UpdateEmail"]},{"text":"impl<'a> PartialEq<Login<'a>> for Login<'a>","synthetic":false,"types":["pages::db::Login"]},{"text":"impl PartialEq<NameHash> for NameHash","synthetic":false,"types":["pages::db::NameHash"]},{"text":"impl PartialEq<DeploySecret> for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl PartialEq<DeployInfo> for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl PartialEq<FSError> for FSError","synthetic":false,"types":["pages::errors::FSError"]},{"text":"impl PartialEq<ConfigError> for ConfigError","synthetic":false,"types":["pages::errors::ConfigError"]},{"text":"impl PartialEq<ServiceError> for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl PartialEq<GitFileMode> for GitFileMode","synthetic":false,"types":["pages::git::GitFileMode"]},{"text":"impl PartialEq<FileInfo> for FileInfo","synthetic":false,"types":["pages::git::FileInfo"]},{"text":"impl PartialEq<ContentType> for ContentType","synthetic":false,"types":["pages::git::ContentType"]},{"text":"impl PartialEq<Page> for Page","synthetic":false,"types":["pages::page::Page"]},{"text":"impl PartialEq<DBType> for DBType","synthetic":false,"types":["pages::settings::DBType"]}]; +implementors["pages"] = [{"text":"impl PartialEq<DeploySecret> for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl PartialEq<DeployInfo> for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl PartialEq<FSError> for FSError","synthetic":false,"types":["pages::errors::FSError"]},{"text":"impl PartialEq<ConfigError> for ConfigError","synthetic":false,"types":["pages::errors::ConfigError"]},{"text":"impl PartialEq<ServiceError> for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl PartialEq<Page> for Page","synthetic":false,"types":["pages::page::Page"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/convert/trait.From.js b/implementors/core/convert/trait.From.js index 31d097a..62684e9 100644 --- a/implementors/core/convert/trait.From.js +++ b/implementors/core/convert/trait.From.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["pages"] = [{"text":"impl From<Error> for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl From<ConfigError> for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl From<ParseError> for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl From<Error> for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl From<isize> for GitFileMode","synthetic":false,"types":["pages::git::GitFileMode"]},{"text":"impl From<&TreeEntry<'_>> for GitFileMode","synthetic":false,"types":["pages::git::GitFileMode"]},{"text":"impl From<TreeEntry<'_>> for GitFileMode","synthetic":false,"types":["pages::git::GitFileMode"]}]; +implementors["pages"] = [{"text":"impl From<Error> for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl From<ConfigError> for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl From<ParseError> for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl From<Error> for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/fmt/trait.Debug.js b/implementors/core/fmt/trait.Debug.js index cd0b802..59ac462 100644 --- a/implementors/core/fmt/trait.Debug.js +++ b/implementors/core/fmt/trait.Debug.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["pages"] = [{"text":"impl<'a> Debug for Register<'a>","synthetic":false,"types":["pages::db::Register"]},{"text":"impl<'a> Debug for UpdateEmail<'a>","synthetic":false,"types":["pages::db::UpdateEmail"]},{"text":"impl<'a> Debug for Login<'a>","synthetic":false,"types":["pages::db::Login"]},{"text":"impl Debug for NameHash","synthetic":false,"types":["pages::db::NameHash"]},{"text":"impl Debug for DeployEvent","synthetic":false,"types":["pages::deploy::DeployEvent"]},{"text":"impl Debug for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl Debug for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl Debug for FSError","synthetic":false,"types":["pages::errors::FSError"]},{"text":"impl Debug for ConfigError","synthetic":false,"types":["pages::errors::ConfigError"]},{"text":"impl Debug for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl Debug for ErrorToResponse","synthetic":false,"types":["pages::errors::ErrorToResponse"]},{"text":"impl Debug for GitFileMode","synthetic":false,"types":["pages::git::GitFileMode"]},{"text":"impl Debug for FileInfo","synthetic":false,"types":["pages::git::FileInfo"]},{"text":"impl Debug for ContentType","synthetic":false,"types":["pages::git::ContentType"]},{"text":"impl<'a> Debug for BuildDetails<'a>","synthetic":false,"types":["pages::meta::BuildDetails"]},{"text":"impl Debug for Page","synthetic":false,"types":["pages::page::Page"]},{"text":"impl Debug for Server","synthetic":false,"types":["pages::settings::Server"]},{"text":"impl Debug for DBType","synthetic":false,"types":["pages::settings::DBType"]},{"text":"impl Debug for Database","synthetic":false,"types":["pages::settings::Database"]},{"text":"impl Debug for Settings","synthetic":false,"types":["pages::settings::Settings"]}]; +implementors["pages"] = [{"text":"impl Debug for DeployEvent","synthetic":false,"types":["pages::deploy::DeployEvent"]},{"text":"impl Debug for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl Debug for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl Debug for FSError","synthetic":false,"types":["pages::errors::FSError"]},{"text":"impl Debug for ConfigError","synthetic":false,"types":["pages::errors::ConfigError"]},{"text":"impl Debug for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl Debug for ErrorToResponse","synthetic":false,"types":["pages::errors::ErrorToResponse"]},{"text":"impl<'a> Debug for BuildDetails<'a>","synthetic":false,"types":["pages::meta::BuildDetails"]},{"text":"impl Debug for Page","synthetic":false,"types":["pages::page::Page"]},{"text":"impl Debug for Server","synthetic":false,"types":["pages::settings::Server"]},{"text":"impl Debug for Settings","synthetic":false,"types":["pages::settings::Settings"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/fmt/trait.Display.js b/implementors/core/fmt/trait.Display.js index 2a25853..9fe8c4c 100644 --- a/implementors/core/fmt/trait.Display.js +++ b/implementors/core/fmt/trait.Display.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["pages"] = [{"text":"impl Display for FSError","synthetic":false,"types":["pages::errors::FSError"]},{"text":"impl Display for ConfigError","synthetic":false,"types":["pages::errors::ConfigError"]},{"text":"impl Display for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl Display for DBType","synthetic":false,"types":["pages::settings::DBType"]}]; +implementors["pages"] = [{"text":"impl Display for FSError","synthetic":false,"types":["pages::errors::FSError"]},{"text":"impl Display for ConfigError","synthetic":false,"types":["pages::errors::ConfigError"]},{"text":"impl Display for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Freeze.js b/implementors/core/marker/trait.Freeze.js index 6510247..e86145b 100644 --- a/implementors/core/marker/trait.Freeze.js +++ b/implementors/core/marker/trait.Freeze.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["pages"] = [{"text":"impl Freeze for Ctx","synthetic":true,"types":["pages::ctx::Ctx"]},{"text":"impl Freeze for ConnectionOptions","synthetic":true,"types":["pages::db::ConnectionOptions"]},{"text":"impl Freeze for Conn","synthetic":true,"types":["pages::db::Conn"]},{"text":"impl Freeze for Fresh","synthetic":true,"types":["pages::db::Fresh"]},{"text":"impl Freeze for Database","synthetic":true,"types":["pages::db::Database"]},{"text":"impl<'a> Freeze for Register<'a>","synthetic":true,"types":["pages::db::Register"]},{"text":"impl<'a> Freeze for UpdateEmail<'a>","synthetic":true,"types":["pages::db::UpdateEmail"]},{"text":"impl<'a> Freeze for Login<'a>","synthetic":true,"types":["pages::db::Login"]},{"text":"impl Freeze for NameHash","synthetic":true,"types":["pages::db::NameHash"]},{"text":"impl Freeze for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl Freeze for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl Freeze for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl Freeze for DeploySecret","synthetic":true,"types":["pages::deploy::DeploySecret"]},{"text":"impl Freeze for DeployInfo","synthetic":true,"types":["pages::deploy::DeployInfo"]},{"text":"impl Freeze for deploy_info","synthetic":true,"types":["pages::deploy::deploy_info"]},{"text":"impl Freeze for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl Freeze for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl Freeze for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl Freeze for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl Freeze for GitFileMode","synthetic":true,"types":["pages::git::GitFileMode"]},{"text":"impl Freeze for FileInfo","synthetic":true,"types":["pages::git::FileInfo"]},{"text":"impl Freeze for ContentType","synthetic":true,"types":["pages::git::ContentType"]},{"text":"impl Freeze for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl<'a> Freeze for BuildDetails<'a>","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl Freeze for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl Freeze for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl<'a> Freeze for Preview<'a>","synthetic":true,"types":["pages::preview::Preview"]},{"text":"impl Freeze for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl Freeze for Serve","synthetic":true,"types":["pages::serve::routes::Serve"]},{"text":"impl Freeze for index","synthetic":true,"types":["pages::serve::index"]},{"text":"impl Freeze for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl Freeze for DBType","synthetic":true,"types":["pages::settings::DBType"]},{"text":"impl Freeze for Database","synthetic":true,"types":["pages::settings::Database"]},{"text":"impl Freeze for Settings","synthetic":true,"types":["pages::settings::Settings"]},{"text":"impl Freeze for Cli","synthetic":true,"types":["pages::Cli"]},{"text":"impl Freeze for Commands","synthetic":true,"types":["pages::Commands"]}]; +implementors["pages"] = [{"text":"impl Freeze for Ctx","synthetic":true,"types":["pages::ctx::Ctx"]},{"text":"impl Freeze for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl Freeze for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl Freeze for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl Freeze for DeploySecret","synthetic":true,"types":["pages::deploy::DeploySecret"]},{"text":"impl Freeze for DeployInfo","synthetic":true,"types":["pages::deploy::DeployInfo"]},{"text":"impl Freeze for deploy_info","synthetic":true,"types":["pages::deploy::deploy_info"]},{"text":"impl Freeze for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl Freeze for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl Freeze for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl Freeze for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl Freeze for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl<'a> Freeze for BuildDetails<'a>","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl Freeze for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl Freeze for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl Freeze for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl Freeze for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl Freeze for Settings","synthetic":true,"types":["pages::settings::Settings"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Send.js b/implementors/core/marker/trait.Send.js index 710fd75..29cf9b5 100644 --- a/implementors/core/marker/trait.Send.js +++ b/implementors/core/marker/trait.Send.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["pages"] = [{"text":"impl Send for Ctx","synthetic":true,"types":["pages::ctx::Ctx"]},{"text":"impl Send for ConnectionOptions","synthetic":true,"types":["pages::db::ConnectionOptions"]},{"text":"impl Send for Conn","synthetic":true,"types":["pages::db::Conn"]},{"text":"impl Send for Fresh","synthetic":true,"types":["pages::db::Fresh"]},{"text":"impl Send for Database","synthetic":true,"types":["pages::db::Database"]},{"text":"impl<'a> Send for Register<'a>","synthetic":true,"types":["pages::db::Register"]},{"text":"impl<'a> Send for UpdateEmail<'a>","synthetic":true,"types":["pages::db::UpdateEmail"]},{"text":"impl<'a> Send for Login<'a>","synthetic":true,"types":["pages::db::Login"]},{"text":"impl Send for NameHash","synthetic":true,"types":["pages::db::NameHash"]},{"text":"impl Send for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl Send for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl Send for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl Send for DeploySecret","synthetic":true,"types":["pages::deploy::DeploySecret"]},{"text":"impl Send for DeployInfo","synthetic":true,"types":["pages::deploy::DeployInfo"]},{"text":"impl Send for deploy_info","synthetic":true,"types":["pages::deploy::deploy_info"]},{"text":"impl Send for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl Send for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl Send for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl Send for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl Send for GitFileMode","synthetic":true,"types":["pages::git::GitFileMode"]},{"text":"impl Send for FileInfo","synthetic":true,"types":["pages::git::FileInfo"]},{"text":"impl Send for ContentType","synthetic":true,"types":["pages::git::ContentType"]},{"text":"impl Send for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl<'a> Send for BuildDetails<'a>","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl Send for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl Send for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl<'a> Send for Preview<'a>","synthetic":true,"types":["pages::preview::Preview"]},{"text":"impl Send for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl Send for Serve","synthetic":true,"types":["pages::serve::routes::Serve"]},{"text":"impl Send for index","synthetic":true,"types":["pages::serve::index"]},{"text":"impl Send for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl Send for DBType","synthetic":true,"types":["pages::settings::DBType"]},{"text":"impl Send for Database","synthetic":true,"types":["pages::settings::Database"]},{"text":"impl Send for Settings","synthetic":true,"types":["pages::settings::Settings"]},{"text":"impl Send for Cli","synthetic":true,"types":["pages::Cli"]},{"text":"impl Send for Commands","synthetic":true,"types":["pages::Commands"]}]; +implementors["pages"] = [{"text":"impl Send for Ctx","synthetic":true,"types":["pages::ctx::Ctx"]},{"text":"impl Send for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl Send for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl Send for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl Send for DeploySecret","synthetic":true,"types":["pages::deploy::DeploySecret"]},{"text":"impl Send for DeployInfo","synthetic":true,"types":["pages::deploy::DeployInfo"]},{"text":"impl Send for deploy_info","synthetic":true,"types":["pages::deploy::deploy_info"]},{"text":"impl Send for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl Send for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl Send for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl Send for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl Send for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl<'a> Send for BuildDetails<'a>","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl Send for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl Send for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl Send for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl Send for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl Send for Settings","synthetic":true,"types":["pages::settings::Settings"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.StructuralEq.js b/implementors/core/marker/trait.StructuralEq.js deleted file mode 100644 index 572534c..0000000 --- a/implementors/core/marker/trait.StructuralEq.js +++ /dev/null @@ -1,3 +0,0 @@ -(function() {var implementors = {}; -implementors["pages"] = [{"text":"impl<'a> StructuralEq for Register<'a>","synthetic":false,"types":["pages::db::Register"]},{"text":"impl<'a> StructuralEq for UpdateEmail<'a>","synthetic":false,"types":["pages::db::UpdateEmail"]},{"text":"impl<'a> StructuralEq for Login<'a>","synthetic":false,"types":["pages::db::Login"]},{"text":"impl StructuralEq for NameHash","synthetic":false,"types":["pages::db::NameHash"]},{"text":"impl StructuralEq for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl StructuralEq for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl StructuralEq for GitFileMode","synthetic":false,"types":["pages::git::GitFileMode"]},{"text":"impl StructuralEq for FileInfo","synthetic":false,"types":["pages::git::FileInfo"]},{"text":"impl StructuralEq for ContentType","synthetic":false,"types":["pages::git::ContentType"]},{"text":"impl StructuralEq for Page","synthetic":false,"types":["pages::page::Page"]},{"text":"impl StructuralEq for DBType","synthetic":false,"types":["pages::settings::DBType"]}]; -if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.StructuralPartialEq.js b/implementors/core/marker/trait.StructuralPartialEq.js index d3d84aa..465fee6 100644 --- a/implementors/core/marker/trait.StructuralPartialEq.js +++ b/implementors/core/marker/trait.StructuralPartialEq.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["pages"] = [{"text":"impl<'a> StructuralPartialEq for Register<'a>","synthetic":false,"types":["pages::db::Register"]},{"text":"impl<'a> StructuralPartialEq for UpdateEmail<'a>","synthetic":false,"types":["pages::db::UpdateEmail"]},{"text":"impl<'a> StructuralPartialEq for Login<'a>","synthetic":false,"types":["pages::db::Login"]},{"text":"impl StructuralPartialEq for NameHash","synthetic":false,"types":["pages::db::NameHash"]},{"text":"impl StructuralPartialEq for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl StructuralPartialEq for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl StructuralPartialEq for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl StructuralPartialEq for GitFileMode","synthetic":false,"types":["pages::git::GitFileMode"]},{"text":"impl StructuralPartialEq for FileInfo","synthetic":false,"types":["pages::git::FileInfo"]},{"text":"impl StructuralPartialEq for ContentType","synthetic":false,"types":["pages::git::ContentType"]},{"text":"impl StructuralPartialEq for Page","synthetic":false,"types":["pages::page::Page"]},{"text":"impl StructuralPartialEq for DBType","synthetic":false,"types":["pages::settings::DBType"]}]; +implementors["pages"] = [{"text":"impl StructuralPartialEq for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl StructuralPartialEq for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl StructuralPartialEq for ServiceError","synthetic":false,"types":["pages::errors::ServiceError"]},{"text":"impl StructuralPartialEq for Page","synthetic":false,"types":["pages::page::Page"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Sync.js b/implementors/core/marker/trait.Sync.js index 3304863..0240008 100644 --- a/implementors/core/marker/trait.Sync.js +++ b/implementors/core/marker/trait.Sync.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["pages"] = [{"text":"impl Sync for Ctx","synthetic":true,"types":["pages::ctx::Ctx"]},{"text":"impl Sync for ConnectionOptions","synthetic":true,"types":["pages::db::ConnectionOptions"]},{"text":"impl Sync for Conn","synthetic":true,"types":["pages::db::Conn"]},{"text":"impl Sync for Fresh","synthetic":true,"types":["pages::db::Fresh"]},{"text":"impl Sync for Database","synthetic":true,"types":["pages::db::Database"]},{"text":"impl<'a> Sync for Register<'a>","synthetic":true,"types":["pages::db::Register"]},{"text":"impl<'a> Sync for UpdateEmail<'a>","synthetic":true,"types":["pages::db::UpdateEmail"]},{"text":"impl<'a> Sync for Login<'a>","synthetic":true,"types":["pages::db::Login"]},{"text":"impl Sync for NameHash","synthetic":true,"types":["pages::db::NameHash"]},{"text":"impl Sync for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl Sync for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl Sync for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl Sync for DeploySecret","synthetic":true,"types":["pages::deploy::DeploySecret"]},{"text":"impl Sync for DeployInfo","synthetic":true,"types":["pages::deploy::DeployInfo"]},{"text":"impl Sync for deploy_info","synthetic":true,"types":["pages::deploy::deploy_info"]},{"text":"impl Sync for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl Sync for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl Sync for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl Sync for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl Sync for GitFileMode","synthetic":true,"types":["pages::git::GitFileMode"]},{"text":"impl Sync for FileInfo","synthetic":true,"types":["pages::git::FileInfo"]},{"text":"impl Sync for ContentType","synthetic":true,"types":["pages::git::ContentType"]},{"text":"impl Sync for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl<'a> Sync for BuildDetails<'a>","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl Sync for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl Sync for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl<'a> Sync for Preview<'a>","synthetic":true,"types":["pages::preview::Preview"]},{"text":"impl Sync for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl Sync for Serve","synthetic":true,"types":["pages::serve::routes::Serve"]},{"text":"impl Sync for index","synthetic":true,"types":["pages::serve::index"]},{"text":"impl Sync for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl Sync for DBType","synthetic":true,"types":["pages::settings::DBType"]},{"text":"impl Sync for Database","synthetic":true,"types":["pages::settings::Database"]},{"text":"impl Sync for Settings","synthetic":true,"types":["pages::settings::Settings"]},{"text":"impl Sync for Cli","synthetic":true,"types":["pages::Cli"]},{"text":"impl Sync for Commands","synthetic":true,"types":["pages::Commands"]}]; +implementors["pages"] = [{"text":"impl Sync for Ctx","synthetic":true,"types":["pages::ctx::Ctx"]},{"text":"impl Sync for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl Sync for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl Sync for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl Sync for DeploySecret","synthetic":true,"types":["pages::deploy::DeploySecret"]},{"text":"impl Sync for DeployInfo","synthetic":true,"types":["pages::deploy::DeployInfo"]},{"text":"impl Sync for deploy_info","synthetic":true,"types":["pages::deploy::deploy_info"]},{"text":"impl Sync for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl Sync for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl Sync for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl Sync for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl Sync for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl<'a> Sync for BuildDetails<'a>","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl Sync for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl Sync for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl Sync for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl Sync for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl Sync for Settings","synthetic":true,"types":["pages::settings::Settings"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Unpin.js b/implementors/core/marker/trait.Unpin.js index cb1229c..5d67e45 100644 --- a/implementors/core/marker/trait.Unpin.js +++ b/implementors/core/marker/trait.Unpin.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["pages"] = [{"text":"impl Unpin for Ctx","synthetic":true,"types":["pages::ctx::Ctx"]},{"text":"impl Unpin for ConnectionOptions","synthetic":true,"types":["pages::db::ConnectionOptions"]},{"text":"impl Unpin for Conn","synthetic":true,"types":["pages::db::Conn"]},{"text":"impl Unpin for Fresh","synthetic":true,"types":["pages::db::Fresh"]},{"text":"impl Unpin for Database","synthetic":true,"types":["pages::db::Database"]},{"text":"impl<'a> Unpin for Register<'a>","synthetic":true,"types":["pages::db::Register"]},{"text":"impl<'a> Unpin for UpdateEmail<'a>","synthetic":true,"types":["pages::db::UpdateEmail"]},{"text":"impl<'a> Unpin for Login<'a>","synthetic":true,"types":["pages::db::Login"]},{"text":"impl Unpin for NameHash","synthetic":true,"types":["pages::db::NameHash"]},{"text":"impl Unpin for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl Unpin for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl Unpin for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl Unpin for DeploySecret","synthetic":true,"types":["pages::deploy::DeploySecret"]},{"text":"impl Unpin for DeployInfo","synthetic":true,"types":["pages::deploy::DeployInfo"]},{"text":"impl Unpin for deploy_info","synthetic":true,"types":["pages::deploy::deploy_info"]},{"text":"impl Unpin for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl Unpin for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl Unpin for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl Unpin for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl Unpin for GitFileMode","synthetic":true,"types":["pages::git::GitFileMode"]},{"text":"impl Unpin for FileInfo","synthetic":true,"types":["pages::git::FileInfo"]},{"text":"impl Unpin for ContentType","synthetic":true,"types":["pages::git::ContentType"]},{"text":"impl Unpin for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl<'a> Unpin for BuildDetails<'a>","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl Unpin for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl Unpin for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl<'a> Unpin for Preview<'a>","synthetic":true,"types":["pages::preview::Preview"]},{"text":"impl Unpin for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl Unpin for Serve","synthetic":true,"types":["pages::serve::routes::Serve"]},{"text":"impl Unpin for index","synthetic":true,"types":["pages::serve::index"]},{"text":"impl Unpin for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl Unpin for DBType","synthetic":true,"types":["pages::settings::DBType"]},{"text":"impl Unpin for Database","synthetic":true,"types":["pages::settings::Database"]},{"text":"impl Unpin for Settings","synthetic":true,"types":["pages::settings::Settings"]},{"text":"impl Unpin for Cli","synthetic":true,"types":["pages::Cli"]},{"text":"impl Unpin for Commands","synthetic":true,"types":["pages::Commands"]}]; +implementors["pages"] = [{"text":"impl Unpin for Ctx","synthetic":true,"types":["pages::ctx::Ctx"]},{"text":"impl Unpin for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl Unpin for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl Unpin for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl Unpin for DeploySecret","synthetic":true,"types":["pages::deploy::DeploySecret"]},{"text":"impl Unpin for DeployInfo","synthetic":true,"types":["pages::deploy::DeployInfo"]},{"text":"impl Unpin for deploy_info","synthetic":true,"types":["pages::deploy::deploy_info"]},{"text":"impl Unpin for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl Unpin for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl Unpin for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl Unpin for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl Unpin for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl<'a> Unpin for BuildDetails<'a>","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl Unpin for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl Unpin for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl Unpin for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl Unpin for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl Unpin for Settings","synthetic":true,"types":["pages::settings::Settings"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js index 6f7a87f..ef02400 100644 --- a/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["pages"] = [{"text":"impl !RefUnwindSafe for Ctx","synthetic":true,"types":["pages::ctx::Ctx"]},{"text":"impl !RefUnwindSafe for ConnectionOptions","synthetic":true,"types":["pages::db::ConnectionOptions"]},{"text":"impl !RefUnwindSafe for Conn","synthetic":true,"types":["pages::db::Conn"]},{"text":"impl !RefUnwindSafe for Fresh","synthetic":true,"types":["pages::db::Fresh"]},{"text":"impl !RefUnwindSafe for Database","synthetic":true,"types":["pages::db::Database"]},{"text":"impl<'a> RefUnwindSafe for Register<'a>","synthetic":true,"types":["pages::db::Register"]},{"text":"impl<'a> RefUnwindSafe for UpdateEmail<'a>","synthetic":true,"types":["pages::db::UpdateEmail"]},{"text":"impl<'a> RefUnwindSafe for Login<'a>","synthetic":true,"types":["pages::db::Login"]},{"text":"impl RefUnwindSafe for NameHash","synthetic":true,"types":["pages::db::NameHash"]},{"text":"impl RefUnwindSafe for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl RefUnwindSafe for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl RefUnwindSafe for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl RefUnwindSafe for DeploySecret","synthetic":true,"types":["pages::deploy::DeploySecret"]},{"text":"impl RefUnwindSafe for DeployInfo","synthetic":true,"types":["pages::deploy::DeployInfo"]},{"text":"impl RefUnwindSafe for deploy_info","synthetic":true,"types":["pages::deploy::deploy_info"]},{"text":"impl !RefUnwindSafe for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl !RefUnwindSafe for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl !RefUnwindSafe for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl RefUnwindSafe for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl RefUnwindSafe for GitFileMode","synthetic":true,"types":["pages::git::GitFileMode"]},{"text":"impl RefUnwindSafe for FileInfo","synthetic":true,"types":["pages::git::FileInfo"]},{"text":"impl RefUnwindSafe for ContentType","synthetic":true,"types":["pages::git::ContentType"]},{"text":"impl RefUnwindSafe for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl<'a> RefUnwindSafe for BuildDetails<'a>","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl RefUnwindSafe for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl RefUnwindSafe for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl<'a> RefUnwindSafe for Preview<'a>","synthetic":true,"types":["pages::preview::Preview"]},{"text":"impl RefUnwindSafe for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl RefUnwindSafe for Serve","synthetic":true,"types":["pages::serve::routes::Serve"]},{"text":"impl RefUnwindSafe for index","synthetic":true,"types":["pages::serve::index"]},{"text":"impl RefUnwindSafe for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl RefUnwindSafe for DBType","synthetic":true,"types":["pages::settings::DBType"]},{"text":"impl RefUnwindSafe for Database","synthetic":true,"types":["pages::settings::Database"]},{"text":"impl RefUnwindSafe for Settings","synthetic":true,"types":["pages::settings::Settings"]},{"text":"impl RefUnwindSafe for Cli","synthetic":true,"types":["pages::Cli"]},{"text":"impl RefUnwindSafe for Commands","synthetic":true,"types":["pages::Commands"]}]; +implementors["pages"] = [{"text":"impl RefUnwindSafe for Ctx","synthetic":true,"types":["pages::ctx::Ctx"]},{"text":"impl RefUnwindSafe for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl RefUnwindSafe for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl RefUnwindSafe for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl RefUnwindSafe for DeploySecret","synthetic":true,"types":["pages::deploy::DeploySecret"]},{"text":"impl RefUnwindSafe for DeployInfo","synthetic":true,"types":["pages::deploy::DeployInfo"]},{"text":"impl RefUnwindSafe for deploy_info","synthetic":true,"types":["pages::deploy::deploy_info"]},{"text":"impl !RefUnwindSafe for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl !RefUnwindSafe for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl !RefUnwindSafe for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl RefUnwindSafe for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl RefUnwindSafe for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl<'a> RefUnwindSafe for BuildDetails<'a>","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl RefUnwindSafe for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl RefUnwindSafe for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl RefUnwindSafe for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl RefUnwindSafe for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl RefUnwindSafe for Settings","synthetic":true,"types":["pages::settings::Settings"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/panic/unwind_safe/trait.UnwindSafe.js b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js index f74fbb1..baf9f40 100644 --- a/implementors/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["pages"] = [{"text":"impl !UnwindSafe for Ctx","synthetic":true,"types":["pages::ctx::Ctx"]},{"text":"impl !UnwindSafe for ConnectionOptions","synthetic":true,"types":["pages::db::ConnectionOptions"]},{"text":"impl !UnwindSafe for Conn","synthetic":true,"types":["pages::db::Conn"]},{"text":"impl !UnwindSafe for Fresh","synthetic":true,"types":["pages::db::Fresh"]},{"text":"impl !UnwindSafe for Database","synthetic":true,"types":["pages::db::Database"]},{"text":"impl<'a> UnwindSafe for Register<'a>","synthetic":true,"types":["pages::db::Register"]},{"text":"impl<'a> UnwindSafe for UpdateEmail<'a>","synthetic":true,"types":["pages::db::UpdateEmail"]},{"text":"impl<'a> UnwindSafe for Login<'a>","synthetic":true,"types":["pages::db::Login"]},{"text":"impl UnwindSafe for NameHash","synthetic":true,"types":["pages::db::NameHash"]},{"text":"impl UnwindSafe for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl UnwindSafe for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl UnwindSafe for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl UnwindSafe for DeploySecret","synthetic":true,"types":["pages::deploy::DeploySecret"]},{"text":"impl UnwindSafe for DeployInfo","synthetic":true,"types":["pages::deploy::DeployInfo"]},{"text":"impl UnwindSafe for deploy_info","synthetic":true,"types":["pages::deploy::deploy_info"]},{"text":"impl !UnwindSafe for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl !UnwindSafe for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl !UnwindSafe for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl UnwindSafe for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl UnwindSafe for GitFileMode","synthetic":true,"types":["pages::git::GitFileMode"]},{"text":"impl UnwindSafe for FileInfo","synthetic":true,"types":["pages::git::FileInfo"]},{"text":"impl UnwindSafe for ContentType","synthetic":true,"types":["pages::git::ContentType"]},{"text":"impl UnwindSafe for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl<'a> UnwindSafe for BuildDetails<'a>","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl UnwindSafe for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl UnwindSafe for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl<'a> UnwindSafe for Preview<'a>","synthetic":true,"types":["pages::preview::Preview"]},{"text":"impl UnwindSafe for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl UnwindSafe for Serve","synthetic":true,"types":["pages::serve::routes::Serve"]},{"text":"impl UnwindSafe for index","synthetic":true,"types":["pages::serve::index"]},{"text":"impl UnwindSafe for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl UnwindSafe for DBType","synthetic":true,"types":["pages::settings::DBType"]},{"text":"impl UnwindSafe for Database","synthetic":true,"types":["pages::settings::Database"]},{"text":"impl UnwindSafe for Settings","synthetic":true,"types":["pages::settings::Settings"]},{"text":"impl UnwindSafe for Cli","synthetic":true,"types":["pages::Cli"]},{"text":"impl UnwindSafe for Commands","synthetic":true,"types":["pages::Commands"]}]; +implementors["pages"] = [{"text":"impl UnwindSafe for Ctx","synthetic":true,"types":["pages::ctx::Ctx"]},{"text":"impl UnwindSafe for Deploy","synthetic":true,"types":["pages::deploy::routes::Deploy"]},{"text":"impl UnwindSafe for DeployEvent","synthetic":true,"types":["pages::deploy::DeployEvent"]},{"text":"impl UnwindSafe for update","synthetic":true,"types":["pages::deploy::update"]},{"text":"impl UnwindSafe for DeploySecret","synthetic":true,"types":["pages::deploy::DeploySecret"]},{"text":"impl UnwindSafe for DeployInfo","synthetic":true,"types":["pages::deploy::DeployInfo"]},{"text":"impl UnwindSafe for deploy_info","synthetic":true,"types":["pages::deploy::deploy_info"]},{"text":"impl !UnwindSafe for FSError","synthetic":true,"types":["pages::errors::FSError"]},{"text":"impl !UnwindSafe for ConfigError","synthetic":true,"types":["pages::errors::ConfigError"]},{"text":"impl !UnwindSafe for ServiceError","synthetic":true,"types":["pages::errors::ServiceError"]},{"text":"impl UnwindSafe for ErrorToResponse","synthetic":true,"types":["pages::errors::ErrorToResponse"]},{"text":"impl UnwindSafe for Meta","synthetic":true,"types":["pages::meta::routes::Meta"]},{"text":"impl<'a> UnwindSafe for BuildDetails<'a>","synthetic":true,"types":["pages::meta::BuildDetails"]},{"text":"impl UnwindSafe for build_details","synthetic":true,"types":["pages::meta::build_details"]},{"text":"impl UnwindSafe for Page","synthetic":true,"types":["pages::page::Page"]},{"text":"impl UnwindSafe for Routes","synthetic":true,"types":["pages::routes::Routes"]},{"text":"impl UnwindSafe for Server","synthetic":true,"types":["pages::settings::Server"]},{"text":"impl UnwindSafe for Settings","synthetic":true,"types":["pages::settings::Settings"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/num_enum/trait.FromPrimitive.js b/implementors/num_enum/trait.FromPrimitive.js deleted file mode 100644 index 5c14282..0000000 --- a/implementors/num_enum/trait.FromPrimitive.js +++ /dev/null @@ -1,3 +0,0 @@ -(function() {var implementors = {}; -implementors["pages"] = [{"text":"impl FromPrimitive for GitFileMode","synthetic":false,"types":["pages::git::GitFileMode"]}]; -if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/num_enum/trait.TryFromPrimitive.js b/implementors/num_enum/trait.TryFromPrimitive.js deleted file mode 100644 index 31013d8..0000000 --- a/implementors/num_enum/trait.TryFromPrimitive.js +++ /dev/null @@ -1,3 +0,0 @@ -(function() {var implementors = {}; -implementors["pages"] = [{"text":"impl TryFromPrimitive for GitFileMode","synthetic":false,"types":["pages::git::GitFileMode"]}]; -if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/serde/de/trait.Deserialize.js b/implementors/serde/de/trait.Deserialize.js index 2133356..d843033 100644 --- a/implementors/serde/de/trait.Deserialize.js +++ b/implementors/serde/de/trait.Deserialize.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["pages"] = [{"text":"impl<'de: 'a, 'a> Deserialize<'de> for Register<'a>","synthetic":false,"types":["pages::db::Register"]},{"text":"impl<'de: 'a, 'a> Deserialize<'de> for UpdateEmail<'a>","synthetic":false,"types":["pages::db::UpdateEmail"]},{"text":"impl<'de: 'a, 'a> Deserialize<'de> for Login<'a>","synthetic":false,"types":["pages::db::Login"]},{"text":"impl<'de> Deserialize<'de> for NameHash","synthetic":false,"types":["pages::db::NameHash"]},{"text":"impl<'de> Deserialize<'de> for DeployEvent","synthetic":false,"types":["pages::deploy::DeployEvent"]},{"text":"impl<'de> Deserialize<'de> for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl<'de> Deserialize<'de> for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl<'de> Deserialize<'de> for ErrorToResponse","synthetic":false,"types":["pages::errors::ErrorToResponse"]},{"text":"impl<'de> Deserialize<'de> for ContentType","synthetic":false,"types":["pages::git::ContentType"]},{"text":"impl<'de: 'a, 'a> Deserialize<'de> for BuildDetails<'a>","synthetic":false,"types":["pages::meta::BuildDetails"]},{"text":"impl<'de> Deserialize<'de> for Page","synthetic":false,"types":["pages::page::Page"]},{"text":"impl<'de> Deserialize<'de> for Server","synthetic":false,"types":["pages::settings::Server"]},{"text":"impl<'de> Deserialize<'de> for DBType","synthetic":false,"types":["pages::settings::DBType"]},{"text":"impl<'de> Deserialize<'de> for Database","synthetic":false,"types":["pages::settings::Database"]},{"text":"impl<'de> Deserialize<'de> for Settings","synthetic":false,"types":["pages::settings::Settings"]}]; +implementors["pages"] = [{"text":"impl<'de> Deserialize<'de> for DeployEvent","synthetic":false,"types":["pages::deploy::DeployEvent"]},{"text":"impl<'de> Deserialize<'de> for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl<'de> Deserialize<'de> for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl<'de> Deserialize<'de> for ErrorToResponse","synthetic":false,"types":["pages::errors::ErrorToResponse"]},{"text":"impl<'de: 'a, 'a> Deserialize<'de> for BuildDetails<'a>","synthetic":false,"types":["pages::meta::BuildDetails"]},{"text":"impl<'de> Deserialize<'de> for Page","synthetic":false,"types":["pages::page::Page"]},{"text":"impl<'de> Deserialize<'de> for Server","synthetic":false,"types":["pages::settings::Server"]},{"text":"impl<'de> Deserialize<'de> for Settings","synthetic":false,"types":["pages::settings::Settings"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/serde/ser/trait.Serialize.js b/implementors/serde/ser/trait.Serialize.js index 70b096c..d222e22 100644 --- a/implementors/serde/ser/trait.Serialize.js +++ b/implementors/serde/ser/trait.Serialize.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["pages"] = [{"text":"impl<'a> Serialize for Register<'a>","synthetic":false,"types":["pages::db::Register"]},{"text":"impl<'a> Serialize for UpdateEmail<'a>","synthetic":false,"types":["pages::db::UpdateEmail"]},{"text":"impl<'a> Serialize for Login<'a>","synthetic":false,"types":["pages::db::Login"]},{"text":"impl Serialize for NameHash","synthetic":false,"types":["pages::db::NameHash"]},{"text":"impl Serialize for DeployEvent","synthetic":false,"types":["pages::deploy::DeployEvent"]},{"text":"impl Serialize for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl Serialize for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl Serialize for ErrorToResponse","synthetic":false,"types":["pages::errors::ErrorToResponse"]},{"text":"impl Serialize for ContentType","synthetic":false,"types":["pages::git::ContentType"]},{"text":"impl<'a> Serialize for BuildDetails<'a>","synthetic":false,"types":["pages::meta::BuildDetails"]},{"text":"impl Serialize for DBType","synthetic":false,"types":["pages::settings::DBType"]}]; +implementors["pages"] = [{"text":"impl Serialize for DeployEvent","synthetic":false,"types":["pages::deploy::DeployEvent"]},{"text":"impl Serialize for DeploySecret","synthetic":false,"types":["pages::deploy::DeploySecret"]},{"text":"impl Serialize for DeployInfo","synthetic":false,"types":["pages::deploy::DeployInfo"]},{"text":"impl Serialize for ErrorToResponse","synthetic":false,"types":["pages::errors::ErrorToResponse"]},{"text":"impl<'a> Serialize for BuildDetails<'a>","synthetic":false,"types":["pages::meta::BuildDetails"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/pages/all.html b/pages/all.html index 5ff37c9..2668d7c 100644 --- a/pages/all.html +++ b/pages/all.html @@ -4,5 +4,5 @@

List of all items

Structs

Enums

Functions

Typedefs

Constants

+

List of all items

Structs

Enums

Functions

Typedefs

Constants

\ No newline at end of file diff --git a/pages/constant.CACHE_AGE.html b/pages/constant.CACHE_AGE.html index 194676e..00b8781 100644 --- a/pages/constant.CACHE_AGE.html +++ b/pages/constant.CACHE_AGE.html @@ -5,5 +5,5 @@
-

Constant pages::CACHE_AGE

source · []
pub const CACHE_AGE: u32 = 604800;
+

Constant pages::CACHE_AGE

source · []
pub const CACHE_AGE: u32 = 604800;
\ No newline at end of file diff --git a/pages/constant.GIT_COMMIT_HASH.html b/pages/constant.GIT_COMMIT_HASH.html index 42df1f2..d0ce2a6 100644 --- a/pages/constant.GIT_COMMIT_HASH.html +++ b/pages/constant.GIT_COMMIT_HASH.html @@ -5,5 +5,5 @@
pub const GIT_COMMIT_HASH: &str = "f3fe356a882c8341997e49b8b1300f838ba9984d";
+

Constant pages::GIT_COMMIT_HASH

source · []
pub const GIT_COMMIT_HASH: &str = "5978d178bcae7cfda3ace462e4eb9cacb210ff00";
\ No newline at end of file diff --git a/pages/constant.PKG_DESCRIPTION.html b/pages/constant.PKG_DESCRIPTION.html index 8ece11f..bef1969 100644 --- a/pages/constant.PKG_DESCRIPTION.html +++ b/pages/constant.PKG_DESCRIPTION.html @@ -5,5 +5,5 @@
pub const PKG_DESCRIPTION: &str = "";
+

Constant pages::PKG_DESCRIPTION

source · []
pub const PKG_DESCRIPTION: &str = "";
\ No newline at end of file diff --git a/pages/constant.PKG_HOMEPAGE.html b/pages/constant.PKG_HOMEPAGE.html index 1b197c2..32bf8cc 100644 --- a/pages/constant.PKG_HOMEPAGE.html +++ b/pages/constant.PKG_HOMEPAGE.html @@ -5,5 +5,5 @@
pub const PKG_HOMEPAGE: &str = "https://github.com/realaravinth/pages";
+

Constant pages::PKG_HOMEPAGE

source · []
pub const PKG_HOMEPAGE: &str = "https://github.com/realaravinth/pages";
\ No newline at end of file diff --git a/pages/constant.PKG_NAME.html b/pages/constant.PKG_NAME.html index fb555df..1ecae2d 100644 --- a/pages/constant.PKG_NAME.html +++ b/pages/constant.PKG_NAME.html @@ -5,5 +5,5 @@
-

Constant pages::PKG_NAME

source · []
pub const PKG_NAME: &str = "pages";
+

Constant pages::PKG_NAME

source · []
pub const PKG_NAME: &str = "pages";
\ No newline at end of file diff --git a/pages/constant.V1_API_ROUTES.html b/pages/constant.V1_API_ROUTES.html index 24848b2..9e6541b 100644 --- a/pages/constant.V1_API_ROUTES.html +++ b/pages/constant.V1_API_ROUTES.html @@ -5,5 +5,5 @@
pub const V1_API_ROUTES: Routes;
+

Constant pages::V1_API_ROUTES

source · []
pub const V1_API_ROUTES: Routes;
\ No newline at end of file diff --git a/pages/constant.VERSION.html b/pages/constant.VERSION.html index 58a4168..2566e7b 100644 --- a/pages/constant.VERSION.html +++ b/pages/constant.VERSION.html @@ -5,5 +5,5 @@
-

Constant pages::VERSION

source · []
pub const VERSION: &str = "0.1.0";
+

Constant pages::VERSION

source · []
pub const VERSION: &str = "0.1.0";
\ No newline at end of file diff --git a/pages/ctx/index.html b/pages/ctx/index.html index 26efc32..12ae44f 100644 --- a/pages/ctx/index.html +++ b/pages/ctx/index.html @@ -2,10 +2,9 @@

Structs

+
\ No newline at end of file diff --git a/pages/ctx/sidebar-items.js b/pages/ctx/sidebar-items.js index 771b111..e9905cb 100644 --- a/pages/ctx/sidebar-items.js +++ b/pages/ctx/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"struct":[["Ctx",""]],"type":[["ArcCtx",""]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["Ctx",""]]}; \ No newline at end of file diff --git a/pages/ctx/struct.Ctx.html b/pages/ctx/struct.Ctx.html index 1966030..7405b90 100644 --- a/pages/ctx/struct.Ctx.html +++ b/pages/ctx/struct.Ctx.html @@ -2,22 +2,21 @@

-

Struct pages::ctx::Ctx

source · []
pub struct Ctx {
+    

Struct pages::ctx::Ctx

source · []
pub struct Ctx {
     pub settings: Settings,
-    pub db: Database,
-}

Fields

settings: Settingsdb: Database

Implementations

Trait Implementations

Returns a copy of the value. Read more

+}

Fields

settings: Settings

Implementations

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

@@ -29,9 +28,9 @@

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

\ No newline at end of file diff --git a/pages/ctx/type.ArcCtx.html b/pages/ctx/type.ArcCtx.html deleted file mode 100644 index 895bb3c..0000000 --- a/pages/ctx/type.ArcCtx.html +++ /dev/null @@ -1,9 +0,0 @@ -ArcCtx in pages::ctx - Rust -
-

Type Definition pages::ctx::ArcCtx

source · []
pub type ArcCtx = Arc<Ctx>;
- \ No newline at end of file diff --git a/pages/db/enum.ConnectionOptions.html b/pages/db/enum.ConnectionOptions.html deleted file mode 100644 index e184794..0000000 --- a/pages/db/enum.ConnectionOptions.html +++ /dev/null @@ -1,35 +0,0 @@ -ConnectionOptions in pages::db - Rust -
pub enum ConnectionOptions {
-    Fresh(Fresh),
-    Existing(Conn),
-}
Expand description

Connect to databse

-

Variants

Fresh(Fresh)

fresh connection

-

Existing(Conn)

existing connection

-

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

-

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

-
- \ No newline at end of file diff --git a/pages/db/enum.Login.html b/pages/db/enum.Login.html deleted file mode 100644 index 157a4eb..0000000 --- a/pages/db/enum.Login.html +++ /dev/null @@ -1,47 +0,0 @@ -Login in pages::db - Rust -
-

Enum pages::db::Login

source · []
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
-}
Expand description

types of credentials used as identifiers during login

-

Variants

Username(&'a str)

username as login

-

Email(&'a str)

email as login

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Compare self to key and return true if they are equal.

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

-

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

-
- \ No newline at end of file diff --git a/pages/db/fn.get_db.html b/pages/db/fn.get_db.html deleted file mode 100644 index 27d85a2..0000000 --- a/pages/db/fn.get_db.html +++ /dev/null @@ -1,9 +0,0 @@ -get_db in pages::db - Rust -
-

Function pages::db::get_db

source · []
pub async fn get_db(settings: &Settings) -> Database
- \ No newline at end of file diff --git a/pages/db/fn.map_register_err.html b/pages/db/fn.map_register_err.html deleted file mode 100644 index 30a1c06..0000000 --- a/pages/db/fn.map_register_err.html +++ /dev/null @@ -1,10 +0,0 @@ -map_register_err in pages::db - Rust -
fn map_register_err(e: Error) -> ServiceError
Expand description

map postgres errors to ServiceError types

-
- \ No newline at end of file diff --git a/pages/db/fn.map_row_not_found_err.html b/pages/db/fn.map_row_not_found_err.html deleted file mode 100644 index 438c97f..0000000 --- a/pages/db/fn.map_row_not_found_err.html +++ /dev/null @@ -1,10 +0,0 @@ -map_row_not_found_err in pages::db - Rust -
pub fn map_row_not_found_err(
    e: Error,
    row_not_found: ServiceError
) -> ServiceError
Expand description

map custom row not found error to DB error

-
- \ No newline at end of file diff --git a/pages/db/fn.now_unix_time_stamp.html b/pages/db/fn.now_unix_time_stamp.html deleted file mode 100644 index ddcb2b6..0000000 --- a/pages/db/fn.now_unix_time_stamp.html +++ /dev/null @@ -1,9 +0,0 @@ -now_unix_time_stamp in pages::db - Rust -
fn now_unix_time_stamp() -> OffsetDateTime
- \ No newline at end of file diff --git a/pages/db/index.html b/pages/db/index.html deleted file mode 100644 index 3f37883..0000000 --- a/pages/db/index.html +++ /dev/null @@ -1,20 +0,0 @@ -pages::db - Rust -
-

Module pages::db

source · []

Structs

-

Use an existing database pool

-

type encapsulating username and hashed password of a user

-

Data required to register a new user

-

data required to update them email of a user

-

Enums

-

Connect to databse

-

types of credentials used as identifiers during login

-

Functions

-

map postgres errors to ServiceError types

-

map custom row not found error to DB error

-
- \ No newline at end of file diff --git a/pages/db/sidebar-items.js b/pages/db/sidebar-items.js deleted file mode 100644 index c6b9a90..0000000 --- a/pages/db/sidebar-items.js +++ /dev/null @@ -1 +0,0 @@ -window.SIDEBAR_ITEMS = {"enum":[["ConnectionOptions","Connect to databse"],["Login","types of credentials used as identifiers during login"]],"fn":[["get_db",""],["map_register_err","map postgres errors to ServiceError types"],["map_row_not_found_err","map custom row not found error to DB error"],["now_unix_time_stamp",""]],"struct":[["Conn","Use an existing database pool"],["Database",""],["Fresh",""],["NameHash","type encapsulating username and hashed password of a user"],["Register","Data required to register a new user"],["UpdateEmail","data required to update them email of a user"]]}; \ No newline at end of file diff --git a/pages/db/struct.Conn.html b/pages/db/struct.Conn.html deleted file mode 100644 index cd78a02..0000000 --- a/pages/db/struct.Conn.html +++ /dev/null @@ -1,30 +0,0 @@ -Conn in pages::db - Rust -
-

Struct pages::db::Conn

source · []
pub struct Conn(pub PgPool);
Expand description

Use an existing database pool

-

Tuple Fields

0: PgPool

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

-

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

-
- \ No newline at end of file diff --git a/pages/db/struct.Database.html b/pages/db/struct.Database.html deleted file mode 100644 index 2d4ec01..0000000 --- a/pages/db/struct.Database.html +++ /dev/null @@ -1,45 +0,0 @@ -Database in pages::db - Rust -
-

Struct pages::db::Database

source · []
pub struct Database {
-    pub pool: PgPool,
-}

Fields

pool: PgPool

Implementations

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

-

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

-
- \ No newline at end of file diff --git a/pages/db/struct.Fresh.html b/pages/db/struct.Fresh.html deleted file mode 100644 index 7e76777..0000000 --- a/pages/db/struct.Fresh.html +++ /dev/null @@ -1,33 +0,0 @@ -Fresh in pages::db - Rust -
-

Struct pages::db::Fresh

source · []
pub struct Fresh {
-    pub pool_options: PgPoolOptions,
-    pub disable_logging: bool,
-    pub url: String,
-}

Fields

pool_options: PgPoolOptionsdisable_logging: boolurl: String

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

-

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

-
- \ No newline at end of file diff --git a/pages/db/struct.NameHash.html b/pages/db/struct.NameHash.html deleted file mode 100644 index b32ff81..0000000 --- a/pages/db/struct.NameHash.html +++ /dev/null @@ -1,47 +0,0 @@ -NameHash in pages::db - Rust -
-

Struct pages::db::NameHash

source · []
pub struct NameHash {
-    pub username: String,
-    pub hash: String,
-}
Expand description

type encapsulating username and hashed password of a user

-

Fields

username: String

username

-
hash: String

hashed password

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Compare self to key and return true if they are equal.

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

-

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

-
- \ No newline at end of file diff --git a/pages/db/struct.Register.html b/pages/db/struct.Register.html deleted file mode 100644 index c88ba01..0000000 --- a/pages/db/struct.Register.html +++ /dev/null @@ -1,49 +0,0 @@ -Register in pages::db - Rust -
-

Struct pages::db::Register

source · []
pub struct Register<'a> {
-    pub username: &'a str,
-    pub hash: &'a str,
-    pub email: &'a str,
-}
Expand description

Data required to register a new user

-

Fields

username: &'a str

username of new user

-
hash: &'a str

hashed password of new use

-
email: &'a str

Optionally, email of new use

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Compare self to key and return true if they are equal.

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

-

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

-
- \ No newline at end of file diff --git a/pages/db/struct.UpdateEmail.html b/pages/db/struct.UpdateEmail.html deleted file mode 100644 index 27dcdd8..0000000 --- a/pages/db/struct.UpdateEmail.html +++ /dev/null @@ -1,47 +0,0 @@ -UpdateEmail in pages::db - Rust -
pub struct UpdateEmail<'a> {
-    pub username: &'a str,
-    pub new_email: &'a str,
-}
Expand description

data required to update them email of a user

-

Fields

username: &'a str

username of the user

-
new_email: &'a str

new email address of the user

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Compare self to key and return true if they are equal.

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

-

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

-
- \ No newline at end of file diff --git a/pages/deploy/fn.find_page.html b/pages/deploy/fn.find_page.html index 1ba41fe..6672199 100644 --- a/pages/deploy/fn.find_page.html +++ b/pages/deploy/fn.find_page.html @@ -5,5 +5,5 @@
pub fn find_page<'a>(secret: &str, ctx: &'a AppCtx) -> Option<&'a Page>
+

Function pages::deploy::find_page

source · []
fn find_page<'a>(secret: &str, ctx: &'a AppCtx) -> Option<&'a Page>
\ No newline at end of file diff --git a/pages/deploy/index.html b/pages/deploy/index.html index 62ffe43..54cb2b0 100644 --- a/pages/deploy/index.html +++ b/pages/deploy/index.html @@ -8,5 +8,5 @@

Module pages::deploy

source · []

Modules

Structs

Functions

-
+
find_page 🔒
\ No newline at end of file diff --git a/pages/deploy/routes/struct.Deploy.html b/pages/deploy/routes/struct.Deploy.html index 6be27f2..a866e61 100644 --- a/pages/deploy/routes/struct.Deploy.html +++ b/pages/deploy/routes/struct.Deploy.html @@ -12,10 +12,10 @@

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

@@ -24,9 +24,9 @@

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

\ No newline at end of file diff --git a/pages/deploy/struct.DeployEvent.html b/pages/deploy/struct.DeployEvent.html index 25a87ab..f548e9b 100644 --- a/pages/deploy/struct.DeployEvent.html +++ b/pages/deploy/struct.DeployEvent.html @@ -11,16 +11,16 @@ }

Fields

secret: Stringbranch: String

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

@@ -32,9 +32,9 @@

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

-
+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

+
\ No newline at end of file diff --git a/pages/deploy/struct.DeployInfo.html b/pages/deploy/struct.DeployInfo.html index d489c2d..dd2dcfd 100644 --- a/pages/deploy/struct.DeployInfo.html +++ b/pages/deploy/struct.DeployInfo.html @@ -2,7 +2,7 @@

pub struct DeployInfo {
@@ -12,20 +12,19 @@
 }

Fields

head: Stringremote: Stringcommit: String

Implementations

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

+

Deserialize this value from the given Serde deserializer. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

-

Compare self to key and return true if they are equal.

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

@@ -37,9 +36,9 @@ by ==.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

-
+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

+
\ No newline at end of file diff --git a/pages/deploy/struct.DeploySecret.html b/pages/deploy/struct.DeploySecret.html index 9890b3d..99917df 100644 --- a/pages/deploy/struct.DeploySecret.html +++ b/pages/deploy/struct.DeploySecret.html @@ -2,7 +2,7 @@

pub struct DeploySecret {
@@ -10,20 +10,19 @@
 }

Fields

secret: String

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

+

Deserialize this value from the given Serde deserializer. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

-

Compare self to key and return true if they are equal.

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

@@ -35,9 +34,9 @@ by ==.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

-
+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

+
\ No newline at end of file diff --git a/pages/deploy/struct.deploy_info.html b/pages/deploy/struct.deploy_info.html index 8821874..4ac0bb0 100644 --- a/pages/deploy/struct.deploy_info.html +++ b/pages/deploy/struct.deploy_info.html @@ -9,10 +9,10 @@

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

@@ -21,9 +21,9 @@

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

\ No newline at end of file diff --git a/pages/deploy/struct.update.html b/pages/deploy/struct.update.html index 5d982d8..4a87624 100644 --- a/pages/deploy/struct.update.html +++ b/pages/deploy/struct.update.html @@ -9,10 +9,10 @@

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

@@ -21,9 +21,9 @@

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

\ No newline at end of file diff --git a/pages/enum.Commands.html b/pages/enum.Commands.html deleted file mode 100644 index 7729a29..0000000 --- a/pages/enum.Commands.html +++ /dev/null @@ -1,41 +0,0 @@ -Commands in pages - Rust -
pub(crate) enum Commands {
-    Migrate,
-    Serve,
-}

Variants

Migrate

run database migrations

-

Serve

run server

-

Trait Implementations

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more

-

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more

-

Assign values from ArgMatches to self.

-

Assign values from ArgMatches to self.

-

Append to [Command] so it can instantiate Self. Read more

-

Append to [Command] so it can update self. Read more

-

Test whether Self can parse a specific subcommand

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

-

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

-
- \ No newline at end of file diff --git a/pages/errors/enum.ServiceError.html b/pages/errors/enum.ServiceError.html index 7b0dedb..88ae7a1 100644 --- a/pages/errors/enum.ServiceError.html +++ b/pages/errors/enum.ServiceError.html @@ -2,11 +2,11 @@

pub enum ServiceError {
-
Show 16 variants InternalServerError, +

Enum pages::errors::ServiceError

source · []
pub enum ServiceError {
+
Show 13 variants InternalServerError, NotAUrl, URLTooLong, WebsiteNotFound, @@ -19,9 +19,6 @@ ConfigError(ConfigError), GitError(GitError), BranchNotFound(String), - UsernameTaken, - EmailTaken, - AccountNotFound,
}
Expand description

Error data structure grouping various error subtypes

Variants

InternalServerError

All non-specific errors are grouped under this category

NotAUrl

The value you entered for url is not url“

@@ -30,32 +27,29 @@

PathTaken(Arc<Page>, Arc<Page>)

when the a path configured for a page is already taken

SecretTaken(Arc<Page>, Arc<Page>)

when the a Secret configured for a page is already taken

DuplicateRepositoryURL(Arc<Page>, Arc<Page>)

when the a Repository URL configured for a page is already taken

-

FSError(FSError)

UnauthorizedOperation(String)

BadRequest(String)

ConfigError(ConfigError)

GitError(GitError)

BranchNotFound(String)

UsernameTaken

Username is taken

-

EmailTaken

Email is taken

-

AccountNotFound

Account not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

+

FSError(FSError)

UnauthorizedOperation(String)

BadRequest(String)

ConfigError(ConfigError)

GitError(GitError)

BranchNotFound(String)

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

👎 Deprecated since 1.42.0:

use the Display impl or to_string()

👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used +

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used by ==. Read more

-

This method tests for !=.

-

Creates full response for error. Read more

-

Returns appropriate status code for error. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

This method tests for !=.

+

Creates full response for error. Read more

+

Returns appropriate status code for error. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

@@ -65,9 +59,9 @@ by ==.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

\ No newline at end of file diff --git a/pages/errors/index.html b/pages/errors/index.html index b89e24a..63e4d1e 100644 --- a/pages/errors/index.html +++ b/pages/errors/index.html @@ -1,11 +1,11 @@ -pages::errors - Rust
pub struct ConfigError(pub ConfigErrorInner);

Tuple Fields

0: ConfigErrorInner

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

+

Struct pages::errors::ConfigError

source · []
pub struct ConfigError(pub ConfigErrorInner);

Tuple Fields

0: ConfigErrorInner

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

👎 Deprecated since 1.42.0:

use the Display impl or to_string()

👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

This method tests for self and other values to be equal, and is used +

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

@@ -31,9 +31,9 @@ by ==.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

\ No newline at end of file diff --git a/pages/errors/struct.ErrorToResponse.html b/pages/errors/struct.ErrorToResponse.html index 1718a9a..13757dc 100644 --- a/pages/errors/struct.ErrorToResponse.html +++ b/pages/errors/struct.ErrorToResponse.html @@ -5,19 +5,19 @@

ErrorToResponse

pub struct ErrorToResponse {
+    

Struct pages::errors::ErrorToResponse

source · []
pub struct ErrorToResponse {
     pub error: String,
-}

Fields

error: String

Trait Implementations

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

+}

Fields

error: String

Trait Implementations

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

@@ -26,9 +26,9 @@

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

-
+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

+
\ No newline at end of file diff --git a/pages/errors/struct.FSError.html b/pages/errors/struct.FSError.html index 27fdd5a..936f05e 100644 --- a/pages/errors/struct.FSError.html +++ b/pages/errors/struct.FSError.html @@ -5,23 +5,23 @@

FSError

pub struct FSError(pub FSErrorInner);

Tuple Fields

0: FSErrorInner

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

+

Struct pages::errors::FSError

source · []
pub struct FSError(pub FSErrorInner);

Tuple Fields

0: FSErrorInner

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

👎 Deprecated since 1.42.0:

use the Display impl or to_string()

👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

This method tests for self and other values to be equal, and is used +

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

@@ -31,9 +31,9 @@ by ==.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

\ No newline at end of file diff --git a/pages/errors/type.ServiceResult.html b/pages/errors/type.ServiceResult.html index 6a8606c..96dba32 100644 --- a/pages/errors/type.ServiceResult.html +++ b/pages/errors/type.ServiceResult.html @@ -5,6 +5,6 @@

ServiceResult

-

Type Definition pages::errors::ServiceResult

source · []
pub type ServiceResult<V> = Result<V, ServiceError>;
Expand description

Generic result data structure

+

Type Definition pages::errors::ServiceResult

source · []
pub type ServiceResult<V> = Result<V, ServiceError>;
Expand description

Generic result data structure

\ No newline at end of file diff --git a/pages/fn.get_json_err.html b/pages/fn.get_json_err.html index 49b5dff..b555d47 100644 --- a/pages/fn.get_json_err.html +++ b/pages/fn.get_json_err.html @@ -5,5 +5,5 @@
pub fn get_json_err() -> JsonConfig
+

Function pages::get_json_err

source · []
pub fn get_json_err() -> JsonConfig
\ No newline at end of file diff --git a/pages/fn.main.html b/pages/fn.main.html index ddbac65..c553655 100644 --- a/pages/fn.main.html +++ b/pages/fn.main.html @@ -5,5 +5,5 @@
-

Function pages::main

source · []
pub(crate) fn main() -> Result<()>
+

Function pages::main

source · []
pub(crate) fn main() -> Result<()>
\ No newline at end of file diff --git a/pages/fn.serve.html b/pages/fn.serve.html deleted file mode 100644 index 41896b9..0000000 --- a/pages/fn.serve.html +++ /dev/null @@ -1,9 +0,0 @@ -serve in pages - Rust -
-

Function pages::serve

source · []
pub(crate) async fn serve(settings: Settings, ctx: AppCtx) -> Result<()>
- \ No newline at end of file diff --git a/pages/fn.services.html b/pages/fn.services.html index ba0b28f..0c34b75 100644 --- a/pages/fn.services.html +++ b/pages/fn.services.html @@ -5,5 +5,5 @@
-

Function pages::services

source · []
pub fn services(cfg: &mut ServiceConfig)
+

Function pages::services

source · []
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/pages/git/enum.ContentType.html b/pages/git/enum.ContentType.html deleted file mode 100644 index 072d3bd..0000000 --- a/pages/git/enum.ContentType.html +++ /dev/null @@ -1,44 +0,0 @@ -ContentType in pages::git - Rust -
pub enum ContentType {
-    Binary(Vec<u8>),
-    Text(String),
-}

Variants

Binary(Vec<u8>)

Text(String)

Implementations

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Compare self to key and return true if they are equal.

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

-

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

-
- \ No newline at end of file diff --git a/pages/git/enum.GitFileMode.html b/pages/git/enum.GitFileMode.html deleted file mode 100644 index efdd73e..0000000 --- a/pages/git/enum.GitFileMode.html +++ /dev/null @@ -1,77 +0,0 @@ -GitFileMode in pages::git - Rust -
#[repr(isize)]
-pub enum GitFileMode {
-    Empty,
-    Regular,
-    Dir,
-    Deprecated,
-    Executable,
-    Symlink,
-    Submodule,
-    Unsupported,
-}
Expand description

A FileMode represents the kind of tree entries used by git. It -resembles regular file systems modes, although FileModes are -considerably simpler (there are not so many), and there are some, -like Submodule that has no file system equivalent.

-

Variants

Empty

Empty is used as the GitFileMode of tree elements when comparing -trees in the following situations:

-
    -
  • the mode of tree elements before their creation.
  • -
  • the mode of tree elements after their deletion.
  • -
  • the mode of unmerged elements when checking the index.
  • -
-

Empty has no file system equivalent. As Empty is the zero value -of GitFileMode

-

Regular

Regular represent non-executable files.

-

Dir

Dir represent a Directory.

-

Deprecated

Deprecated represent non-executable files with the group writable bit set. This mode was -supported by the first versions of git, but it has been deprecated nowadays. This -library(github.com/go-git/go-git uses it, not realaravinth/gitpad at the moment) uses them -internally, so you can read old packfiles, but will treat them as Regulars when interfacing -with the outside world. This is the standard git behaviour.

-

Executable

Executable represents executable files.

-

Symlink represents symbolic links to files.

-

Submodule

Submodule represents git submodules. This mode has no file system -equivalent.

-

Unsupported

Unsupported file mode

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Compare self to key and return true if they are equal.

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

-

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

-
- \ No newline at end of file diff --git a/pages/git/fn.read_file.html b/pages/git/fn.read_file.html deleted file mode 100644 index 2d784a6..0000000 --- a/pages/git/fn.read_file.html +++ /dev/null @@ -1,14 +0,0 @@ -read_file in pages::git - Rust -
-

Function pages::git::read_file

source · []
pub fn read_file(repo_path: &str, path: &str) -> Result<FileInfo, ServiceError>
Expand description

Please note that this method expects path to not contain any spaces -Use [escape_spaces] before calling this method

-

For example, a read request for “foo bar.md” will fail even if that file is present -in the repository. However, it will succeed if the output of [escape_spaces] is -used in the request.

-
- \ No newline at end of file diff --git a/pages/git/fn.read_file_inner.html b/pages/git/fn.read_file_inner.html deleted file mode 100644 index 595a776..0000000 --- a/pages/git/fn.read_file_inner.html +++ /dev/null @@ -1,9 +0,0 @@ -read_file_inner in pages::git - Rust -
fn read_file_inner(
    repo: &Repository,
    path: &str,
    tree: &Tree<'_>
) -> Result<FileInfo, ServiceError>
- \ No newline at end of file diff --git a/pages/git/fn.read_preview_file.html b/pages/git/fn.read_preview_file.html deleted file mode 100644 index 6939a8d..0000000 --- a/pages/git/fn.read_preview_file.html +++ /dev/null @@ -1,9 +0,0 @@ -read_preview_file in pages::git - Rust -
pub fn read_preview_file(
    repo_path: &str,
    preview_name: &str,
    path: &str
) -> Result<FileInfo, ServiceError>
- \ No newline at end of file diff --git a/pages/git/index.html b/pages/git/index.html deleted file mode 100644 index 479e0e1..0000000 --- a/pages/git/index.html +++ /dev/null @@ -1,18 +0,0 @@ -pages::git - Rust -
-

Module pages::git

source · []

Structs

-

Enums

-

A FileMode represents the kind of tree entries used by git. It -resembles regular file systems modes, although FileModes are -considerably simpler (there are not so many), and there are some, -like Submodule that has no file system equivalent.

-

Functions

-

Please note that this method expects path to not contain any spaces -Use [escape_spaces] before calling this method

-
- \ No newline at end of file diff --git a/pages/git/sidebar-items.js b/pages/git/sidebar-items.js deleted file mode 100644 index bf4bc2b..0000000 --- a/pages/git/sidebar-items.js +++ /dev/null @@ -1 +0,0 @@ -window.SIDEBAR_ITEMS = {"enum":[["ContentType",""],["GitFileMode","A FileMode represents the kind of tree entries used by git. It resembles regular file systems modes, although FileModes are considerably simpler (there are not so many), and there are some, like Submodule that has no file system equivalent."]],"fn":[["read_file","Please note that this method expects path to not contain any spaces Use [escape_spaces] before calling this method"],["read_file_inner",""],["read_preview_file",""]],"struct":[["FileInfo",""]]}; \ No newline at end of file diff --git a/pages/git/struct.FileInfo.html b/pages/git/struct.FileInfo.html deleted file mode 100644 index 7376d5d..0000000 --- a/pages/git/struct.FileInfo.html +++ /dev/null @@ -1,43 +0,0 @@ -FileInfo in pages::git - Rust -
-

Struct pages::git::FileInfo

source · []
pub struct FileInfo {
-    pub filename: String,
-    pub content: ContentType,
-    pub mime: MimeGuess,
-}

Fields

filename: Stringcontent: ContentTypemime: MimeGuess

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Compare self to key and return true if they are equal.

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

-

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

-
- \ No newline at end of file diff --git a/pages/index.html b/pages/index.html index 6cb8e61..b7ae970 100644 --- a/pages/index.html +++ b/pages/index.html @@ -2,15 +2,14 @@

-

Crate pages

source · []

Modules

-
ctx 🔒
db 🔒
deploy 🔒
errors 🔒

Represents all the ways a trait can fail using this crate

-
git 🔒
meta 🔒
page 🔒
preview 🔒
routes 🔒
serve 🔒
settings 🔒

Structs

-

Enums

-
Commands 🔒

Constants

+

Crate pages

source · []

Modules

+
ctx 🔒
deploy 🔒
errors 🔒

represents all the ways a trait can fail using this crate

+
meta 🔒
page 🔒
routes 🔒
settings 🔒

Structs

+

Constants

Functions

-

Type Definitions

+

Type Definitions

\ No newline at end of file diff --git a/pages/meta/routes/struct.Meta.html b/pages/meta/routes/struct.Meta.html index 5cbc0ef..e94b1d1 100644 --- a/pages/meta/routes/struct.Meta.html +++ b/pages/meta/routes/struct.Meta.html @@ -12,10 +12,10 @@

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

@@ -24,9 +24,9 @@

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

\ No newline at end of file diff --git a/pages/meta/struct.BuildDetails.html b/pages/meta/struct.BuildDetails.html index 4cf5d80..efc0b94 100644 --- a/pages/meta/struct.BuildDetails.html +++ b/pages/meta/struct.BuildDetails.html @@ -12,16 +12,16 @@ }

Fields

version: &'a strgit_commit_hash: &'a strsource_code: &'a str

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

@@ -33,9 +33,9 @@

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

-
+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

+
\ No newline at end of file diff --git a/pages/meta/struct.build_details.html b/pages/meta/struct.build_details.html index 29c3d6a..f7e2f2c 100644 --- a/pages/meta/struct.build_details.html +++ b/pages/meta/struct.build_details.html @@ -10,10 +10,10 @@

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

@@ -22,9 +22,9 @@

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

\ No newline at end of file diff --git a/pages/page/index.html b/pages/page/index.html index f66c406..2d7ed10 100644 --- a/pages/page/index.html +++ b/pages/page/index.html @@ -5,6 +5,6 @@

Module page

-

Module pages::page

source · []

Structs

+

Module pages::page

source · []

Structs

\ No newline at end of file diff --git a/pages/page/struct.Page.html b/pages/page/struct.Page.html index e2ceb89..8411768 100644 --- a/pages/page/struct.Page.html +++ b/pages/page/struct.Page.html @@ -2,31 +2,29 @@

-

Struct pages::page::Page

source · []
pub struct Page {
+    

Struct pages::page::Page

source · []
pub struct Page {
     pub secret: String,
     pub repo: String,
     pub path: String,
     pub branch: String,
-    pub domain: String,
-}

Fields

secret: Stringrepo: Stringpath: Stringbranch: Stringdomain: String

Implementations

Trait Implementations

Returns a copy of the value. Read more

+}

Fields

secret: Stringrepo: Stringpath: Stringbranch: String

Implementations

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used +

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used by ==. Read more

-

This method tests for !=.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

This method tests for !=.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

-

Compare self to key and return true if they are equal.

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

@@ -38,9 +36,9 @@ by ==.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

-
+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

+
\ No newline at end of file diff --git a/pages/preview/index.html b/pages/preview/index.html deleted file mode 100644 index 234e664..0000000 --- a/pages/preview/index.html +++ /dev/null @@ -1,10 +0,0 @@ -pages::preview - Rust -
-

Module pages::preview

source · []

Structs

-
- \ No newline at end of file diff --git a/pages/preview/sidebar-items.js b/pages/preview/sidebar-items.js deleted file mode 100644 index 6f14dfe..0000000 --- a/pages/preview/sidebar-items.js +++ /dev/null @@ -1 +0,0 @@ -window.SIDEBAR_ITEMS = {"struct":[["Preview",""]]}; \ No newline at end of file diff --git a/pages/preview/struct.Preview.html b/pages/preview/struct.Preview.html deleted file mode 100644 index 6291fba..0000000 --- a/pages/preview/struct.Preview.html +++ /dev/null @@ -1,33 +0,0 @@ -Preview in pages::preview - Rust -
pub struct Preview<'a> {
-    pub base: &'a str,
-    pub delimiter: &'static str,
-    pub prefix: &'static str,
-}

Fields

base: &'a strdelimiter: &'static strprefix: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

-

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

-
- \ No newline at end of file diff --git a/pages/routes/constant.ROUTES.html b/pages/routes/constant.ROUTES.html index 1c33e20..5a0a572 100644 --- a/pages/routes/constant.ROUTES.html +++ b/pages/routes/constant.ROUTES.html @@ -5,5 +5,5 @@
-

Constant pages::routes::ROUTES

source · []
pub const ROUTES: Routes;
+

Constant pages::routes::ROUTES

source · []
pub const ROUTES: Routes;
\ No newline at end of file diff --git a/pages/routes/fn.services.html b/pages/routes/fn.services.html index fdb3003..53a2249 100644 --- a/pages/routes/fn.services.html +++ b/pages/routes/fn.services.html @@ -5,5 +5,5 @@
-

Function pages::routes::services

source · []
pub fn services(cfg: &mut ServiceConfig)
+

Function pages::routes::services

source · []
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/pages/routes/index.html b/pages/routes/index.html index 09a3817..935461a 100644 --- a/pages/routes/index.html +++ b/pages/routes/index.html @@ -5,7 +5,7 @@

Module routes

-

Module pages::routes

source · []

Structs

+

Module pages::routes

source · []

Structs

Constants

Functions

diff --git a/pages/routes/struct.Routes.html b/pages/routes/struct.Routes.html index 982e93f..43accff 100644 --- a/pages/routes/struct.Routes.html +++ b/pages/routes/struct.Routes.html @@ -2,21 +2,20 @@

pub struct Routes {
+    

Struct pages::routes::Routes

source · []
pub struct Routes {
     pub meta: Meta,
     pub deploy: Deploy,
-    pub serve: Serve,
-}

Fields

meta: Metadeploy: Deployserve: Serve

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+}

Fields

meta: Metadeploy: Deploy

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

@@ -25,9 +24,9 @@

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

\ No newline at end of file diff --git a/pages/serve/fn.find_page.html b/pages/serve/fn.find_page.html deleted file mode 100644 index ec6f946..0000000 --- a/pages/serve/fn.find_page.html +++ /dev/null @@ -1,9 +0,0 @@ -find_page in pages::serve - Rust -
-

Function pages::serve::find_page

source · []
pub fn find_page<'a>(domain: &str, ctx: &'a AppCtx) -> Option<&'a Page>
- \ No newline at end of file diff --git a/pages/serve/fn.services.html b/pages/serve/fn.services.html deleted file mode 100644 index 59c93a6..0000000 --- a/pages/serve/fn.services.html +++ /dev/null @@ -1,9 +0,0 @@ -services in pages::serve - Rust -
-

Function pages::serve::services

source · []
pub fn services(cfg: &mut ServiceConfig)
- \ No newline at end of file diff --git a/pages/serve/index.html b/pages/serve/index.html deleted file mode 100644 index 1623e78..0000000 --- a/pages/serve/index.html +++ /dev/null @@ -1,12 +0,0 @@ -pages::serve - Rust -
- \ No newline at end of file diff --git a/pages/serve/routes/index.html b/pages/serve/routes/index.html deleted file mode 100644 index b1eb2de..0000000 --- a/pages/serve/routes/index.html +++ /dev/null @@ -1,10 +0,0 @@ -pages::serve::routes - Rust -
- \ No newline at end of file diff --git a/pages/serve/routes/sidebar-items.js b/pages/serve/routes/sidebar-items.js deleted file mode 100644 index 2c69982..0000000 --- a/pages/serve/routes/sidebar-items.js +++ /dev/null @@ -1 +0,0 @@ -window.SIDEBAR_ITEMS = {"struct":[["Serve",""]]}; \ No newline at end of file diff --git a/pages/serve/routes/struct.Serve.html b/pages/serve/routes/struct.Serve.html deleted file mode 100644 index bf9dc10..0000000 --- a/pages/serve/routes/struct.Serve.html +++ /dev/null @@ -1,31 +0,0 @@ -Serve in pages::serve::routes - Rust -
pub struct Serve {
-    pub catch_all: &'static str,
-}

Fields

catch_all: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

-

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

-
- \ No newline at end of file diff --git a/pages/serve/sidebar-items.js b/pages/serve/sidebar-items.js deleted file mode 100644 index 1a160b2..0000000 --- a/pages/serve/sidebar-items.js +++ /dev/null @@ -1 +0,0 @@ -window.SIDEBAR_ITEMS = {"fn":[["find_page",""],["services",""]],"mod":[["routes",""]],"struct":[["index",""]]}; \ No newline at end of file diff --git a/pages/serve/struct.index.html b/pages/serve/struct.index.html deleted file mode 100644 index 1dd53a5..0000000 --- a/pages/serve/struct.index.html +++ /dev/null @@ -1,29 +0,0 @@ -index in pages::serve - Rust -
-

Struct pages::serve::index

source · []
pub struct index;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

-

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

-
- \ No newline at end of file diff --git a/pages/settings/enum.DBType.html b/pages/settings/enum.DBType.html deleted file mode 100644 index 181e1af..0000000 --- a/pages/settings/enum.DBType.html +++ /dev/null @@ -1,45 +0,0 @@ -DBType in pages::settings - Rust -
pub enum DBType {
-    Postgres,
-}

Variants

Postgres

Implementations

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Formats the value using the given formatter. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Compare self to key and return true if they are equal.

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

-

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-

Uses borrowed data to replace owned data, usually by cloning. Read more

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

-
- \ No newline at end of file diff --git a/pages/settings/index.html b/pages/settings/index.html index 5fd045a..d41292a 100644 --- a/pages/settings/index.html +++ b/pages/settings/index.html @@ -2,10 +2,9 @@

\ No newline at end of file diff --git a/pages/settings/sidebar-items.js b/pages/settings/sidebar-items.js index 5255d2a..5d9152e 100644 --- a/pages/settings/sidebar-items.js +++ b/pages/settings/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"enum":[["DBType",""]],"struct":[["Database",""],["Server",""],["Settings",""]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["Server",""],["Settings",""]]}; \ No newline at end of file diff --git a/pages/settings/struct.Database.html b/pages/settings/struct.Database.html deleted file mode 100644 index 6bc500b..0000000 --- a/pages/settings/struct.Database.html +++ /dev/null @@ -1,40 +0,0 @@ -Database in pages::settings - Rust -
pub struct Database {
-    pub url: String,
-    pub pool: u32,
-    pub database_type: DBType,
-}

Fields

url: Stringpool: u32database_type: DBType

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

-

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

-
- \ No newline at end of file diff --git a/pages/settings/struct.Server.html b/pages/settings/struct.Server.html index a8a9576..6c2b749 100644 --- a/pages/settings/struct.Server.html +++ b/pages/settings/struct.Server.html @@ -2,26 +2,25 @@

pub struct Server {
+    

Struct pages::settings::Server

source · []
pub struct Server {
     pub port: u32,
     pub ip: String,
     pub workers: Option<usize>,
-    pub domain: String,
-}

Fields

port: u32ip: Stringworkers: Option<usize>domain: String

Implementations

Trait Implementations

Returns a copy of the value. Read more

+}

Fields

port: u32ip: Stringworkers: Option<usize>

Implementations

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

@@ -33,9 +32,9 @@

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

-
+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

+
\ No newline at end of file diff --git a/pages/settings/struct.Settings.html b/pages/settings/struct.Settings.html index 6ffda71..91943fa 100644 --- a/pages/settings/struct.Settings.html +++ b/pages/settings/struct.Settings.html @@ -2,27 +2,25 @@

pub struct Settings {
-    pub debug: bool,
+    

Struct pages::settings::Settings

source · []
pub struct Settings {
     pub server: Server,
     pub source_code: String,
     pub pages: Vec<Arc<Page>>,
-    pub database: Database,
-}

Fields

debug: boolserver: Serversource_code: Stringpages: Vec<Arc<Page>>database: Database

Implementations

Trait Implementations

Returns a copy of the value. Read more

+}

Fields

server: Serversource_code: Stringpages: Vec<Arc<Page>>

Implementations

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

@@ -34,9 +32,9 @@

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

-
+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

+
\ No newline at end of file diff --git a/pages/sidebar-items.js b/pages/sidebar-items.js index 3173be2..beb11d3 100644 --- a/pages/sidebar-items.js +++ b/pages/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"constant":[["CACHE_AGE",""],["GIT_COMMIT_HASH",""],["PKG_DESCRIPTION",""],["PKG_HOMEPAGE",""],["PKG_NAME",""],["V1_API_ROUTES",""],["VERSION",""]],"enum":[["Commands",""]],"fn":[["get_json_err",""],["main",""],["serve",""],["services",""]],"mod":[["ctx",""],["db",""],["deploy",""],["errors","Represents all the ways a trait can fail using this crate"],["git",""],["meta",""],["page",""],["preview",""],["routes",""],["serve",""],["settings",""]],"struct":[["Cli",""],["Settings",""]],"type":[["AppCtx",""]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":[["CACHE_AGE",""],["GIT_COMMIT_HASH",""],["PKG_DESCRIPTION",""],["PKG_HOMEPAGE",""],["PKG_NAME",""],["V1_API_ROUTES",""],["VERSION",""]],"fn":[["get_json_err",""],["main",""],["services",""]],"mod":[["ctx",""],["deploy",""],["errors","represents all the ways a trait can fail using this crate"],["meta",""],["page",""],["routes",""],["settings",""]],"struct":[["Settings",""]],"type":[["AppCtx",""]]}; \ No newline at end of file diff --git a/pages/struct.Cli.html b/pages/struct.Cli.html deleted file mode 100644 index 6b04503..0000000 --- a/pages/struct.Cli.html +++ /dev/null @@ -1,47 +0,0 @@ -Cli in pages - Rust -
-

Struct pages::Cli

source · []
pub(crate) struct Cli {
-    pub(crate) command: Commands,
-}

Fields

command: Commands

Trait Implementations

Append to [Command] so it can instantiate Self. Read more

-

Append to [Command] so it can update self. Read more

-

Deprecated, replaced with CommandFactory::command

-

Deprecated, replaced with CommandFactory::command_for_update

-

Build a [Command] that can instantiate Self. Read more

-

Build a [Command] that can update self. Read more

-

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more

-

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more

-

Assign values from ArgMatches to self.

-

Assign values from ArgMatches to self.

-

Parse from std::env::args_os(), exit on error

-

Parse from std::env::args_os(), return Err on error.

-

Parse from iterator, exit on error

-

Parse from iterator, return Err on error.

-

Update from iterator, exit on error

-

Update from iterator, return Err on error.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

-

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

-
- \ No newline at end of file diff --git a/pages/struct.Settings.html b/pages/struct.Settings.html index 3cd92c5..be2f878 100644 --- a/pages/struct.Settings.html +++ b/pages/struct.Settings.html @@ -2,27 +2,25 @@

-

Struct pages::Settings

source · []
pub struct Settings {
-    pub debug: bool,
+    

Struct pages::Settings

source · []
pub struct Settings {
     pub server: Server,
     pub source_code: String,
     pub pages: Vec<Arc<Page>>,
-    pub database: Database,
-}

Fields

debug: boolserver: Serversource_code: Stringpages: Vec<Arc<Page>>database: Database

Implementations

Trait Implementations

Returns a copy of the value. Read more

+}

Fields

server: Serversource_code: Stringpages: Vec<Arc<Page>>

Implementations

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

-

Instruments this type with the provided Span, returning an -Instrumented wrapper. Read more

-

Instruments this type with the current Span, returning an -Instrumented wrapper. Read more

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

@@ -34,9 +32,9 @@

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more

-

Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more

-
+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

+
\ No newline at end of file diff --git a/pages/type.AppCtx.html b/pages/type.AppCtx.html index 0b7799c..fe9f519 100644 --- a/pages/type.AppCtx.html +++ b/pages/type.AppCtx.html @@ -5,5 +5,5 @@

AppCtx

-

Type Definition pages::AppCtx

source · []
pub type AppCtx = WebData<Arc<Ctx>>;
+

Type Definition pages::AppCtx

source · []
pub type AppCtx = WebData<Arc<Ctx>>;
\ No newline at end of file diff --git a/search-index.js b/search-index.js index 771bc1c..95adc6d 100644 --- a/search-index.js +++ b/search-index.js @@ -1,5 +1,5 @@ var searchIndex = JSON.parse('{\ -"pages":{"doc":"","t":[6,17,3,4,17,13,17,17,17,13,3,17,17,11,11,11,11,11,11,11,11,12,0,12,0,12,0,0,11,11,11,11,11,11,5,0,11,11,11,11,11,5,0,0,12,0,0,0,5,12,5,0,12,11,11,11,11,11,11,11,11,11,11,11,11,6,3,11,11,11,11,12,11,11,11,12,11,11,11,11,11,12,3,4,3,13,13,3,13,4,3,3,3,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,12,12,11,11,11,11,11,11,11,11,5,5,11,11,11,11,11,12,5,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,12,12,12,12,3,3,3,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,3,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,12,0,12,12,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,3,11,11,11,12,11,11,11,11,11,12,11,12,12,13,13,13,3,13,13,13,3,3,13,13,13,13,13,13,4,6,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,13,4,13,13,13,13,3,4,13,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,5,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,3,11,11,11,11,3,11,11,11,11,11,11,12,11,11,11,0,11,5,12,11,11,11,11,11,11,11,12,11,11,3,11,11,12,11,12,11,11,11,11,11,11,3,11,11,11,12,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,3,12,11,11,12,11,11,11,11,11,12,11,11,11,11,17,3,11,11,12,11,11,12,11,12,5,11,11,11,11,11,11,5,11,3,11,11,0,5,11,11,11,11,3,11,11,12,11,11,11,11,11,11,11,4,3,13,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,12,12,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,12],"n":["AppCtx","CACHE_AGE","Cli","Commands","GIT_COMMIT_HASH","Migrate","PKG_DESCRIPTION","PKG_HOMEPAGE","PKG_NAME","Serve","Settings","V1_API_ROUTES","VERSION","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","borrow","borrow","borrow_mut","borrow_mut","command","ctx","database","db","debug","deploy","errors","from","from","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","get_json_err","git","has_subcommand","into","into","into_app","into_app_for_update","main","meta","page","pages","preview","routes","serve","serve","server","services","settings","source_code","try_from","try_from","try_into","try_into","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","ArcCtx","Ctx","borrow","borrow_mut","clone","clone_into","db","from","into","new","settings","to_owned","try_from","try_into","type_id","vzip","0","Conn","ConnectionOptions","Database","Email","Existing","Fresh","Fresh","Login","NameHash","Register","UpdateEmail","Username","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","connect","delete_user","deserialize","deserialize","deserialize","deserialize","disable_logging","email","email_exists","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","get_db","get_email","get_password","hash","hash","into","into","into","into","into","into","into","into","map_register_err","map_row_not_found_err","migrate","ne","ne","ne","ne","new_email","now_unix_time_stamp","ping","pool","pool_options","register","serialize","serialize","serialize","serialize","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_email","update_password","update_username","url","username","username","username","username_exists","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","0","0","0","0","DeployEvent","DeployInfo","DeploySecret","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","branch","clone","clone","clone","clone_into","clone_into","clone_into","commit","deploy_info","deserialize","deserialize","deserialize","eq","eq","equivalent","equivalent","find_page","fmt","fmt","fmt","from","from","from","from","from","from_page","head","into","into","into","into","into","ne","ne","register","register","remote","routes","secret","secret","serialize","serialize","serialize","services","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","update","vzip","vzip","vzip","vzip","vzip","Deploy","borrow","borrow_mut","from","info","into","new","try_from","try_into","type_id","update","vzip","0","0","AccountNotFound","BadRequest","BranchNotFound","ConfigError","ConfigError","DuplicateRepositoryURL","EmailTaken","ErrorToResponse","FSError","FSError","GitError","InternalServerError","NotAUrl","PathTaken","SecretTaken","ServiceError","ServiceResult","URLTooLong","UnauthorizedOperation","UsernameTaken","WebsiteNotFound","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deserialize","eq","eq","eq","error","error_response","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","into","into","into","into","ne","serialize","source","source","source","status_code","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","0","0","0","0","0","0","0","0","0","1","1","1","Binary","ContentType","Deprecated","Dir","Empty","Executable","FileInfo","GitFileMode","Regular","Submodule","Symlink","Text","Unsupported","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","bytes","clone","clone","clone","clone_into","clone_into","clone_into","content","deserialize","eq","eq","eq","equivalent","equivalent","equivalent","filename","fmt","fmt","fmt","from","from","from","from","from","from","from_blob","from_primitive","into","into","into","mime","ne","ne","read_file","read_file_inner","read_preview_file","serialize","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from_primitive","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","0","0","BuildDetails","borrow","borrow","borrow_mut","borrow_mut","build_details","clone","clone_into","deserialize","fmt","from","from","git_commit_hash","into","into","register","routes","serialize","services","source_code","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","version","vzip","vzip","Meta","borrow","borrow_mut","build_details","from","health","into","new","try_from","try_into","type_id","vzip","Page","_fetch_remote_branch","borrow","borrow_mut","branch","clone","clone_into","create_repo","deploy_branch","deserialize","domain","eq","equivalent","fast_forward","fetch","fmt","from","get_deploy_branch","get_deploy_commit","get_deploy_remote","into","merge","ne","normal_merge","open_repo","path","repo","secret","to_owned","try_from","try_into","type_id","update","vzip","Preview","base","borrow","borrow_mut","delimiter","extract","from","get_name","into","new","prefix","try_from","try_into","type_id","vzip","ROUTES","Routes","borrow","borrow_mut","deploy","from","into","meta","new","serve","services","try_from","try_into","type_id","vzip","borrow","borrow_mut","find_page","from","index","into","register","routes","services","try_from","try_into","type_id","vzip","Serve","borrow","borrow_mut","catch_all","from","into","new","try_from","try_into","type_id","vzip","DBType","Database","Postgres","Server","Settings","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check_url","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","database","database_type","debug","deserialize","deserialize","deserialize","deserialize","domain","eq","equivalent","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from_url","get_ip","init","into","into","into","into","ip","new","pages","pool","port","serialize","server","source_code","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","url","vzip","vzip","vzip","vzip","workers"],"q":["pages","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","pages::ctx","","","","","","","","","","","","","","","","pages::db","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","pages::db::ConnectionOptions","","pages::db::Login","","pages::deploy","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","pages::deploy::routes","","","","","","","","","","","","pages::errors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","pages::errors::ServiceError","","","","","","","","","","","","pages::git","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","pages::git::ContentType","","pages::meta","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","pages::meta::routes","","","","","","","","","","","","pages::page","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","pages::preview","","","","","","","","","","","","","","","pages::routes","","","","","","","","","","","","","","","pages::serve","","","","","","","","","","","","","pages::serve::routes","","","","","","","","","","","pages::settings","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","","","","","run database migrations","","","","run server","","","","","","","","","","","","","","","","","","Represents all the ways a trait can fail using this crate","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","Use an existing database pool","Connect to databse","","email as login","existing connection","","fresh connection","types of credentials used as identifiers during login","type encapsulating username and hashed password of a user","Data required to register a new user","data required to update them email of a user","username as login","","","","","","","","","","","","","","","","","","","","","","","","","","","","delete a user","","","","","","Optionally, email of new use","check if email exists","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","get user email","get a user’s password","hashed password of new use","hashed password","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","map postgres errors to ServiceError types","map custom row not found error to DB error","","","","","","new email address of the user","","","","","register a new user","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","update a user’s email","update user’s password","update username","","username of new user","username of the user","username","check if username exists","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","Account not found","","","","","when the a Repository URL configured for a page is already …","Email is taken","","","","","All non-specific errors are grouped under this category","The value you entered for url is not url“","when the a path configured for a page is already taken","when the a Secret configured for a page is already taken","Error data structure grouping various error subtypes","Generic result data structure","URL too long, maximum length can’t be greater then 2048 …","","Username is taken","website not found","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Deprecated represent non-executable files with the group …","Dir represent a Directory.","Empty is used as the GitFileMode of tree elements when …","Executable represents executable files.","","A FileMode represents the kind of tree entries used by …","Regular represent non-executable files.","Submodule represents git submodules. This mode has no …","Symlink represents symbolic links to files.","","Unsupported file mode","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","Please note that this method expects path to not contain …","","","","","","","","","","","","","","","","","","","","","","","","","","","emmits build details of the bninary","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,1,0,0,0,1,0,0,0,2,2,1,1,2,1,2,1,2,0,3,0,3,0,0,2,1,2,1,2,1,0,0,1,2,1,2,2,0,0,0,3,0,0,0,0,3,0,0,3,2,1,2,1,2,1,2,1,2,1,2,1,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,0,0,0,6,7,0,7,0,0,0,0,6,7,5,8,9,10,11,6,12,7,5,8,9,10,11,6,12,9,10,11,6,12,9,10,11,6,12,7,9,10,11,6,12,8,10,9,10,11,6,12,10,11,6,12,10,11,6,12,7,5,8,9,10,11,6,12,0,9,9,10,12,7,5,8,9,10,11,6,12,0,0,9,10,11,6,12,11,0,9,9,8,9,10,11,6,12,9,10,11,6,12,7,5,8,9,10,11,6,12,7,5,8,9,10,11,6,12,7,5,8,9,10,11,6,12,9,9,9,8,10,11,12,9,7,5,8,9,10,11,6,12,13,14,15,16,0,0,0,17,18,19,20,21,17,18,19,20,21,17,17,19,20,17,19,20,20,0,17,19,20,19,20,19,20,0,17,19,20,17,18,19,20,21,20,20,17,18,19,20,21,19,20,18,21,20,0,17,19,17,19,20,0,17,19,20,17,18,19,20,21,17,18,19,20,21,17,18,19,20,21,0,17,18,19,20,21,0,22,22,22,22,22,22,22,22,22,22,22,23,24,25,25,25,0,25,25,25,0,0,25,25,25,25,25,25,0,0,25,25,25,25,23,24,25,26,23,24,25,26,26,23,24,25,26,25,23,23,24,24,25,25,26,23,24,25,25,25,25,25,26,23,24,25,26,25,26,23,24,25,25,23,24,25,23,24,25,26,23,24,25,26,23,24,25,26,23,24,25,26,27,28,29,30,31,32,33,34,35,27,28,29,36,0,37,37,37,37,0,0,37,37,37,36,37,37,38,36,37,38,36,36,37,38,36,37,38,36,38,36,37,38,36,37,38,36,38,37,38,36,37,37,37,37,38,36,36,37,37,38,36,38,38,36,0,0,0,36,37,38,36,37,38,36,37,37,38,36,37,38,36,37,38,36,39,40,0,41,42,41,42,0,41,41,41,41,41,42,41,41,42,42,0,41,0,41,41,41,42,41,42,41,42,41,41,42,0,43,43,43,43,43,43,43,43,43,43,43,0,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,0,0,46,46,46,46,46,46,46,46,0,46,46,46,46,47,47,0,47,0,47,47,0,0,47,47,47,47,0,48,48,48,48,48,48,48,48,48,48,0,0,49,0,0,50,49,51,3,50,49,51,3,3,50,49,51,3,50,49,51,3,3,51,3,50,49,51,3,50,49,49,50,49,49,51,3,50,49,51,3,49,50,3,50,49,51,3,50,3,3,51,50,49,3,3,50,49,51,3,49,50,49,51,3,50,49,51,3,50,49,51,3,51,50,49,51,3,50],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,[[["command",6]],["command",6]],[[["command",6]],["command",6]],[[["command",6]],["command",6]],[[["command",6]],["command",6]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,null,null,null,null,[[]],[[]],[[["argmatches",3]],["result",4,[["cli",3],["error",3]]]],[[["argmatches",3]],["result",4,[["commands",4],["error",3]]]],[[["argmatches",3]],["result",4,[["cli",3],["error",3]]]],[[["argmatches",3]],["result",4,[["commands",4],["error",3]]]],[[],["jsonconfig",3]],null,[[["str",0]],["bool",0]],[[]],[[]],[[],["command",6]],[[],["command",6]],[[],["result",6]],null,null,null,null,null,null,[[["settings",3],["appctx",6]],["future",8]],null,[[["serviceconfig",3]]],null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["cli",3],["argmatches",3]],["result",4,[["error",3]]]],[[["commands",4],["argmatches",3]],["result",4,[["error",3]]]],[[["cli",3],["argmatches",3]],["result",4,[["error",3]]]],[[["commands",4],["argmatches",3]],["result",4,[["error",3]]]],[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["ctx",3]],["ctx",3]],[[["",0],["",0]]],null,[[]],[[]],[[["settings",3]],["future",8]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["database",3]],["database",3]],[[["register",3]],["register",3]],[[["updateemail",3]],["updateemail",3]],[[["login",4]],["login",4]],[[["namehash",3]],["namehash",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["connectionoptions",4]],["future",8]],[[["database",3],["str",0]],["future",8]],[[],["result",4,[["register",3]]]],[[],["result",4,[["updateemail",3]]]],[[],["result",4,[["login",4]]]],[[],["result",4,[["namehash",3]]]],null,null,[[["database",3],["str",0]],["future",8]],[[["register",3],["register",3]],["bool",0]],[[["updateemail",3],["updateemail",3]],["bool",0]],[[["login",4],["login",4]],["bool",0]],[[["namehash",3],["namehash",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["register",3],["formatter",3]],["result",6]],[[["updateemail",3],["formatter",3]],["result",6]],[[["login",4],["formatter",3]],["result",6]],[[["namehash",3],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["settings",3]],["future",8]],[[["database",3],["str",0]],["future",8]],[[["database",3],["login",4]],["future",8]],null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["error",4]],["serviceerror",4]],[[["error",4],["serviceerror",4]],["serviceerror",4]],[[["database",3]],["future",8]],[[["register",3],["register",3]],["bool",0]],[[["updateemail",3],["updateemail",3]],["bool",0]],[[["login",4],["login",4]],["bool",0]],[[["namehash",3],["namehash",3]],["bool",0]],null,[[],["offsetdatetime",3]],[[["database",3]],["future",8]],null,null,[[["database",3],["register",3]],["future",8]],[[["register",3]],["result",4]],[[["updateemail",3]],["result",4]],[[["login",4]],["result",4]],[[["namehash",3]],["result",4]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["database",3],["updateemail",3]],["future",8]],[[["database",3],["namehash",3]],["future",8]],[[["database",3],["str",0],["str",0]],["future",8]],null,null,null,null,[[["database",3],["str",0]],["future",8]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["deployevent",3]],["deployevent",3]],[[["deploysecret",3]],["deploysecret",3]],[[["deployinfo",3]],["deployinfo",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,[[],["result",4,[["deployevent",3]]]],[[],["result",4,[["deploysecret",3]]]],[[],["result",4,[["deployinfo",3]]]],[[["deploysecret",3],["deploysecret",3]],["bool",0]],[[["deployinfo",3],["deployinfo",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["str",0],["appctx",6]],["option",4,[["page",3]]]],[[["deployevent",3],["formatter",3]],["result",6]],[[["deploysecret",3],["formatter",3]],["result",6]],[[["deployinfo",3],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[["page",3]],["result",4,[["deployinfo",3],["serviceerror",4]]]],null,[[]],[[]],[[]],[[]],[[]],[[["deploysecret",3],["deploysecret",3]],["bool",0]],[[["deployinfo",3],["deployinfo",3]],["bool",0]],[[["update",3],["appservice",3]]],[[["deploy_info",3],["appservice",3]]],null,null,null,null,[[["deployevent",3]],["result",4]],[[["deploysecret",3]],["result",4]],[[["deployinfo",3]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],[[],["deploy",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[],["result",4,[["errortoresponse",3]]]],[[["fserror",3],["fserror",3]],["bool",0]],[[["configerror",3],["configerror",3]],["bool",0]],[[["serviceerror",4],["serviceerror",4]],["bool",0]],null,[[["serviceerror",4]],["httpresponse",3]],[[["fserror",3],["formatter",3]],["result",6]],[[["fserror",3],["formatter",3]],["result",6]],[[["configerror",3],["formatter",3]],["result",6]],[[["configerror",3],["formatter",3]],["result",6]],[[["serviceerror",4],["formatter",3]],["result",6]],[[["serviceerror",4],["formatter",3]],["result",6]],[[["errortoresponse",3],["formatter",3]],["result",6]],[[]],[[]],[[["fserrorinner",3]],["serviceerror",4]],[[]],[[["giterror",3]],["serviceerror",4]],[[["parseerror",4]],["serviceerror",4]],[[["configerrorinner",4]],["serviceerror",4]],[[]],[[]],[[]],[[]],[[]],[[["serviceerror",4],["serviceerror",4]],["bool",0]],[[["errortoresponse",3]],["result",4]],[[["fserror",3]],["option",4,[["error",8]]]],[[["configerror",3]],["option",4,[["error",8]]]],[[["serviceerror",4]],["option",4,[["error",8]]]],[[["serviceerror",4]],["statuscode",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["contenttype",4]],["vec",3,[["u8",0]]]],[[["gitfilemode",4]],["gitfilemode",4]],[[["fileinfo",3]],["fileinfo",3]],[[["contenttype",4]],["contenttype",4]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,[[],["result",4,[["contenttype",4]]]],[[["gitfilemode",4],["gitfilemode",4]],["bool",0]],[[["fileinfo",3],["fileinfo",3]],["bool",0]],[[["contenttype",4],["contenttype",4]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],null,[[["gitfilemode",4],["formatter",3]],["result",6]],[[["fileinfo",3],["formatter",3]],["result",6]],[[["contenttype",4],["formatter",3]],["result",6]],[[["treeentry",3]],["gitfilemode",4]],[[["treeentry",3]],["gitfilemode",4]],[[["isize",0]],["gitfilemode",4]],[[]],[[]],[[]],[[["blob",3]],["contenttype",4]],[[],["gitfilemode",4]],[[]],[[]],[[]],null,[[["fileinfo",3],["fileinfo",3]],["bool",0]],[[["contenttype",4],["contenttype",4]],["bool",0]],[[["str",0],["str",0]],["result",4,[["fileinfo",3],["serviceerror",4]]]],[[["repository",3],["str",0],["tree",3]],["result",4,[["fileinfo",3],["serviceerror",4]]]],[[["str",0],["str",0],["str",0]],["result",4,[["fileinfo",3],["serviceerror",4]]]],[[["contenttype",4]],["result",4]],[[["",0]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4,[["gitfilemode",4],["tryfromprimitiveerror",3,[["gitfilemode",4]]]]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["builddetails",3]],["builddetails",3]],[[["",0],["",0]]],[[],["result",4,[["builddetails",3]]]],[[["builddetails",3],["formatter",3]],["result",6]],[[]],[[]],null,[[]],[[]],[[["build_details",3],["appservice",3]]],null,[[["builddetails",3]],["result",4]],[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],null,[[]],[[],["meta",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,[[["page",3],["repository",3],["str",0]],["result",4,[["serviceerror",4]]]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["page",3]],["page",3]],[[["",0],["",0]]],[[["page",3]],["result",4,[["repository",3],["serviceerror",4]]]],[[["page",3],["repository",3]],["result",4,[["serviceerror",4]]]],[[],["result",4,[["page",3]]]],null,[[["page",3],["page",3]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["repository",3],["reference",3],["annotatedcommit",3]],["result",4,[["serviceerror",4]]]],[[["page",3],["repository",3],["str",0]],["result",4,[["annotatedcommit",3],["serviceerror",4]]]],[[["page",3],["formatter",3]],["result",6]],[[]],[[["page",3],["repository",3]],["result",4,[["string",3],["serviceerror",4]]]],[[["repository",3]],["result",4,[["oid",3],["serviceerror",4]]]],[[["repository",3]],["result",4,[["remote",3],["serviceerror",4]]]],[[]],[[["page",3],["repository",3],["annotatedcommit",3],["str",0]],["result",4,[["serviceerror",4]]]],[[["page",3],["page",3]],["bool",0]],[[["repository",3],["annotatedcommit",3],["annotatedcommit",3]],["result",4,[["error",3]]]],[[["page",3]],["result",4,[["repository",3],["serviceerror",4]]]],null,null,null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["page",3],["str",0]],["result",4,[["serviceerror",4]]]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[["preview",3],["str",0]],["option",4,[["str",0]]]],[[]],[[["preview",3],["usize",0]],["string",3]],[[]],[[["appctx",6]],["preview",3]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],null,[[],["routes",3]],null,[[["serviceconfig",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],[[["",0]],["",0]],[[["",0]],["",0]],[[["str",0],["appctx",6]],["option",4,[["page",3]]]],[[]],null,[[]],[[["index",3],["appservice",3]]],null,[[["serviceconfig",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[],["serve",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["settings",3]]],[[["server",3]],["server",3]],[[["dbtype",4]],["dbtype",4]],[[["database",3]],["database",3]],[[["settings",3]],["settings",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,[[],["result",4,[["server",3]]]],[[],["result",4,[["dbtype",4]]]],[[],["result",4,[["database",3]]]],[[],["result",4,[["settings",3]]]],null,[[["dbtype",4],["dbtype",4]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["server",3],["formatter",3]],["result",6]],[[["dbtype",4],["formatter",3]],["result",6]],[[["dbtype",4],["formatter",3]],["result",6]],[[["database",3],["formatter",3]],["result",6]],[[["settings",3],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["url",3]],["result",4,[["dbtype",4],["configerror",4]]]],[[["server",3]],["string",3]],[[["settings",3]]],[[]],[[]],[[]],[[]],null,[[],["result",4,[["settings",3],["serviceerror",4]]]],null,null,null,[[["dbtype",4]],["result",4]],null,null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],[[]],null],"p":[[4,"Commands"],[3,"Cli"],[3,"Settings"],[3,"Ctx"],[3,"Conn"],[4,"Login"],[4,"ConnectionOptions"],[3,"Fresh"],[3,"Database"],[3,"Register"],[3,"UpdateEmail"],[3,"NameHash"],[13,"Fresh"],[13,"Existing"],[13,"Username"],[13,"Email"],[3,"DeployEvent"],[3,"update"],[3,"DeploySecret"],[3,"DeployInfo"],[3,"deploy_info"],[3,"Deploy"],[3,"FSError"],[3,"ConfigError"],[4,"ServiceError"],[3,"ErrorToResponse"],[13,"PathTaken"],[13,"SecretTaken"],[13,"DuplicateRepositoryURL"],[13,"FSError"],[13,"UnauthorizedOperation"],[13,"BadRequest"],[13,"ConfigError"],[13,"GitError"],[13,"BranchNotFound"],[4,"ContentType"],[4,"GitFileMode"],[3,"FileInfo"],[13,"Binary"],[13,"Text"],[3,"BuildDetails"],[3,"build_details"],[3,"Meta"],[3,"Page"],[3,"Preview"],[3,"Routes"],[3,"index"],[3,"Serve"],[4,"DBType"],[3,"Server"],[3,"Database"]]}\ +"pages":{"doc":"","t":[6,17,17,17,17,17,3,17,17,0,0,0,5,5,0,0,12,0,12,5,0,12,3,11,11,11,11,11,11,11,12,11,11,11,11,11,3,3,3,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,3,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,12,0,12,12,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,3,11,11,11,12,11,11,11,11,11,12,11,12,12,13,13,3,13,13,3,3,13,13,13,13,13,13,4,6,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,3,11,11,11,11,3,11,11,11,11,11,11,12,11,11,11,0,11,5,12,11,11,11,11,11,11,11,12,11,11,3,11,11,12,11,12,11,11,11,11,11,11,3,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,17,3,11,11,12,11,11,12,11,5,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,12],"n":["AppCtx","CACHE_AGE","GIT_COMMIT_HASH","PKG_DESCRIPTION","PKG_HOMEPAGE","PKG_NAME","Settings","V1_API_ROUTES","VERSION","ctx","deploy","errors","get_json_err","main","meta","page","pages","routes","server","services","settings","source_code","Ctx","borrow","borrow_mut","clone","clone_into","from","into","new","settings","to_owned","try_from","try_into","type_id","vzip","DeployEvent","DeployInfo","DeploySecret","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","branch","clone","clone","clone","clone_into","clone_into","clone_into","commit","deploy_info","deserialize","deserialize","deserialize","eq","eq","find_page","fmt","fmt","fmt","from","from","from","from","from","from_page","head","into","into","into","into","into","ne","ne","register","register","remote","routes","secret","secret","serialize","serialize","serialize","services","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","update","vzip","vzip","vzip","vzip","vzip","Deploy","borrow","borrow_mut","from","info","into","new","try_from","try_into","type_id","update","vzip","0","0","BadRequest","BranchNotFound","ConfigError","ConfigError","DuplicateRepositoryURL","ErrorToResponse","FSError","FSError","GitError","InternalServerError","NotAUrl","PathTaken","SecretTaken","ServiceError","ServiceResult","URLTooLong","UnauthorizedOperation","WebsiteNotFound","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deserialize","eq","eq","eq","error","error_response","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","into","into","into","into","ne","serialize","source","source","source","status_code","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","0","0","0","0","0","0","0","0","0","1","1","1","BuildDetails","borrow","borrow","borrow_mut","borrow_mut","build_details","clone","clone_into","deserialize","fmt","from","from","git_commit_hash","into","into","register","routes","serialize","services","source_code","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","version","vzip","vzip","Meta","borrow","borrow_mut","build_details","from","health","into","new","try_from","try_into","type_id","vzip","Page","_fetch_remote_branch","borrow","borrow_mut","branch","clone","clone_into","create_repo","deploy_branch","deserialize","eq","fast_forward","fetch","fmt","from","get_deploy_branch","get_deploy_commit","get_deploy_remote","into","merge","ne","normal_merge","open_repo","path","repo","secret","to_owned","try_from","try_into","type_id","update","vzip","ROUTES","Routes","borrow","borrow_mut","deploy","from","into","meta","new","services","try_from","try_into","type_id","vzip","Server","Settings","borrow","borrow","borrow_mut","borrow_mut","check_url","clone","clone","clone_into","clone_into","deserialize","deserialize","fmt","fmt","from","from","get_ip","init","into","into","ip","new","pages","port","server","source_code","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","workers"],"q":["pages","","","","","","","","","","","","","","","","","","","","","","pages::ctx","","","","","","","","","","","","","","pages::deploy","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","pages::deploy::routes","","","","","","","","","","","","pages::errors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","pages::errors::ServiceError","","","","","","","","","","","","pages::meta","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","pages::meta::routes","","","","","","","","","","","","pages::page","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","pages::routes","","","","","","","","","","","","","","pages::settings","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","","","","","","","","","","","represents all the ways a trait can fail using this crate","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","when the a Repository URL configured for a page is already …","","","","","All non-specific errors are grouped under this category","The value you entered for url is not url“","when the a path configured for a page is already taken","when the a Secret configured for a page is already taken","Error data structure grouping various error subtypes","Generic result data structure","URL too long, maximum length can’t be greater then 2048 …","","website not found","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","emmits build details of the bninary","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,3,4,5,6,7,3,4,5,6,7,3,3,5,6,3,5,6,6,0,3,5,6,5,6,0,3,5,6,3,4,5,6,7,6,6,3,4,5,6,7,5,6,4,7,6,0,3,5,3,5,6,0,3,5,6,3,4,5,6,7,3,4,5,6,7,3,4,5,6,7,0,3,4,5,6,7,0,8,8,8,8,8,8,8,8,8,8,8,9,10,11,11,0,11,11,0,0,11,11,11,11,11,11,0,0,11,11,11,9,10,11,12,9,10,11,12,12,9,10,11,12,11,9,9,10,10,11,11,12,9,10,11,11,11,11,11,12,9,10,11,12,11,12,9,10,11,11,9,10,11,9,10,11,12,9,10,11,12,9,10,11,12,9,10,11,12,13,14,15,16,17,18,19,20,21,13,14,15,0,22,23,22,23,0,22,22,22,22,22,23,22,22,23,23,0,22,0,22,22,22,23,22,23,22,23,22,22,23,0,24,24,24,24,24,24,24,24,24,24,24,0,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,0,0,26,26,26,26,26,26,26,0,26,26,26,26,0,0,27,1,27,1,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,1,27,1,1,27,1,27,1,27,1,27,1,27,1,27],"f":[null,null,null,null,null,null,null,null,null,null,null,null,[[],["jsonconfig",3]],[[],["result",6]],null,null,null,null,null,[[["serviceconfig",3]]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["ctx",3]],["ctx",3]],[[["",0],["",0]]],[[]],[[]],[[["settings",3]],["arc",3,[["ctx",3]]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["deployevent",3]],["deployevent",3]],[[["deploysecret",3]],["deploysecret",3]],[[["deployinfo",3]],["deployinfo",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,[[],["result",4,[["deployevent",3]]]],[[],["result",4,[["deploysecret",3]]]],[[],["result",4,[["deployinfo",3]]]],[[["deploysecret",3],["deploysecret",3]],["bool",0]],[[["deployinfo",3],["deployinfo",3]],["bool",0]],[[["str",0],["appctx",6]],["option",4,[["page",3]]]],[[["deployevent",3],["formatter",3]],["result",6]],[[["deploysecret",3],["formatter",3]],["result",6]],[[["deployinfo",3],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[["page",3]],["result",4,[["deployinfo",3],["serviceerror",4]]]],null,[[]],[[]],[[]],[[]],[[]],[[["deploysecret",3],["deploysecret",3]],["bool",0]],[[["deployinfo",3],["deployinfo",3]],["bool",0]],[[["update",3],["appservice",3]]],[[["deploy_info",3],["appservice",3]]],null,null,null,null,[[["deployevent",3]],["result",4]],[[["deploysecret",3]],["result",4]],[[["deployinfo",3]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],[[],["deploy",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[],["result",4,[["errortoresponse",3]]]],[[["fserror",3],["fserror",3]],["bool",0]],[[["configerror",3],["configerror",3]],["bool",0]],[[["serviceerror",4],["serviceerror",4]],["bool",0]],null,[[["serviceerror",4]],["httpresponse",3]],[[["fserror",3],["formatter",3]],["result",6]],[[["fserror",3],["formatter",3]],["result",6]],[[["configerror",3],["formatter",3]],["result",6]],[[["configerror",3],["formatter",3]],["result",6]],[[["serviceerror",4],["formatter",3]],["result",6]],[[["serviceerror",4],["formatter",3]],["result",6]],[[["errortoresponse",3],["formatter",3]],["result",6]],[[]],[[]],[[["parseerror",4]],["serviceerror",4]],[[]],[[["fserrorinner",3]],["serviceerror",4]],[[["giterror",3]],["serviceerror",4]],[[["configerrorinner",4]],["serviceerror",4]],[[]],[[]],[[]],[[]],[[]],[[["serviceerror",4],["serviceerror",4]],["bool",0]],[[["errortoresponse",3]],["result",4]],[[["fserror",3]],["option",4,[["error",8]]]],[[["configerror",3]],["option",4,[["error",8]]]],[[["serviceerror",4]],["option",4,[["error",8]]]],[[["serviceerror",4]],["statuscode",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["builddetails",3]],["builddetails",3]],[[["",0],["",0]]],[[],["result",4,[["builddetails",3]]]],[[["builddetails",3],["formatter",3]],["result",6]],[[]],[[]],null,[[]],[[]],[[["build_details",3],["appservice",3]]],null,[[["builddetails",3]],["result",4]],[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],null,[[]],[[],["meta",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,[[["page",3],["repository",3],["str",0]],["result",4,[["serviceerror",4]]]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["page",3]],["page",3]],[[["",0],["",0]]],[[["page",3]],["result",4,[["repository",3],["serviceerror",4]]]],[[["page",3],["repository",3]],["result",4,[["serviceerror",4]]]],[[],["result",4,[["page",3]]]],[[["page",3],["page",3]],["bool",0]],[[["repository",3],["reference",3],["annotatedcommit",3]],["result",4,[["serviceerror",4]]]],[[["page",3],["repository",3]],["result",4,[["annotatedcommit",3],["serviceerror",4]]]],[[["page",3],["formatter",3]],["result",6]],[[]],[[["page",3],["repository",3]],["result",4,[["string",3],["serviceerror",4]]]],[[["repository",3]],["result",4,[["oid",3],["serviceerror",4]]]],[[["repository",3]],["result",4,[["remote",3],["serviceerror",4]]]],[[]],[[["page",3],["repository",3],["annotatedcommit",3]],["result",4,[["serviceerror",4]]]],[[["page",3],["page",3]],["bool",0]],[[["repository",3],["annotatedcommit",3],["annotatedcommit",3]],["result",4,[["error",3]]]],[[["page",3]],["result",4,[["repository",3],["serviceerror",4]]]],null,null,null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["page",3]],["result",4,[["serviceerror",4]]]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],null,[[],["routes",3]],[[["serviceconfig",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["settings",3]]],[[["server",3]],["server",3]],[[["settings",3]],["settings",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["result",4,[["server",3]]]],[[],["result",4,[["settings",3]]]],[[["server",3],["formatter",3]],["result",6]],[[["settings",3],["formatter",3]],["result",6]],[[]],[[]],[[["server",3]],["string",3]],[[["settings",3]]],[[]],[[]],null,[[],["result",4,[["settings",3],["serviceerror",4]]]],null,null,null,null,[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null],"p":[[3,"Settings"],[3,"Ctx"],[3,"DeployEvent"],[3,"update"],[3,"DeploySecret"],[3,"DeployInfo"],[3,"deploy_info"],[3,"Deploy"],[3,"FSError"],[3,"ConfigError"],[4,"ServiceError"],[3,"ErrorToResponse"],[13,"PathTaken"],[13,"SecretTaken"],[13,"DuplicateRepositoryURL"],[13,"FSError"],[13,"UnauthorizedOperation"],[13,"BadRequest"],[13,"ConfigError"],[13,"GitError"],[13,"BranchNotFound"],[3,"BuildDetails"],[3,"build_details"],[3,"Meta"],[3,"Page"],[3,"Routes"],[3,"Server"]]}\ }'); if (typeof window !== 'undefined' && window.initSearch) {window.initSearch(searchIndex)}; if (typeof exports !== 'undefined') {exports.searchIndex = searchIndex}; diff --git a/source-files.js b/source-files.js index 6236f93..04e0b8e 100644 --- a/source-files.js +++ b/source-files.js @@ -1,3 +1,3 @@ var sourcesIndex = {}; -sourcesIndex["pages"] = {"name":"","files":["ctx.rs","db.rs","deploy.rs","errors.rs","git.rs","main.rs","meta.rs","page.rs","preview.rs","routes.rs","serve.rs","settings.rs"]}; +sourcesIndex["pages"] = {"name":"","files":["ctx.rs","deploy.rs","errors.rs","main.rs","meta.rs","page.rs","routes.rs","settings.rs"]}; createSourceSidebar(); diff --git a/src/pages/ctx.rs.html b/src/pages/ctx.rs.html index 38c140f..a36e0d4 100644 --- a/src/pages/ctx.rs.html +++ b/src/pages/ctx.rs.html @@ -34,11 +34,6 @@ 28 29 30 -31 -32 -33 -34 -35
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -57,21 +52,16 @@
  */
 use std::sync::Arc;
 
-use crate::db::*;
 use crate::settings::Settings;
 
-pub type ArcCtx = Arc<Ctx>;
-
 #[derive(Clone)]
 pub struct Ctx {
     pub settings: Settings,
-    pub db: Database,
 }
 
 impl Ctx {
-    pub async fn new(settings: Settings) -> Arc<Self> {
-        let db = get_db(&settings).await;
-        Arc::new(Self { settings, db })
+    pub fn new(settings: Settings) -> Arc<Self> {
+        Arc::new(Self { settings })
     }
 }
 
diff --git a/src/pages/db.rs.html b/src/pages/db.rs.html deleted file mode 100644 index 4b20c3a..0000000 --- a/src/pages/db.rs.html +++ /dev/null @@ -1,923 +0,0 @@ -db.rs - source -
1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-117
-118
-119
-120
-121
-122
-123
-124
-125
-126
-127
-128
-129
-130
-131
-132
-133
-134
-135
-136
-137
-138
-139
-140
-141
-142
-143
-144
-145
-146
-147
-148
-149
-150
-151
-152
-153
-154
-155
-156
-157
-158
-159
-160
-161
-162
-163
-164
-165
-166
-167
-168
-169
-170
-171
-172
-173
-174
-175
-176
-177
-178
-179
-180
-181
-182
-183
-184
-185
-186
-187
-188
-189
-190
-191
-192
-193
-194
-195
-196
-197
-198
-199
-200
-201
-202
-203
-204
-205
-206
-207
-208
-209
-210
-211
-212
-213
-214
-215
-216
-217
-218
-219
-220
-221
-222
-223
-224
-225
-226
-227
-228
-229
-230
-231
-232
-233
-234
-235
-236
-237
-238
-239
-240
-241
-242
-243
-244
-245
-246
-247
-248
-249
-250
-251
-252
-253
-254
-255
-256
-257
-258
-259
-260
-261
-262
-263
-264
-265
-266
-267
-268
-269
-270
-271
-272
-273
-274
-275
-276
-277
-278
-279
-280
-281
-282
-283
-284
-285
-286
-287
-288
-289
-290
-291
-292
-293
-294
-295
-296
-297
-298
-299
-300
-301
-302
-303
-304
-305
-306
-307
-308
-309
-310
-311
-312
-313
-314
-315
-316
-317
-318
-319
-320
-321
-322
-323
-324
-325
-326
-327
-328
-329
-330
-331
-332
-333
-334
-335
-336
-337
-338
-339
-340
-341
-342
-343
-344
-345
-346
-347
-348
-349
-350
-351
-352
-353
-354
-355
-356
-357
-358
-359
-360
-361
-362
-363
-364
-365
-366
-367
-368
-369
-370
-371
-372
-373
-374
-375
-376
-377
-378
-379
-380
-381
-382
-383
-384
-385
-386
-387
-388
-389
-390
-391
-392
-393
-394
-395
-396
-397
-398
-399
-400
-401
-402
-403
-404
-405
-406
-407
-408
-409
-410
-411
-412
-413
-414
-415
-416
-417
-418
-419
-420
-421
-422
-423
-424
-425
-426
-427
-428
-429
-430
-431
-432
-433
-434
-435
-436
-437
-438
-439
-440
-441
-442
-443
-444
-445
-446
-447
-448
-449
-450
-451
-452
-453
-454
-455
-456
-457
-
/*
- * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <https://www.gnu.org/licenses/>.
- */
-use std::str::FromStr;
-
-use serde::{Deserialize, Serialize};
-use sqlx::postgres::PgPoolOptions;
-use sqlx::types::time::OffsetDateTime;
-//use sqlx::types::Json;
-use sqlx::ConnectOptions;
-use sqlx::PgPool;
-
-use crate::errors::*;
-
-/// Connect to databse
-pub enum ConnectionOptions {
-    /// fresh connection
-    Fresh(Fresh),
-    /// existing connection
-    Existing(Conn),
-}
-
-/// Use an existing database pool
-pub struct Conn(pub PgPool);
-
-pub struct Fresh {
-    pub pool_options: PgPoolOptions,
-    pub disable_logging: bool,
-    pub url: String,
-}
-
-impl ConnectionOptions {
-    async fn connect(self) -> ServiceResult<Database> {
-        let pool = match self {
-            Self::Fresh(fresh) => {
-                let mut connect_options =
-                    sqlx::postgres::PgConnectOptions::from_str(&fresh.url).unwrap();
-                if fresh.disable_logging {
-                    connect_options.disable_statement_logging();
-                }
-                sqlx::postgres::PgConnectOptions::from_str(&fresh.url)
-                    .unwrap()
-                    .disable_statement_logging();
-                fresh
-                    .pool_options
-                    .connect_with(connect_options)
-                    .await
-                    .unwrap()
-                //.map_err(|e| ServiceError::ServiceError(Box::new(e)))?
-            }
-
-            Self::Existing(conn) => conn.0,
-        };
-        Ok(Database { pool })
-    }
-}
-
-#[derive(Clone)]
-pub struct Database {
-    pub pool: PgPool,
-}
-
-impl Database {
-    pub async fn migrate(&self) -> ServiceResult<()> {
-        sqlx::migrate!("./migrations/")
-            .run(&self.pool)
-            .await
-            .unwrap();
-        //.map_err(|e| ServiceError::ServiceError(Box::new(e)))?;
-        Ok(())
-    }
-
-    pub async fn ping(&self) -> bool {
-        use sqlx::Connection;
-
-        if let Ok(mut con) = self.pool.acquire().await {
-            con.ping().await.is_ok()
-        } else {
-            false
-        }
-    }
-
-    /// register a new user
-    pub async fn register(&self, p: &Register<'_>) -> ServiceResult<()> {
-        sqlx::query!(
-            "insert into librepages_users
-            (name , password, email) values ($1, $2, $3)",
-            &p.username,
-            &p.hash,
-            &p.email,
-        )
-        .execute(&self.pool)
-        .await
-        .map_err(map_register_err)?;
-        Ok(())
-    }
-
-    /// delete a user
-    pub async fn delete_user(&self, username: &str) -> ServiceResult<()> {
-        sqlx::query!("DELETE FROM librepages_users WHERE name = ($1)", username)
-            .execute(&self.pool)
-            .await
-            .map_err(|e| map_row_not_found_err(e, ServiceError::AccountNotFound))?;
-        Ok(())
-    }
-
-    /// check if username exists
-    pub async fn username_exists(&self, username: &str) -> ServiceResult<bool> {
-        let res = sqlx::query!(
-            "SELECT EXISTS (SELECT 1 from librepages_users WHERE name = $1)",
-            username,
-        )
-        .fetch_one(&self.pool)
-        .await
-        .map_err(map_register_err)?;
-
-        let mut resp = false;
-        if let Some(x) = res.exists {
-            resp = x;
-        }
-
-        Ok(resp)
-    }
-
-    /// get user email
-    pub async fn get_email(&self, username: &str) -> ServiceResult<String> {
-        struct Email {
-            email: String,
-        }
-
-        let res = sqlx::query_as!(
-            Email,
-            "SELECT email FROM librepages_users WHERE name = $1",
-            username
-        )
-        .fetch_one(&self.pool)
-        .await
-        .map_err(|e| map_row_not_found_err(e, ServiceError::AccountNotFound))?;
-        Ok(res.email)
-    }
-
-    /// check if email exists
-    pub async fn email_exists(&self, email: &str) -> ServiceResult<bool> {
-        let res = sqlx::query!(
-            "SELECT EXISTS (SELECT 1 from librepages_users WHERE email = $1)",
-            email
-        )
-        .fetch_one(&self.pool)
-        .await
-        .map_err(map_register_err)?;
-
-        let mut resp = false;
-        if let Some(x) = res.exists {
-            resp = x;
-        }
-
-        Ok(resp)
-    }
-
-    /// update a user's email
-    pub async fn update_email(&self, p: &UpdateEmail<'_>) -> ServiceResult<()> {
-        sqlx::query!(
-            "UPDATE librepages_users set email = $1
-            WHERE name = $2",
-            &p.new_email,
-            &p.username,
-        )
-        .execute(&self.pool)
-        .await
-        .map_err(|e| map_row_not_found_err(e, ServiceError::AccountNotFound))?;
-
-        Ok(())
-    }
-
-    /// get a user's password
-    pub async fn get_password(&self, l: &Login<'_>) -> ServiceResult<NameHash> {
-        struct Password {
-            name: String,
-            password: String,
-        }
-
-        let rec = match l {
-            Login::Username(u) => sqlx::query_as!(
-                Password,
-                r#"SELECT name, password  FROM librepages_users WHERE name = ($1)"#,
-                u,
-            )
-            .fetch_one(&self.pool)
-            .await
-            .map_err(|e| map_row_not_found_err(e, ServiceError::AccountNotFound))?,
-            Login::Email(e) => sqlx::query_as!(
-                Password,
-                r#"SELECT name, password  FROM librepages_users WHERE email = ($1)"#,
-                e,
-            )
-            .fetch_one(&self.pool)
-            .await
-            .map_err(|e| map_row_not_found_err(e, ServiceError::AccountNotFound))?,
-        };
-
-        let res = NameHash {
-            hash: rec.password,
-            username: rec.name,
-        };
-
-        Ok(res)
-    }
-
-    /// update user's password
-    async fn update_password(&self, p: &NameHash) -> ServiceResult<()> {
-        sqlx::query!(
-            "UPDATE librepages_users set password = $1
-            WHERE name = $2",
-            &p.hash,
-            &p.username,
-        )
-        .execute(&self.pool)
-        .await
-        .map_err(|e| map_row_not_found_err(e, ServiceError::AccountNotFound))?;
-
-        Ok(())
-    }
-
-    /// update username
-    async fn update_username(&self, current: &str, new: &str) -> ServiceResult<()> {
-        sqlx::query!(
-            "UPDATE librepages_users set name = $1
-            WHERE name = $2",
-            new,
-            current,
-        )
-        .execute(&self.pool)
-        .await
-        .map_err(|e| map_row_not_found_err(e, ServiceError::AccountNotFound))?;
-
-        Ok(())
-    }
-}
-
-#[derive(Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
-/// Data required to register a new user
-pub struct Register<'a> {
-    /// username of new user
-    pub username: &'a str,
-    /// hashed password of new use
-    pub hash: &'a str,
-    /// Optionally, email of new use
-    pub email: &'a str,
-}
-
-#[derive(Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
-/// data required to update them email of a user
-pub struct UpdateEmail<'a> {
-    /// username of the user
-    pub username: &'a str,
-    /// new email address of the user
-    pub new_email: &'a str,
-}
-
-#[derive(Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
-/// types of credentials used as identifiers during login
-pub enum Login<'a> {
-    /// username as login
-    Username(&'a str),
-    /// email as login
-    Email(&'a str),
-}
-
-#[derive(Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
-/// type encapsulating username and hashed password of a user
-pub struct NameHash {
-    /// username
-    pub username: String,
-    /// hashed password
-    pub hash: String,
-}
-
-fn now_unix_time_stamp() -> OffsetDateTime {
-    OffsetDateTime::now_utc()
-}
-
-pub async fn get_db(settings: &crate::settings::Settings) -> Database {
-    let pool_options = PgPoolOptions::new().max_connections(settings.database.pool);
-    ConnectionOptions::Fresh(Fresh {
-        pool_options,
-        url: settings.database.url.clone(),
-        disable_logging: !settings.debug,
-    })
-    .connect()
-    .await
-    .unwrap()
-}
-
-/// map custom row not found error to DB error
-pub fn map_row_not_found_err(e: sqlx::Error, row_not_found: ServiceError) -> ServiceError {
-    if let sqlx::Error::RowNotFound = e {
-        row_not_found
-    } else {
-        map_register_err(e)
-    }
-}
-
-/// map postgres errors to [ServiceError](ServiceError) types
-fn map_register_err(e: sqlx::Error) -> ServiceError {
-    use sqlx::Error;
-    use std::borrow::Cow;
-
-    if let Error::Database(err) = e {
-        if err.code() == Some(Cow::from("23505")) {
-            let msg = err.message();
-            println!("{}", msg);
-            if msg.contains("librepages_users_name_key") {
-                ServiceError::UsernameTaken
-            } else if msg.contains("librepages_users_email_key") {
-                ServiceError::EmailTaken
-            } else {
-                log::error!("{}", msg);
-                ServiceError::InternalServerError
-            }
-        } else {
-            ServiceError::InternalServerError
-        }
-    } else {
-        ServiceError::InternalServerError
-    }
-}
-
-#[cfg(test)]
-mod tests {
-    use super::*;
-    use crate::settings::Settings;
-
-    #[actix_rt::test]
-    async fn db_works() {
-        let settings = Settings::new().unwrap();
-        let pool_options = PgPoolOptions::new().max_connections(1);
-        let db = ConnectionOptions::Fresh(Fresh {
-            pool_options,
-            url: settings.database.url.clone(),
-            disable_logging: !settings.debug,
-        })
-        .connect()
-        .await
-        .unwrap();
-        assert!(db.ping().await);
-
-        const EMAIL: &str = "postgresuser@foo.com";
-        const EMAIL2: &str = "postgresuser2@foo.com";
-        const NAME: &str = "postgresuser";
-        const PASSWORD: &str = "pasdfasdfasdfadf";
-
-        db.migrate().await.unwrap();
-        let p = super::Register {
-            username: NAME,
-            email: EMAIL,
-            hash: PASSWORD,
-        };
-
-        if db.username_exists(p.username).await.unwrap() {
-            db.delete_user(p.username).await.unwrap();
-            assert!(
-                !db.username_exists(p.username).await.unwrap(),
-                "user is deleted so username shouldn't exist"
-            );
-        }
-
-        db.register(&p).await.unwrap();
-
-        assert!(matches!(
-            db.register(&p).await,
-            Err(ServiceError::UsernameTaken)
-        ));
-
-        // testing get_password
-
-        // with username
-        let name_hash = db.get_password(&Login::Username(p.username)).await.unwrap();
-        assert_eq!(name_hash.hash, p.hash, "user password matches");
-
-        assert_eq!(name_hash.username, p.username, "username matches");
-
-        // with email
-        let mut name_hash = db.get_password(&Login::Email(p.email)).await.unwrap();
-        assert_eq!(name_hash.hash, p.hash, "user password matches");
-        assert_eq!(name_hash.username, p.username, "username matches");
-
-        // testing get_email
-        assert_eq!(db.get_email(p.username).await.unwrap(), p.email);
-
-        // testing email exists
-        assert!(
-            db.email_exists(p.email).await.unwrap(),
-            "user is registered so email should exist"
-        );
-        assert!(
-            db.username_exists(p.username).await.unwrap(),
-            "user is registered so username should exist"
-        );
-
-        // update password test. setting password = username
-        name_hash.hash = name_hash.username.clone();
-        db.update_password(&name_hash).await.unwrap();
-
-        let name_hash = db.get_password(&Login::Username(p.username)).await.unwrap();
-        assert_eq!(
-            name_hash.hash, p.username,
-            "user password matches with changed value"
-        );
-        assert_eq!(name_hash.username, p.username, "username matches");
-
-        // update username to p.email
-        assert!(
-            !db.username_exists(p.email).await.unwrap(),
-            "user with p.email doesn't exist. pre-check to update username to p.email"
-        );
-        db.update_username(p.username, p.email).await.unwrap();
-        assert!(
-            db.username_exists(p.email).await.unwrap(),
-            "user with p.email exist post-update"
-        );
-
-        // testing update email
-        let update_email = UpdateEmail {
-            username: p.username,
-            new_email: EMAIL2,
-        };
-        db.update_email(&update_email).await.unwrap();
-        println!(
-            "null user email: {}",
-            db.email_exists(p.email).await.unwrap()
-        );
-        assert!(
-            db.email_exists(p.email).await.unwrap(),
-            "user was with empty email but email is set; so email should exist"
-        );
-
-        // deleting user
-        db.delete_user(p.email).await.unwrap();
-        assert!(
-            !db.username_exists(p.email).await.unwrap(),
-            "user is deleted so username shouldn't exist"
-        );
-    }
-}
-
-
- \ No newline at end of file diff --git a/src/pages/deploy.rs.html b/src/pages/deploy.rs.html index 602e679..b1085c9 100644 --- a/src/pages/deploy.rs.html +++ b/src/pages/deploy.rs.html @@ -241,7 +241,7 @@ pub branch: String, } -pub fn find_page<'a>(secret: &str, ctx: &'a AppCtx) -> Option<&'a Page> { +fn find_page<'a>(secret: &str, ctx: &'a AppCtx) -> Option<&'a Page> { for page in ctx.settings.pages.iter() { if page.secret == secret { return Some(page); @@ -250,13 +250,13 @@ None } -#[actix_web_codegen_const_routes::post(path = "crate::V1_API_ROUTES.deploy.update")] +#[my_codegen::post(path = "crate::V1_API_ROUTES.deploy.update")] async fn update(payload: web::Json<DeployEvent>, ctx: AppCtx) -> ServiceResult<impl Responder> { if let Some(page) = find_page(&payload.secret, &ctx) { let (tx, rx) = oneshot::channel(); let page = page.clone(); web::block(move || { - tx.send(page.update(&payload.branch)).unwrap(); + tx.send(page.update()).unwrap(); }) .await .unwrap(); @@ -267,12 +267,12 @@ } } -#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)] +#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)] pub struct DeploySecret { pub secret: String, } -#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)] +#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)] pub struct DeployInfo { pub head: String, pub remote: String, @@ -295,7 +295,7 @@ } } -#[actix_web_codegen_const_routes::post(path = "crate::V1_API_ROUTES.deploy.info")] +#[my_codegen::post(path = "crate::V1_API_ROUTES.deploy.info")] async fn deploy_info( payload: web::Json<DeploySecret>, ctx: AppCtx, diff --git a/src/pages/errors.rs.html b/src/pages/errors.rs.html index 672371b..218f28d 100644 --- a/src/pages/errors.rs.html +++ b/src/pages/errors.rs.html @@ -193,21 +193,6 @@ 187 188 189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -224,9 +209,8 @@
  * You should have received a copy of the GNU Affero General Public License
  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
-//! Represents all the ways a trait can fail using this crate
+//! represents all the ways a trait can fail using this crate
 use std::convert::From;
-use std::error::Error as StdError;
 use std::io::Error as FSErrorInner;
 use std::sync::Arc;
 
@@ -337,16 +321,6 @@
 
     #[display(fmt = "Branch {} not found", _0)]
     BranchNotFound(#[error(not(source))] String),
-
-    /// Username is taken
-    #[display(fmt = "Username is taken")]
-    UsernameTaken,
-    /// Email is taken
-    #[display(fmt = "Email is taken")]
-    EmailTaken,
-    /// Account not found
-    #[display(fmt = "Account not found")]
-    AccountNotFound,
 }
 
 impl From<ParseError> for ServiceError {
@@ -405,10 +379,6 @@
             ServiceError::BadRequest(_) => StatusCode::BAD_REQUEST,
             ServiceError::GitError(_) => StatusCode::BAD_REQUEST,
             ServiceError::BranchNotFound(_) => StatusCode::CONFLICT,
-
-            ServiceError::EmailTaken => StatusCode::BAD_REQUEST,
-            ServiceError::UsernameTaken => StatusCode::BAD_REQUEST,
-            ServiceError::AccountNotFound => StatusCode::NOT_FOUND,
         }
     }
 }
diff --git a/src/pages/git.rs.html b/src/pages/git.rs.html
deleted file mode 100644
index a858355..0000000
--- a/src/pages/git.rs.html
+++ /dev/null
@@ -1,593 +0,0 @@
-git.rs - source
-    
1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-117
-118
-119
-120
-121
-122
-123
-124
-125
-126
-127
-128
-129
-130
-131
-132
-133
-134
-135
-136
-137
-138
-139
-140
-141
-142
-143
-144
-145
-146
-147
-148
-149
-150
-151
-152
-153
-154
-155
-156
-157
-158
-159
-160
-161
-162
-163
-164
-165
-166
-167
-168
-169
-170
-171
-172
-173
-174
-175
-176
-177
-178
-179
-180
-181
-182
-183
-184
-185
-186
-187
-188
-189
-190
-191
-192
-193
-194
-195
-196
-197
-198
-199
-200
-201
-202
-203
-204
-205
-206
-207
-208
-209
-210
-211
-212
-213
-214
-215
-216
-217
-218
-219
-220
-221
-222
-223
-224
-225
-226
-227
-228
-229
-230
-231
-232
-233
-234
-235
-236
-237
-238
-239
-240
-241
-242
-243
-244
-245
-246
-247
-248
-249
-250
-251
-252
-253
-254
-255
-256
-257
-258
-259
-260
-261
-262
-263
-264
-265
-266
-267
-268
-269
-270
-271
-272
-273
-274
-275
-276
-277
-278
-279
-280
-281
-282
-283
-284
-285
-286
-287
-288
-289
-290
-291
-292
-
/*
- * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <https://www.gnu.org/licenses/>.
- */
-use std::path::Path;
-
-use git2::*;
-use mime_guess::MimeGuess;
-use num_enum::FromPrimitive;
-use serde::{Deserialize, Serialize};
-
-use crate::errors::*;
-
-/// A FileMode represents the kind of tree entries used by git. It
-/// resembles regular file systems modes, although FileModes are
-/// considerably simpler (there are not so many), and there are some,
-/// like Submodule that has no file system equivalent.
-// Adapted from https://github.com/go-git/go-git/blob/master/plumbing/filemode/filemode.go(Apache-2.0 License)
-#[derive(Debug, PartialEq, Eq, Clone, FromPrimitive)]
-#[repr(isize)]
-pub enum GitFileMode {
-    /// Empty is used as the GitFileMode of tree elements when comparing
-    /// trees in the following situations:
-    ///
-    /// - the mode of tree elements before their creation.  
-    /// - the mode of tree elements after their deletion.  
-    /// - the mode of unmerged elements when checking the index.
-    ///
-    /// Empty has no file system equivalent.  As Empty is the zero value
-    /// of [GitFileMode]
-    Empty = 0,
-    /// Regular represent non-executable files.
-    Regular = 0o100644,
-    /// Dir represent a Directory.
-    Dir = 0o40000,
-    /// Deprecated represent non-executable files with the group writable bit set.  This mode was
-    /// supported by the first versions of git, but it has been deprecated nowadays.  This
-    /// library(github.com/go-git/go-git uses it, not realaravinth/gitpad at the moment) uses them
-    /// internally, so you can read old packfiles, but will treat them as Regulars when interfacing
-    /// with the outside world.  This is the standard git behaviour.
-    Deprecated = 0o100664,
-    /// Executable represents executable files.
-    Executable = 0o100755,
-    /// Symlink represents symbolic links to files.
-    Symlink = 0o120000,
-    /// Submodule represents git submodules.  This mode has no file system
-    /// equivalent.
-    Submodule = 0o160000,
-
-    /// Unsupported file mode
-    #[num_enum(default)]
-    Unsupported = -1,
-}
-
-impl From<&'_ TreeEntry<'_>> for GitFileMode {
-    fn from(t: &TreeEntry) -> Self {
-        GitFileMode::from(t.filemode() as isize)
-    }
-}
-
-impl From<TreeEntry<'_>> for GitFileMode {
-    fn from(t: TreeEntry) -> Self {
-        GitFileMode::from(t.filemode() as isize)
-    }
-}
-
-#[derive(Debug, Clone, Eq, PartialEq)]
-pub struct FileInfo {
-    pub filename: String,
-    pub content: ContentType,
-    pub mime: MimeGuess,
-}
-
-#[derive(Serialize, Eq, PartialEq, Clone, Debug, Deserialize)]
-#[serde(rename_all = "lowercase")]
-pub enum ContentType {
-    Binary(Vec<u8>),
-    Text(String),
-}
-
-impl ContentType {
-    pub fn bytes(self) -> Vec<u8> {
-        match self {
-            Self::Text(text) => text.into(),
-            Self::Binary(bin) => bin,
-        }
-    }
-
-    pub fn from_blob(blob: &git2::Blob) -> Self {
-        if blob.is_binary() {
-            Self::Binary(blob.content().to_vec())
-        } else {
-            Self::Text(String::from_utf8_lossy(blob.content()).to_string())
-        }
-    }
-}
-
-/// Please note that this method expects path to not contain any spaces
-/// Use [escape_spaces] before calling this method
-///
-/// For example, a read request for "foo bar.md" will fail even if that file is present
-/// in the repository. However, it will succeed if the output of [escape_spaces] is
-/// used in the request.
-pub fn read_file(repo_path: &str, path: &str) -> ServiceResult<FileInfo> {
-    let repo = git2::Repository::open(repo_path).unwrap();
-    let head = repo.head().unwrap();
-    let tree = head.peel_to_tree().unwrap();
-    read_file_inner(&repo, path, &tree)
-}
-
-pub fn read_preview_file(
-    repo_path: &str,
-    preview_name: &str,
-    path: &str,
-) -> ServiceResult<FileInfo> {
-    let repo = git2::Repository::open(repo_path).unwrap();
-    let branch = repo
-        .find_branch(preview_name, git2::BranchType::Local)
-        .unwrap();
-    //    let tree = head.peel_to_tree().unwrap();
-    let branch = branch.into_reference();
-    let tree = branch.peel_to_tree().unwrap();
-    read_file_inner(&repo, path, &tree)
-}
-
-fn read_file_inner(
-    repo: &git2::Repository,
-    path: &str,
-    tree: &git2::Tree,
-) -> ServiceResult<FileInfo> {
-    fn read_file(id: Oid, repo: &git2::Repository) -> ContentType {
-        let blob = repo.find_blob(id).unwrap();
-        ContentType::from_blob(&blob)
-    }
-
-    fn get_index_file(id: Oid, repo: &Repository) -> ContentType {
-        let tree = repo.find_tree(id).unwrap();
-        const INDEX_FILES: [&str; 7] = [
-            "index.html",
-            "index.md",
-            "INDEX.md",
-            "README.md",
-            "README",
-            "readme.txt",
-            "readme",
-        ];
-
-        let content = if let Some(index_file) = tree.iter().find(|x| {
-            if let Some(name) = x.name() {
-                INDEX_FILES.iter().any(|index_name| *index_name == name)
-            } else {
-                false
-            }
-        }) {
-            read_file(index_file.id(), repo)
-        } else {
-            unimplemented!("Index file not found");
-        };
-        content
-    }
-
-    let inner = |repo: &git2::Repository, tree: &git2::Tree| -> ServiceResult<FileInfo> {
-        //        let head = repo.head().unwrap();
-        //        let tree = head.peel_to_tree().unwrap();
-        let mut path = path;
-        if path == "/" {
-            let content = get_index_file(tree.id(), repo);
-            return Ok(FileInfo {
-                filename: "/".into(),
-                content,
-                mime: mime_guess::from_path("index.html"),
-            });
-        }
-        if path.starts_with('/') {
-            path = path.trim_start_matches('/');
-        }
-        let entry = tree.get_path(Path::new(path)).unwrap();
-        //FileType::Dir(items)
-
-        let mode: GitFileMode = entry.clone().into();
-        if let Some(name) = entry.name() {
-            let file = match mode {
-                GitFileMode::Dir => get_index_file(entry.id(), repo),
-                GitFileMode::Submodule => unimplemented!(),
-                GitFileMode::Empty => unimplemented!(),
-                GitFileMode::Deprecated => unimplemented!(),
-                GitFileMode::Unsupported => unimplemented!(),
-                GitFileMode::Symlink => unimplemented!(),
-                GitFileMode::Executable => read_file(entry.id(), repo),
-                GitFileMode::Regular => read_file(entry.id(), repo),
-            };
-            Ok(FileInfo {
-                filename: name.to_string(),
-                mime: mime_guess::from_path(path),
-                content: file,
-            })
-        } else {
-            unimplemented!();
-        }
-    };
-
-    //let repo = git2::Repository::open(repo_path).unwrap();
-    inner(repo, tree)
-}
-
-#[cfg(test)]
-pub mod tests {
-    use super::*;
-
-    const FILE_CONTENT: &str = "foobar";
-
-    fn write_file_util(path: &str) {
-        // TODO change updated in DB
-        let inner = |repo: &mut Repository| -> ServiceResult<()> {
-            let mut tree_builder = match repo.head() {
-                Err(_) => repo.treebuilder(None).unwrap(),
-
-                Ok(h) => repo.treebuilder(Some(&h.peel_to_tree().unwrap())).unwrap(),
-            };
-
-            let odb = repo.odb().unwrap();
-
-            let obj = odb
-                .write(ObjectType::Blob, FILE_CONTENT.as_bytes())
-                .unwrap();
-            tree_builder.insert("README.txt", obj, 0o100644).unwrap();
-            let tree_hash = tree_builder.write().unwrap();
-            let author = Signature::now("librepages", "admin@librepages.org").unwrap();
-            let committer = Signature::now("librepages", "admin@librepages.org").unwrap();
-
-            let commit_tree = repo.find_tree(tree_hash).unwrap();
-            let msg = "";
-            if let Err(e) = repo.head() {
-                if e.code() == ErrorCode::UnbornBranch && e.class() == ErrorClass::Reference {
-                    // fisrt commit ever; set parent commit(s) to empty array
-                    repo.commit(Some("HEAD"), &author, &committer, msg, &commit_tree, &[])
-                        .unwrap();
-                } else {
-                    panic!("{:?}", e);
-                }
-            } else {
-                let head_ref = repo.head().unwrap();
-                let head_commit = head_ref.peel_to_commit().unwrap();
-                repo.commit(
-                    Some("HEAD"),
-                    &author,
-                    &committer,
-                    msg,
-                    &commit_tree,
-                    &[&head_commit],
-                )
-                .unwrap();
-            };
-
-            Ok(())
-        };
-
-        if Repository::open(path).is_err() {
-            let _ = Repository::init(path);
-        }
-        let mut repo = Repository::open(path).unwrap();
-        let _ = inner(&mut repo);
-    }
-
-    #[test]
-    fn test_git_write_read_works() {
-        const PATH: &str = "/tmp/librepges/test_git_write_read_works";
-
-        write_file_util(PATH);
-        let resp = read_file(PATH, "README.txt").unwrap();
-        assert_eq!(resp.filename, "README.txt");
-        assert_eq!(resp.content.bytes(), FILE_CONTENT.as_bytes());
-        assert_eq!(resp.mime.first().unwrap(), "text/plain");
-
-        let resp = read_preview_file(PATH, "master", "README.txt").unwrap();
-        assert_eq!(resp.filename, "README.txt");
-        assert_eq!(resp.content.bytes(), FILE_CONTENT.as_bytes());
-        assert_eq!(resp.mime.first().unwrap(), "text/plain");
-    }
-}
-
-
- \ No newline at end of file diff --git a/src/pages/main.rs.html b/src/pages/main.rs.html index 96515cc..b96ab71 100644 --- a/src/pages/main.rs.html +++ b/src/pages/main.rs.html @@ -107,58 +107,6 @@ 101 102 103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -182,24 +130,18 @@
     error::InternalError, http::StatusCode, middleware as actix_middleware, web::Data as WebData,
     web::JsonConfig, App, HttpServer,
 };
-use clap::{Parser, SubCommand, Subcommand};
 use log::info;
 
 mod ctx;
-mod db;
 mod deploy;
 mod errors;
-mod git;
 mod meta;
 mod page;
-mod preview;
 mod routes;
-mod serve;
 mod settings;
 #[cfg(test)]
 mod tests;
 
-use ctx::Ctx;
 pub use routes::ROUTES as V1_API_ROUTES;
 pub use settings::Settings;
 
@@ -211,76 +153,30 @@
 pub const PKG_DESCRIPTION: &str = env!("CARGO_PKG_DESCRIPTION");
 pub const PKG_HOMEPAGE: &str = env!("CARGO_PKG_HOMEPAGE");
 
-pub type AppCtx = WebData<ctx::ArcCtx>;
+pub type AppCtx = WebData<Arc<ctx::Ctx>>;
 
-//#[cfg(not(tarpaulin_include))]
-//#[actix_web::main]
-//async fn main() -> std::io::Result<()> {
-//    {
-//        const LOG_VAR: &str = "RUST_LOG";
-//        if env::var(LOG_VAR).is_err() {
-//            env::set_var("RUST_LOG", "info");
-//        }
-//    }
-//
-//    let settings = Settings::new().unwrap();
-//    let ctx = WebData::new(ctx::Ctx::new(settings.clone()));
-//
-//    pretty_env_logger::init();
-//
-//    info!(
-//        "{}: {}.\nFor more information, see: {}\nBuild info:\nVersion: {} commit: {}",
-//        PKG_NAME, PKG_DESCRIPTION, PKG_HOMEPAGE, VERSION, GIT_COMMIT_HASH
-//    );
-//
-//
-//}
-
-#[derive(Parser)]
-#[clap(author, version, about, long_about = None)]
-struct Cli {
-    #[clap(subcommand)]
-    command: Commands,
-}
-
-#[derive(Subcommand)]
-enum Commands {
-    /// run database migrations
-    Migrate,
-
-    /// run server
-    Serve,
-}
-
-#[actix_web::main]
 #[cfg(not(tarpaulin_include))]
+#[actix_web::main]
 async fn main() -> std::io::Result<()> {
-    env::set_var("RUST_LOG", "info");
+    {
+        const LOG_VAR: &str = "RUST_LOG";
+        if env::var(LOG_VAR).is_err() {
+            env::set_var("RUST_LOG", "info");
+        }
+    }
+
+    let settings = Settings::new().unwrap();
+    let ctx = WebData::new(ctx::Ctx::new(settings.clone()));
 
     pretty_env_logger::init();
 
-    let cli = Cli::parse();
-
     info!(
         "{}: {}.\nFor more information, see: {}\nBuild info:\nVersion: {} commit: {}",
         PKG_NAME, PKG_DESCRIPTION, PKG_HOMEPAGE, VERSION, GIT_COMMIT_HASH
     );
 
-    let settings = Settings::new().unwrap();
-    let ctx = Ctx::new(settings.clone()).await;
-    let ctx = actix_web::web::Data::new(ctx);
-
-    match &cli.command {
-        Commands::Migrate => ctx.db.migrate().await.unwrap(),
-        Commands::Serve => serve(settings, ctx).await.unwrap(),
-    }
-    Ok(())
-}
-
-async fn serve(settings: Settings, ctx: AppCtx) -> std::io::Result<()> {
-    let ip = settings.server.get_ip();
-
     info!("Starting server on: http://{}", settings.server.get_ip());
+
     HttpServer::new(move || {
         App::new()
             .wrap(actix_middleware::Logger::default())
diff --git a/src/pages/meta.rs.html b/src/pages/meta.rs.html
index 7129c4b..3b3d05a 100644
--- a/src/pages/meta.rs.html
+++ b/src/pages/meta.rs.html
@@ -124,7 +124,7 @@
 }
 
 /// emmits build details of the bninary
-#[actix_web_codegen_const_routes::get(path = "crate::V1_API_ROUTES.meta.build_details")]
+#[my_codegen::get(path = "crate::V1_API_ROUTES.meta.build_details")]
 async fn build_details(ctx: AppCtx) -> impl Responder {
     let build = BuildDetails {
         version: VERSION,
diff --git a/src/pages/page.rs.html b/src/pages/page.rs.html
index 3bb3cd5..d673d7a 100644
--- a/src/pages/page.rs.html
+++ b/src/pages/page.rs.html
@@ -288,10 +288,6 @@
 282
 283
 284
-285
-286
-287
-288
 
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -309,9 +305,12 @@
  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
 
-use git2::{build::CheckoutBuilder, BranchType, Direction, Oid, Remote, Repository};
+use git2::{
+    build::CheckoutBuilder, Branch, BranchType, Direction, ObjectType, Oid, Remote, Repository,
+};
 #[cfg(not(test))]
 use log::info;
+use std::io::{self, Write};
 
 #[cfg(test)]
 use std::println as info;
@@ -320,13 +319,12 @@
 
 use crate::errors::*;
 
-#[derive(Debug, Clone, Eq, PartialEq, Deserialize)]
+#[derive(Debug, Clone, PartialEq, Deserialize)]
 pub struct Page {
     pub secret: String,
     pub repo: String,
     pub path: String,
     pub branch: String,
-    pub domain: String,
 }
 
 impl Page {
@@ -367,14 +365,10 @@
         Ok(())
     }
 
-    fn fetch<'a>(
-        &self,
-        repo: &'a git2::Repository,
-        branch: &str,
-    ) -> ServiceResult<git2::AnnotatedCommit<'a>> {
+    fn fetch<'a>(&self, repo: &'a git2::Repository) -> ServiceResult<git2::AnnotatedCommit<'a>> {
         let mut remote = repo.find_remote("origin")?;
         log::info!("Fetching {} for repo", remote.name().unwrap());
-        remote.fetch(&[branch], None, None)?;
+        remote.fetch(&[&self.branch], None, None)?;
         let fetch_head = repo.find_reference("FETCH_HEAD")?;
         Ok(repo.reference_to_annotated_commit(&fetch_head)?)
     }
@@ -383,7 +377,6 @@
         &self,
         repo: &'a Repository,
         fetch_commit: git2::AnnotatedCommit<'a>,
-        branch: &str,
     ) -> ServiceResult<()> {
         // 1. do a merge analysis
         let analysis = repo.merge_analysis(&[&fetch_commit])?;
@@ -393,7 +386,7 @@
             //log::debug!("Doing a fast forward");
             log::debug!("Doing a fast forward");
             // do a fast forward
-            let refname = format!("refs/heads/{}", branch);
+            let refname = format!("refs/heads/{}", &self.branch);
             match repo.find_reference(&refname) {
                 Ok(mut r) => {
                     log::debug!("fast forwarding");
@@ -408,7 +401,7 @@
                         &refname,
                         fetch_commit.id(),
                         true,
-                        &format!("Setting {} to {}", branch, fetch_commit.id()),
+                        &format!("Setting {} to {}", &self.branch, fetch_commit.id()),
                     )
                     .unwrap();
                     repo.set_head(&refname).unwrap();
@@ -427,7 +420,7 @@
             let head_commit = repo
                 .reference_to_annotated_commit(&repo.head().unwrap())
                 .unwrap();
-            Self::normal_merge(repo, &head_commit, &fetch_commit).unwrap();
+            Self::normal_merge(&repo, &head_commit, &fetch_commit).unwrap();
         } else {
             log::info!("Nothing to do...");
         }
@@ -508,10 +501,10 @@
         Ok(())
     }
 
-    pub fn update(&self, branch: &str) -> ServiceResult<()> {
+    pub fn update(&self) -> ServiceResult<()> {
         let repo = self.create_repo()?;
-        let fetch_commit = self.fetch(&repo, branch)?;
-        self.merge(&repo, fetch_commit, branch)?;
+        let fetch_commit = self.fetch(&repo)?;
+        self.merge(&repo, fetch_commit)?;
         Ok(())
     }
 
@@ -551,7 +544,6 @@
             repo: "https://github.com/mcaptcha/website".to_owned(),
             path: tmp_dir.to_str().unwrap().to_string(),
             branch: "gh-pages".to_string(),
-            domain: "mcaptcha.org".into(),
         };
 
         assert!(
@@ -570,7 +562,7 @@
         let gh_pages = page.get_deploy_branch(&repo).unwrap();
         assert_eq!(gh_pages, "gh-pages");
         page.branch = "master".to_string();
-        page.update(&page.branch).unwrap();
+        page.update().unwrap();
         let master = page.get_deploy_branch(&repo).unwrap();
         assert_eq!(master, "master");
 
diff --git a/src/pages/preview.rs.html b/src/pages/preview.rs.html
deleted file mode 100644
index f8226a0..0000000
--- a/src/pages/preview.rs.html
+++ /dev/null
@@ -1,241 +0,0 @@
-preview.rs - source
-    
1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-
/*
- * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <https://www.gnu.org/licenses/>.
- */
-use crate::AppCtx;
-
-pub struct Preview<'a> {
-    pub base: &'a str,
-    pub delimiter: &'static str,
-    pub prefix: &'static str,
-}
-
-impl<'a> Preview<'a> {
-    pub fn new(ctx: &'a AppCtx) -> Self {
-        Self {
-            base: &ctx.settings.server.domain,
-            delimiter: ".",
-            prefix: "deploy-preview-",
-        }
-    }
-    pub fn get_name(&self, preview_number: usize) -> String {
-        format!(
-            "{}{preview_number}{}{}",
-            self.prefix, self.delimiter, self.base
-        )
-    }
-
-    pub fn extract(&self, hostname: &'a str) -> Option<&'a str> {
-        if !hostname.contains(&self.delimiter)
-            || !hostname.contains(&self.prefix)
-            || !hostname.contains(&self.base)
-        {
-            return None;
-        }
-
-        let d = format!("{}{}", self.delimiter, self.base);
-
-        if hostname.split(&d).count() == 2 {
-            return hostname.split(&d).next();
-        }
-        None
-    }
-}
-
-#[cfg(test)]
-mod tests {
-    use super::*;
-
-    #[test]
-    fn preview_extract_generate_works() {
-        const BASE_DOMAIN: &str = "librepages.site";
-        const PREVIEW_DELIMITER: &str = ".";
-        const PREVIEW_PREFIX: &str = "deploy-preview-";
-        const PREVIEW_NUMBER: usize = 1666;
-
-        let preview_hostname =
-            format!("{PREVIEW_PREFIX}{PREVIEW_NUMBER}{PREVIEW_DELIMITER}{BASE_DOMAIN}");
-
-        let bad_hostname = BASE_DOMAIN.to_string();
-
-        let extractor = Preview {
-            base: BASE_DOMAIN,
-            prefix: PREVIEW_PREFIX,
-            delimiter: PREVIEW_DELIMITER,
-        };
-
-        assert_eq!(extractor.get_name(PREVIEW_NUMBER), preview_hostname);
-
-        assert_eq!(extractor.extract(&bad_hostname), None);
-
-        assert_eq!(
-            extractor.extract(&format!(
-                "{PREVIEW_PREFIX}{PREVIEW_NUMBER}{PREVIEW_DELIMITER}no_base_domain"
-            )),
-            None
-        );
-
-        assert_eq!(
-            extractor.extract(&format!(
-                "{PREVIEW_PREFIX}{PREVIEW_NUMBER}no-delimiter{BASE_DOMAIN}"
-            )),
-            None
-        );
-
-        assert_eq!(
-            extractor.extract(&format!(
-                "{PREVIEW_PREFIX}{PREVIEW_NUMBER}no-delimiter{BASE_DOMAIN}"
-            )),
-            None
-        );
-
-        assert_eq!(
-            extractor.extract(&format!(
-                "noprefix{PREVIEW_NUMBER}{PREVIEW_DELIMITER}{BASE_DOMAIN}"
-            )),
-            None
-        );
-
-        assert_eq!(
-            extractor.extract(&preview_hostname),
-            Some(format!("{PREVIEW_PREFIX}{PREVIEW_NUMBER}").as_str())
-        );
-    }
-}
-
-
- \ No newline at end of file diff --git a/src/pages/routes.rs.html b/src/pages/routes.rs.html index 0cba503..27825d6 100644 --- a/src/pages/routes.rs.html +++ b/src/pages/routes.rs.html @@ -45,10 +45,6 @@ 39 40 41 -42 -43 -44 -45
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -69,14 +65,12 @@
 
 use crate::deploy::routes::Deploy;
 use crate::meta::routes::Meta;
-use crate::serve::routes::Serve;
 
 pub const ROUTES: Routes = Routes::new();
 
 pub struct Routes {
     pub meta: Meta,
     pub deploy: Deploy,
-    pub serve: Serve,
 }
 
 impl Routes {
@@ -84,7 +78,6 @@
         Self {
             meta: Meta::new(),
             deploy: Deploy::new(),
-            serve: Serve::new(),
         }
     }
 }
@@ -92,7 +85,6 @@
 pub fn services(cfg: &mut web::ServiceConfig) {
     crate::meta::services(cfg);
     crate::deploy::services(cfg);
-    crate::serve::services(cfg);
 }
 
diff --git a/src/pages/serve.rs.html b/src/pages/serve.rs.html deleted file mode 100644 index 87c92c6..0000000 --- a/src/pages/serve.rs.html +++ /dev/null @@ -1,241 +0,0 @@ -serve.rs - source -
1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-
/*
- * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <https://www.gnu.org/licenses/>.
- */
-use actix_web::{http::header::ContentType, web, HttpRequest, HttpResponse, Responder};
-
-use crate::errors::*;
-use crate::page::Page;
-use crate::AppCtx;
-
-pub mod routes {
-    pub struct Serve {
-        pub catch_all: &'static str,
-    }
-
-    impl Serve {
-        pub const fn new() -> Self {
-            Self {
-                catch_all: "/{path:.*}",
-            }
-        }
-    }
-}
-
-pub fn find_page<'a>(domain: &str, ctx: &'a AppCtx) -> Option<&'a Page> {
-    log::info!("looking for {domain}");
-    for page in ctx.settings.pages.iter() {
-        log::debug!("configured domains: {}", page.domain);
-        log::debug!("{}", page.domain.trim() == domain.trim());
-        if page.domain.trim() == domain.trim() {
-            log::debug!("found configured domains: {}", page.domain);
-            return Some(page);
-        }
-    }
-    None
-}
-
-#[actix_web_codegen_const_routes::get(path = "crate::V1_API_ROUTES.serve.catch_all")]
-async fn index(req: HttpRequest, ctx: AppCtx) -> ServiceResult<impl Responder> {
-    let c = req.connection_info();
-    let mut host = c.host();
-    if host.contains(':') {
-        host = host.split(':').next().unwrap();
-    }
-
-    if host == ctx.settings.server.domain || host == "localhost" {
-        return Ok(HttpResponse::Ok()
-            .content_type(ContentType::html())
-            .body("Welcome to Librepages!"));
-    }
-
-    if host.contains(&ctx.settings.server.domain) {
-        let extractor = crate::preview::Preview::new(&ctx);
-        if let Some(preview_branch) = extractor.extract(host) {
-            unimplemented!(
-                "map a local subdomain on settings.server.domain and use it to fetch page"
-            );
-            let res = match find_page(host, &ctx) {
-                Some(page) => {
-                    log::debug!("Page found");
-                    let content = crate::git::read_preview_file(
-                        &page.path,
-                        preview_branch,
-                        req.uri().path(),
-                    )?;
-                    let mime = if let Some(mime) = content.mime.first_raw() {
-                        mime
-                    } else {
-                        "text/html; charset=utf-8"
-                    };
-
-                    Ok(HttpResponse::Ok()
-                        //.content_type(ContentType::html())
-                        .content_type(mime)
-                        .body(content.content.bytes()))
-                }
-                None => Err(ServiceError::WebsiteNotFound),
-            };
-            return res;
-        }
-    }
-
-    match find_page(host, &ctx) {
-        Some(page) => {
-            log::debug!("Page found");
-            let content = crate::git::read_file(&page.path, req.uri().path())?;
-            let mime = if let Some(mime) = content.mime.first_raw() {
-                mime
-            } else {
-                "text/html; charset=utf-8"
-            };
-
-            Ok(HttpResponse::Ok()
-                //.content_type(ContentType::html())
-                .content_type(mime)
-                .body(content.content.bytes()))
-        }
-        None => Err(ServiceError::WebsiteNotFound),
-    }
-}
-
-pub fn services(cfg: &mut web::ServiceConfig) {
-    cfg.service(index);
-}
-
-
- \ No newline at end of file diff --git a/src/pages/settings.rs.html b/src/pages/settings.rs.html index ebea973..7dfa5f7 100644 --- a/src/pages/settings.rs.html +++ b/src/pages/settings.rs.html @@ -140,78 +140,6 @@ 134 135 136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -232,8 +160,7 @@
 use std::path::Path;
 use std::sync::Arc;
 
-use config::{Config, ConfigError, Environment, File};
-use derive_more::Display;
+use config::{Config, Environment, File};
 #[cfg(not(test))]
 use log::{error, warn};
 
@@ -241,7 +168,6 @@
 use std::{println as warn, println as error};
 
 use serde::Deserialize;
-use serde::Serialize;
 use url::Url;
 
 use crate::errors::*;
@@ -252,7 +178,6 @@
     pub port: u32,
     pub ip: String,
     pub workers: Option<usize>,
-    pub domain: String,
 }
 
 impl Server {
@@ -262,39 +187,11 @@
     }
 }
 
-#[derive(Deserialize, Serialize, Display, Eq, PartialEq, Clone, Debug)]
-#[serde(rename_all = "lowercase")]
-pub enum DBType {
-    #[display(fmt = "postgres")]
-    Postgres,
-    //    #[display(fmt = "maria")]
-    //    Maria,
-}
-
-impl DBType {
-    fn from_url(url: &Url) -> Result<Self, ConfigError> {
-        match url.scheme() {
-            //        "mysql" => Ok(Self::Maria),
-            "postgres" => Ok(Self::Postgres),
-            _ => Err(ConfigError::Message("Unknown database type".into())),
-        }
-    }
-}
-
-#[derive(Debug, Clone, Deserialize)]
-pub struct Database {
-    pub url: String,
-    pub pool: u32,
-    pub database_type: DBType,
-}
-
 #[derive(Debug, Clone, Deserialize)]
 pub struct Settings {
-    pub debug: bool,
     pub server: Server,
     pub source_code: String,
     pub pages: Vec<Arc<Page>>,
-    pub database: Database,
 }
 
 #[cfg(not(tarpaulin_include))]
@@ -328,56 +225,15 @@
 
         s = s.add_source(Environment::with_prefix("PAGES").separator("__"));
 
+        let mut settings = s.build()?.try_deserialize::<Settings>()?;
+        settings.check_url();
         match env::var("PORT") {
             Ok(val) => {
-                s = s.set_override("server.port", val).unwrap();
-                //settings.server.port = val.parse().unwrap();
+                settings.server.port = val.parse().unwrap();
             }
             Err(e) => warn!("couldn't interpret PORT: {}", e),
         }
 
-        if let Ok(val) = env::var("DATABASE_URL") {
-            //        match env::var("DATABASE_URL") {
-            //           Ok(val) => {
-            let url = Url::parse(&val).expect("couldn't parse Database URL");
-            s = s.set_override("database.url", url.to_string()).unwrap();
-            let database_type = DBType::from_url(&url).unwrap();
-            s = s
-                .set_override("database.database_type", database_type.to_string())
-                .unwrap();
-        }
-
-        //    Err(_e) => {
-        //    }
-
-        let intermediate_config = s.build_cloned().unwrap();
-
-        s = s
-            .set_override(
-                "database.url",
-                format!(
-                    r"postgres://{}:{}@{}:{}/{}",
-                    intermediate_config
-                        .get::<String>("database.username")
-                        .expect("Couldn't access database username"),
-                    intermediate_config
-                        .get::<String>("database.password")
-                        .expect("Couldn't access database password"),
-                    intermediate_config
-                        .get::<String>("database.hostname")
-                        .expect("Couldn't access database hostname"),
-                    intermediate_config
-                        .get::<String>("database.port")
-                        .expect("Couldn't access database port"),
-                    intermediate_config
-                        .get::<String>("database.name")
-                        .expect("Couldn't access database name")
-                ),
-            )
-            .expect("Couldn't set database url");
-
-        let settings = s.build()?.try_deserialize::<Settings>()?;
-        settings.check_url();
         settings.init();
 
         Ok(settings)
@@ -409,7 +265,7 @@
                     error!("{}", ServiceError::PathTaken(page.clone(), page2.clone()));
                 }
             }
-            if let Err(e) = page.update(&page.branch) {
+            if let Err(e) = page.update() {
                 error!("{e}");
             }
         }