From c47f22688c9c97a64b4f9c074e6cf1f281e90f2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20FAMIBELLE-PRONZOLA?= Date: Tue, 17 May 2022 00:31:13 +0400 Subject: [PATCH] Change localStorage to username --- components/sesyon/koneksyon.js | 2 +- lib/oki-api.js | 13 +++++++++++-- pages/soumet.js | 32 ++++++++++++++++---------------- 3 files changed, 28 insertions(+), 19 deletions(-) diff --git a/components/sesyon/koneksyon.js b/components/sesyon/koneksyon.js index 2d94c2d..1351c5c 100644 --- a/components/sesyon/koneksyon.js +++ b/components/sesyon/koneksyon.js @@ -102,7 +102,7 @@ function Koneksyon({chimen}) { 'content-type': 'application/json' } }) - localStorage.setItem('user-id', response?.data?.user?.id) + localStorage.setItem('username', `${response?.data?.user?.username}`) setSuccess(true) resetRegisterForm() } catch (error_) { diff --git a/lib/oki-api.js b/lib/oki-api.js index df7d50f..2469827 100644 --- a/lib/oki-api.js +++ b/lib/oki-api.js @@ -76,8 +76,17 @@ export async function jwennKomanteEpiTeksId(teksId) { return response.data } -export async function jwennUser(userId) { - const query = `_where[id]=${userId}&_where[confirmed]=true&_where[blocked]=false` +export async function jwennUserEpiToken(userToken) { + const response = await axios.get(`${OKI_API}/users/me`, { + headers: { + Authorization: `Bearer ${userToken}` + } + }) + return response.data +} + +export async function jwennUserEpiUsername(username) { + const query = `_where[username]=${username}&_where[confirmed]=true` const response = await axios.get(`${OKI_API}/users?${query}`) return response.data[0] } diff --git a/pages/soumet.js b/pages/soumet.js index dcad735..353d79e 100644 --- a/pages/soumet.js +++ b/pages/soumet.js @@ -11,7 +11,7 @@ import Dekoneksyon from '../components/sesyon/dekoneksyon' import EkriTeks from '../components/soumet/ekri-teks' import Footer from '../components/footer' -import {jwennUser} from '../lib/oki-api' +import {jwennUserEpiToken, jwennUserEpiUsername} from '../lib/oki-api' import NewPassword from '../components/password/new-password' import ChwaTeks from '../components/soumet/chwa-teks' @@ -21,7 +21,7 @@ const Alert = forwardRef(function Alert(props, ref) { export default function Soumet({code}) { const {data: session} = useSession() - const [userId, setUserId] = useState(null) + const [localUsername, setLocalUsername] = useState(null) const [username, setUsername] = useState(null) const [open, setOpen] = useState(true) const [selectedTeks, setSelectedTeks] = useState(null) @@ -36,37 +36,37 @@ export default function Soumet({code}) { } useEffect(() => { - if (session?.user) { - const getUser = async id => { - const user = await jwennUser(id) + if (session?.jwt) { + const getUser = async token => { + const user = await jwennUserEpiToken(token) setCanAutoTranslate(user.canAutoTranslate) } - getUser(session.user.id) + getUser(session.jwt) } }) useEffect(() => { - if (localStorage.getItem('user-id')) { - const userId = localStorage.getItem('user-id') - setUserId(userId) + if (localStorage.getItem('username')) { + const username = localStorage.getItem('username') + setLocalUsername(username) } }, []) useEffect(() => { - if (userId) { - const getUsername = async id => { - const user = await jwennUser(id) + if (localUsername) { + const getUser = async username => { + const user = await jwennUserEpiUsername(username) setUsername(user?.username) } - getUsername(userId) + getUser(localUsername) } - }, [userId]) + }, [localUsername]) useEffect(() => { - if (username && localStorage.getItem('user-id')) { - localStorage.removeItem('user-id') + if (username && localStorage.getItem('username')) { + localStorage.removeItem('username') } }, [username])