aboutsummaryrefslogtreecommitdiffstats
path: root/atuin-server
diff options
context:
space:
mode:
authorEllie Huxtable <e@elm.sh>2021-04-25 18:21:52 +0100
committerGitHub <noreply@github.com>2021-04-25 17:21:52 +0000
commit156893d774b4da5b541fdbb08428f9ec392949a0 (patch)
tree9185d94384aa62eb6eb099ddc4ca9408df6f90d1 /atuin-server
parentAdd to Cargo.toml (diff)
downloadatuin-156893d774b4da5b541fdbb08428f9ec392949a0.zip
Update docs, unify on SQLx, bugfixes (#40)
* Begin moving to sqlx for local too * Stupid scanners should just have a nice cup of tea Random internet shit searching for /.env or whatever * Remove diesel and rusqlite fully
Diffstat (limited to '')
-rw-r--r--atuin-server/migrations/20210425153745_create_history.sql (renamed from migrations/2021-03-20-151809_create_history/up.sql)2
-rw-r--r--atuin-server/migrations/20210425153757_create_users.sql (renamed from migrations/2021-03-20-171007_create_users/up.sql)1
-rw-r--r--atuin-server/migrations/20210425153800_create_sessions.sql (renamed from migrations/2021-03-21-181750_create_sessions/up.sql)2
-rw-r--r--atuin-server/src/database.rs2
-rw-r--r--atuin-server/src/router.rs7
-rw-r--r--atuin-server/src/settings.rs5
6 files changed, 9 insertions, 10 deletions
diff --git a/migrations/2021-03-20-151809_create_history/up.sql b/atuin-server/migrations/20210425153745_create_history.sql
index 4192b04d..2c2d17b0 100644
--- a/migrations/2021-03-20-151809_create_history/up.sql
+++ b/atuin-server/migrations/20210425153745_create_history.sql
@@ -1,5 +1,3 @@
--- Your SQL goes here
--- lower case SQL please, this isn't a shouting match
create table history (
id bigserial primary key,
client_id text not null unique, -- the client-generated ID
diff --git a/migrations/2021-03-20-171007_create_users/up.sql b/atuin-server/migrations/20210425153757_create_users.sql
index 46c6a372..a25dcced 100644
--- a/migrations/2021-03-20-171007_create_users/up.sql
+++ b/atuin-server/migrations/20210425153757_create_users.sql
@@ -1,4 +1,3 @@
--- Your SQL goes here
create table users (
id bigserial primary key, -- also store our own ID
username varchar(32) not null unique, -- being able to contact users is useful
diff --git a/migrations/2021-03-21-181750_create_sessions/up.sql b/atuin-server/migrations/20210425153800_create_sessions.sql
index b81705e2..c2fb6559 100644
--- a/migrations/2021-03-21-181750_create_sessions/up.sql
+++ b/atuin-server/migrations/20210425153800_create_sessions.sql
@@ -1,4 +1,4 @@
--- Your SQL goes here
+-- Add migration script here
create table sessions (
id bigserial primary key,
user_id bigserial,
diff --git a/atuin-server/src/database.rs b/atuin-server/src/database.rs
index 5945baaf..4a3828d0 100644
--- a/atuin-server/src/database.rs
+++ b/atuin-server/src/database.rs
@@ -40,6 +40,8 @@ impl Postgres {
.connect(uri)
.await?;
+ sqlx::migrate!("./migrations").run(&pool).await?;
+
Ok(Self { pool })
}
}
diff --git a/atuin-server/src/router.rs b/atuin-server/src/router.rs
index d106068d..ffab74e5 100644
--- a/atuin-server/src/router.rs
+++ b/atuin-server/src/router.rs
@@ -1,7 +1,7 @@
use std::convert::Infallible;
use eyre::Result;
-use warp::Filter;
+use warp::{hyper::StatusCode, Filter};
use atuin_common::api::SyncHistoryRequest;
@@ -56,7 +56,7 @@ fn with_user(
pub async fn router(
settings: &Settings,
-) -> Result<impl Filter<Extract = impl warp::Reply, Error = warp::Rejection> + Clone> {
+) -> Result<impl Filter<Extract = impl warp::Reply, Error = Infallible> + Clone> {
let postgres = Postgres::new(settings.db_uri.as_str()).await?;
let index = warp::get().and(warp::path::end()).map(handlers::index);
@@ -115,7 +115,8 @@ pub async fn router(
.or(add_history)
.or(user)
.or(register)
- .or(login),
+ .or(login)
+ .or(warp::any().map(|| warp::reply::with_status("☕", StatusCode::IM_A_TEAPOT))),
)
.with(warp::filters::log::log("atuin::api"));
diff --git a/atuin-server/src/settings.rs b/atuin-server/src/settings.rs
index e51b6b2a..7364656e 100644
--- a/atuin-server/src/settings.rs
+++ b/atuin-server/src/settings.rs
@@ -3,7 +3,6 @@ use std::io::prelude::*;
use std::path::PathBuf;
use config::{Config, Environment, File as ConfigFile};
-use directories::ProjectDirs;
use eyre::{eyre, Result};
pub const HISTORY_PAGE_SIZE: i64 = 100;
@@ -18,8 +17,8 @@ pub struct Settings {
impl Settings {
pub fn new() -> Result<Self> {
- let config_dir = ProjectDirs::from("com", "elliehuxtable", "atuin").unwrap();
- let config_dir = config_dir.config_dir();
+ let config_dir = atuin_common::utils::config_dir();
+ let config_dir = config_dir.as_path();
create_dir_all(config_dir)?;