From c810e48451da55c1f897aa5c217a34f3550b3ae4 Mon Sep 17 00:00:00 2001 From: Alex <$(pass /github/email)> Date: Mon, 3 Mar 2025 17:52:19 +0100 Subject: [PATCH] Add: CreateBackendAccess function --- .../routes/auth/admin/users/+page.server.js | 31 +++ .../src/routes/auth/admin/users/+page.svelte | 36 ++++ go-backend/internal/constants/constants.go | 19 +- .../internal/controllers/user_Password.go | 50 +++++ .../internal/controllers/user_controller.go | 2 +- go-backend/internal/routes/routes.go | 1 + go-backend/internal/services/email_service.go | 31 +++ .../email/mail_grant_backend_access.tmpl | 177 ++++++++++++++++++ .../email/mail_grant_backend_access.txt.tmpl | 17 ++ 9 files changed, 355 insertions(+), 9 deletions(-) create mode 100644 go-backend/templates/email/mail_grant_backend_access.tmpl create mode 100644 go-backend/templates/email/mail_grant_backend_access.txt.tmpl diff --git a/frontend/src/routes/auth/admin/users/+page.server.js b/frontend/src/routes/auth/admin/users/+page.server.js index 15d06b1..5fd1ab6 100644 --- a/frontend/src/routes/auth/admin/users/+page.server.js +++ b/frontend/src/routes/auth/admin/users/+page.server.js @@ -187,6 +187,37 @@ export const actions = { return fail(400, { errors: errors }); } + const response = await res.json(); + console.log('Server success response:', response); + throw redirect(303, `${base}/auth/admin/users`); + }, + grantBackendAccess: async ({ request, fetch, cookies }) => { + let formData = await request.formData(); + + const rawData = formDataToObject(formData); + const processedData = processUserFormData(rawData); + console.dir(processedData); + const apiURL = `${BASE_API_URI}/auth/users/activate`; + + /** @type {RequestInit} */ + const requestOptions = { + method: 'PATCH', + credentials: 'include', + headers: { + 'Content-Type': 'application/json', + Cookie: `jwt=${cookies.get('jwt')}` + }, + body: JSON.stringify(processedData) + }; + + const res = await fetch(apiURL, requestOptions); + + if (!res.ok) { + const response = await res.json(); + const errors = formatError(response.errors); + return fail(400, { errors: errors }); + } + const response = await res.json(); console.log('Server success response:', response); throw redirect(303, `${base}/auth/admin/users`); diff --git a/frontend/src/routes/auth/admin/users/+page.svelte b/frontend/src/routes/auth/admin/users/+page.svelte index 65f3da7..a2b85e8 100644 --- a/frontend/src/routes/auth/admin/users/+page.svelte +++ b/frontend/src/routes/auth/admin/users/+page.svelte @@ -234,6 +234,41 @@
|
+
+
+ Moin {{.FirstName}} {{.LastName}} 👋,
+
+
+ hiermit erhältst Du Zugnag zu Deinem Dörpsmobil Hasloh Account.
+
+
+
+ +
+
+
+ + Mit diesem Link kannst Du Dich dann in Deinen Dörpsmobil Hasloh Account anmelden: + ++ + {{.BASEURL}}{{.FRONTEND_PATH}}/ + + ++ Dafür musst Du aber zunächst noch Dein Passwort erstellen. + +
+ Alternativ kannst Du auch diesen Link in Deinem Browser öffnen:
+
+
+ {{.BASEURL}}{{.FRONTEND_PATH}}/auth/password/change/{{.UserID}}?token={{.Token}}
+
+
+ Mit Freundlichen Grüßen,
+
+
+ Der Vorstand
+
+
+
+ |
+