diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b46a74d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +release/* \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..49b6ed2 --- /dev/null +++ b/Makefile @@ -0,0 +1,19 @@ +all: server client + mkdir release + cp server/target/x86_64-unknown-linux-musl/release/hastic release + mkdir release/public + cp -r client/dist/* release/public/ + + +server: + cd server;cargo build --release --target x86_64-unknown-linux-musl + +client client/dist: + cd client;yarn build + +clean: + rm -r release + rm -r client/dist + rm -r server/target/release + +.PHONY: server client all diff --git a/README.md b/README.md index f6ebc85..5d51a17 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,14 @@ # Hastic +## Build release + +``` +make +``` + +``` +cd release +./hastic +``` + +open `http://localhost:8000` in browser diff --git a/client/src/services/auth.service.ts b/client/src/services/auth.service.ts index c9903e8..8b8cf97 100644 --- a/client/src/services/auth.service.ts +++ b/client/src/services/auth.service.ts @@ -2,7 +2,8 @@ import { User } from "@/types/user"; import axios from 'axios'; -const API_URL = 'http://localhost:8000/api/auth/'; +// TODO: get it from config +const API_URL = '/api/auth/'; class AuthService { login(user: User) { diff --git a/server/src/api.rs b/server/src/api.rs index e8bd073..bd0f27f 100644 --- a/server/src/api.rs +++ b/server/src/api.rs @@ -58,9 +58,11 @@ impl API { }) }); let login = auth::get_route(self.user_service.clone()); + let public = warp::fs::dir("public"); println!("Start server on 8000 port"); - let routes = login.or(options).or(not_found); + // TODO: move it to "server" + let routes = login.or(options).or(public).or(not_found); warp::serve(routes).run(([127, 0, 0, 1], 8000)).await; } } diff --git a/server/src/services/user_service.rs b/server/src/services/user_service.rs index 9f2042a..3ea4e62 100644 --- a/server/src/services/user_service.rs +++ b/server/src/services/user_service.rs @@ -6,7 +6,7 @@ use std::iter::repeat_with; pub type AccessToken = String; -const TOKEN_LENGTH: usize = 20; +const TOKEN_LENGTH: usize = 30; #[derive(Debug, Deserialize, Serialize, Clone)] pub struct User { @@ -34,7 +34,7 @@ impl UserService { } return None; } - pub fn check_token(&self, username: &String, token: &AccessToken) -> bool { + pub fn check_token(&self, token: &AccessToken) -> bool { return self.tokens.contains(token); } }