Files
projet_gestion_commande/backend/gestion/db/db_address.go
T
2026-02-24 20:52:44 +01:00

50 lines
1.3 KiB
Go

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
}