Disconnect unactive users
This commit is contained in:
+22
-1
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user