Skip to content

Commit

Permalink
Moved static server action messages from user settings to translations
Browse files Browse the repository at this point in the history
  • Loading branch information
FlorianLeChat committed Mar 25, 2024
1 parent c0db71b commit 704a883
Show file tree
Hide file tree
Showing 7 changed files with 43 additions and 23 deletions.
10 changes: 6 additions & 4 deletions app/[locale]/settings/actions/create-issue.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import prisma from "@/utilities/prisma";
import schema from "@/schemas/issue";
import { auth } from "@/utilities/next-auth";
import { getTranslations } from "next-intl/server";

export async function createIssue(
_state: Record<string, unknown>,
Expand All @@ -15,14 +16,15 @@ export async function createIssue(
{
// On récupère d'abord la session de l'utilisateur.
const session = await auth();
const messages = await getTranslations();

if ( !session )
{
// Si la session n'existe pas, on indique que l'utilisateur
// n'est pas connecté.
return {
success: false,
reason: "form.errors.unauthenticated"
reason: messages( "authjs.errors.SessionRequired" )
};
}

Expand All @@ -40,7 +42,7 @@ export async function createIssue(
// premier code d'erreur rencontré.
return {
success: false,
reason: `zod.errors.${ result.error.issues[ 0 ].code }`
reason: messages( `zod.${ result.error.issues[ 0 ].code }` )
};
}

Expand All @@ -61,7 +63,7 @@ export async function createIssue(
// formulaire.
return {
success: false,
reason: "form.errors.too_many"
reason: messages( "form.errors.too_many" )
};
}

Expand All @@ -79,6 +81,6 @@ export async function createIssue(
// On retourne enfin un message de succès.
return {
success: true,
reason: "settings.issue.success"
reason: messages( "form.infos.issue_created" )
};
}
8 changes: 5 additions & 3 deletions app/[locale]/settings/actions/delete-user-data.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import { join } from "path";
import { existsSync } from "fs";
import { readdir, rm } from "fs/promises";
import { auth, signOut } from "@/utilities/next-auth";
import { getTranslations } from "next-intl/server";

export async function deleteUserData(
_state: Record<string, unknown>,
Expand All @@ -18,14 +19,15 @@ export async function deleteUserData(
{
// On récupère d'abord la session de l'utilisateur.
const session = await auth();
const messages = await getTranslations();

if ( !session )
{
// Si la session n'existe pas, on indique que l'utilisateur
// n'est pas connecté.
return {
success: false,
reason: "form.errors.unauthenticated"
reason: messages( "authjs.errors.SessionRequired" )
};
}

Expand All @@ -46,7 +48,7 @@ export async function deleteUserData(
// premier code d'erreur rencontré.
return {
success: false,
reason: `zod.errors.${ result.error.issues[ 0 ].code }`
reason: messages( `zod.${ result.error.issues[ 0 ].code }` )
};
}

Expand Down Expand Up @@ -125,6 +127,6 @@ export async function deleteUserData(
// On retourne enfin un message de succès.
return {
success: true,
reason: "settings.privacy.success"
reason: messages( "form.infos.data_purged" )
};
}
8 changes: 5 additions & 3 deletions app/[locale]/settings/actions/update-layout.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import prisma from "@/utilities/prisma";
import schema from "@/schemas/layout";
import { auth } from "@/utilities/next-auth";
import { getTranslations } from "next-intl/server";

export async function updateLayout(
_state: Record<string, unknown>,
Expand All @@ -15,14 +16,15 @@ export async function updateLayout(
{
// On récupère d'abord la session de l'utilisateur.
const session = await auth();
const messages = await getTranslations();

if ( !session )
{
// Si la session n'existe pas, on indique que l'utilisateur
// n'est pas connecté.
return {
success: false,
reason: "form.errors.unauthenticated"
reason: messages( "authjs.errors.SessionRequired" )
};
}

Expand All @@ -39,7 +41,7 @@ export async function updateLayout(
// premier code d'erreur rencontré.
return {
success: false,
reason: `zod.errors.${ result.error.issues[ 0 ].code }`
reason: messages( `zod.${ result.error.issues[ 0 ].code }` )
};
}

Expand All @@ -65,6 +67,6 @@ export async function updateLayout(
// On retourne enfin un message de succès.
return {
success: true,
reason: "settings.layout.success"
reason: messages( "form.infos.layout_updated" )
};
}
8 changes: 5 additions & 3 deletions app/[locale]/settings/actions/update-notifications.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import prisma from "@/utilities/prisma";
import schema from "@/schemas/notifications";
import { auth } from "@/utilities/next-auth";
import { getTranslations } from "next-intl/server";

export async function updateNotifications(
_state: Record<string, unknown>,
Expand All @@ -15,14 +16,15 @@ export async function updateNotifications(
{
// On récupère d'abord la session de l'utilisateur.
const session = await auth();
const messages = await getTranslations();

if ( !session )
{
// Si la session n'existe pas, on indique que l'utilisateur
// n'est pas connecté.
return {
success: false,
reason: "form.errors.unauthenticated"
reason: messages( "authjs.errors.SessionRequired" )
};
}

Expand All @@ -38,7 +40,7 @@ export async function updateNotifications(
// premier code d'erreur rencontré.
return {
success: false,
reason: `zod.errors.${ result.error.issues[ 0 ].code }`
reason: messages( `zod.${ result.error.issues[ 0 ].code }` )
};
}

Expand All @@ -61,6 +63,6 @@ export async function updateNotifications(
// On retourne enfin un message de succès.
return {
success: true,
reason: "settings.notifications.success"
reason: messages( "form.infos.notifications_updated" )
};
}
8 changes: 5 additions & 3 deletions app/[locale]/settings/actions/update-storage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import { auth } from "@/utilities/next-auth";
import * as Sentry from "@sentry/nextjs";
import { existsSync } from "fs";
import { join, parse } from "path";
import { getTranslations } from "next-intl/server";

export async function updateStorage(
_state: Record<string, unknown>,
Expand All @@ -19,14 +20,15 @@ export async function updateStorage(
{
// On récupère d'abord la session de l'utilisateur.
const session = await auth();
const messages = await getTranslations();

if ( !session )
{
// Si la session n'existe pas, on indique que l'utilisateur
// n'est pas connecté.
return {
success: false,
reason: "form.errors.unauthenticated"
reason: messages( "authjs.errors.SessionRequired" )
};
}

Expand All @@ -49,7 +51,7 @@ export async function updateStorage(
// premier code d'erreur rencontré.
return {
success: false,
reason: `zod.errors.${ result.error.issues[ 0 ].code }`
reason: messages( `zod.${ result.error.issues[ 0 ].code }` )
};
}

Expand Down Expand Up @@ -150,6 +152,6 @@ export async function updateStorage(
// On retourne enfin un message de succès.
return {
success: true,
reason: "settings.storage.success"
reason: messages( "form.infos.storage_updated" )
};
}
14 changes: 8 additions & 6 deletions app/[locale]/settings/actions/update-user.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import { TOTP } from "otpauth";
import { auth } from "@/utilities/next-auth";
import { cookies } from "next/headers";
import * as Sentry from "@sentry/nextjs";
import { getTranslations } from "next-intl/server";
import { generateMetadata } from "@/app/layout";
import { fileTypeFromBuffer } from "file-type";
import { mkdir, readdir, rm, writeFile } from "fs/promises";
Expand All @@ -23,14 +24,15 @@ export async function updateUser(
{
// On récupère d'abord la session de l'utilisateur.
const session = await auth();
const messages = await getTranslations();

if ( !session )
{
// Si la session n'existe pas, on indique que l'utilisateur
// n'est pas connecté.
return {
success: false,
reason: "form.errors.unauthenticated"
reason: messages( "authjs.errors.SessionRequired" )
};
}

Expand All @@ -52,7 +54,7 @@ export async function updateUser(

return {
success: false,
reason: `zod.errors.${ code === "custom" ? message : code }`
reason: messages( `zod.${ code === "custom" ? message : code }` )
};
}

Expand Down Expand Up @@ -157,7 +159,7 @@ export async function updateUser(
// contient des données textuelles.
return {
success: false,
reason: "zod.errors.wrong_file_type"
reason: messages( "zod.wrong_file_type" )
};
}

Expand All @@ -176,7 +178,7 @@ export async function updateUser(
// accepté, on indique que le type de fichier est incorrect.
return {
success: false,
reason: "zod.errors.wrong_file_type"
reason: messages( "zod.wrong_file_type" )
};
}

Expand Down Expand Up @@ -211,14 +213,14 @@ export async function updateUser(

return {
success: false,
reason: "form.errors.file_system"
reason: messages( "form.errors.file_system" )
};
}
}

// On retourne enfin un message de succès.
return {
success: true,
reason: "settings.user.success"
reason: messages( "form.infos.user_updated" )
};
}
10 changes: 9 additions & 1 deletion locales/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,12 @@
"action_partial": "Action partiellement réussie",
"action_required": "Action requise",
"action_failed": "Action échouée",
"data_purged": "Toutes les données sélectionnées ont été purgées avec succès.",
"issue_created": "Votre signalement de bogue a été créé avec succès.",
"layout_updated": "Les paramètres d'apparence ont été mis à jour avec succès.",
"notifications_updated": "Les paramètres de notification ont été mis à jour avec succès.",
"storage_updated": "Les paramètres de stockage ont été mis à jour avec succès.",
"user_updated": "Les informations de votre compte utilisateur ont été mises à jour avec succès.",
"file_full_deleted": "Tous les fichiers ont été supprimés avec succès.",
"file_partial_deleted": "Certains fichiers n'ont pas pu être supprimés à cause d'une erreur inattendue.",
"name_full_updated": "Le nom de tous les fichiers a été mis à jour avec succès.",
Expand All @@ -59,6 +65,8 @@
"email_validation": "Un courriel de confirmation a été envoyé à l'adresse que vous avez fournie. Veuillez vérifier votre boîte de réception et cliquer sur le lien de confirmation pour activer votre compte."
},
"errors": {
"file_system": "Une erreur s'est produite lors de l'accès au système de fichiers. Veuillez réessayer plus tard.",
"too_many": "Vous avez réalisé cette action trop de fois. Veuillez réessayer plus tard.",
"quota_exceeded": "Le quota de stockage maximal a été dépassé. Certains fichiers n'ont pas pu être téléversés.",
"email_used": "Cette adresse électronique est déjà utilisée.",
"auth_failed": "Échec de l'authentification",
Expand Down Expand Up @@ -304,7 +312,7 @@
"OAuthAccountNotLinked": "Pour confirmer votre identité, connectez-vous avec le même compte que celui que vous avez utilisé initialement.",
"EmailSignup": "Le courriel de confirmation n'a pas pu être envoyé à l'adresse que vous avez fournie. Veuillez réessayer plus tard.",
"CredentialsSignin": "Échec de l'autorisation. Vérifiez les informations que vous avez fournies.",
"SessionRequired": "Veillez à vous connecter pour accéder à cette page."
"SessionRequired": "Vous devez être authentifié pour accéder à cette ressource."
}
},
"consentModal": {
Expand Down

0 comments on commit 704a883

Please sign in to comment.