check for unique card_name - fixes #17
This commit is contained in:
parent
50ddfd0726
commit
f685b4a248
2 changed files with 35 additions and 1 deletions
|
|
@ -46,6 +46,27 @@ func db_delete_expired() error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func db_get_card_name_count(card_name string) (card_count int, err error) {
|
||||
|
||||
card_count = 0
|
||||
|
||||
db, err := db_open()
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
defer db.Close()
|
||||
|
||||
sqlStatement := `SELECT COUNT(card_id) FROM cards WHERE card_name = $1;`
|
||||
|
||||
row := db.QueryRow(sqlStatement, card_name)
|
||||
err = row.Scan(&card_count)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
|
||||
return card_count, nil
|
||||
}
|
||||
|
||||
func db_insert_card(one_time_code string, k0_auth_key string, k2_cmac_key string, k3 string, k4 string,
|
||||
tx_max_sats int, day_max_sats int, lnurlw_enable bool, card_name string) error {
|
||||
|
||||
|
|
|
|||
|
|
@ -36,6 +36,19 @@ func main() {
|
|||
return
|
||||
}
|
||||
|
||||
// check if card_name already exists
|
||||
|
||||
card_count, err := db_get_card_name_count(*card_name_ptr)
|
||||
if err != nil {
|
||||
log.Warn(err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
if card_count > 0 {
|
||||
fmt.Println("the card name already exists in the database")
|
||||
return
|
||||
}
|
||||
|
||||
// create the keys
|
||||
|
||||
one_time_code := random_hex()
|
||||
|
|
@ -46,7 +59,7 @@ func main() {
|
|||
|
||||
// create the new card record
|
||||
|
||||
err := db_insert_card(one_time_code, k0_auth_key, k2_cmac_key, k3, k4,
|
||||
err = db_insert_card(one_time_code, k0_auth_key, k2_cmac_key, k3, k4,
|
||||
*tx_max_ptr, *day_max_ptr, *enable_flag_ptr, *card_name_ptr)
|
||||
if err != nil {
|
||||
log.Warn(err.Error())
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue