aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.eslintignore1
-rw-r--r--.gitignore1
-rw-r--r--.prettierignore1
-rw-r--r--src/routes/api/oauth/animeschedule/callback/+server.ts.bak35
-rw-r--r--vite.config.ts10
5 files changed, 47 insertions, 1 deletions
diff --git a/.eslintignore b/.eslintignore
index 35fca122..9e85a9a0 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -13,6 +13,7 @@
.env*
*.sqlite3
.secret
+certificates
# NPM
package-lock.json
diff --git a/.gitignore b/.gitignore
index 35fca122..9e85a9a0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,6 +13,7 @@
.env*
*.sqlite3
.secret
+certificates
# NPM
package-lock.json
diff --git a/.prettierignore b/.prettierignore
index 35fca122..9e85a9a0 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -13,6 +13,7 @@
.env*
*.sqlite3
.secret
+certificates
# NPM
package-lock.json
diff --git a/src/routes/api/oauth/animeschedule/callback/+server.ts.bak b/src/routes/api/oauth/animeschedule/callback/+server.ts.bak
new file mode 100644
index 00000000..2364d071
--- /dev/null
+++ b/src/routes/api/oauth/animeschedule/callback/+server.ts.bak
@@ -0,0 +1,35 @@
+import { dev } from '$app/environment';
+import { env } from '$env/dynamic/private';
+import { env as env2 } from '$env/dynamic/public';
+import { redirect } from '@sveltejs/kit';
+
+export const GET = async ({ url, cookies }) => {
+ const formData = new FormData();
+
+ formData.append('grant_type', 'authorization_code');
+ formData.append('client_id', env2.PUBLIC_ANIMESCHEDULE_CLIENT_ID as string);
+ formData.append('client_secret', env.ANIMESCHEDULE_CLIENT_SECRET as string);
+ formData.append('redirect_uri', env2.PUBLIC_ANIMESCHEDULE_REDIRECT_URI as string);
+ formData.append('code', url.searchParams.get('code') || 'null');
+ console.log('code', url.searchParams);
+ cookies.set(
+ 'animeschedule',
+ JSON.stringify(
+ await (
+ await fetch('https://animeschedule.net/api/v3/oauth2/token', {
+ method: 'POST',
+ body: formData
+ })
+ ).json()
+ ),
+ {
+ path: '/',
+ maxAge: 60 * 60 * 24 * 7,
+ httpOnly: true,
+ sameSite: 'lax',
+ secure: !dev
+ }
+ );
+
+ throw redirect(303, '/settings');
+};
diff --git a/vite.config.ts b/vite.config.ts
index d0778634..601075f0 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,7 +1,15 @@
import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vite';
// import { webSocketServer } from '$lib/websocket';
+import fs from 'fs';
export default defineConfig({
- plugins: [sveltekit() /* webSocketServer */]
+ plugins: [sveltekit() /* webSocketServer */],
+ server: {
+ https: {
+ key: fs.readFileSync(`${import.meta.dir}/certificates/key.pem`),
+ cert: fs.readFileSync(`${import.meta.dir}/certificates/certificate.pem`)
+ },
+ proxy: {}
+ }
});