From c73d67352340d16513f337d533a9496baa89dca2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20FAMIBELLE-PRONZOLA?= Date: Thu, 28 Nov 2024 07:53:12 +0400 Subject: [PATCH] Create getVersion & compareVersion in lib/directus.js --- lib/directus.js | 53 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/lib/directus.js b/lib/directus.js index 605cb5f..529289e 100644 --- a/lib/directus.js +++ b/lib/directus.js @@ -1,7 +1,9 @@ /* eslint-disable camelcase */ import { createDirectus, rest, authentication, withToken, createItem, - readUser, createContentVersion, readContentVersions, saveToContentVersion + readUser, createContentVersion, readContentVersions, saveToContentVersion, + readContentVersion, + compareContentVersion } from '@directus/sdk' import {signOut} from 'next-auth/react' import {hasRestrictedChar} from './format.js' @@ -69,6 +71,55 @@ export async function handleSubmit({ } } +export async function getVersion({ + accessToken, + userId, + versionId +}) { + await handleUserStatus(accessToken, userId) + + const version = await directusClient.request( + withToken( + accessToken, + readContentVersion(versionId) + ) + ) + + return version +} + +export async function compareVersion({ + accessToken, + userId, + versionId, + countdownRef, + setError, + setIsErrorAlertOpen +}) { + try { + await handleUserStatus(accessToken, userId) + + const result = await directusClient.request( + withToken( + accessToken, + compareContentVersion(versionId) + ) + ) + + return result + } catch (error) { + console.log('error', error) + + if (error?.errors[0]?.message === 'Token expired.') { + countdownRef.current.startCountdown() + } else { + console.log(error?.errors[0]?.message) + setError(error?.errors[0]?.message) + setIsErrorAlertOpen(true) + } + } +} + export async function listVersions({ accessToken, userId,