From 3bd76078e1bfe345d3f9fcb985f37db3716f3536 Mon Sep 17 00:00:00 2001 From: iCrawl Date: Fri, 24 Mar 2023 01:54:21 +0100 Subject: [PATCH] feat(website): sneaky sneaky 2 --- .gitignore | 1 + apps/website/.gitignore | 1 + apps/website/package.json | 1 + apps/website/src/app/api/cron/route.ts | 28 ++++++++++++++++++++++++++ apps/website/vercel.json | 8 ++++++++ package.json | 1 + turbo.json | 2 +- yarn.lock | 9 +++++++++ 8 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 apps/website/src/app/api/cron/route.ts create mode 100644 apps/website/vercel.json diff --git a/.gitignore b/.gitignore index 3b6e62209847..bbe3d0afc1cd 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,4 @@ out/ # Cache .prettiercache .eslintcache +.vercel diff --git a/apps/website/.gitignore b/apps/website/.gitignore index e482e4422db4..6bd220cbeb86 100644 --- a/apps/website/.gitignore +++ b/apps/website/.gitignore @@ -13,6 +13,7 @@ pids # Env .env +.env*.local # Dist dist/ diff --git a/apps/website/package.json b/apps/website/package.json index af308d3489b4..06c7e77889b4 100644 --- a/apps/website/package.json +++ b/apps/website/package.json @@ -52,6 +52,7 @@ "@microsoft/tsdoc": "0.14.2", "@react-icons/all-files": "^4.1.0", "@vercel/analytics": "^0.1.11", + "@vercel/edge-config": "^0.1.5", "@vercel/og": "^0.4.1", "@vscode/codicons": "^0.0.32", "ariakit": "^2.0.0-next.43", diff --git a/apps/website/src/app/api/cron/route.ts b/apps/website/src/app/api/cron/route.ts new file mode 100644 index 000000000000..0775fcb78352 --- /dev/null +++ b/apps/website/src/app/api/cron/route.ts @@ -0,0 +1,28 @@ +import { get } from '@vercel/edge-config'; +import { NextResponse } from 'next/server'; +import type { ServerRuntime } from 'next/types'; + +export const runtime: ServerRuntime = 'edge'; + +export async function GET() { + const url = await get('DISCORD_WEBHOOK_URL'); + const imageUrl = await get('IT_IS_WEDNESDAY_MY_DUDES'); + if (url && imageUrl) { + await fetch(url, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + username: 'It is wednesday, my dudes', + embeds: [ + { + image: { + url: imageUrl, + }, + }, + ], + }), + }); + } + + return NextResponse.json({ message: 'It is wednesday, my dudes' }); +} diff --git a/apps/website/vercel.json b/apps/website/vercel.json new file mode 100644 index 000000000000..85e370cc81d7 --- /dev/null +++ b/apps/website/vercel.json @@ -0,0 +1,8 @@ +{ + "crons": [ + { + "path": "/api/cron", + "schedule": "0 0 * * 3" + } + ] +} diff --git a/package.json b/package.json index 842674f0d545..8b0144b91b51 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "turbo": "^1.8.5", "typescript": "^5.0.2", "unocss": "^0.50.6", + "vercel": "^28.18.1", "vitest": "^0.29.7" }, "resolutions": { diff --git a/turbo.json b/turbo.json index 3b19f9a97740..e0e8329d1147 100644 --- a/turbo.json +++ b/turbo.json @@ -1,5 +1,5 @@ { - "$schema": "https://turborepo.org/schema.json", + "$schema": "https://turbo.build/schema.json", "globalDependencies": ["yarn.lock"], "pipeline": { "build": { diff --git a/yarn.lock b/yarn.lock index 2d9ee3c39d1f..58b9b423b093 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2083,6 +2083,7 @@ __metadata: turbo: ^1.8.5 typescript: ^5.0.2 unocss: ^0.50.6 + vercel: ^28.18.1 vitest: ^0.29.7 languageName: unknown linkType: soft @@ -2408,6 +2409,7 @@ __metadata: "@unocss/cli": ^0.50.6 "@unocss/reset": ^0.50.6 "@vercel/analytics": ^0.1.11 + "@vercel/edge-config": ^0.1.5 "@vercel/og": ^0.4.1 "@vitejs/plugin-react": ^3.1.0 "@vitest/coverage-c8": ^0.29.7 @@ -5861,6 +5863,13 @@ __metadata: languageName: node linkType: hard +"@vercel/edge-config@npm:^0.1.5": + version: 0.1.5 + resolution: "@vercel/edge-config@npm:0.1.5" + checksum: dec5f0794a6e9210f6f22b1d98f94c696f68bdcc6eed8bcd22e19572195285463663c65e2e3642bfbe2232bf0c460490b6cf3780dee638bec2b84157f4506d9b + languageName: node + linkType: hard + "@vercel/gatsby-plugin-vercel-analytics@npm:1.0.8": version: 1.0.8 resolution: "@vercel/gatsby-plugin-vercel-analytics@npm:1.0.8"