frontend: add config for endpoints

Signed-off-by: Nicolas Froger <nicolas@kektus.xyz>
This commit is contained in:
Nicolas Froger 2024-07-25 12:47:45 +02:00
commit bfaa1c0014
No known key found for this signature in database
7 changed files with 19 additions and 7 deletions

View file

@ -1 +1,3 @@
VUE_APP_API_BASEURL=http://localhost:8080 VITE_API_BASEURL=http://localhost:8080
VITE_S3_ENDPOINT=http://localhost:32771
VITE_S3_BUCKET=assets

View file

@ -0,0 +1,3 @@
VITE_API_BASEURL=https://api.summer2024.kektus.fr
VITE_S3_ENDPOINT=https://s3.kektus.fr
VITE_S3_BUCKET=kektus-summer2024-assets

View file

@ -0,0 +1,3 @@
export const API_BASE_URL = import.meta.env.VITE_API_BASEURL;
export const S3_ENDPOINT = import.meta.env.VITE_S3_ENDPOINT;
export const S3_BUCKET = import.meta.env.VITE_S3_BUCKET;

View file

@ -1,6 +1,7 @@
import { defineStore } from 'pinia' import { defineStore } from 'pinia'
import { ref } from 'vue' import { ref } from 'vue'
import { useAuthStore } from '@/stores/auth.js' import { useAuthStore } from '@/stores/auth.js'
import { API_BASE_URL } from '@/config.js'
export const useAdminPostsStore = defineStore("adminPosts", () => { export const useAdminPostsStore = defineStore("adminPosts", () => {
const authStore = useAuthStore(); const authStore = useAuthStore();
@ -11,7 +12,7 @@ export const useAdminPostsStore = defineStore("adminPosts", () => {
if (!authStore.isAuth) if (!authStore.isAuth)
return return
fetch("http://localhost:8080/admin/posts", { fetch(API_BASE_URL + "/admin/posts", {
headers: { headers: {
"X-admin-token": authStore.adminToken "X-admin-token": authStore.adminToken
} }

View file

@ -1,5 +1,6 @@
import { defineStore } from 'pinia' import { defineStore } from 'pinia'
import { ref } from 'vue' import { ref } from 'vue'
import { API_BASE_URL } from '@/config.js'
export const useAuthStore = defineStore("auth", () => { export const useAuthStore = defineStore("auth", () => {
const adminToken = ref(""); const adminToken = ref("");
@ -11,7 +12,7 @@ export const useAuthStore = defineStore("auth", () => {
isAuth.value = false; isAuth.value = false;
error.value = false; error.value = false;
return fetch("http://localhost:8080/admin/auth/check", { return fetch(API_BASE_URL + "/admin/auth/check", {
headers: { headers: {
"X-admin-token": token "X-admin-token": token
} }

View file

@ -3,9 +3,10 @@ import { ref } from 'vue'
import { formatRelative } from 'date-fns' import { formatRelative } from 'date-fns'
import { fr } from 'date-fns/locale' import { fr } from 'date-fns/locale'
import { marked } from 'marked' import { marked } from 'marked'
import { API_BASE_URL } from '@/config.js'
export const usePostsStore = defineStore('posts', () => { export const usePostsStore = defineStore('posts', () => {
const postsApiPath = 'http://localhost:8080/posts' const postsApiPath = API_BASE_URL + '/posts'
const posts = ref([]) const posts = ref([])

View file

@ -19,6 +19,7 @@ import {
import { Card, CardContent } from '@/components/ui/card/index.js' import { Card, CardContent } from '@/components/ui/card/index.js'
import { Alert, AlertDescription, AlertTitle } from '@/components/ui/alert/index.js' import { Alert, AlertDescription, AlertTitle } from '@/components/ui/alert/index.js'
import { useAuthStore } from '@/stores/auth.js' import { useAuthStore } from '@/stores/auth.js'
import { API_BASE_URL, S3_BUCKET, S3_ENDPOINT } from '@/config.js'
const authStore = useAuthStore(); const authStore = useAuthStore();
@ -57,7 +58,7 @@ const onSubmit = form.handleSubmit(async (values) => {
const assets = [] const assets = []
for (const file of selectedFiles.value) { for (const file of selectedFiles.value) {
console.log('Contact API asset') console.log('Contact API asset')
const response = await fetch('http://localhost:8080/admin/assets', { const response = await fetch(API_BASE_URL + '/admin/assets', {
method: 'POST', method: 'POST',
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
@ -84,7 +85,7 @@ const onSubmit = form.handleSubmit(async (values) => {
mediaUploadFormData.append('file', file.file, responseBody.filename) mediaUploadFormData.append('file', file.file, responseBody.filename)
console.log('Envoi image sur s3') console.log('Envoi image sur s3')
const s3Response = await fetch('http://localhost:32795/assets/', { const s3Response = await fetch(`${S3_ENDPOINT}/${S3_BUCKET}/`, {
method: 'POST', method: 'POST',
body: mediaUploadFormData body: mediaUploadFormData
}) })
@ -100,7 +101,7 @@ const onSubmit = form.handleSubmit(async (values) => {
assets.push(responseBody.id) assets.push(responseBody.id)
} }
const response = await fetch('http://localhost:8080/admin/posts', { const response = await fetch(API_BASE_URL + '/admin/posts', {
method: 'POST', method: 'POST',
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',