From: charles Date: Thu, 18 Sep 2025 15:52:23 +0000 (+0000) Subject: Cleaning up formatting in services and fixing auth to work with cookies. X-Git-Url: https://git.phasecustomsoft.com/static/gitweb.css?a=commitdiff_plain;h=52a165359f16cfea6c3c75f336d0a2789bc086e7;p=phs-admin.git Cleaning up formatting in services and fixing auth to work with cookies. --- diff --git a/src/app/components/AuthContext.js b/src/app/components/AuthContext.js index 91035fc..0428f1a 100644 --- a/src/app/components/AuthContext.js +++ b/src/app/components/AuthContext.js @@ -16,12 +16,10 @@ export const AuthProvider = ( { children } ) => { const fetchUser = useMemo( () => async () => { try { - const token = localStorage.getItem( 'token' ); - if (token) { const response = await AuthService.getCurrentUser(); setUser( response.user ); - } } catch (error) { + console.error(error); enqueueSnackbar( `Error fetching user: ${ error.message }`, { variant:'error' } ); } }, [enqueueSnackbar] ); @@ -33,7 +31,7 @@ export const AuthProvider = ( { children } ) => { try { const response = await AuthService.login( email, password ); if (response.success) { - localStorage.setItem( 'token', response.token ); + localStorage.setItem( 'user', btoa( JSON.stringify( response.user ) ) ); setUser( response.user ); navigate( '/' ); return true; @@ -47,6 +45,7 @@ export const AuthProvider = ( { children } ) => { const logout = () => { localStorage.removeItem( 'token' ); + localStorage.removeItem( 'user' ); setUser( null ); navigate( '/login' ); }; diff --git a/src/app/routes.js b/src/app/routes.js index fc3cd83..7712412 100755 --- a/src/app/routes.js +++ b/src/app/routes.js @@ -1,5 +1,5 @@ import { Route, Routes } from 'react-router-dom'; -import { Login, NotFound, Dashboard, Git, VPN, Docker } from './views'; +import { Dashboard, Docker, Git, Login, NotFound, VPN } from './views'; import { VPNProvider } from './components/'; import MessagesView from './views/Messages/MessagesView'; import MessageFormView from './views/Messages/MessageFormView'; @@ -11,34 +11,32 @@ import MessageGroupMemberFormView from './views/MessageGroupMembers/MessageGroup import MediaView from './views/Media/MediaView'; import MediaFormView from './views/Media/MediaFormView'; import PostsView from './views/Posts/PostsView'; -import PostFormView from './views/Posts/PostFormView'; import { useContext } from 'react'; import { AuthContext } from './components/AuthContext'; export default function AppRoutes() { const { user } = useContext( AuthContext ); const privateRoutes = [ - } />, - } />, - } />, - } />, - } />, - } />, - } />, - } />, - } />, - } />, - } />, - } />, - } />, - } />, - } />, - } />, - } /> - ] + }/>, + }/>, + }/>, + }/>, + }/>, + }/>, + }/>, + }/>, + }/>, + }/>, + }/>, + }/>, + }/>, + }/>, + }/>, + }/> + ]; return ( - } /> + }/> { user?.id && privateRoutes } ); diff --git a/src/app/services/Docker/DockerConfig.js b/src/app/services/Docker/DockerConfig.js index 5c12e52..375b73e 100644 --- a/src/app/services/Docker/DockerConfig.js +++ b/src/app/services/Docker/DockerConfig.js @@ -1,11 +1,11 @@ const base = 'docker/'; const DockerConfig = { index: base, - start: `${base}start-container`, - stop: `${base}stop-container`, - images: `${base}images`, - containers: `${base}containers`, - down: `${base}compose-down`, + start: `${ base }start-container`, + stop: `${ base }stop-container`, + images: `${ base }images`, + containers: `${ base }containers`, + down: `${ base }compose-down`, }; export default DockerConfig; \ No newline at end of file diff --git a/src/app/services/Docker/DockerService.js b/src/app/services/Docker/DockerService.js index 57c46ed..5e2b652 100644 --- a/src/app/services/Docker/DockerService.js +++ b/src/app/services/Docker/DockerService.js @@ -2,16 +2,18 @@ import axios from 'axios'; import { base_url } from '../../../globals'; import DockerConfig from './DockerConfig'; +axios.defaults.withCredentials = true; + class DockerService { fetchContainers = ( { all = true } ) => { return new Promise( async ( resolve, reject ) => { try { let containersUrl = new URL( `${ base_url }${ DockerConfig.containers }` ); - containersUrl.searchParams.append('all', all ? "true" : "false" ); + containersUrl.searchParams.append( 'all', all ? 'true' : 'false' ); const response = await axios.get( containersUrl.toString() ); resolve( response.data.containers ); // Resolve the promise with the data - } catch (error) { + } catch ( error ) { reject( `Error fetching containers: ${ error.message }` ); // Reject the promise with an error message } } ); @@ -22,39 +24,39 @@ class DockerService { try { const response = await axios.get( `${ base_url }${ DockerConfig.images }` ); resolve( response.data.images ); // Resolve the promise with the data - } catch (error) { + } catch ( error ) { console.error( error ); reject( `Error fetching images: ${ error.message }` ); // Reject the promise with an error message } } ); }; - containerAction = async (action, id, fetchContainers) => { + containerAction = async ( action, id, fetchContainers ) => { return new Promise( async ( resolve, reject ) => { try { const response = await axios.post( `${ base_url }docker/${ action }-container`, { - containerId:id, + containerId: id, } ); fetchContainers(); - resolve(response.data.message); - } catch (error) { - reject(`Error: ${ error.response?.data?.error || `Failed to ${ action } container` }`); + resolve( response.data.message ); + } catch ( error ) { + reject( `Error: ${ error.response?.data?.error || `Failed to ${ action } container` }` ); } - }) + } ); }; - composeDown = async (composeFile, fetchContainers ) => { + composeDown = async ( composeFile, fetchContainers ) => { return new Promise( async ( resolve, reject ) => { try { - const response = await axios.post(`${base_url}${DockerConfig.down}`, { + const response = await axios.post( `${ base_url }${ DockerConfig.down }`, { composeFile, - }); - resolve(response.data.message); + } ); + resolve( response.data.message ); fetchContainers(); - } catch (error) { - reject(`Error: ${error.response?.data?.error || 'Failed to stop compose services'}`); + } catch ( error ) { + reject( `Error: ${ error.response?.data?.error || 'Failed to stop compose services' }` ); } - }); + } ); }; } diff --git a/src/app/services/Git/GitConfig.js b/src/app/services/Git/GitConfig.js index 3465de4..a988f5f 100644 --- a/src/app/services/Git/GitConfig.js +++ b/src/app/services/Git/GitConfig.js @@ -1,9 +1,9 @@ let base = 'git/'; const GitConfig = { index: base, - createRepo: `${base}create-repo`, - deleteRepo: `${base}`, - cloneRepo: `${base}clone-repo`, + createRepo: `${ base }create-repo`, + deleteRepo: `${ base }`, + cloneRepo: `${ base }clone-repo`, }; export default GitConfig; \ No newline at end of file diff --git a/src/app/services/Git/GitService.js b/src/app/services/Git/GitService.js index ad69e61..a417947 100644 --- a/src/app/services/Git/GitService.js +++ b/src/app/services/Git/GitService.js @@ -2,17 +2,19 @@ import axios from 'axios'; import { base_url } from '../../../globals'; import GitConfig from './GitConfig'; +axios.defaults.withCredentials = true; + class GitService { - fetchRepos = async ( token ) => { + fetchRepos = async () => { return new Promise( async ( resolve, reject ) => { try { - const response = await axios.get(`${base_url}${GitConfig.index}`, { headers: { Authorization: `Bearer ${token}` } }); - resolve(response.data.repos); - } catch (error) { - reject(error.response?.data?.message || error.message); + const response = await axios.get( `${ base_url }${ GitConfig.index }` ); + resolve( response.data.repos ); + } catch ( error ) { + reject( error.response?.data?.message || error.message ); } - }) + } ); }; /** @@ -21,49 +23,49 @@ class GitService { * @param {Function} fetchRepos * @returns {Promise} */ - createRepo = (data, fetchRepos) => { + createRepo = ( data, fetchRepos ) => { return new Promise( async ( resolve, reject ) => { const { repoName, repoType, repoUser } = data; try { - const response = await axios.post(`${base_url}${GitConfig.createRepo}`, { + const response = await axios.post( `${ base_url }${ GitConfig.createRepo }`, { name: repoName, type: repoType, user: repoUser, - }); - resolve(response.data.message); + } ); + resolve( response.data.message ); fetchRepos(); - } catch (error) { - reject(`Error: ${error.response?.data?.error || 'Failed to create repository'}`); + } catch ( error ) { + reject( `Error: ${ error.response?.data?.error || 'Failed to create repository' }` ); } - }); + } ); }; - deleteRepo = (name, fetchRepos) => { + deleteRepo = ( name, fetchRepos ) => { return new Promise( async ( resolve ) => { try { - const response = await axios.delete(`${base_url}${GitConfig.deleteRepo}${name}`); - resolve(response.data.message); + const response = await axios.delete( `${ base_url }${ GitConfig.deleteRepo }${ name }` ); + resolve( response.data.message ); fetchRepos(); - } catch (error) { - resolve(`Error: ${error.response?.data?.error || 'Failed to delete repository'}`); + } catch ( error ) { + resolve( `Error: ${ error.response?.data?.error || 'Failed to delete repository' }` ); } - }); + } ); }; - cloneRepo = (data) => { + cloneRepo = ( data ) => { return new Promise( async ( resolve, reject ) => { - const {deployRepoName, deployPath, deployUser } = data; - try { - const response = await axios.put(`${base_url}${GitConfig.cloneRepo}`, { - repoName: deployRepoName, - deployPath, - user: deployUser, - }); - resolve(response.data.message); - } catch (error) { - reject(`Error: ${error.response?.data?.error || 'Failed to clone repository'}`); - } - }); + const { deployRepoName, deployPath, deployUser } = data; + try { + const response = await axios.put( `${ base_url }${ GitConfig.cloneRepo }`, { + repoName: deployRepoName, + deployPath, + user: deployUser, + } ); + resolve( response.data.message ); + } catch ( error ) { + reject( `Error: ${ error.response?.data?.error || 'Failed to clone repository' }` ); + } + } ); }; } diff --git a/src/app/services/VPN/VPNConfig.js b/src/app/services/VPN/VPNConfig.js index 46045a1..30564ee 100644 --- a/src/app/services/VPN/VPNConfig.js +++ b/src/app/services/VPN/VPNConfig.js @@ -1,14 +1,14 @@ const base = 'vpn/'; const VPNConfig = { - create: `${base}create-client/`, - delete: `${base}revoke-client/`, - index: `${base}clients/`, - availableClients: `${base}available-clients/`, - getStatus: `${base}status/`, - disconnect: `${base}disconnect/`, - stop: `${base}stop/`, - start: `${base}start/`, - restart: `${base}restart/` + create: `${ base }create-client/`, + delete: `${ base }revoke-client/`, + index: `${ base }clients/`, + availableClients: `${ base }available-clients/`, + getStatus: `${ base }status/`, + disconnect: `${ base }disconnect/`, + stop: `${ base }stop/`, + start: `${ base }start/`, + restart: `${ base }restart/` }; export default VPNConfig; \ No newline at end of file diff --git a/src/app/services/VPN/VPNService.js b/src/app/services/VPN/VPNService.js index 7b05045..369cd82 100644 --- a/src/app/services/VPN/VPNService.js +++ b/src/app/services/VPN/VPNService.js @@ -1,14 +1,18 @@ +// noinspection JSUnusedGlobalSymbols + import axios from 'axios'; import { base_url } from '../../../globals'; import VPNConfig from './VPNConfig'; +axios.defaults.withCredentials = true; + class VPNService { fetchClients = () => { return new Promise( async ( resolve ) => { try { const response = await axios.get( `${ base_url }${ VPNConfig.index }` ); resolve( response.data.clients ); - } catch (error) { + } catch ( error ) { resolve( `Error: ${ error.response?.data?.error || 'Failed to fetch clients' }` ); } } ); @@ -19,7 +23,7 @@ class VPNService { try { const response = await axios.get( `${ base_url }${ VPNConfig.availableClients }` ); resolve( response.data.clients ); - } catch (error) { + } catch ( error ) { resolve( `Error: ${ error.response?.data?.error || 'Failed to fetch available clients' }` ); } } ); @@ -31,12 +35,12 @@ class VPNService { try { const response = await axios.post( `${ base_url }${ VPNConfig.create }`, { clientName, - staticIp:useStaticIp ? staticIp : undefined, + staticIp: useStaticIp ? staticIp : undefined, } ); fetchClients(); - if (response.data.ovpn) { + if ( response.data.ovpn ) { const element = document.createElement( 'a' ); - const file = new Blob( [response.data.ovpn], { type:'text/plain' } ); + const file = new Blob( [ response.data.ovpn ], { type: 'text/plain' } ); element.href = URL.createObjectURL( file ); element.download = `${ clientName }.ovpn`; document.body.appendChild( element ); @@ -44,7 +48,7 @@ class VPNService { document.body.removeChild( element ); } resolve( response.data.message ); - } catch (error) { + } catch ( error ) { resolve( `Error: ${ error.response?.data?.error || 'Failed to create client' }` ); } } ); @@ -55,11 +59,11 @@ class VPNService { const { revokeClientName } = data; try { const response = await axios.put( `${ base_url }${ VPNConfig.delete }`, { - clientName:revokeClientName, + clientName: revokeClientName, } ); fetchClients(); resolve( response.data.message ); - } catch (error) { + } catch ( error ) { resolve( `Error: ${ error.response?.data?.error || 'Failed to revoke client' }` ); } } ); @@ -70,7 +74,7 @@ class VPNService { try { const response = await axios.get( `${ base_url }${ VPNConfig.getStatus }` ); resolve( response.data ); - } catch (error) { + } catch ( error ) { resolve( `Error: ${ error.response?.data?.error || 'Failed to fetch server status' }` ); } } ); @@ -81,7 +85,7 @@ class VPNService { try { const response = await axios.put( `${ base_url }${ VPNConfig.disconnect }`, data ); resolve( response.data.message ); - } catch (error) { + } catch ( error ) { resolve( `Error: ${ error.response?.data?.error || 'Failed to disconnect' }` ); } } ); @@ -90,9 +94,9 @@ class VPNService { stop = () => { return new Promise( async ( resolve ) => { try { - const response = await axios.put( `${ base_url }${ VPNConfig.stop }` ); + const response = await axios.put( `${ base_url }${ VPNConfig.stop }`, null ); resolve( response.data.message ); - } catch (error) { + } catch ( error ) { resolve( `Error: ${ error.response?.data?.error || 'Failed to stop' }` ); } } ); @@ -101,9 +105,9 @@ class VPNService { start = () => { return new Promise( async ( resolve ) => { try { - const response = await axios.put( `${ base_url }${ VPNConfig.start }` ); + const response = await axios.put( `${ base_url }${ VPNConfig.start }`, null ); resolve( response.data.message ); - } catch (error) { + } catch ( error ) { resolve( `Error: ${ error.response?.data?.error || 'Failed to start' }` ); } } ); @@ -112,15 +116,16 @@ class VPNService { restart = () => { return new Promise( async ( resolve ) => { try { - const response = await axios.put( `${ base_url }${ VPNConfig.restart }` ); + const response = await axios.put( `${ base_url }${ VPNConfig.restart }`, null ); resolve( response.data.message ); - } catch (error) { + } catch ( error ) { resolve( `Error: ${ error.response?.data?.error || 'Failed to restart' }` ); } } ); }; - } +/** @namespace data.ovpn */ + const instance = new VPNService(); export default instance; \ No newline at end of file diff --git a/src/app/services/auth.js b/src/app/services/auth.js index 1ffc6f6..699bda9 100644 --- a/src/app/services/auth.js +++ b/src/app/services/auth.js @@ -4,19 +4,16 @@ import axios from 'axios'; -const BASE_URL = 'https://api.phasecustomsoft.com'; - -const getAuthHeaders = () => ({ - headers: { Authorization: `Bearer ${localStorage.getItem('token')}` }, -}); +axios.defaults.withCredentials = true; +const { base_url } = require( '../../globals' ); export const AuthService = { - async login(email, password) { - const response = await axios.post(`${BASE_URL}/auth/authenticate`, { email, password }); + async login( email, password ) { + const response = await axios.post( `${ base_url }auth/authenticate`, { email, password } ); return response.data; }, async getCurrentUser() { - const response = await axios.get(`${BASE_URL}/user/1`, getAuthHeaders()); + const response = await axios.get( `${ base_url }user/current` ); return { user: response.data }; }, }; \ No newline at end of file diff --git a/src/app/services/media.js b/src/app/services/media.js index 40105c1..174ff36 100644 --- a/src/app/services/media.js +++ b/src/app/services/media.js @@ -4,29 +4,26 @@ import axios from 'axios'; -const { base_url } = require('../../globals'); - -const getAuthHeaders = () => ({ - headers: { Authorization: `Bearer ${localStorage.getItem('token')}` }, -}); +axios.defaults.withCredentials = true; +const { base_url } = require( '../../globals' ); export const MediaService = { - async getMedia(params = {}) { - return await axios.get(`${base_url}media`, { ...getAuthHeaders(), params }); - }, - async getMediaByFilePath(file_path) { - return await axios.get(`${base_url}media/file_path/${file_path}`, getAuthHeaders()); - }, - async getMediaById(id) { - return await axios.get(`${base_url}media/${id}`, getAuthHeaders()); - }, - async createMedia(data) { - return await axios.post(`${base_url}media/create`, data, getAuthHeaders()); - }, - async updateMedia(id, data) { - return await axios.put(`${base_url}media/${id}`, data, getAuthHeaders()); - }, - async softDeleteMedia(id, data) { - return await axios.put(`${base_url}media/${id}/soft_delete`, data, getAuthHeaders()); - }, + async getMedia( params = {} ) { + return await axios.get( `${ base_url }media`, { params } ); + }, + async getMediaByFilePath( file_path ) { + return await axios.get( `${ base_url }media/file_path/${ file_path }` ); + }, + async getMediaById( id ) { + return await axios.get( `${ base_url }media/${ id }` ); + }, + async createMedia( data ) { + return await axios.post( `${ base_url }media/create`, data ); + }, + async updateMedia( id, data ) { + return await axios.put( `${ base_url }media/${ id }`, data ); + }, + async softDeleteMedia( id, data ) { + return await axios.put( `${ base_url }media/${ id }/soft_delete`, data ); + }, }; \ No newline at end of file diff --git a/src/app/services/message_group_members.js b/src/app/services/message_group_members.js index 51430db..f51068a 100644 --- a/src/app/services/message_group_members.js +++ b/src/app/services/message_group_members.js @@ -4,23 +4,20 @@ import axios from 'axios'; -const { base_url } = require('../../globals'); - -const getAuthHeaders = () => ({ - headers: { Authorization: `Bearer ${localStorage.getItem('token')}` }, -}); +axios.defaults.withCredentials = true; +const { base_url } = require( '../../globals' ); export const MessageGroupMembersService = { - async getMembersByGroupId(group_id, params = {}) { - return await axios.get(`${base_url}message_group_members/group/${group_id}`, { ...getAuthHeaders(), params }); + async getMembersByGroupId( group_id, params = {} ) { + return await axios.get( `${ base_url }message_group_members/group/${ group_id }`, { params } ); }, - async getMemberByIds(group_id, user_id) { - return await axios.get(`${base_url}message_group_members/ids/${group_id}/${user_id}`, getAuthHeaders()); + async getMemberByIds( group_id, user_id ) { + return await axios.get( `${ base_url }message_group_members/ids/${ group_id }/${ user_id }` ); }, - async addMember(data) { - return await axios.post(`${base_url}message_group_members/add`, data, getAuthHeaders()); + async addMember( data ) { + return await axios.post( `${ base_url }message_group_members/add`, data ); }, - async removeMember(data) { - return await axios.delete(`${base_url}message_group_members/remove`, { ...getAuthHeaders(), data }); + async removeMember( data ) { + return await axios.delete( `${ base_url }message_group_members/remove`, { data } ); }, }; \ No newline at end of file diff --git a/src/app/services/message_groups.js b/src/app/services/message_groups.js index 0a52eae..6bccaeb 100644 --- a/src/app/services/message_groups.js +++ b/src/app/services/message_groups.js @@ -4,23 +4,20 @@ import axios from 'axios'; -const { base_url } = require('../../globals'); - -const getAuthHeaders = () => ({ - headers: { Authorization: `Bearer ${localStorage.getItem('token')}` }, -}); +axios.defaults.withCredentials = true; +const { base_url } = require( '../../globals' ); export const MessageGroupService = { - async getMessageGroups(params = {}) { - return await axios.get(`${base_url}message_group`, { ...getAuthHeaders(), params }); + async getMessageGroups( params = {} ) { + return await axios.get( `${ base_url }message_group`, { params } ); }, - async getMessageGroup(id) { - return await axios.get(`${base_url}message_group/${id}`, getAuthHeaders()); + async getMessageGroup( id ) { + return await axios.get( `${ base_url }message_group/${ id }` ); }, - async createMessageGroup(data) { - return await axios.post(`${base_url}message_group/create`, data, getAuthHeaders()); + async createMessageGroup( data ) { + return await axios.post( `${ base_url }message_group/create`, data ); }, - async updateMessageGroup(id, data) { - return await axios.put(`${base_url}message_group/${id}`, data, getAuthHeaders()); + async updateMessageGroup( id, data ) { + return await axios.put( `${ base_url }message_group/${ id }`, data ); }, }; \ No newline at end of file diff --git a/src/app/services/messages.js b/src/app/services/messages.js index 123a331..876a82a 100644 --- a/src/app/services/messages.js +++ b/src/app/services/messages.js @@ -4,29 +4,26 @@ import axios from 'axios'; -const { base_url } = require('../../globals'); - -const getAuthHeaders = () => ({ - headers: { Authorization: `Bearer ${localStorage.getItem('token')}` }, -}); +axios.defaults.withCredentials = true; +const { base_url } = require( '../../globals' ); export const MessageService = { - async getMessages(params = {}) { - return await axios.get(`${base_url}message`, { ...getAuthHeaders(), params }); + async getMessages( params = {} ) { + return await axios.get( `${ base_url }message`, { params } ); }, - async getMessagesByGroupId(group_id, params = {}) { - return await axios.get(`${base_url}message/group/${group_id}`, { ...getAuthHeaders(), params }); + async getMessagesByGroupId( group_id, params = {} ) { + return await axios.get( `${ base_url }message/group/${ group_id }`, { params } ); }, - async getMessagesByRecipientId(recipient_id, params = {}) { - return await axios.get(`${base_url}message/recipient/${recipient_id}`, { ...getAuthHeaders(), params }); + async getMessagesByRecipientId( recipient_id, params = {} ) { + return await axios.get( `${ base_url }message/recipient/${ recipient_id }`, { params } ); }, - async getMessage(id) { - return await axios.get(`${base_url}message/${id}`, getAuthHeaders()); + async getMessage( id ) { + return await axios.get( `${ base_url }message/${ id }` ); }, - async createMessage(data) { - return await axios.post(`${base_url}message/create`, data, getAuthHeaders()); + async createMessage( data ) { + return await axios.post( `${ base_url }message/create`, data ); }, - async markMessageAsRead(id) { - return await axios.put(`${base_url}message/${id}/mark_as_read`, {}, getAuthHeaders()); + async markMessageAsRead( id ) { + return await axios.put( `${ base_url }message/${ id }/mark_as_read` ); }, }; \ No newline at end of file diff --git a/src/app/services/posts.js b/src/app/services/posts.js index c0db502..ae21cef 100644 --- a/src/app/services/posts.js +++ b/src/app/services/posts.js @@ -4,28 +4,26 @@ import axios from 'axios'; -const { base_url } = require('../../globals'); - +axios.defaults.withCredentials = true; +const { base_url } = require( '../../globals' ); export const PostService = { - async getPosts() { - let url = new URL( `${ base_url }post` ); - console.log(url.toString()); - return await axios.get(url.toString()); + async getPosts( params = {} ) { + return await axios.get( `${ base_url }post`, { params } ); }, - async getPostByTitle(title) { - return await axios.get(`${base_url}post/title/${title}`); + async getPostByTitle( title ) { + return await axios.get( `${ base_url }post/title/${ title }` ); }, - async getPost(id) { - return await axios.get(`${base_url}post/${id}`); + async getPost( id ) { + return await axios.get( `${ base_url }post/${ id }` ); }, - async createPost(data) { - return await axios.post(`${base_url}post/create`, data); + async createPost( data ) { + return await axios.post( `${ base_url }post/create`, data ); }, - async updatePost(id, data) { - return await axios.put(`${base_url}post/${id}`, data); + async updatePost( id, data ) { + return await axios.put( `${ base_url }post/${ id }`, data ); }, - async softDeletePost(id, data) { - return await axios.put(`${base_url}post/${id}/soft_delete`, data); + async softDeletePost( id, data ) { + return await axios.put( `${ base_url }post/${ id }/soft_delete`, data ); }, }; \ No newline at end of file