From a54a0eba0b36da860c985433b8e78b084a57ed8f Mon Sep 17 00:00:00 2001 From: cirroskais Date: Sun, 24 Mar 2024 01:54:45 -0400 Subject: [PATCH] add transitions, abandon drizzle --- Dockerfile | 2 - drizzle.config.js | 11 ------ src/hooks.server.js | 18 ++------- src/lib/components/LoggedOut.svelte | 51 ++++++++++++++++--------- src/lib/components/LoginForm.svelte | 38 ++++++++++++++++++ src/lib/components/RegisterForm.svelte | 49 ++++++++++++++++++++++++ src/lib/server/auth.js | 23 ----------- src/lib/server/database/index.js | 13 ------- src/lib/server/database/schema.js | 53 -------------------------- src/routes/+layout.server.js | 11 +++--- src/routes/+layout.svelte | 2 +- src/routes/+page.svelte | 7 ---- 12 files changed, 131 insertions(+), 147 deletions(-) delete mode 100644 drizzle.config.js create mode 100644 src/lib/components/LoginForm.svelte create mode 100644 src/lib/components/RegisterForm.svelte delete mode 100644 src/lib/server/auth.js delete mode 100644 src/lib/server/database/index.js delete mode 100644 src/lib/server/database/schema.js diff --git a/Dockerfile b/Dockerfile index 78c80ae..3439145 100644 --- a/Dockerfile +++ b/Dockerfile @@ -26,8 +26,6 @@ FROM base AS app COPY --from=install /usr/src/app/prod/node_modules node_modules COPY --from=build /usr/src/app/package.json . COPY --from=build /usr/src/app/build/ . -COPY --from=build /usr/src/app/drizzle.config.js . -COPY --from=build /usr/src/app/src/lib/server/database ./src/lib/server/database EXPOSE 3000/tcp CMD [ "node", "index.js" ] \ No newline at end of file diff --git a/drizzle.config.js b/drizzle.config.js deleted file mode 100644 index a10be1a..0000000 --- a/drizzle.config.js +++ /dev/null @@ -1,11 +0,0 @@ -/** @type { import("drizzle-kit").Config } */ -export default { - schema: 'src/lib/server/database/schema.js', - driver: 'mysql2', - dbCredentials: { - host: process.env.MYSQL_HOST, - user: process.env.MYSQL_USERNAME, - password: process.env.MYSQL_PASSWORD, - database: process.env.MYSQL_DATABASE - } -}; diff --git a/src/hooks.server.js b/src/hooks.server.js index fbb46ba..c5dcbae 100644 --- a/src/hooks.server.js +++ b/src/hooks.server.js @@ -1,19 +1,9 @@ // import { redirect } from '@sveltejs/kit'; -import { sequence } from '@sveltejs/kit/hooks'; -import { handle as authenticationHandle } from '$lib/server/auth.js'; -async function authorizationHandle({ event, resolve }) { - // if (event.url.pathname.startsWith('/(app)')) { - // const session = await event.locals.auth(); - // if (!session) { - // throw redirect(303, '/auth/signin'); - // } - // } - - return resolve(event); -} - -export const handle = sequence(authenticationHandle, authorizationHandle); +// /** @type {import('@sveltejs/kit').Handle} */ +// export const handle = ({ resolve }) => { +// return resolve(); +// }; /** @type {import('@sveltejs/kit').HandleServerError} */ export async function handleError({ error, event, status, message }) { diff --git a/src/lib/components/LoggedOut.svelte b/src/lib/components/LoggedOut.svelte index 4a9e398..11927e2 100644 --- a/src/lib/components/LoggedOut.svelte +++ b/src/lib/components/LoggedOut.svelte @@ -1,30 +1,45 @@ -
-
-
-
- +{#if state === 0} +
+
+
+
+ +
+

Currently hosting 0 files.

+

Elon musk found dead in a pool

-

Currently hosting 0 files.

-

Elon musk found dead in a pool

-
-
- +
+ - + + + +
-
+{:else if state === 1} + (state = 0)} /> +{:else if state === 2} + (state = 0)} /> +{/if} diff --git a/src/lib/components/LoginForm.svelte b/src/lib/components/LoginForm.svelte new file mode 100644 index 0000000..c1a16c4 --- /dev/null +++ b/src/lib/components/LoginForm.svelte @@ -0,0 +1,38 @@ + + +
+
+
+ +
+
+
+ + + + + + +
+ + +
+
+
+
+
diff --git a/src/lib/components/RegisterForm.svelte b/src/lib/components/RegisterForm.svelte new file mode 100644 index 0000000..062ea30 --- /dev/null +++ b/src/lib/components/RegisterForm.svelte @@ -0,0 +1,49 @@ + + +
+
+
+ +
+
+
+ + + + + + + + + + + + +
+ + +
+
+
+
+
diff --git a/src/lib/server/auth.js b/src/lib/server/auth.js deleted file mode 100644 index 2ac5ac2..0000000 --- a/src/lib/server/auth.js +++ /dev/null @@ -1,23 +0,0 @@ -import { SvelteKitAuth } from '@auth/sveltekit'; -import Keycloak from '@auth/core/providers/keycloak'; -import { DrizzleAdapter } from '@auth/drizzle-adapter'; -import { db } from '$lib/server/database'; -import { env } from '$env/dynamic/private'; - -export const { handle, signIn, signOut } = SvelteKitAuth({ - adapter: DrizzleAdapter(db), - providers: [ - Keycloak({ - clientId: env.KEYCLOAK_CLIENT_ID, - clientSecret: env.KEYCLOAK_CLIENT_SECRET, - issuer: env.KEYCLOAK_ISSUER, - profile(profile) { - return { - id: profile.sub, - name: profile.preferred_username, - email: profile.email - }; - } - }) - ] -}); diff --git a/src/lib/server/database/index.js b/src/lib/server/database/index.js deleted file mode 100644 index 991156f..0000000 --- a/src/lib/server/database/index.js +++ /dev/null @@ -1,13 +0,0 @@ -import { drizzle } from 'drizzle-orm/mysql2'; -import mysql from 'mysql2/promise'; -import { env } from '$env/dynamic/private'; -import * as schema from './schema'; - -const connection = await mysql.createConnection({ - host: env.MYSQL_HOST, - user: env.MYSQL_USERNAME, - password: env.MYSQL_PASSWORD, - database: process.env.MYSQL_DATABASE -}); - -export const db = drizzle(connection, { schema, mode: 'default' }); diff --git a/src/lib/server/database/schema.js b/src/lib/server/database/schema.js deleted file mode 100644 index 614ee8e..0000000 --- a/src/lib/server/database/schema.js +++ /dev/null @@ -1,53 +0,0 @@ -import { int, timestamp, mysqlTable, primaryKey, varchar } from 'drizzle-orm/mysql-core'; - -export const users = mysqlTable('user', { - id: varchar('id', { length: 255 }).notNull().primaryKey(), - name: varchar('name', { length: 255 }), - email: varchar('email', { length: 255 }).notNull(), - emailVerified: timestamp('emailVerified', { mode: 'date', fsp: 3 }).defaultNow(), - image: varchar('image', { length: 255 }) -}); - -export const accounts = mysqlTable( - 'account', - { - userId: varchar('userId', { length: 255 }) - .notNull() - .references(() => users.id, { onDelete: 'cascade' }), - type: varchar('type', { length: 255 }).notNull(), - provider: varchar('provider', { length: 255 }).notNull(), - providerAccountId: varchar('providerAccountId', { length: 255 }).notNull(), - refresh_token: varchar('refresh_token', { length: 2048 }), - access_token: varchar('access_token', { length: 2048 }), - expires_at: int('expires_at'), - token_type: varchar('token_type', { length: 255 }), - scope: varchar('scope', { length: 255 }), - id_token: varchar('id_token', { length: 2048 }), - session_state: varchar('session_state', { length: 255 }) - }, - (account) => ({ - compoundKey: primaryKey({ - columns: [account.provider, account.providerAccountId] - }) - }) -); - -export const sessions = mysqlTable('session', { - sessionToken: varchar('sessionToken', { length: 255 }).notNull().primaryKey(), - userId: varchar('userId', { length: 255 }) - .notNull() - .references(() => users.id, { onDelete: 'cascade' }), - expires: timestamp('expires', { mode: 'date' }).notNull() -}); - -export const verificationTokens = mysqlTable( - 'verificationToken', - { - identifier: varchar('identifier', { length: 255 }).notNull(), - token: varchar('token', { length: 255 }).notNull(), - expires: timestamp('expires', { mode: 'date' }).notNull() - }, - (vt) => ({ - compoundKey: primaryKey({ columns: [vt.identifier, vt.token] }) - }) -); diff --git a/src/routes/+layout.server.js b/src/routes/+layout.server.js index 1722a47..285628b 100644 --- a/src/routes/+layout.server.js +++ b/src/routes/+layout.server.js @@ -1,5 +1,6 @@ -export const load = async ({ locals }) => { - return { - session: await locals.getSession() - }; -}; +// /** @type {import('@sveltejs/kit').Load} */ +// export const load = async ({ locals }) => { +// return { +// session: await locals.getSession() +// }; +// }; diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 5348a3f..cd6e3db 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -5,9 +5,9 @@ import { page } from '$app/stores'; import { darkMode } from '$lib/stores.js'; - import LoggedOut from '$lib/components/LoggedOut.svelte'; import ThemeHandler from '$lib/components/ThemeHandler.svelte'; import PageMeta from '$lib/components/PageMeta.svelte'; + import LoggedOut from '$lib/components/LoggedOut.svelte'; diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 76a4b2d..22b1e9f 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,8 +1,5 @@

@@ -10,7 +7,3 @@ {JSON.stringify($page.data?.session, null, 4)}

- -