diff options
| author | Bobby <[email protected]> | 2026-03-08 03:06:23 +0530 |
|---|---|---|
| committer | Bobby <[email protected]> | 2026-03-08 03:06:23 +0530 |
| commit | caf265e7050edefa64ecf7e13828ec9636bce867 (patch) | |
| tree | 6bb8554dbb34695a74c2dca556bf512998cf62ab /controllers | |
| parent | cca905d35412f1549400fc3d1aca6dc704d8cae6 (diff) | |
| download | dove-caf265e7050edefa64ecf7e13828ec9636bce867.tar.xz dove-caf265e7050edefa64ecf7e13828ec9636bce867.zip | |
Refactor configuration handling and add mail management features
- Removed dependency on messages package in TOML loading and parsing.
- Introduced new config constants and messages for better clarity and maintainability.
- Implemented mail user and mailbox management with corresponding controllers and views.
- Added new templates for mailboxes, mailbox creation, and user management.
- Enhanced logging and error handling throughout the application.
- Established a structured approach for applying default values in TOML configuration.
- Created new utility functions for SMTP and email handling.
Diffstat (limited to 'controllers')
| -rw-r--r-- | controllers/auth/auth.go (renamed from controllers/auth.go) | 13 | ||||
| -rw-r--r-- | controllers/domain/domain.go (renamed from controllers/domain.go) | 6 | ||||
| -rw-r--r-- | controllers/mail/mail.go | 37 | ||||
| -rw-r--r-- | controllers/mailbox.go | 24 | ||||
| -rw-r--r-- | controllers/user.go | 24 |
5 files changed, 46 insertions, 58 deletions
diff --git a/controllers/auth.go b/controllers/auth/auth.go index 444026a..8140ddd 100644 --- a/controllers/auth.go +++ b/controllers/auth/auth.go @@ -1,8 +1,7 @@ -package controllers +package auth import ( - "dove/services" - "dove/types" + authService "dove/services/auth" "dove/utils/meta" "dove/utils/shortcuts" @@ -10,12 +9,12 @@ import ( ) func Login(context *fiber.Ctx) error { - body, parseError := meta.Body[types.LoginRequest](context) + body, parseError := meta.Body[authService.LoginRequest](context) if parseError != nil { - return shortcuts.BadRequest(context, parseError) + return shortcuts.BadRequestError(context, parseError) } - _, serviceError := services.Authenticate(context, body) + _, serviceError := authService.Authenticate(context, body) if serviceError != nil { return shortcuts.HandleError(context, serviceError) } @@ -24,7 +23,7 @@ func Login(context *fiber.Ctx) error { } func Logout(context *fiber.Ctx) error { - _, serviceError := services.Deauthenticate(context) + _, serviceError := authService.Deauthenticate(context) if serviceError != nil { return shortcuts.HandleError(context, serviceError) } diff --git a/controllers/domain.go b/controllers/domain/domain.go index 90a5727..1260e3d 100644 --- a/controllers/domain.go +++ b/controllers/domain/domain.go @@ -1,4 +1,4 @@ -package controllers +package domain import ( domainService "dove/services/domain" @@ -11,7 +11,7 @@ import ( func CreateDomain(context *fiber.Ctx) error { body, parseError := meta.Body[domainService.CreateDomainRequest](context) if parseError != nil { - return shortcuts.BadRequest(context, parseError) + return shortcuts.BadRequestError(context, parseError) } serviceError := domainService.CreateDomain(body) @@ -25,7 +25,7 @@ func CreateDomain(context *fiber.Ctx) error { func CreateTLD(context *fiber.Ctx) error { body, parseError := meta.Body[domainService.CreateTLDRequest](context) if parseError != nil { - return shortcuts.BadRequest(context, parseError) + return shortcuts.BadRequestError(context, parseError) } serviceError := domainService.CreateTLD(body) diff --git a/controllers/mail/mail.go b/controllers/mail/mail.go new file mode 100644 index 0000000..976076b --- /dev/null +++ b/controllers/mail/mail.go @@ -0,0 +1,37 @@ +package mail + +import ( + mailService "dove/services/mail" + "dove/utils/meta" + "dove/utils/shortcuts" + + "github.com/gofiber/fiber/v2" +) + +func CreateUser(context *fiber.Ctx) error { + body, parseError := meta.Body[mailService.CreateUserRequest](context) + if parseError != nil { + return shortcuts.BadRequestError(context, parseError) + } + + serviceError := mailService.CreateUser(body) + if serviceError != nil { + return shortcuts.HandleError(context, serviceError) + } + + return shortcuts.Redirect(context, "dashboard.users") +} + +func CreateMailbox(context *fiber.Ctx) error { + body, parseError := meta.Body[mailService.CreateMailboxRequest](context) + if parseError != nil { + return shortcuts.BadRequestError(context, parseError) + } + + serviceError := mailService.CreateMailbox(body) + if serviceError != nil { + return shortcuts.HandleError(context, serviceError) + } + + return shortcuts.Redirect(context, "dashboard.mailboxes") +}
\ No newline at end of file diff --git a/controllers/mailbox.go b/controllers/mailbox.go deleted file mode 100644 index 0878bd3..0000000 --- a/controllers/mailbox.go +++ /dev/null @@ -1,24 +0,0 @@ -package controllers - -import ( - "dove/services" - "dove/types" - "dove/utils/meta" - "dove/utils/shortcuts" - - "github.com/gofiber/fiber/v2" -) - -func CreateMailbox(context *fiber.Ctx) error { - body, parseError := meta.Body[types.CreateMailboxRequest](context) - if parseError != nil { - return shortcuts.BadRequest(context, parseError) - } - - serviceError := services.CreateMailbox(body) - if serviceError != nil { - return shortcuts.HandleError(context, serviceError) - } - - return shortcuts.Redirect(context, "dashboard.mailboxes") -}
\ No newline at end of file diff --git a/controllers/user.go b/controllers/user.go deleted file mode 100644 index ea2008b..0000000 --- a/controllers/user.go +++ /dev/null @@ -1,24 +0,0 @@ -package controllers - -import ( - "dove/services" - "dove/types" - "dove/utils/meta" - "dove/utils/shortcuts" - - "github.com/gofiber/fiber/v2" -) - -func CreateUser(context *fiber.Ctx) error { - body, parseError := meta.Body[types.CreateUserRequest](context) - if parseError != nil { - return shortcuts.BadRequest(context, parseError) - } - - serviceError := services.CreateUser(body) - if serviceError != nil { - return shortcuts.HandleError(context, serviceError) - } - - return shortcuts.Redirect(context, "dashboard.users") -}
\ No newline at end of file |
