Disconnect unactive users

This commit is contained in:
2024-07-02 15:00:02 +02:00
parent 1ca14549fc
commit 4b78471916
3 changed files with 28 additions and 4 deletions
+22 -1
View File
@@ -1,6 +1,8 @@
import {
createDirectus, rest, authentication, withToken, createItem
createDirectus, rest, authentication, withToken, createItem,
readUser
} from '@directus/sdk'
import {signOut} from 'next-auth/react'
import {hasRestrictedChar} from './format.js'
const apiUrl = process.env.DIRECTUS_API_URL || process.env.NEXT_PUBLIC_DIRECTUS_API_URL
@@ -9,7 +11,24 @@ export const directusClient = createDirectus(apiUrl)
.with(authentication('cookie', {credentials: 'include', autoRefresh: true}))
.with(rest())
export async function handleUserStatus(accessToken, userId) {
const {status} = await directusClient.request(
withToken(
accessToken,
readUser(userId, {
fields: 'status'
})
)
)
if (status !== 'active') {
signOut()
throw new Error('Déconnexion')
}
}
export async function handleSubmit({
userId,
accessToken,
content,
collection,
@@ -27,6 +46,8 @@ export async function handleSubmit({
return
}
await handleUserStatus(accessToken, userId)
await directusClient.request(
withToken(
accessToken,