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
|
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,
|
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 {
|
tx_max_sats int, day_max_sats int, lnurlw_enable bool, card_name string) error {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,19 @@ func main() {
|
||||||
return
|
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
|
// create the keys
|
||||||
|
|
||||||
one_time_code := random_hex()
|
one_time_code := random_hex()
|
||||||
|
|
@ -46,7 +59,7 @@ func main() {
|
||||||
|
|
||||||
// create the new card record
|
// 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)
|
*tx_max_ptr, *day_max_ptr, *enable_flag_ptr, *card_name_ptr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Warn(err.Error())
|
log.Warn(err.Error())
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue