Added legacy APIs to deploy this website

This commit is contained in:
Gabriel Brown 2024-10-07 14:21:50 -05:00
parent f5a260b4a1
commit 31b96e8d6a
7 changed files with 142 additions and 1 deletions

View File

@ -12,7 +12,8 @@
"dev": "next dev", "dev": "next dev",
"lint": "next lint", "lint": "next lint",
"start": "next start", "start": "next start",
"go": "git pull docker master && next build && next start" "go": "git pull docker master && next dev",
"goprod": "git pull docker master && next build && next start"
}, },
"dependencies": { "dependencies": {
"@t3-oss/env-nextjs": "^0.10.1", "@t3-oss/env-nextjs": "^0.10.1",

View File

@ -0,0 +1,21 @@
'use server';
import { NextResponse } from 'next/server';
import { getCountdown } from '~/server/functions';
export const GET = async (request: Request) => {
try {
const url = new URL(request.url);
const apiKey = url.searchParams.get('apiKey');
if (apiKey !== process.env.API_KEY) {
console.log('Invalid API Key');
return NextResponse.json({ message: "Invalid API Key" }, { status: 401 });
} else {
const countdown = await getCountdown();
return NextResponse.json(countdown);
}
} catch (error) {
console.error(error);
return NextResponse.json({ message: "Error" }, { status: 500 });
}
};
// localhost:3000/api/getCountdown?apiKey=I_Love_Madeline

View File

@ -0,0 +1,22 @@
'use server';
import { NextResponse } from 'next/server';
import { getMessage } from '~/server/functions';
export const GET = async (request: Request) => {
try {
const url = new URL(request.url);
const apiKey = url.searchParams.get('apiKey');
if (apiKey !== process.env.API_KEY) {
console.log('Invalid API Key');
return NextResponse.json({ message: "Invalid API Key" }, { status: 401 });
} else {
const userId = url.searchParams.get('userId') ?? '2';
const message = await getMessage(parseInt(userId));
return NextResponse.json(message);
}
} catch (error) {
console.error(error);
return NextResponse.json({ message: "Error" }, { status: 500 });
}
};
// localhost:3000/api/getMessage?apiKey=I_Love_Madeline&userId=2

View File

@ -0,0 +1,21 @@
'use server';
import { NextResponse } from 'next/server';
import { getUsers } from '~/server/functions';
export const GET = async (request: Request) => {
try {
const url = new URL(request.url);
const apiKey = url.searchParams.get('apiKey');
if (apiKey !== process.env.API_KEY) {
console.log('Invalid API Key');
return NextResponse.json({ message: "Invalid API Key" }, { status: 401 });
} else {
const users = await getUsers();
return NextResponse.json(users);
}
} catch (error) {
console.error(error);
return NextResponse.json({ message: "Error" }, { status: 500 });
}
};
// localhost:3000/api/getUsers?apiKey=I_Love_Madeline

View File

@ -0,0 +1,23 @@
"use server";
import { NextResponse } from "next/server";
import type { NextRequest } from "next/server";
import { setCountdown } from "~/server/functions";
export const POST = async (request: NextRequest) => {
try {
const url = new URL(request.url);
const apiKey = url.searchParams.get("apiKey");
if (apiKey !== process.env.API_KEY) {
console.log("Invalid API Key");
return NextResponse.json({ message: "Invalid API Key" }, { status: 401 });
} else {
const countdown = url.searchParams.get("countdown") ?? "2023-01-01T00:00:00.000Z";
await setCountdown(new Date(countdown));
return NextResponse.json({ message: "Countdown set successfully" });
}
} catch (error) {
console.error(error);
return NextResponse.json({ message: "Error" }, { status: 500 });
}
};
// localhost:3000/api/setCountdown?apiKey=I_Love_Madeline&countdown=2024-09-20T12:00:00.000Z

View File

@ -0,0 +1,24 @@
"use server";
import { NextResponse } from "next/server";
import type { NextRequest } from "next/server";
import { setMessage } from "~/server/functions";
export const POST = async (request: NextRequest) => {
try {
const url = new URL(request.url);
const apiKey = url.searchParams.get("apiKey");
if (apiKey !== process.env.API_KEY) {
console.log("Invalid API Key");
return NextResponse.json({ message: "Invalid API Key" }, { status: 401 });
} else {
const userId = url.searchParams.get("userId") ?? "2";
const message = url.searchParams.get("message") ?? "Test";
await setMessage(parseInt(userId), message);
return NextResponse.json({ message: "Message set successfully" });
}
} catch (error) {
console.error(error);
return NextResponse.json({ message: "Error" }, { status: 500 });
}
};
// localhost:3000/api/setMessage?apiKey=I_Love_Madeline&userId=2&message=HelloWorld

View File

@ -0,0 +1,29 @@
import { NextResponse } from 'next/server';
import { updateUserPushToken } from '~/server/functions';
type Data = {
apiKey: string;
userId: string;
pushToken: string;
};
export const POST = async (request: Request) => {
try {
const { apiKey, userId, pushToken } = await request.json() as Data;
console.log('Received request:', { apiKey, userId, pushToken });
if (apiKey !== process.env.API_KEY) {
console.log('Invalid API Key');
return NextResponse.json({ message: "Invalid API Key" }, { status: 401 });
}
console.log('Updating push token for user:', userId);
await updateUserPushToken(parseInt(userId), pushToken);
console.log('Push token updated successfully');
return NextResponse.json({ message: "Push token updated successfully" });
} catch (error) {
console.error('Error in updatePushToken:', error);
return NextResponse.json({ message: "Error updating push token" }, { status: 500 });
}
};