From ad599ae3f43db73d196af7743e8c95df3f67789e Mon Sep 17 00:00:00 2001 From: Alex <$(pass /github/email)> Date: Fri, 28 Feb 2025 08:51:35 +0100 Subject: [PATCH 1/2] frontend: disabled button while processing password reset --- .../src/lib/components/SubscriptionEditForm.svelte | 2 +- frontend/src/lib/components/UserEditForm.svelte | 8 ++++---- frontend/src/lib/locales/de.js | 4 +++- frontend/src/routes/auth/password/change/+page.svelte | 10 +++++++++- 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/frontend/src/lib/components/SubscriptionEditForm.svelte b/frontend/src/lib/components/SubscriptionEditForm.svelte index 17ff19f..89e6d12 100644 --- a/frontend/src/lib/components/SubscriptionEditForm.svelte +++ b/frontend/src/lib/components/SubscriptionEditForm.svelte @@ -127,7 +127,7 @@
{#if isUpdating} - + {:else} - {#if localUser.role_id === 8} + {#if role_id === 8} - {#if localUser.role_id > 0} + {#if role_id > 0}
{#if isUpdating} - + {:else} import { applyAction, enhance } from '$app/forms'; + import SmallLoader from '$lib/components/SmallLoader.svelte'; import { receive, send } from '$lib/utils/helpers'; import { t } from 'svelte-i18n'; /** @type {import('./$types').ActionData} */ export let form; + let loading = false; /** @type {import('./$types').SubmitFunction} */ const handleRequestChange = async () => { + loading = true; return async ({ result }) => { await applyAction(result); + loading = false; }; }; @@ -40,6 +44,10 @@ required />
- + {#if loading} + + {:else} + + {/if}
From 2ffd1f439f8b9bef43247b8ae46967f92fe59a85 Mon Sep 17 00:00:00 2001 From: Alex <$(pass /github/email)> Date: Fri, 28 Feb 2025 08:52:04 +0100 Subject: [PATCH 2/2] backend moved to separate directory backend: deleted the old structure --- .gitignore | 1 - compose.yml | 8 +-- Dockerfile => go-backend/Dockerfile | 0 go-backend/cmd/membership/main.go | 56 +++++++++++++++++++ go-backend/configs/config.template.json | 37 ++++++++++++ go-backend/data/README.md | 1 + go.mod => go-backend/go.mod | 0 go.sum => go-backend/go.sum | 0 .../internal}/config/config.go | 0 .../internal}/constants/constants.go | 0 .../controllers/SQLInjection_test.go | 0 .../internal}/controllers/XSS_test.go | 0 .../controllers/contactController.go | 0 .../controllers/contactController_test.go | 0 .../internal}/controllers/controllers_test.go | 0 .../controllers/licenceController.go | 0 .../controllers/membershipController.go | 0 .../controllers/membershipController_test.go | 0 .../internal}/controllers/user_Password.go | 4 +- .../internal}/controllers/user_controller.go | 2 +- .../controllers/user_controller_test.go | 0 .../internal}/database/db.go | 0 .../internal}/middlewares/api.go | 0 .../internal}/middlewares/api_test.go | 0 .../internal}/middlewares/auth.go | 0 .../internal}/middlewares/auth_test.go | 0 .../internal}/middlewares/cors.go | 2 +- .../internal}/middlewares/cors_test.go | 0 .../internal}/middlewares/csp.go | 1 + .../internal}/middlewares/csp_test.go | 0 .../internal}/middlewares/headers.go | 7 ++- .../internal}/middlewares/rate_limit.go | 0 .../internal}/middlewares/rate_limit_test.go | 0 .../internal}/models/bank_account.go | 0 .../internal}/models/consents.go | 0 .../internal}/models/drivers_licence.go | 0 .../internal}/models/membership.go | 0 .../internal}/models/subscription_model.go | 0 .../internal}/models/user.go | 0 .../internal}/models/verification.go | 0 .../repositories/banking_repository.go | 0 .../repositories/consents_repository.go | 0 .../repositories/licence_repository.go | 0 .../repositories/membership_repository.go | 0 .../subscription_model_repository.go | 0 .../repositories/user_permissions.go | 0 .../internal}/repositories/user_repository.go | 0 .../repositories/user_verification.go | 0 .../internal}/routes/routes.go | 0 .../internal}/server/server.go | 0 .../services/bank_account_service.go | 0 .../internal}/services/consent_service.go | 0 .../internal}/services/email_service.go | 0 .../internal}/services/licence_service.go | 0 .../internal}/services/membership_service.go | 0 .../internal}/services/user_password.go | 0 .../internal}/services/user_permissions.go | 0 .../internal}/services/user_service.go | 0 .../internal}/services/user_verification.go | 0 .../internal}/utils/cookies.go | 0 .../internal}/utils/crypto.go | 0 .../internal}/utils/mock_smtp.go | 0 .../internal}/utils/priviliges.go | 0 .../internal}/utils/priviliges_test.go | 0 .../internal}/utils/response_handler.go | 0 .../validation/DriversLicence_validation.go | 0 .../validation/bankAccount_validation.go | 0 .../validation/general_validation.go | 0 .../validation/membership_validation.go | 0 .../internal}/validation/setup.go | 0 .../validation/subscription_validation.go | 0 .../internal}/validation/user_validation.go | 0 {pkg => go-backend/pkg}/errors/errors.go | 2 + {pkg => go-backend/pkg}/logger/logger.go | 0 .../templates}/css/style.css | 0 .../email/mail_change_password.tmpl | 0 .../email/mail_change_password.txt.tmpl | 0 .../templates}/email/mail_contact_form.tmpl | 0 .../email/mail_contact_form.txt.tmpl | 0 .../templates}/email/mail_registration.tmpl | 0 .../email/mail_registration.txt.tmpl | 0 .../templates}/email/mail_verification.tmpl | 0 .../email/mail_verification.txt.tmpl | 0 .../templates}/email/mail_welcome.tmpl | 0 .../templates}/email/mail_welcome.txt.tmpl | 0 .../templates}/html/contactForm_reply.html | 0 .../templates}/html/verification_error.html | 0 .../templates}/html/verification_success.html | 0 88 files changed, 112 insertions(+), 9 deletions(-) rename Dockerfile => go-backend/Dockerfile (100%) create mode 100644 go-backend/cmd/membership/main.go create mode 100644 go-backend/configs/config.template.json create mode 100644 go-backend/data/README.md rename go.mod => go-backend/go.mod (100%) rename go.sum => go-backend/go.sum (100%) rename {internal => go-backend/internal}/config/config.go (100%) rename {internal => go-backend/internal}/constants/constants.go (100%) rename {internal => go-backend/internal}/controllers/SQLInjection_test.go (100%) rename {internal => go-backend/internal}/controllers/XSS_test.go (100%) rename {internal => go-backend/internal}/controllers/contactController.go (100%) rename {internal => go-backend/internal}/controllers/contactController_test.go (100%) rename {internal => go-backend/internal}/controllers/controllers_test.go (100%) rename {internal => go-backend/internal}/controllers/licenceController.go (100%) rename {internal => go-backend/internal}/controllers/membershipController.go (100%) rename {internal => go-backend/internal}/controllers/membershipController_test.go (100%) rename {internal => go-backend/internal}/controllers/user_Password.go (89%) rename {internal => go-backend/internal}/controllers/user_controller.go (99%) rename {internal => go-backend/internal}/controllers/user_controller_test.go (100%) rename {internal => go-backend/internal}/database/db.go (100%) rename {internal => go-backend/internal}/middlewares/api.go (100%) rename {internal => go-backend/internal}/middlewares/api_test.go (100%) rename {internal => go-backend/internal}/middlewares/auth.go (100%) rename {internal => go-backend/internal}/middlewares/auth_test.go (100%) rename {internal => go-backend/internal}/middlewares/cors.go (88%) rename {internal => go-backend/internal}/middlewares/cors_test.go (100%) rename {internal => go-backend/internal}/middlewares/csp.go (96%) rename {internal => go-backend/internal}/middlewares/csp_test.go (100%) rename {internal => go-backend/internal}/middlewares/headers.go (87%) rename {internal => go-backend/internal}/middlewares/rate_limit.go (100%) rename {internal => go-backend/internal}/middlewares/rate_limit_test.go (100%) rename {internal => go-backend/internal}/models/bank_account.go (100%) rename {internal => go-backend/internal}/models/consents.go (100%) rename {internal => go-backend/internal}/models/drivers_licence.go (100%) rename {internal => go-backend/internal}/models/membership.go (100%) rename {internal => go-backend/internal}/models/subscription_model.go (100%) rename {internal => go-backend/internal}/models/user.go (100%) rename {internal => go-backend/internal}/models/verification.go (100%) rename {internal => go-backend/internal}/repositories/banking_repository.go (100%) rename {internal => go-backend/internal}/repositories/consents_repository.go (100%) rename {internal => go-backend/internal}/repositories/licence_repository.go (100%) rename {internal => go-backend/internal}/repositories/membership_repository.go (100%) rename {internal => go-backend/internal}/repositories/subscription_model_repository.go (100%) rename {internal => go-backend/internal}/repositories/user_permissions.go (100%) rename {internal => go-backend/internal}/repositories/user_repository.go (100%) rename {internal => go-backend/internal}/repositories/user_verification.go (100%) rename {internal => go-backend/internal}/routes/routes.go (100%) rename {internal => go-backend/internal}/server/server.go (100%) rename {internal => go-backend/internal}/services/bank_account_service.go (100%) rename {internal => go-backend/internal}/services/consent_service.go (100%) rename {internal => go-backend/internal}/services/email_service.go (100%) rename {internal => go-backend/internal}/services/licence_service.go (100%) rename {internal => go-backend/internal}/services/membership_service.go (100%) rename {internal => go-backend/internal}/services/user_password.go (100%) rename {internal => go-backend/internal}/services/user_permissions.go (100%) rename {internal => go-backend/internal}/services/user_service.go (100%) rename {internal => go-backend/internal}/services/user_verification.go (100%) rename {internal => go-backend/internal}/utils/cookies.go (100%) rename {internal => go-backend/internal}/utils/crypto.go (100%) rename {internal => go-backend/internal}/utils/mock_smtp.go (100%) rename {internal => go-backend/internal}/utils/priviliges.go (100%) rename {internal => go-backend/internal}/utils/priviliges_test.go (100%) rename {internal => go-backend/internal}/utils/response_handler.go (100%) rename {internal => go-backend/internal}/validation/DriversLicence_validation.go (100%) rename {internal => go-backend/internal}/validation/bankAccount_validation.go (100%) rename {internal => go-backend/internal}/validation/general_validation.go (100%) rename {internal => go-backend/internal}/validation/membership_validation.go (100%) rename {internal => go-backend/internal}/validation/setup.go (100%) rename {internal => go-backend/internal}/validation/subscription_validation.go (100%) rename {internal => go-backend/internal}/validation/user_validation.go (100%) rename {pkg => go-backend/pkg}/errors/errors.go (97%) rename {pkg => go-backend/pkg}/logger/logger.go (100%) rename {templates => go-backend/templates}/css/style.css (100%) rename {templates => go-backend/templates}/email/mail_change_password.tmpl (100%) rename {templates => go-backend/templates}/email/mail_change_password.txt.tmpl (100%) rename {templates => go-backend/templates}/email/mail_contact_form.tmpl (100%) rename {templates => go-backend/templates}/email/mail_contact_form.txt.tmpl (100%) rename {templates => go-backend/templates}/email/mail_registration.tmpl (100%) rename {templates => go-backend/templates}/email/mail_registration.txt.tmpl (100%) rename {templates => go-backend/templates}/email/mail_verification.tmpl (100%) rename {templates => go-backend/templates}/email/mail_verification.txt.tmpl (100%) rename {templates => go-backend/templates}/email/mail_welcome.tmpl (100%) rename {templates => go-backend/templates}/email/mail_welcome.txt.tmpl (100%) rename {templates => go-backend/templates}/html/contactForm_reply.html (100%) rename {templates => go-backend/templates}/html/verification_error.html (100%) rename {templates => go-backend/templates}/html/verification_success.html (100%) diff --git a/.gitignore b/.gitignore index 1627ce4..d03b338 100644 --- a/.gitignore +++ b/.gitignore @@ -40,7 +40,6 @@ go.work !go.sum !go.mod #!*.sql - !README.md !LICENSE diff --git a/compose.yml b/compose.yml index 69dbf22..0a0344f 100644 --- a/compose.yml +++ b/compose.yml @@ -1,10 +1,10 @@ services: app: - build: . + build: ./go-backend container_name: carsharingBackend ports: - "8080:8080" volumes: - - ./configs/config.json:/root/configs/config.json:ro - - ./data/db.sqlite3:/root/data/db.sqlite3 - - ./templates:/root/templates:ro + - ./go-backend/configs/config.json:/root/configs/config.json:ro + - ./go-backend/data/db.sqlite3:/root/data/db.sqlite3 + - ./go-backend/templates:/root/templates:ro diff --git a/Dockerfile b/go-backend/Dockerfile similarity index 100% rename from Dockerfile rename to go-backend/Dockerfile diff --git a/go-backend/cmd/membership/main.go b/go-backend/cmd/membership/main.go new file mode 100644 index 0000000..569ba4f --- /dev/null +++ b/go-backend/cmd/membership/main.go @@ -0,0 +1,56 @@ +package main + +import ( + "GoMembership/internal/config" + "GoMembership/internal/database" + "GoMembership/internal/server" + "GoMembership/pkg/logger" + "context" + "os" + "os/signal" + "syscall" + "time" +) + +func main() { + + logger.Info.Println("startup...") + + config.LoadConfig() + + err := database.Open(config.DB.Path, config.Recipients.AdminEmail) + if err != nil { + logger.Error.Fatalf("Couldn't init database: %v", err) + } + + defer func() { + if err := database.Close(); err != nil { + logger.Error.Fatalf("Failed to close database: %v", err) + } + }() + + go server.Run() + + gracefulShutdown() +} + +func gracefulShutdown() { + // Create a channel to listen for OS signals + stop := make(chan os.Signal, 1) + signal.Notify(stop, os.Interrupt, syscall.SIGTERM) + + // Block until a signal is received + <-stop + logger.Info.Println("Received shutdown signal") + + // Create a context with a timeout for the shutdown process + ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) + defer cancel() + + // Call the server's shutdown function + if err := server.Shutdown(ctx); err != nil { + logger.Error.Fatalf("Error during Server shutdown: %#v", err) + } else { + logger.Info.Println("Server gracefully stopped") + } +} diff --git a/go-backend/configs/config.template.json b/go-backend/configs/config.template.json new file mode 100644 index 0000000..3a7a7b2 --- /dev/null +++ b/go-backend/configs/config.template.json @@ -0,0 +1,37 @@ +{ + "site": { + "WebsiteTitle": "My Carsharing Site", + "BaseUrl": "https://domain.de", + "AllowOrigins": "https://domain.de" + }, + "Environment": "dev", + "db": { + "Path": "data/db.sqlite3" + }, + "smtp": { + "Host": "mail.server.com", + "User": "username", + "Password": "password", + "Port": 465 + }, + "templates": { + "MailPath": "templates/email", + "HTMLPath": "templates/html", + "StaticPath": "templates/css", + "LogoURI": "/assets/LOGO.png" + }, + "auth": { + "APIKey": "" + }, + "recipients": { + "ContactForm": "contacts@server.com", + "UserRegistration": "registration@server.com", + "AdminEmail": "admin@server.com" + }, + "security": { + "RateLimits": { + "Limit": 1, + "Burst": 60 + } + } +} diff --git a/go-backend/data/README.md b/go-backend/data/README.md new file mode 100644 index 0000000..7ee0f59 --- /dev/null +++ b/go-backend/data/README.md @@ -0,0 +1 @@ +Database Folder according to the project structure and the template configuration diff --git a/go.mod b/go-backend/go.mod similarity index 100% rename from go.mod rename to go-backend/go.mod diff --git a/go.sum b/go-backend/go.sum similarity index 100% rename from go.sum rename to go-backend/go.sum diff --git a/internal/config/config.go b/go-backend/internal/config/config.go similarity index 100% rename from internal/config/config.go rename to go-backend/internal/config/config.go diff --git a/internal/constants/constants.go b/go-backend/internal/constants/constants.go similarity index 100% rename from internal/constants/constants.go rename to go-backend/internal/constants/constants.go diff --git a/internal/controllers/SQLInjection_test.go b/go-backend/internal/controllers/SQLInjection_test.go similarity index 100% rename from internal/controllers/SQLInjection_test.go rename to go-backend/internal/controllers/SQLInjection_test.go diff --git a/internal/controllers/XSS_test.go b/go-backend/internal/controllers/XSS_test.go similarity index 100% rename from internal/controllers/XSS_test.go rename to go-backend/internal/controllers/XSS_test.go diff --git a/internal/controllers/contactController.go b/go-backend/internal/controllers/contactController.go similarity index 100% rename from internal/controllers/contactController.go rename to go-backend/internal/controllers/contactController.go diff --git a/internal/controllers/contactController_test.go b/go-backend/internal/controllers/contactController_test.go similarity index 100% rename from internal/controllers/contactController_test.go rename to go-backend/internal/controllers/contactController_test.go diff --git a/internal/controllers/controllers_test.go b/go-backend/internal/controllers/controllers_test.go similarity index 100% rename from internal/controllers/controllers_test.go rename to go-backend/internal/controllers/controllers_test.go diff --git a/internal/controllers/licenceController.go b/go-backend/internal/controllers/licenceController.go similarity index 100% rename from internal/controllers/licenceController.go rename to go-backend/internal/controllers/licenceController.go diff --git a/internal/controllers/membershipController.go b/go-backend/internal/controllers/membershipController.go similarity index 100% rename from internal/controllers/membershipController.go rename to go-backend/internal/controllers/membershipController.go diff --git a/internal/controllers/membershipController_test.go b/go-backend/internal/controllers/membershipController_test.go similarity index 100% rename from internal/controllers/membershipController_test.go rename to go-backend/internal/controllers/membershipController_test.go diff --git a/internal/controllers/user_Password.go b/go-backend/internal/controllers/user_Password.go similarity index 89% rename from internal/controllers/user_Password.go rename to go-backend/internal/controllers/user_Password.go index 3f7b743..8160688 100644 --- a/internal/controllers/user_Password.go +++ b/go-backend/internal/controllers/user_Password.go @@ -72,7 +72,9 @@ func (uc *UserController) ChangePassword(c *gin.Context) { verification, err := uc.Service.VerifyUser(&input.Token, &constants.VerificationTypes.Password) if err != nil || uint(userIDint) != verification.UserID { if err == errors.ErrAlreadyVerified { - utils.RespondWithError(c, err, "User already verified", http.StatusConflict, errors.Responses.Fields.User, errors.Responses.Keys.PasswordAlreadyChanged) + utils.RespondWithError(c, err, "User already changed password", http.StatusConflict, errors.Responses.Fields.User, errors.Responses.Keys.PasswordAlreadyChanged) + } else if err.Error() == "record not found" { + utils.RespondWithError(c, err, "Couldn't find verification. This is most probably a outdated token.", http.StatusGone, errors.Responses.Fields.User, errors.Responses.Keys.NoAuthToken) } else { utils.RespondWithError(c, err, "Couldn't verify user", http.StatusInternalServerError, errors.Responses.Fields.General, errors.Responses.Keys.InternalServerError) } diff --git a/internal/controllers/user_controller.go b/go-backend/internal/controllers/user_controller.go similarity index 99% rename from internal/controllers/user_controller.go rename to go-backend/internal/controllers/user_controller.go index 3134419..304f9fb 100644 --- a/internal/controllers/user_controller.go +++ b/go-backend/internal/controllers/user_controller.go @@ -256,7 +256,7 @@ func (uc *UserController) LoginHandler(c *gin.Context) { func (uc *UserController) RegisterUser(c *gin.Context) { var regData RegistrationData - + logger.Error.Printf("registering user...") if err := c.ShouldBindJSON(®Data); err != nil { utils.HandleValidationError(c, err) return diff --git a/internal/controllers/user_controller_test.go b/go-backend/internal/controllers/user_controller_test.go similarity index 100% rename from internal/controllers/user_controller_test.go rename to go-backend/internal/controllers/user_controller_test.go diff --git a/internal/database/db.go b/go-backend/internal/database/db.go similarity index 100% rename from internal/database/db.go rename to go-backend/internal/database/db.go diff --git a/internal/middlewares/api.go b/go-backend/internal/middlewares/api.go similarity index 100% rename from internal/middlewares/api.go rename to go-backend/internal/middlewares/api.go diff --git a/internal/middlewares/api_test.go b/go-backend/internal/middlewares/api_test.go similarity index 100% rename from internal/middlewares/api_test.go rename to go-backend/internal/middlewares/api_test.go diff --git a/internal/middlewares/auth.go b/go-backend/internal/middlewares/auth.go similarity index 100% rename from internal/middlewares/auth.go rename to go-backend/internal/middlewares/auth.go diff --git a/internal/middlewares/auth_test.go b/go-backend/internal/middlewares/auth_test.go similarity index 100% rename from internal/middlewares/auth_test.go rename to go-backend/internal/middlewares/auth_test.go diff --git a/internal/middlewares/cors.go b/go-backend/internal/middlewares/cors.go similarity index 88% rename from internal/middlewares/cors.go rename to go-backend/internal/middlewares/cors.go index 1516792..422d49c 100644 --- a/internal/middlewares/cors.go +++ b/go-backend/internal/middlewares/cors.go @@ -13,7 +13,7 @@ func CORSMiddleware() gin.HandlerFunc { logger.Info.Print("Applying CORS") return cors.New(cors.Config{ AllowOrigins: strings.Split(config.Site.AllowOrigins, ","), - AllowMethods: []string{"GET", "POST", "PATCH", "PUT"}, + AllowMethods: []string{"GET", "POST", "PATCH", "PUT", "OPTIONS"}, AllowHeaders: []string{"Origin", "Content-Type", "Accept", "Authorization", "X-Requested-With", "X-CSRF-Token"}, ExposeHeaders: []string{"Content-Length"}, AllowCredentials: true, diff --git a/internal/middlewares/cors_test.go b/go-backend/internal/middlewares/cors_test.go similarity index 100% rename from internal/middlewares/cors_test.go rename to go-backend/internal/middlewares/cors_test.go diff --git a/internal/middlewares/csp.go b/go-backend/internal/middlewares/csp.go similarity index 96% rename from internal/middlewares/csp.go rename to go-backend/internal/middlewares/csp.go index ddd435b..9c072b2 100644 --- a/internal/middlewares/csp.go +++ b/go-backend/internal/middlewares/csp.go @@ -9,6 +9,7 @@ import ( ) func CSPMiddleware() gin.HandlerFunc { + logger.Error.Printf("applying CSP") return func(c *gin.Context) { policy := "default-src 'self'; " + "script-src 'self' 'unsafe-inline'" + diff --git a/internal/middlewares/csp_test.go b/go-backend/internal/middlewares/csp_test.go similarity index 100% rename from internal/middlewares/csp_test.go rename to go-backend/internal/middlewares/csp_test.go diff --git a/internal/middlewares/headers.go b/go-backend/internal/middlewares/headers.go similarity index 87% rename from internal/middlewares/headers.go rename to go-backend/internal/middlewares/headers.go index 7246059..94782e6 100644 --- a/internal/middlewares/headers.go +++ b/go-backend/internal/middlewares/headers.go @@ -1,8 +1,13 @@ package middlewares -import "github.com/gin-gonic/gin" +import ( + "GoMembership/pkg/logger" + + "github.com/gin-gonic/gin" +) func SecurityHeadersMiddleware() gin.HandlerFunc { + logger.Error.Printf("applying headers") return func(c *gin.Context) { c.Header("X-Frame-Options", "DENY") c.Header("X-Content-Type-Options", "nosniff") diff --git a/internal/middlewares/rate_limit.go b/go-backend/internal/middlewares/rate_limit.go similarity index 100% rename from internal/middlewares/rate_limit.go rename to go-backend/internal/middlewares/rate_limit.go diff --git a/internal/middlewares/rate_limit_test.go b/go-backend/internal/middlewares/rate_limit_test.go similarity index 100% rename from internal/middlewares/rate_limit_test.go rename to go-backend/internal/middlewares/rate_limit_test.go diff --git a/internal/models/bank_account.go b/go-backend/internal/models/bank_account.go similarity index 100% rename from internal/models/bank_account.go rename to go-backend/internal/models/bank_account.go diff --git a/internal/models/consents.go b/go-backend/internal/models/consents.go similarity index 100% rename from internal/models/consents.go rename to go-backend/internal/models/consents.go diff --git a/internal/models/drivers_licence.go b/go-backend/internal/models/drivers_licence.go similarity index 100% rename from internal/models/drivers_licence.go rename to go-backend/internal/models/drivers_licence.go diff --git a/internal/models/membership.go b/go-backend/internal/models/membership.go similarity index 100% rename from internal/models/membership.go rename to go-backend/internal/models/membership.go diff --git a/internal/models/subscription_model.go b/go-backend/internal/models/subscription_model.go similarity index 100% rename from internal/models/subscription_model.go rename to go-backend/internal/models/subscription_model.go diff --git a/internal/models/user.go b/go-backend/internal/models/user.go similarity index 100% rename from internal/models/user.go rename to go-backend/internal/models/user.go diff --git a/internal/models/verification.go b/go-backend/internal/models/verification.go similarity index 100% rename from internal/models/verification.go rename to go-backend/internal/models/verification.go diff --git a/internal/repositories/banking_repository.go b/go-backend/internal/repositories/banking_repository.go similarity index 100% rename from internal/repositories/banking_repository.go rename to go-backend/internal/repositories/banking_repository.go diff --git a/internal/repositories/consents_repository.go b/go-backend/internal/repositories/consents_repository.go similarity index 100% rename from internal/repositories/consents_repository.go rename to go-backend/internal/repositories/consents_repository.go diff --git a/internal/repositories/licence_repository.go b/go-backend/internal/repositories/licence_repository.go similarity index 100% rename from internal/repositories/licence_repository.go rename to go-backend/internal/repositories/licence_repository.go diff --git a/internal/repositories/membership_repository.go b/go-backend/internal/repositories/membership_repository.go similarity index 100% rename from internal/repositories/membership_repository.go rename to go-backend/internal/repositories/membership_repository.go diff --git a/internal/repositories/subscription_model_repository.go b/go-backend/internal/repositories/subscription_model_repository.go similarity index 100% rename from internal/repositories/subscription_model_repository.go rename to go-backend/internal/repositories/subscription_model_repository.go diff --git a/internal/repositories/user_permissions.go b/go-backend/internal/repositories/user_permissions.go similarity index 100% rename from internal/repositories/user_permissions.go rename to go-backend/internal/repositories/user_permissions.go diff --git a/internal/repositories/user_repository.go b/go-backend/internal/repositories/user_repository.go similarity index 100% rename from internal/repositories/user_repository.go rename to go-backend/internal/repositories/user_repository.go diff --git a/internal/repositories/user_verification.go b/go-backend/internal/repositories/user_verification.go similarity index 100% rename from internal/repositories/user_verification.go rename to go-backend/internal/repositories/user_verification.go diff --git a/internal/routes/routes.go b/go-backend/internal/routes/routes.go similarity index 100% rename from internal/routes/routes.go rename to go-backend/internal/routes/routes.go diff --git a/internal/server/server.go b/go-backend/internal/server/server.go similarity index 100% rename from internal/server/server.go rename to go-backend/internal/server/server.go diff --git a/internal/services/bank_account_service.go b/go-backend/internal/services/bank_account_service.go similarity index 100% rename from internal/services/bank_account_service.go rename to go-backend/internal/services/bank_account_service.go diff --git a/internal/services/consent_service.go b/go-backend/internal/services/consent_service.go similarity index 100% rename from internal/services/consent_service.go rename to go-backend/internal/services/consent_service.go diff --git a/internal/services/email_service.go b/go-backend/internal/services/email_service.go similarity index 100% rename from internal/services/email_service.go rename to go-backend/internal/services/email_service.go diff --git a/internal/services/licence_service.go b/go-backend/internal/services/licence_service.go similarity index 100% rename from internal/services/licence_service.go rename to go-backend/internal/services/licence_service.go diff --git a/internal/services/membership_service.go b/go-backend/internal/services/membership_service.go similarity index 100% rename from internal/services/membership_service.go rename to go-backend/internal/services/membership_service.go diff --git a/internal/services/user_password.go b/go-backend/internal/services/user_password.go similarity index 100% rename from internal/services/user_password.go rename to go-backend/internal/services/user_password.go diff --git a/internal/services/user_permissions.go b/go-backend/internal/services/user_permissions.go similarity index 100% rename from internal/services/user_permissions.go rename to go-backend/internal/services/user_permissions.go diff --git a/internal/services/user_service.go b/go-backend/internal/services/user_service.go similarity index 100% rename from internal/services/user_service.go rename to go-backend/internal/services/user_service.go diff --git a/internal/services/user_verification.go b/go-backend/internal/services/user_verification.go similarity index 100% rename from internal/services/user_verification.go rename to go-backend/internal/services/user_verification.go diff --git a/internal/utils/cookies.go b/go-backend/internal/utils/cookies.go similarity index 100% rename from internal/utils/cookies.go rename to go-backend/internal/utils/cookies.go diff --git a/internal/utils/crypto.go b/go-backend/internal/utils/crypto.go similarity index 100% rename from internal/utils/crypto.go rename to go-backend/internal/utils/crypto.go diff --git a/internal/utils/mock_smtp.go b/go-backend/internal/utils/mock_smtp.go similarity index 100% rename from internal/utils/mock_smtp.go rename to go-backend/internal/utils/mock_smtp.go diff --git a/internal/utils/priviliges.go b/go-backend/internal/utils/priviliges.go similarity index 100% rename from internal/utils/priviliges.go rename to go-backend/internal/utils/priviliges.go diff --git a/internal/utils/priviliges_test.go b/go-backend/internal/utils/priviliges_test.go similarity index 100% rename from internal/utils/priviliges_test.go rename to go-backend/internal/utils/priviliges_test.go diff --git a/internal/utils/response_handler.go b/go-backend/internal/utils/response_handler.go similarity index 100% rename from internal/utils/response_handler.go rename to go-backend/internal/utils/response_handler.go diff --git a/internal/validation/DriversLicence_validation.go b/go-backend/internal/validation/DriversLicence_validation.go similarity index 100% rename from internal/validation/DriversLicence_validation.go rename to go-backend/internal/validation/DriversLicence_validation.go diff --git a/internal/validation/bankAccount_validation.go b/go-backend/internal/validation/bankAccount_validation.go similarity index 100% rename from internal/validation/bankAccount_validation.go rename to go-backend/internal/validation/bankAccount_validation.go diff --git a/internal/validation/general_validation.go b/go-backend/internal/validation/general_validation.go similarity index 100% rename from internal/validation/general_validation.go rename to go-backend/internal/validation/general_validation.go diff --git a/internal/validation/membership_validation.go b/go-backend/internal/validation/membership_validation.go similarity index 100% rename from internal/validation/membership_validation.go rename to go-backend/internal/validation/membership_validation.go diff --git a/internal/validation/setup.go b/go-backend/internal/validation/setup.go similarity index 100% rename from internal/validation/setup.go rename to go-backend/internal/validation/setup.go diff --git a/internal/validation/subscription_validation.go b/go-backend/internal/validation/subscription_validation.go similarity index 100% rename from internal/validation/subscription_validation.go rename to go-backend/internal/validation/subscription_validation.go diff --git a/internal/validation/user_validation.go b/go-backend/internal/validation/user_validation.go similarity index 100% rename from internal/validation/user_validation.go rename to go-backend/internal/validation/user_validation.go diff --git a/pkg/errors/errors.go b/go-backend/pkg/errors/errors.go similarity index 97% rename from pkg/errors/errors.go rename to go-backend/pkg/errors/errors.go index 75989fb..0961ff2 100644 --- a/pkg/errors/errors.go +++ b/go-backend/pkg/errors/errors.go @@ -14,6 +14,7 @@ type ValidationKeys struct { InvalidUserID string PasswordAlreadyChanged string UserDisabled string + NoAuthToken string } type ValidationFields struct { @@ -63,6 +64,7 @@ var Responses = struct { Duplicate: "server.validation.duplicate", UserDisabled: "server.validation.user_disabled", PasswordAlreadyChanged: "server.validation.password_already_changed", + NoAuthToken: "server.error.no_auth_token", }, Fields: ValidationFields{ General: "general", diff --git a/pkg/logger/logger.go b/go-backend/pkg/logger/logger.go similarity index 100% rename from pkg/logger/logger.go rename to go-backend/pkg/logger/logger.go diff --git a/templates/css/style.css b/go-backend/templates/css/style.css similarity index 100% rename from templates/css/style.css rename to go-backend/templates/css/style.css diff --git a/templates/email/mail_change_password.tmpl b/go-backend/templates/email/mail_change_password.tmpl similarity index 100% rename from templates/email/mail_change_password.tmpl rename to go-backend/templates/email/mail_change_password.tmpl diff --git a/templates/email/mail_change_password.txt.tmpl b/go-backend/templates/email/mail_change_password.txt.tmpl similarity index 100% rename from templates/email/mail_change_password.txt.tmpl rename to go-backend/templates/email/mail_change_password.txt.tmpl diff --git a/templates/email/mail_contact_form.tmpl b/go-backend/templates/email/mail_contact_form.tmpl similarity index 100% rename from templates/email/mail_contact_form.tmpl rename to go-backend/templates/email/mail_contact_form.tmpl diff --git a/templates/email/mail_contact_form.txt.tmpl b/go-backend/templates/email/mail_contact_form.txt.tmpl similarity index 100% rename from templates/email/mail_contact_form.txt.tmpl rename to go-backend/templates/email/mail_contact_form.txt.tmpl diff --git a/templates/email/mail_registration.tmpl b/go-backend/templates/email/mail_registration.tmpl similarity index 100% rename from templates/email/mail_registration.tmpl rename to go-backend/templates/email/mail_registration.tmpl diff --git a/templates/email/mail_registration.txt.tmpl b/go-backend/templates/email/mail_registration.txt.tmpl similarity index 100% rename from templates/email/mail_registration.txt.tmpl rename to go-backend/templates/email/mail_registration.txt.tmpl diff --git a/templates/email/mail_verification.tmpl b/go-backend/templates/email/mail_verification.tmpl similarity index 100% rename from templates/email/mail_verification.tmpl rename to go-backend/templates/email/mail_verification.tmpl diff --git a/templates/email/mail_verification.txt.tmpl b/go-backend/templates/email/mail_verification.txt.tmpl similarity index 100% rename from templates/email/mail_verification.txt.tmpl rename to go-backend/templates/email/mail_verification.txt.tmpl diff --git a/templates/email/mail_welcome.tmpl b/go-backend/templates/email/mail_welcome.tmpl similarity index 100% rename from templates/email/mail_welcome.tmpl rename to go-backend/templates/email/mail_welcome.tmpl diff --git a/templates/email/mail_welcome.txt.tmpl b/go-backend/templates/email/mail_welcome.txt.tmpl similarity index 100% rename from templates/email/mail_welcome.txt.tmpl rename to go-backend/templates/email/mail_welcome.txt.tmpl diff --git a/templates/html/contactForm_reply.html b/go-backend/templates/html/contactForm_reply.html similarity index 100% rename from templates/html/contactForm_reply.html rename to go-backend/templates/html/contactForm_reply.html diff --git a/templates/html/verification_error.html b/go-backend/templates/html/verification_error.html similarity index 100% rename from templates/html/verification_error.html rename to go-backend/templates/html/verification_error.html diff --git a/templates/html/verification_success.html b/go-backend/templates/html/verification_success.html similarity index 100% rename from templates/html/verification_success.html rename to go-backend/templates/html/verification_success.html