safe add handler
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2024-01-10 11:43:57 +11:00
parent 0273f62611
commit 7b11958658
3 changed files with 78 additions and 0 deletions

View File

@@ -85,3 +85,30 @@ func SafeListAllowed(userId int) ([]Safe, error) {
return results, nil
}
// SafeAdd adds a new safe definition to the database
func (s *Safe) SafeAdd() (*Safe, error) {
var err error
// Validate group not already in use
_, err = SafeGetByName(s.SafeName)
if err != nil && err.Error() == "safe not found" {
log.Printf("SafeAdd confirmed no existing safe, continuing with creation of safe '%s'\n", s.SafeName)
result, err := db.NamedExec(("INSERT INTO safes (SafeName) VALUES (:SafeName);"), s)
if err != nil {
log.Printf("SafeAdd error executing sql record : '%s'\n", err)
return &Safe{}, err
} else {
affected, _ := result.RowsAffected()
id, _ := result.LastInsertId()
log.Printf("SafeAdd insert returned result id '%d' affecting %d row(s).\n", id, affected)
}
} else {
log.Printf("SafeAdd safe name already exists : '%v'\n", err)
}
return s, nil
}