package db import ( "database/sql" "errors" "fmt" "gestion/models" ) func (d *Database) CheckAddress(addressByUser *models.Command) error { var correction models.Address err := d.DB.QueryRow( `SELECT invalid_address, correct_address FROM adresse_correction WHERE invalid_address = $1`, addressByUser.DeliveryAddress, ).Scan(&correction.InvalidAddress, &correction.CorrectAddress) if errors.Is(err, sql.ErrNoRows) { return nil } if err != nil { return fmt.Errorf("checkAddress: %w", err) } var correctedAddress = correction.CorrectAddress addressByUser.DeliveryAddress = correctedAddress return fmt.Errorf("Adresse invalide %s", correctedAddress) } func (d *Database) AddAddress(CorrectAddressByAdmin string, InvalidAddressByAdmin string) error { _, err := d.DB.Exec( `INSERT INTO adresse_correction (invalid_address, correct_address) VALUES ($1, $2)`, InvalidAddressByAdmin, CorrectAddressByAdmin, ) if err != nil { return fmt.Errorf("addAddress: %w", err) } return nil } func (d *Database) DeleteAddress(InvalidAddressByAdmin string, CorrectAddressByAdmin string) error { _, err := d.DB.Exec( `DELETE FROM adresse_correction WHERE invalid_address = $1 AND correct_address = $2`, InvalidAddressByAdmin, CorrectAddressByAdmin, ) if err != nil { return fmt.Errorf("deleteAddress: %w", err) } return nil }