combine delete code into a function

This commit is contained in:
Ted Unangst 2019-09-16 17:00:50 -04:00
parent 11721b9ec2
commit 4d95d2290a
3 changed files with 28 additions and 33 deletions

View File

@ -234,14 +234,7 @@ func savexonk(x *Honk) {
log.Printf("eradicating %s by %s", x.XID, x.Honker) log.Printf("eradicating %s by %s", x.XID, x.Honker)
xonk := getxonk(x.UserID, x.XID) xonk := getxonk(x.UserID, x.XID)
if xonk != nil { if xonk != nil {
_, err := stmtZonkDonks.Exec(xonk.ID) deletehonk(xonk.ID)
if err != nil {
log.Printf("error eradicating: %s", err)
}
_, err = stmtZonkIt.Exec(xonk.ID)
if err != nil {
log.Printf("error eradicating: %s", err)
}
} }
_, err := stmtSaveZonker.Exec(x.UserID, x.XID, "zonk") _, err := stmtSaveZonker.Exec(x.UserID, x.XID, "zonk")
if err != nil { if err != nil {

View File

@ -247,7 +247,7 @@ func savehonk(h *Honk) error {
} }
} }
for _, o := range h.Onts { for _, o := range h.Onts {
_, err = stmtSaveOnts.Exec(strings.ToLower(o), h.ID) _, err = stmtSaveOnt.Exec(strings.ToLower(o), h.ID)
if err != nil { if err != nil {
log.Printf("error saving ont: %s", err) log.Printf("error saving ont: %s", err)
return err return err
@ -256,6 +256,21 @@ func savehonk(h *Honk) error {
return nil return nil
} }
func deletehonk(honkid int64) {
_, err := stmtDeleteDonks.Exec(honkid)
if err != nil {
log.Printf("error deleting: %s", err)
}
_, err = stmtDeleteOnts.Exec(honkid)
if err != nil {
log.Printf("error deleting: %s", err)
}
_, err = stmtDeleteHonk.Exec(honkid)
if err != nil {
log.Printf("error deleting: %s", err)
}
}
func cleanupdb(arg string) { func cleanupdb(arg string) {
db := opendatabase() db := opendatabase()
days, err := strconv.Atoi(arg) days, err := strconv.Atoi(arg)
@ -281,9 +296,9 @@ var stmtHonksByOntology, stmtHonksForUser, stmtHonksForMe, stmtSaveDub, stmtHonk
var stmtHonksBySearch, stmtHonksByHonker, stmtSaveHonk, stmtFileData, stmtWhatAbout *sql.Stmt var stmtHonksBySearch, stmtHonksByHonker, stmtSaveHonk, stmtFileData, stmtWhatAbout *sql.Stmt
var stmtOneBonk, stmtFindZonk, stmtFindXonk, stmtSaveDonk, stmtFindFile, stmtSaveFile *sql.Stmt var stmtOneBonk, stmtFindZonk, stmtFindXonk, stmtSaveDonk, stmtFindFile, stmtSaveFile *sql.Stmt
var stmtAddDoover, stmtGetDoovers, stmtLoadDoover, stmtZapDoover, stmtOneHonker *sql.Stmt var stmtAddDoover, stmtGetDoovers, stmtLoadDoover, stmtZapDoover, stmtOneHonker *sql.Stmt
var stmtThumbBiters, stmtZonkIt, stmtZonkDonks, stmtSaveZonker *sql.Stmt var stmtThumbBiters, stmtDeleteHonk, stmtDeleteDonks, stmtDeleteOnts, stmtSaveZonker *sql.Stmt
var stmtGetZonkers, stmtRecentHonkers, stmtGetXonker, stmtSaveXonker, stmtDeleteXonker *sql.Stmt var stmtGetZonkers, stmtRecentHonkers, stmtGetXonker, stmtSaveXonker, stmtDeleteXonker *sql.Stmt
var stmtSelectOnts, stmtSaveOnts, stmtUpdateFlags, stmtClearFlags *sql.Stmt var stmtSelectOnts, stmtSaveOnt, stmtUpdateFlags, stmtClearFlags *sql.Stmt
func preparetodie(db *sql.DB, s string) *sql.Stmt { func preparetodie(db *sql.DB, s string) *sql.Stmt {
stmt, err := db.Prepare(s) stmt, err := db.Prepare(s)
@ -318,14 +333,15 @@ func prepareStatements(db *sql.DB) {
stmtHonksByOntology = preparetodie(db, selecthonks+"join onts on honks.honkid = onts.honkid where onts.ontology = ? and (honks.userid = ? or (? = -1 and honks.whofore = 2))"+limit) stmtHonksByOntology = preparetodie(db, selecthonks+"join onts on honks.honkid = onts.honkid where onts.ontology = ? and (honks.userid = ? or (? = -1 and honks.whofore = 2))"+limit)
stmtSaveHonk = preparetodie(db, "insert into honks (userid, what, honker, xid, rid, dt, url, audience, noise, convoy, whofore, format, precis, oonker, flags, onts) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)") stmtSaveHonk = preparetodie(db, "insert into honks (userid, what, honker, xid, rid, dt, url, audience, noise, convoy, whofore, format, precis, oonker, flags, onts) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
stmtSaveOnts = preparetodie(db, "insert into onts (ontology, honkid) values (?, ?)") stmtDeleteHonk = preparetodie(db, "delete from honks where honkid = ?")
stmtSaveOnt = preparetodie(db, "insert into onts (ontology, honkid) values (?, ?)")
stmtDeleteOnts = preparetodie(db, "delete from onts where honkid = ?")
stmtSaveDonk = preparetodie(db, "insert into donks (honkid, fileid) values (?, ?)")
stmtDeleteDonks = preparetodie(db, "delete from donks where honkid = ?")
stmtSaveFile = preparetodie(db, "insert into files (xid, name, description, url, media, local, content) values (?, ?, ?, ?, ?, ?, ?)")
stmtFileData = preparetodie(db, "select media, content from files where xid = ?") stmtFileData = preparetodie(db, "select media, content from files where xid = ?")
stmtFindXonk = preparetodie(db, "select honkid from honks where userid = ? and xid = ?") stmtFindXonk = preparetodie(db, "select honkid from honks where userid = ? and xid = ?")
stmtSaveDonk = preparetodie(db, "insert into donks (honkid, fileid) values (?, ?)")
stmtZonkIt = preparetodie(db, "delete from honks where honkid = ?")
stmtZonkDonks = preparetodie(db, "delete from donks where honkid = ?")
stmtFindFile = preparetodie(db, "select fileid from files where url = ? and local = 1") stmtFindFile = preparetodie(db, "select fileid from files where url = ? and local = 1")
stmtSaveFile = preparetodie(db, "insert into files (xid, name, description, url, media, local, content) values (?, ?, ?, ?, ?, ?, ?)")
stmtWhatAbout = preparetodie(db, "select userid, username, displayname, about, pubkey, options from users where username = ?") stmtWhatAbout = preparetodie(db, "select userid, username, displayname, about, pubkey, options from users where username = ?")
stmtSaveDub = preparetodie(db, "insert into honkers (userid, name, xid, flavor) values (?, ?, ?, ?)") stmtSaveDub = preparetodie(db, "insert into honkers (userid, name, xid, flavor) values (?, ?, ?, ?)")
stmtAddDoover = preparetodie(db, "insert into doovers (dt, tries, username, rcpt, msg) values (?, ?, ?, ?, ?)") stmtAddDoover = preparetodie(db, "insert into doovers (dt, tries, username, rcpt, msg) values (?, ?, ?, ?, ?)")

20
web.go
View File

@ -794,16 +794,9 @@ func zonkit(w http.ResponseWriter, r *http.Request) {
if wherefore == "unbonk" { if wherefore == "unbonk" {
xonk := getbonk(userinfo.UserID, what) xonk := getbonk(userinfo.UserID, what)
if xonk != nil { if xonk != nil {
_, err := stmtZonkDonks.Exec(xonk.ID) deletehonk(xonk.ID)
if err != nil {
log.Printf("error zonking: %s", err)
}
_, err = stmtZonkIt.Exec(xonk.ID)
if err != nil {
log.Printf("error zonking: %s", err)
}
xonk = getxonk(userinfo.UserID, what) xonk = getxonk(userinfo.UserID, what)
_, err = stmtClearFlags.Exec(flagIsBonked, xonk.ID) _, err := stmtClearFlags.Exec(flagIsBonked, xonk.ID)
if err != nil { if err != nil {
log.Printf("error unbonking: %s", err) log.Printf("error unbonking: %s", err)
} }
@ -816,14 +809,7 @@ func zonkit(w http.ResponseWriter, r *http.Request) {
if wherefore == "zonk" { if wherefore == "zonk" {
xonk := getxonk(userinfo.UserID, what) xonk := getxonk(userinfo.UserID, what)
if xonk != nil { if xonk != nil {
_, err := stmtZonkDonks.Exec(xonk.ID) deletehonk(xonk.ID)
if err != nil {
log.Printf("error zonking: %s", err)
}
_, err = stmtZonkIt.Exec(xonk.ID)
if err != nil {
log.Printf("error zonking: %s", err)
}
if xonk.Whofore == 2 || xonk.Whofore == 3 { if xonk.Whofore == 2 || xonk.Whofore == 3 {
sendzonkofsorts(xonk, user, "zonk") sendzonkofsorts(xonk, user, "zonk")
} }