48 lines
1.4 KiB
Go
48 lines
1.4 KiB
Go
package db
|
|
|
|
import (
|
|
"fmt"
|
|
"gestion/models"
|
|
)
|
|
|
|
func (d *Database) CheckAddress(addressByUser *models.Command) error {
|
|
var correction models.Address
|
|
result := d.GDB.Where("invalid_address = ?", addressByUser.DeliveryAddress).First(&correction)
|
|
if result.Error != nil {
|
|
if isNotFound(result.Error) {
|
|
return nil
|
|
}
|
|
return fmt.Errorf("checkAddress: %w", result.Error)
|
|
}
|
|
addressByUser.DeliveryAddress = correction.CorrectAddress
|
|
return fmt.Errorf("adresse invalide %s", correction.CorrectAddress)
|
|
}
|
|
|
|
func (d *Database) AddAddress(CorrectAddressByAdmin string, InvalidAddressByAdmin string) error {
|
|
address := models.Address{
|
|
InvalidAddress: InvalidAddressByAdmin,
|
|
CorrectAddress: CorrectAddressByAdmin,
|
|
}
|
|
if err := d.GDB.Create(&address).Error; err != nil {
|
|
return fmt.Errorf("addAddress: %w", err)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (d *Database) DeleteAddress(InvalidAddressByAdmin string, CorrectAddressByAdmin string) error {
|
|
result := d.GDB.Where("invalid_address = ? AND correct_address = ?", InvalidAddressByAdmin, CorrectAddressByAdmin).
|
|
Delete(&models.Address{})
|
|
if result.Error != nil {
|
|
return fmt.Errorf("deleteAddress: %w", result.Error)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (d *Database) AllAddress() ([]models.Address, error) {
|
|
var addresses []models.Address
|
|
if err := d.GDB.Find(&addresses).Error; err != nil {
|
|
return nil, fmt.Errorf("getAllAddress: %w", err)
|
|
}
|
|
return addresses, nil
|
|
}
|