From 76755baa1deb403d5fae03a14df6c6e95463b1e1 Mon Sep 17 00:00:00 2001 From: Clement Date: Thu, 25 Apr 2024 19:52:01 +0200 Subject: [PATCH] fix: make some build fix --- front/.vscode/settings.json | 9 +++++ front/astro.config.mjs | 51 +++++++++++++------------- front/src/libs/AuthUtils.ts | 47 ++++++++++++++++++------ front/src/models/User/index.ts | 4 +- front/src/pages/account/register.astro | 4 +- front/tsconfig.json | 3 ++ 6 files changed, 77 insertions(+), 41 deletions(-) create mode 100644 front/.vscode/settings.json diff --git a/front/.vscode/settings.json b/front/.vscode/settings.json new file mode 100644 index 0000000..a1c11fe --- /dev/null +++ b/front/.vscode/settings.json @@ -0,0 +1,9 @@ +{ + "editor.quickSuggestions": { + "strings": "on" + }, + "tailwindCSS.includeLanguages": { + "astro": "html" + }, + "typescript.tsdk": "node_modules/typescript/lib" +} diff --git a/front/astro.config.mjs b/front/astro.config.mjs index 33092eb..e777e77 100644 --- a/front/astro.config.mjs +++ b/front/astro.config.mjs @@ -1,30 +1,29 @@ -import { defineConfig } from 'astro/config'; -import node from '@astrojs/node'; -import tailwind from "@astrojs/tailwind"; +import node from '@astrojs/node' +import tailwind from '@astrojs/tailwind' +import { defineConfig } from 'astro/config' -import react from "@astrojs/react"; +import react from '@astrojs/react' // https://astro.build/config export default defineConfig({ - // integrations: [tailwind(), test, routing(), version(), buildInfos()], - compressHTML: true, - build: { - assets: 'assets', - inlineStylesheets: 'auto' - }, - server: { - host: true, - port: 3000 - }, - trailingSlash: 'never', - output: 'server', - adapter: node({ - mode: 'standalone' - }), - integrations: [tailwind(), react()], - vite: { - optimizeDeps: { - include: ['leaflet'] - } - } -}); \ No newline at end of file + compressHTML: true, + build: { + assets: 'assets', + inlineStylesheets: 'auto' + }, + server: { + host: true, + port: 3000 + }, + trailingSlash: 'never', + output: 'server', + adapter: node({ + mode: 'standalone' + }), + integrations: [tailwind(), react()], + vite: { + optimizeDeps: { + include: ['leaflet'] + } + } +}) diff --git a/front/src/libs/AuthUtils.ts b/front/src/libs/AuthUtils.ts index f88e62f..4ddc672 100644 --- a/front/src/libs/AuthUtils.ts +++ b/front/src/libs/AuthUtils.ts @@ -1,6 +1,6 @@ -import { AstroCookies } from 'astro' +import type { AstroCookies } from 'astro' +import type UserObj from 'models/User' import PocketBase from 'pocketbase' -import UserObj from 'models/User' import { getEnv } from 'libs/Env' @@ -18,7 +18,7 @@ export async function clearUser(cookies: AstroCookies): Promise { }) } -export async function login(cookies: AstroCookies, user: {user: string, password: string}): boolean { +export async function login(cookies: AstroCookies, user: {user: string, password: string}): Promise { const authData = await pb.collection('users').authWithPassword(user.user, user.password) @@ -33,7 +33,7 @@ export async function login(cookies: AstroCookies, user: {user: string, password httpOnly: true, path: '/', secure: secure, - sameSite: 'Strict', + sameSite: 'strict', maxAge: 365000, }) return true @@ -44,15 +44,40 @@ export async function login(cookies: AstroCookies, user: {user: string, password export async function getUser(cookies: AstroCookies): Promise { const sessionID = cookies.get('session')?.value + const bpAuth = pb.authStore + if(!sessionID){ - return + return null } - if(!pb.authStore.isValid){ - return + if(!bpAuth.isValid){ + return null + } + if(!bpAuth){ + return null } - console.log(pb.authStore.model) - return pb.authStore.model + console.log(bpAuth.model) + + if(!bpAuth.model){ + return null + } + + const output: UserObj = { + id: bpAuth.model.id as string, + collectionId: bpAuth.model.collectionId as string, + collectionName: bpAuth.model.collectionName as string, + created: bpAuth.model.created as string, + updated: bpAuth.model.updated as string, + avatar: bpAuth.model.avatar as string, + username: bpAuth.model.username as string, + email: bpAuth.model.email as string, + emailVisibility: false, + name: bpAuth.model.name as string, + password: undefined, + passwordConfirm: undefined + } + + return output } @@ -76,7 +101,7 @@ export async function setUser(cookies: AstroCookies, user: UserObj): Promise { return } const form = await Astro.request.formData() - const request : UserObj = { + const request = { username: form.get("username") as string, name: form.get("name") as string, email: form.get("email") as string, diff --git a/front/tsconfig.json b/front/tsconfig.json index 283dfb5..6cb8fa3 100644 --- a/front/tsconfig.json +++ b/front/tsconfig.json @@ -5,4 +5,7 @@ // hide an issue with typescript "noUnusedLocals": false }, + "ts-node": { + "esm": true + } } \ No newline at end of file