add personal address
This commit is contained in:
1 parent
50d1ba630e
commit
d2a153536f
17 files changed
+239
-50
No files matched your search
@@ -31,8 +31,10 @@ type Session struct {
|
||||
}
|
||||
|
||||
const ContextUserIDKey = "userID"
|
||||
const ContextEmailKey = "userEmail"
|
||||
const ContextNameKey = "userName"
|
||||
const ContextUserAdminKey = "userAdmin"
|
||||
|
||||
//const ContextEmailKey = "userEmail"
|
||||
//const ContextNameKey = "userName"
|
||||
|
||||
// Interface définie ici car c'est un port propre au cas d'usage "auth"
|
||||
type Authenticator interface {
|
||||
|
||||
@@ -4,6 +4,7 @@ import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"trankilou.fr/lassistanoque/backend/internal/domain"
|
||||
)
|
||||
@@ -53,8 +54,10 @@ func (s *Service) Register(registration Registration) (*Session, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
now := time.Now()
|
||||
_, err = s.userRepository.CreateTeam(session.User.ID, &domain.Team{
|
||||
Label: "Espace personnel",
|
||||
Label: "Espace personnel",
|
||||
DateCreated: now,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
@@ -45,3 +45,38 @@ func (s *Service) UpdateUser(updUser *domain.User, fromAdmin bool) (*domain.User
|
||||
return s.repo.UpdateUser(user)
|
||||
|
||||
}
|
||||
|
||||
func (s *Service) ListAdresses(userId string) ([]*domain.UserAddress, error) {
|
||||
return s.repo.ListUserAddresses(userId)
|
||||
}
|
||||
|
||||
func (s *Service) AddAddress(userId string, typ string, address string) (*domain.UserAddress, error) {
|
||||
addr := &domain.UserAddress{
|
||||
UserID: userId,
|
||||
Type: typ,
|
||||
Address: address,
|
||||
}
|
||||
return s.repo.CreateUserAddress(addr)
|
||||
}
|
||||
|
||||
func (s *Service) UpdateAddress(userId string, address *domain.UserAddress) (*domain.UserAddress, error) {
|
||||
old, err := s.repo.GetUserAddress(address.ID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if old.UserID != userId {
|
||||
return nil, fmt.Errorf("unauthorized")
|
||||
}
|
||||
return s.repo.UpdateUserAddress(address)
|
||||
}
|
||||
|
||||
func (s *Service) DeleteAddress(userId string, addressId string) error {
|
||||
old, err := s.repo.GetUserAddress(addressId)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if old.UserID != userId {
|
||||
return fmt.Errorf("unauthorized")
|
||||
}
|
||||
return s.repo.DeleteUserAddress(addressId)
|
||||
}
|
||||
Reference in new issue
Block a user