kontor-echo: setup project to show homepage
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
Reference in New Issue
Block a user