From 0cef1b671e378ab52bd93d49ae8dacf53e848550 Mon Sep 17 00:00:00 2001 From: Lucid Date: Sun, 3 May 2026 10:12:19 -0400 Subject: [PATCH] Added documentation. --- src/graphql/resolvers.ts | 75 +++++++++++++++++++++++++++++++--------- 1 file changed, 59 insertions(+), 16 deletions(-) diff --git a/src/graphql/resolvers.ts b/src/graphql/resolvers.ts index b9a30bd..027999c 100644 --- a/src/graphql/resolvers.ts +++ b/src/graphql/resolvers.ts @@ -39,6 +39,9 @@ export const resolvers = { const { startDate, endDate } = data; if (!startDate || !endDate) { + console.info( + "GET STATS RANGE: REFUSED - one or both dates not provided." + ); return null; } @@ -79,33 +82,44 @@ export const resolvers = { ) => { const { mutationKey } = data; + // If env is not development check for the mutation key. if (env !== "development") { + // If mutation key was not provided. if (!mutationKey) { console.info("INIT: REFUSED - no mutation key was provided."); - return null; } + // If provided mutation key is invalid. if (mutationKey !== envMutationKey) { console.info("INIT: REFUSED - mutation key provided was incorrect."); return null; } } - const date = new Date().toISOString(); - let count = 0; + const createdAtDate = new Date().toISOString(); + // How many tables were created + let newTablesCount = 0; + // Check for daily stats document count. if ((await prisma.dailyStats.count()) === 0) { - await prisma.dailyStats.create({ data: { createdAt: date } }); - count++; + // Make a daily stats document. + console.info("INIT: created new document"); + await prisma.dailyStats.create({ data: { createdAt: createdAtDate } }); + newTablesCount++; } + // Check for a total stats document. if ((await prisma.totalStats.count()) === 0) { - await prisma.totalStats.create({ data: { createdAt: date } }); - count++; + // Make the total stats document. + console.info("INIT: created new document"); + await prisma.totalStats.create({ data: { createdAt: createdAtDate } }); + newTablesCount++; } - console.info(`INIT: ${count} tables have been initialized with data.`); - return `${count} tables have been initialized with data.`; + console.info( + `INIT: ${newTablesCount} tables have been initialized with data.` + ); + return `${newTablesCount} tables have been initialized with data.`; }, cronJob: async ( _parent: unknown, @@ -114,12 +128,15 @@ export const resolvers = { ) => { const { mutationKey } = data; + // If env is not development check for the mutation key. if (env !== "development") { + // If mutation key was not provided. if (!mutationKey) { console.info("CRONJOB: REFUSED - no mutation key was provided."); return null; } + // If provided mutation key is invalid. if (mutationKey !== envMutationKey) { console.info( "CRONJOB: REFUSED - mutation key provided was incorrect." @@ -130,19 +147,23 @@ export const resolvers = { const latestDailyStats = await getLatestDailyStat(); + // If there is a daily stats documents. if (latestDailyStats !== null) { + // Check if the latest document is for today. if (isDailyStatToday(String(latestDailyStats.createdAt))) { console.info("Cron job refused: latest document is current date."); return null; } } - const date = new Date().toISOString(); - - await prisma.dailyStats.create({ data: { createdAt: date } }); + // Create new daily stats document. + const createdAtDate = new Date().toISOString(); + await prisma.dailyStats.create({ data: { createdAt: createdAtDate } }); + // Get every daily stats documents. const allStats = await prisma.dailyStats.findMany({}); + // Add all stats into one object. const calculatedStats = allStats.reduce( (acc, curr) => { const links = (acc.linksDeleted += curr.linksDeleted); @@ -162,12 +183,14 @@ export const resolvers = { } ); + // Take the total stats document. const totalStats = await prisma.totalStats.findFirst({ orderBy: { createdAt: "desc" } }); + // Update the total stats document with the new total. console.info("CRONJOB: Creating new document."); return await prisma.totalStats.update({ where: { @@ -191,13 +214,15 @@ export const resolvers = { const { groupID, groupName, groupUsername, mutationKey } = data; const groupIDInt = BigInt(groupID); + // If env is not development check for the mutation key. if (env !== "development") { + // If mutation key was not provided. if (!mutationKey) { console.info("ADD GROUP: REFUSED - no mutation key was provided."); - return null; } + // If provided mutation key is invalid. if (mutationKey !== envMutationKey) { console.info( "ADD GROUP: REFUSED - mutation key provided was incorrect." @@ -206,15 +231,20 @@ export const resolvers = { } } + // Attempt to find the group's document. const existingGroup = await prisma.groups.findUnique({ where: { telegramID: groupIDInt } }); + // If the document was found. if (existingGroup !== null) { + // Check if the document details are incorrect. if ( existingGroup.name !== groupName || existingGroup.username !== groupUsername ) { + // Return the document after updating the details. + console.info("ADD GROUP: Updated group document."); return await prisma.groups.update({ where: { telegramID: existingGroup.telegramID @@ -223,10 +253,12 @@ export const resolvers = { }); } - console.info("ADD GROUP: Created new document."); + // Return document without making changed. return existingGroup; } + // Return document after creating one for the group. + console.info("ADD GROUP: Created new group document."); return await prisma.groups.create({ data: { telegramID: groupIDInt, @@ -241,7 +273,9 @@ export const resolvers = { ) => { const { groupID, linksDeleted, mutationKey } = data; + // If env is not development check for the mutation key. if (env !== "development") { + // If mutation key was not provided. if (!mutationKey) { console.info( "INCREMENT GROUP: REFUSED - no mutation key was provided." @@ -249,6 +283,7 @@ export const resolvers = { return null; } + // If provided mutation key is invalid. if (mutationKey !== envMutationKey) { console.info( "INCREMENT GROUP: REFUSED - mutation key provided was incorrect." @@ -257,6 +292,7 @@ export const resolvers = { } } + // Return updated group document after incrementing it. console.info("INCREMENT GROUP: Incremented group document."); return await prisma.groups.update({ where: { telegramID: BigInt(groupID) }, @@ -275,12 +311,15 @@ export const resolvers = { ) => { const { link, command, trigger, mutationKey } = data; + // If env is not development check for the mutation key. if (env !== "development") { + // If mutation key was not provided. if (!mutationKey) { console.info("INCREMENT: REFUSED - no mutation key was provided."); return null; } + // If provided mutation key is invalid. if (mutationKey !== envMutationKey) { console.info( "INCREMENT: REFUSED - mutation key provided was incorrect." @@ -289,12 +328,16 @@ export const resolvers = { } } + // Get latest daily stats. let latestDailyStats = await getLatestDailyStat(); + // If there is a daily stats documents. if (latestDailyStats !== null) { + // Check if the latest document is for today. if (!isDailyStatToday(String(latestDailyStats.createdAt))) { + // Create new daily stats document. + console.info("INCREMENT: Created new document."); const date = new Date().toISOString(); - await prisma.dailyStats .create({ data: { createdAt: date } }) .then(async () => { @@ -306,8 +349,8 @@ export const resolvers = { }); } + // Return latest daily stats after incrementing it. console.info("INCREMENT: Incremented information on today's document."); - return await prisma.dailyStats.update({ where: { createdAt: latestDailyStats.createdAt }, data: {