Slave/upload api #5
@@ -1,29 +1,21 @@
|
|||||||
const env = (key: string): string => {
|
const env = (key: string): string => {
|
||||||
const value = import.meta.env[key];
|
const value = import.meta.env[key];
|
||||||
|
|
||||||
if (value === undefined || value === null) {
|
if (value === undefined || value === null) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
return String(value);
|
return String(value);
|
||||||
};
|
};
|
||||||
|
|
||||||
const envInt = (key: string, fallback: number): number => {
|
const envInt = (key: string): number => parseInt(env(key), 10);
|
||||||
const raw = env(key);
|
|
||||||
if (!raw) {
|
|
||||||
return fallback;
|
|
||||||
}
|
|
||||||
const parsed = parseInt(raw, 10);
|
|
||||||
return Number.isFinite(parsed) ? parsed : fallback;
|
|
||||||
};
|
|
||||||
|
|
||||||
export const config = {
|
export const config = {
|
||||||
api: {
|
baseUrl: env('VITE_API_BASE_URL'),
|
||||||
baseUrl: env('VITE_API_BASE_URL')
|
|
||||||
},
|
|
||||||
share: {
|
|
||||||
clearnetDomain: env('VITE_CLEARNET_DOMAIN'),
|
clearnetDomain: env('VITE_CLEARNET_DOMAIN'),
|
||||||
onionHostname: env('VITE_ONION_HOSTNAME')
|
onionHostname: env('VITE_ONION_HOSTNAME'),
|
||||||
},
|
validation: {
|
||||||
limits: {
|
maxImagesPerUpload: envInt('VITE_VALIDATION_UPLOAD_MAX_IMAGES_PER_UPLOAD'),
|
||||||
maxImagesPerUpload: envInt('VITE_MAX_IMAGES_PER_UPLOAD', 10)
|
uploadMaxViewsMax: envInt('VITE_VALIDATION_UPLOAD_MAX_VIEWS_MAX')
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,10 +0,0 @@
|
|||||||
import axios from 'axios';
|
|
||||||
import { config } from '@/config';
|
|
||||||
|
|
||||||
export const api = axios.create({
|
|
||||||
baseURL: config.api.baseUrl,
|
|
||||||
headers: {
|
|
||||||
Accept: 'application/json',
|
|
||||||
'Content-Type': 'application/json'
|
|
||||||
}
|
|
||||||
});
|
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
import axios from 'axios';
|
||||||
|
import { config } from '@/config';
|
||||||
|
|
||||||
|
export const api = axios.create({
|
||||||
|
baseURL: config.baseUrl
|
||||||
|
});
|
||||||
Vendored
+2
-1
@@ -4,7 +4,8 @@ interface ImportMetaEnv {
|
|||||||
readonly VITE_API_BASE_URL: string;
|
readonly VITE_API_BASE_URL: string;
|
||||||
readonly VITE_CLEARNET_DOMAIN: string;
|
readonly VITE_CLEARNET_DOMAIN: string;
|
||||||
readonly VITE_ONION_HOSTNAME: string;
|
readonly VITE_ONION_HOSTNAME: string;
|
||||||
readonly VITE_MAX_IMAGES_PER_UPLOAD: string;
|
readonly VITE_VALIDATION_UPLOAD_MAX_IMAGES_PER_UPLOAD: string;
|
||||||
|
readonly VITE_VALIDATION_UPLOAD_MAX_VIEWS_MAX: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface ImportMeta {
|
interface ImportMeta {
|
||||||
|
|||||||
Reference in New Issue
Block a user