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 }