Rewrote backend in Rust
This commit is contained in:
		@@ -5,6 +5,7 @@ import {
 | 
			
		||||
	post_token_form,
 | 
			
		||||
	isErrorResponse
 | 
			
		||||
} from './base';
 | 
			
		||||
import axios from 'axios';
 | 
			
		||||
 | 
			
		||||
export const get_root = (
 | 
			
		||||
	token: string
 | 
			
		||||
@@ -31,7 +32,7 @@ export const create_folder = (
 | 
			
		||||
	Responses.CreateFolder | Responses.CreateFolderExists | Responses.Error
 | 
			
		||||
> =>
 | 
			
		||||
	post_token<Requests.CreateFolder>(
 | 
			
		||||
		'/api/fs/createFolder',
 | 
			
		||||
		'/api/fs/create_folder',
 | 
			
		||||
		{
 | 
			
		||||
			parent: parent,
 | 
			
		||||
			name: name
 | 
			
		||||
@@ -47,7 +48,7 @@ export const create_file = (
 | 
			
		||||
	Responses.CreateFolder | Responses.CreateFolderExists | Responses.Error
 | 
			
		||||
> =>
 | 
			
		||||
	post_token<Requests.CreateFolder>(
 | 
			
		||||
		'/api/fs/createFile',
 | 
			
		||||
		'/api/fs/create_file',
 | 
			
		||||
		{
 | 
			
		||||
			parent: parent,
 | 
			
		||||
			name: name
 | 
			
		||||
@@ -89,14 +90,22 @@ export async function upload_file(
 | 
			
		||||
	if ('exists' in node && !node.isFile)
 | 
			
		||||
		return { statusCode: 400, message: 'File exists as folder' };
 | 
			
		||||
 | 
			
		||||
	const form = new FormData();
 | 
			
		||||
	form.set('file', file.file);
 | 
			
		||||
	return post_token_form(
 | 
			
		||||
		`/api/fs/upload/${node.id}`,
 | 
			
		||||
		form,
 | 
			
		||||
		token,
 | 
			
		||||
		onProgress
 | 
			
		||||
	);
 | 
			
		||||
	return axios
 | 
			
		||||
		.post(`/api/fs/upload/${node.id}`, file.file, {
 | 
			
		||||
			headers: {
 | 
			
		||||
				Authorization: 'Bearer ' + token,
 | 
			
		||||
				'Content-type': 'multipart/form-data'
 | 
			
		||||
			},
 | 
			
		||||
			onUploadProgress: onProgress
 | 
			
		||||
		})
 | 
			
		||||
		.then((res) => {
 | 
			
		||||
			console.log(res);
 | 
			
		||||
			return res.data;
 | 
			
		||||
		})
 | 
			
		||||
		.catch((err) => {
 | 
			
		||||
			console.log(err);
 | 
			
		||||
			return err.response.data;
 | 
			
		||||
		});
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function download_file(token: string, id: number) {
 | 
			
		||||
 
 | 
			
		||||
@@ -18,12 +18,19 @@ export async function check_token(
 | 
			
		||||
	token: TokenInjectType
 | 
			
		||||
): Promise<string | void> {
 | 
			
		||||
	if (!token.jwt.value) return token.logout();
 | 
			
		||||
	const payload = jwtDecode<JwtPayload>(token.jwt.value);
 | 
			
		||||
	if (!payload) return token.logout();
 | 
			
		||||
	// Expires in more than 60 Minute
 | 
			
		||||
	if (payload.exp && payload.exp > Math.floor(Date.now() / 1000 + 60 * 60))
 | 
			
		||||
		return token.jwt.value;
 | 
			
		||||
	return update_token(token);
 | 
			
		||||
	try {
 | 
			
		||||
		const payload = jwtDecode<JwtPayload>(token.jwt.value);
 | 
			
		||||
		if (!payload) return token.logout();
 | 
			
		||||
		// Expires in more than 60 Minute
 | 
			
		||||
		if (
 | 
			
		||||
			payload.exp &&
 | 
			
		||||
			payload.exp > Math.floor(Date.now() / 1000 + 60 * 60)
 | 
			
		||||
		)
 | 
			
		||||
			return token.jwt.value;
 | 
			
		||||
		return update_token(token);
 | 
			
		||||
	} catch {
 | 
			
		||||
		return token.logout();
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export type TokenInjectType = {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user