chore: improve error logging in services (#1300)

This commit is contained in:
Matti Nannt
2023-10-18 21:17:53 +02:00
committed by GitHub
parent 3a36f886da
commit bdf3298a90
20 changed files with 66 additions and 65 deletions

View File

@@ -1,7 +1,6 @@
"use client"; // Error components must be Client components
import { Button } from "@formbricks/ui/Button";
import CodeBlock from "@formbricks/ui/CodeBlock";
import { ErrorComponent } from "@formbricks/ui/ErrorComponent";
export default function Error({ error, reset }: { error: Error; reset: () => void }) {
@@ -12,7 +11,6 @@ export default function Error({ error, reset }: { error: Error; reset: () => voi
return (
<div className="flex h-full w-full flex-col items-center justify-center">
<ErrorComponent />
<CodeBlock language={"bash"}>{error.message}</CodeBlock>
<Button
variant="secondary"
onClick={

View File

@@ -59,7 +59,7 @@ export default async function handle(req: NextApiRequest, res: NextApiResponse)
res.status(400).send({ message: "Tag already exists" });
}
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;

View File

@@ -54,7 +54,7 @@ export const getActionsByEnvironmentId = async (
return actions;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;

View File

@@ -31,7 +31,7 @@ export const getApiKey = async (apiKeyId: string): Promise<TApiKey | null> => {
return apiKeyData;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -53,7 +53,7 @@ export const getApiKeys = async (environmentId: string, page?: number): Promise<
return apiKeys;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
}
@@ -78,7 +78,7 @@ export async function createApiKey(environmentId: string, apiKeyData: TApiKeyCre
return { ...result, apiKey: key };
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
}
@@ -100,7 +100,7 @@ export const getApiKeyFromKey = async (apiKey: string): Promise<TApiKey | null>
return apiKeyData;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -119,7 +119,7 @@ export const deleteApiKey = async (id: string): Promise<TApiKey | null> => {
return deletedApiKeyData;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;

View File

@@ -64,7 +64,7 @@ export const updateDisplay = async (
} catch (error) {
console.error(error);
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -110,7 +110,7 @@ export const createDisplay = async (displayInput: TDisplayInput): Promise<TDispl
return display;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -144,7 +144,7 @@ export const markDisplayResponded = async (displayId: string): Promise<TDisplay>
return display;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -200,7 +200,7 @@ export const getDisplaysOfPerson = async (
return displays;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -218,7 +218,7 @@ export const deleteDisplayByResponseId = async (responseId: string, surveyId: st
revalidateTag(getDisplaysCacheTag(surveyId));
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
}

View File

@@ -37,7 +37,8 @@ export const getEnvironment = (environmentId: string) =>
});
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
console.error(error.message);
throw new DatabaseError(error.message);
}
throw error;
@@ -80,7 +81,7 @@ export const getEnvironments = async (productId: string): Promise<TEnvironment[]
}
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
}
@@ -128,7 +129,7 @@ export const updateEnvironment = async (
return updatedEnvironment;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
}
@@ -153,7 +154,7 @@ export const getFirstEnvironmentByUserId = async (userId: string): Promise<TEnvi
});
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;

View File

@@ -50,7 +50,7 @@ export const getSpreadSheets = async (environmentId: string): Promise<TGoogleSpr
return spreadsheets;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
}
@@ -96,7 +96,7 @@ export async function writeData(credentials: TGoogleCredential, spreadsheetId: s
);
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
}

View File

@@ -36,7 +36,7 @@ export async function createOrUpdateIntegration(
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
console.error(error);
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
}
@@ -56,7 +56,7 @@ export const getIntegrations = async (environmentId: string, page?: number): Pro
return result;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
}
@@ -72,7 +72,7 @@ export const getIntegration = async (integrationId: string): Promise<TIntegratio
return result;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
}
@@ -97,7 +97,7 @@ export const getIntegrationByType = async (
return result;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
}
@@ -116,7 +116,7 @@ export const deleteIntegration = async (integrationId: string): Promise<TIntegra
return integrationData;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;

View File

@@ -80,7 +80,7 @@ export const deleteInvite = async (inviteId: string): Promise<TInvite> => {
return invite;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;

View File

@@ -187,7 +187,7 @@ export const transferOwnership = async (
return memberships;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
const message = error instanceof Error ? error.message : "";

View File

@@ -79,7 +79,7 @@ export const getPerson = async (personId: string): Promise<TPerson | null> => {
return transformPrismaPerson(person);
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -124,7 +124,7 @@ export const getPeople = async (environmentId: string, page?: number): Promise<T
.filter((person: TPerson | null): person is TPerson => person !== null);
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -201,7 +201,7 @@ export const deletePerson = async (personId: string): Promise<TPerson | null> =>
return transformedPerson;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -223,7 +223,7 @@ export const updatePerson = async (personId: string, personInput: TPersonUpdateI
return transformPrismaPerson(person);
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;

View File

@@ -51,7 +51,7 @@ export const getProducts = async (teamId: string, page?: number): Promise<TProdu
return products;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -85,7 +85,8 @@ export const getProductByEnvironmentId = async (environmentId: string): Promise<
return productPrisma;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
console.error(error.message);
throw new DatabaseError(error.message);
}
throw error;
}
@@ -125,7 +126,7 @@ export const updateProduct = async (
});
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
}
@@ -160,7 +161,7 @@ export const getProduct = async (productId: string): Promise<TProduct | null> =>
return productPrisma;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
}

View File

@@ -51,7 +51,7 @@ export const getProfile = async (userId: string): Promise<TProfile | null> =>
return profile;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -83,7 +83,7 @@ export const getProfileByEmail = async (email: string): Promise<TProfile | null>
return profile;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -215,7 +215,7 @@ export const deleteProfile = async (userId: string): Promise<TProfile> => {
return deletedProfile;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;

View File

@@ -117,7 +117,7 @@ export const getResponsesByPersonId = async (
return responses;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -165,7 +165,7 @@ export const getResponseBySingleUseId = async (
return response;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -237,7 +237,7 @@ export const createResponse = async (responseInput: TResponseInput): Promise<TRe
return response;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -270,7 +270,7 @@ export const getResponse = async (responseId: string): Promise<TResponse | null>
return response;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -319,7 +319,7 @@ export const getResponses = async (surveyId: string, page?: number): Promise<TRe
return transformedResponses;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -372,7 +372,7 @@ export const getResponsesByEnvironmentId = async (
return transformedResponses;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -435,7 +435,7 @@ export const updateResponse = async (
return response;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -468,7 +468,7 @@ export const deleteResponse = async (responseId: string): Promise<TResponse> =>
return response;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;

View File

@@ -51,7 +51,7 @@ export const createResponseNote = async (
return responseNote;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -69,7 +69,7 @@ export const getResponseNote = async (responseNoteId: string): Promise<TResponse
return responseNote;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -98,7 +98,7 @@ export const updateResponseNote = async (responseNoteId: string, text: string):
return updatedResponseNote;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -126,7 +126,7 @@ export const resolveResponseNote = async (responseNoteId: string): Promise<TResp
return responseNote;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;

View File

@@ -36,7 +36,7 @@ export const getSession = async (sessionId: string): Promise<TSession | null> =>
return session;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -89,7 +89,7 @@ export const getSessionWithActionsOfPerson = async (
return sessionsWithActionsForPerson;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
}
@@ -106,7 +106,7 @@ export const getSessionCount = async (personId: string): Promise<number> => {
return sessionCount;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
}
@@ -135,7 +135,7 @@ export const createSession = async (personId: string): Promise<TSession> => {
return session;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -161,7 +161,7 @@ export const extendSession = async (sessionId: string): Promise<TSession> => {
return session;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;

View File

@@ -29,7 +29,7 @@ export const createShortUrl = async (url: string): Promise<TShortUrl> => {
});
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -47,7 +47,7 @@ export const getShortUrl = async (id: string): Promise<TShortUrl | null> => {
});
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -64,7 +64,7 @@ export const getShortUrlByUrl = async (url: string): Promise<TShortUrl | null> =
});
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;

View File

@@ -85,7 +85,7 @@ export const getSurvey = async (surveyId: string): Promise<TSurvey | null> => {
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
console.error(error.message);
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -199,7 +199,7 @@ export const getSurveys = async (environmentId: string, page?: number): Promise<
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
console.error(error.message);
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -382,7 +382,7 @@ export async function updateSurvey(updatedSurvey: TSurvey): Promise<TSurvey> {
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
console.error(error.message);
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;

View File

@@ -46,7 +46,7 @@ export const getTeamsByUserId = async (userId: string, page?: number): Promise<T
return teams;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
@@ -84,7 +84,8 @@ export const getTeamByEnvironmentId = async (environmentId: string): Promise<TTe
return team;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
console.error(error.message);
throw new DatabaseError(error.message);
}
throw error;
@@ -182,7 +183,7 @@ export const deleteTeam = async (teamId: string): Promise<TTeam> => {
return team;
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;

View File

@@ -50,7 +50,7 @@ export const getTeamDetails = async (
};
} catch (error) {
if (error instanceof Prisma.PrismaClientKnownRequestError) {
throw new DatabaseError("Database operation failed");
throw new DatabaseError(error.message);
}
throw error;
}