kontor-echo: setup project to show homepage
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 6s
Gitea Actions Demo / build-and-test (push) Failing after 11s

This commit is contained in:
Thomas Peetz
2026-11-09 17:02:59 +01:00
parent 074abd3c85
commit debdf3d0b0
63 changed files with 2411 additions and 485 deletions
+1 -1
View File
@@ -21,7 +21,7 @@ func (service *AssignmentService) List(context context.Context) ([]models.Assign
return service.repository.FindAll(context)
}
func (service *AssignmentService) Get(context context.Context, id string) (models.Assignment, error) {
func (service *AssignmentService) Get(context context.Context, id string) (*models.Assignment, error) {
slog.Info("AssignmentService#Get")
return service.repository.GetById(context, id)
}
+47
View File
@@ -0,0 +1,47 @@
package service
import (
"kontor-api-echo/internal/helpers"
"kontor-api-echo/internal/repository"
"golang.org/x/crypto/bcrypt"
)
type AuthService struct {
repository *repository.ProfileRepository
}
func NewAuthService(repository *repository.ProfileRepository) *AuthService {
service := &AuthService{repository: repository}
return service
}
func VerifyPassword(password, hashedPassword string) error {
return bcrypt.CompareHashAndPassword([]byte(hashedPassword), []byte(password))
}
func (service *AuthService) LoginCheck(email string, password string) (string, error) {
var err error
profile, err := service.repository.FindProfileByEmail(email)
if err != nil {
return "", err
}
err = VerifyPassword(password, profile.Password)
if err != nil && err == bcrypt.ErrMismatchedHashAndPassword {
return "", err
}
token, err := helpers.GenerateToken(profile.ID)
if err != nil {
return "", err
}
return token, nil
}
+27
View File
@@ -0,0 +1,27 @@
package service
import (
"context"
"kontor-api-echo/internal/models"
"kontor-api-echo/internal/repository"
"log/slog"
)
type MailService struct {
repository *repository.MailRepository
}
func NewMailService(repo *repository.MailRepository) *MailService {
service := &MailService{repository: repo}
return service
}
func (service *MailService) List(context context.Context) ([]models.Mail, error) {
slog.Info("MailService#List")
return service.repository.FindAll(context)
}
func (service *MailService) Get(context context.Context, id string) (*models.Mail, error) {
slog.Info("MailService#Get")
return service.repository.GetById(context, id)
}
@@ -0,0 +1,27 @@
package service
import (
"context"
"kontor-api-echo/internal/models"
"kontor-api-echo/internal/repository"
"log/slog"
)
type MailAccountService struct {
repository *repository.MailAccountRepository
}
func NewMailAccountService(repo *repository.MailAccountRepository) *MailAccountService {
service := &MailAccountService{repository: repo}
return service
}
func (service *MailAccountService) List(context context.Context) ([]models.MailAccount, error) {
slog.Info("MailAccountService#List")
return service.repository.FindAll(context)
}
func (service *MailAccountService) Get(context context.Context, id string) (*models.MailAccount, error) {
slog.Info("MailAccountService#Get")
return service.repository.GetById(context, id)
}
+27
View File
@@ -0,0 +1,27 @@
package service
import (
"context"
"kontor-api-echo/internal/models"
"kontor-api-echo/internal/repository"
"log/slog"
)
type TokenService struct {
repository *repository.TokenRepository
}
func NewTokenService(repo *repository.TokenRepository) *TokenService {
service := &TokenService{repository: repo}
return service
}
func (service *TokenService) List(context context.Context) ([]models.Token, error) {
slog.Info("TokenService#List")
return service.repository.FindAll(context)
}
func (service *TokenService) Get(context context.Context, id string) (*models.Token, error) {
slog.Info("TokenService#Get")
return service.repository.GetById(context, id)
}