diff --git a/src/app/api/credmanager/createCalculationRequest.ts b/src/app/api/credmanager/createCalculationRequest.ts new file mode 100644 index 0000000..62ffe95 --- /dev/null +++ b/src/app/api/credmanager/createCalculationRequest.ts @@ -0,0 +1,17 @@ +import { ContributionRequest } from "@prisma/client"; +import prisma from "db"; + +export async function createContributionRequest( + teamId: string, + gitHubToken: string, + email: string, +): Promise { + const contributionRequest = await prisma.contributionRequest.create({ + data: { + team_id: teamId, + access_token: gitHubToken, + email: email, + }, + }); + return contributionRequest; +} diff --git a/src/app/api/credmanager/route.ts b/src/app/api/credmanager/route.ts index 967e7db..ee03c3f 100644 --- a/src/app/api/credmanager/route.ts +++ b/src/app/api/credmanager/route.ts @@ -2,6 +2,7 @@ import { NextRequest, NextResponse } from "next/server"; import { options } from "../auth/[...nextauth]/options"; import { getServerSession } from "next-auth"; import { EventName, createEvent } from "../event/createEvent"; +import { createContributionRequest } from "./createCalculationRequest"; export interface UserCredDto { totalCred: number; @@ -10,27 +11,23 @@ export interface UserCredDto { } export async function GET(req: NextRequest) { - // try { const teamId = req.nextUrl.searchParams.get("team_id"); const session = await getServerSession(options); if (teamId && session?.userId != null) { - const CRED_MANAGER_ROUTE = process.env.CRED_MANAGER_ROUTE; - const calculatedUserCredDtos = await fetch( - `${CRED_MANAGER_ROUTE}/cred/team/${teamId}/${session?.accessToken}/${session?.user?.email}`, - { - method: "GET", - }, - ); createEvent(session?.userId, EventName.REQUEST_CALCULATION, { teamId: teamId, }); + + const contributionRequest = await createContributionRequest( + teamId, + session.accessToken!, + session!.user!.email!, + ); + return NextResponse.json({ success: true, - userCredDtos: calculatedUserCredDtos.json(), }); + } else { + return NextResponse.json({ success: false }); } - // } catch (error) { - // console.error(error); - return NextResponse.json({ success: false, userCredDtos: [] }); - // } }