Skip to content

Commit f0841a0

Browse files
committed
Added debugging messages only available in production environment
1 parent 5221ee0 commit f0841a0

34 files changed

+421
-16
lines changed

app/[locale]/actions.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import prisma from "@/utilities/prisma";
88
import { auth } from "@/utilities/next-auth";
9+
import { logger } from "@/utilities/pino";
910

1011
//
1112
// Mise à jour de l'état de lecture des notifications.
@@ -30,5 +31,10 @@ export async function updateReadState()
3031
} );
3132

3233
// On retourne enfin un message de succès si l'opération a réussi.
34+
logger.debug(
35+
{ source: __filename, count: notifications.count },
36+
"Deleted all notifications"
37+
);
38+
3339
return notifications.count > 0;
3440
}

app/[locale]/authentication/actions/signin.ts

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import prisma from "@/utilities/prisma";
99
import schema from "@/schemas/authentication";
1010
import { TOTP } from "otpauth";
11+
import { logger } from "@/utilities/pino";
1112
import { redirect } from "next/navigation";
1213
import { AuthError } from "next-auth";
1314
import { auth, signIn } from "@/utilities/next-auth";
@@ -38,6 +39,8 @@ export async function signInAccount(
3839
// Si c'est le cas, on tente une authentification via le fournisseur
3940
// d'authentification externe avant de rediriger l'utilisateur vers
4041
// la page de son tableau de bord.
42+
logger.info( { source: __filename, provider }, "Sign in with provider" );
43+
4144
await signIn( provider as string, {
4245
redirectTo: "/dashboard"
4346
} );
@@ -57,6 +60,8 @@ export async function signInAccount(
5760
{
5861
// Si les données du formulaire sont invalides, on affiche le
5962
// premier code d'erreur rencontré.
63+
logger.error( { source: __filename, result }, "Invalid form data" );
64+
6065
return {
6166
success: false,
6267
reason: messages( `zod.${ result.error.issues[ 0 ].code }` )
@@ -75,6 +80,11 @@ export async function signInAccount(
7580
sendVerificationRequest: true
7681
} );
7782

83+
logger.info(
84+
{ source: __filename, email: result.data.email },
85+
"Sign in with email"
86+
);
87+
7888
return {
7989
success: !!response,
8090
reason: response
@@ -118,14 +128,26 @@ export async function signInAccount(
118128
{
119129
// Échec de validation avec le code de l'application ouverts
120130
// ou le code de secours.
131+
logger.error(
132+
{ source: __filename, email: result.data.email },
133+
"Invalid OTP code"
134+
);
135+
121136
return {
122137
success: false,
123138
reason: messages( "form.errors.invalid_otp" )
124139
};
125140
}
141+
142+
logger.info(
143+
{ source: __filename, email: result.data.email },
144+
"Requesting OTP code"
145+
);
126146
}
127147

128148
// Aucun code de double authentification n'a été fourni.
149+
logger.error( { source: __filename }, "OTP code required" );
150+
129151
return {
130152
success: false,
131153
reason: messages( "form.errors.otp_required" )
@@ -135,6 +157,11 @@ export async function signInAccount(
135157
// On tente alors une authentification via les informations
136158
// d'authentification fournies avant de rediriger l'utilisateur
137159
// vers la page de son tableau de bord.
160+
logger.info(
161+
{ source: __filename, email: result.data.email },
162+
"Sign in with credentials"
163+
);
164+
138165
await signIn( "credentials", {
139166
email: result.data.email,
140167
password: result.data.password,
@@ -148,17 +175,26 @@ export async function signInAccount(
148175
// d'authentification avant de relancer l'erreur.
149176
if ( error instanceof AuthError )
150177
{
178+
logger.error( { source: __filename, error }, "Authentication error" );
179+
151180
return {
152181
success: false,
153182
reason: messages( `authjs.errors.${ error.type }` )
154183
};
155184
}
156185

186+
logger.error( { source: __filename, error }, "Sign in error" );
187+
157188
throw error;
158189
}
159190

160191
// On retourne enfin un message d'erreur par défaut au l'utilisateur
161192
// ne correspondant à aucun des cas précédents.
193+
logger.error(
194+
{ source: __filename, email: result.data.email },
195+
"Sign in error"
196+
);
197+
162198
return {
163199
success: false,
164200
reason: messages( "authjs.errors.CredentialsSignin" )

app/[locale]/authentication/actions/signout.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,15 @@
44

55
"use server";
66

7+
import { logger } from "@/utilities/pino";
78
import { signOut } from "@/utilities/next-auth";
89

910
export async function signOutAccount()
1011
{
1112
// On tente de déconnecter l'utilisateur de son compte utilisateur
1213
// avant de rediriger celui-ci vers la page d'accueil.
14+
logger.debug( { source: __filename }, "Sign out" );
15+
1316
await signOut( {
1417
redirectTo: "/"
1518
} );

app/[locale]/authentication/actions/signup.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import prisma from "@/utilities/prisma";
99
import schema from "@/schemas/authentication";
10+
import { logger } from "@/utilities/pino";
1011
import { redirect } from "next/navigation";
1112
import { auth, signIn } from "@/utilities/next-auth";
1213
import { getTranslations } from "next-intl/server";
@@ -37,6 +38,8 @@ export async function signUpAccount(
3738
{
3839
// Si les données du formulaire sont invalides, on affiche le
3940
// premier code d'erreur rencontré.
41+
logger.error( { source: __filename, result }, "Invalid form data" );
42+
4043
return {
4144
success: false,
4245
reason: messages( `zod.${ result.error.issues[ 0 ].code }` )
@@ -55,6 +58,11 @@ export async function signUpAccount(
5558
{
5659
// Si c'est le cas, on indique à l'utilisateur que l'adresse
5760
// électronique fournie est déjà utilisée.
61+
logger.error(
62+
{ source: __filename, email: result.data.email },
63+
"Email already used"
64+
);
65+
5866
return {
5967
success: false,
6068
reason: messages( "form.errors.email_used" )
@@ -80,11 +88,21 @@ export async function signUpAccount(
8088
sendVerificationRequest: true
8189
} );
8290

91+
logger.info(
92+
{ source: __filename, email: result.data.email },
93+
"Sign up with email"
94+
);
95+
8396
if ( !response )
8497
{
8598
// Lorsque la demande de validation de l'adresse électronique
8699
// semble ne pas renvoyer de réponse, on affiche un message
87100
// d'erreur sur la page d'authentification.
101+
logger.error(
102+
{ source: __filename, email: result.data.email },
103+
"Email validation request failed"
104+
);
105+
88106
return {
89107
success: false,
90108
reason: messages( "authjs.errors.EmailSignup" )
@@ -94,6 +112,11 @@ export async function signUpAccount(
94112

95113
// On retourne enfin un message de succès à l'utilisateur afin
96114
// qu'il puisse valider son adresse électronique.
115+
logger.info(
116+
{ source: __filename, email: result.data.email },
117+
"Email validation request sent"
118+
);
119+
97120
return {
98121
success: true,
99122
reason: messages( "form.infos.email_validation" )

app/[locale]/dashboard/actions/file-delete.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { z } from "zod";
88
import prisma from "@/utilities/prisma";
99
import { join } from "path";
1010
import { auth } from "@/utilities/next-auth";
11+
import { logger } from "@/utilities/pino";
1112
import * as Sentry from "@sentry/nextjs";
1213
import { existsSync } from "fs";
1314
import { rm, readdir } from "fs/promises";
@@ -35,6 +36,8 @@ export async function deleteFile( formData: FormData )
3536

3637
if ( !result.success )
3738
{
39+
logger.error( { source: __filename, result }, "Invalid form data" );
40+
3841
return [];
3942
}
4043

@@ -75,6 +78,8 @@ export async function deleteFile( formData: FormData )
7578
{
7679
// Si aucun fichier n'a été trouvé dans la base de données,
7780
// on retourne une valeur d'échec.
81+
logger.error( { source: __filename, query }, "No files found" );
82+
7883
return [];
7984
}
8085

@@ -117,10 +122,14 @@ export async function deleteFile( formData: FormData )
117122
{
118123
// Si une erreur s'est produite lors des opérations avec le
119124
// système de fichiers, on l'envoie tout simplement à Sentry.
125+
logger.error( { source: __filename, error }, "File deletion error" );
126+
120127
Sentry.captureException( error );
121128
}
122129

123130
// On retourne enfin la liste des identifiants des fichiers supprimés
124131
// à la fin du traitement.
132+
logger.debug( { source: __filename, files }, "Files deleted" );
133+
125134
return files.map( ( file ) => file.id );
126135
}

app/[locale]/dashboard/actions/file-rename.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { z } from "zod";
88
import prisma from "@/utilities/prisma";
99
import { auth } from "@/utilities/next-auth";
1010
import { parse } from "path";
11+
import { logger } from "@/utilities/pino";
1112

1213
export async function renameFile( formData: FormData )
1314
{
@@ -36,6 +37,8 @@ export async function renameFile( formData: FormData )
3637

3738
if ( !result.success )
3839
{
40+
logger.error( { source: __filename, result }, "Invalid form data" );
41+
3942
return [];
4043
}
4144

@@ -64,6 +67,8 @@ export async function renameFile( formData: FormData )
6467

6568
if ( !first )
6669
{
70+
logger.error( { source: __filename, result }, "Invalid file data" );
71+
6772
return [];
6873
}
6974

@@ -106,5 +111,7 @@ export async function renameFile( formData: FormData )
106111

107112
// On retourne enfin la liste des identifiants des fichiers renommés
108113
// à la fin du traitement.
114+
logger.debug( { source: __filename, files }, "Files renamed" );
115+
109116
return files.map( ( file ) => file.id );
110117
}

app/[locale]/dashboard/actions/file-status.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import { z } from "zod";
88
import prisma from "@/utilities/prisma";
99
import { auth } from "@/utilities/next-auth";
10+
import { logger } from "@/utilities/pino";
1011

1112
export async function changeFileStatus( formData: FormData )
1213
{
@@ -33,6 +34,8 @@ export async function changeFileStatus( formData: FormData )
3334

3435
if ( !result.success )
3536
{
37+
logger.error( { source: __filename, result }, "Invalid form data" );
38+
3639
return [];
3740
}
3841

@@ -91,5 +94,7 @@ export async function changeFileStatus( formData: FormData )
9194

9295
// On retourne enfin la liste des identifiants des fichiers modifiés
9396
// à la fin du traitement.
97+
logger.debug( { source: __filename, identifiers }, "File status changed" );
98+
9499
return identifiers;
95100
}

0 commit comments

Comments
 (0)