func saveBallotToDB(ballot *Ballot) error { // Frist transform the tagset into an hstore var tags hstore.Hstore tags.Map = make(map[string]sql.NullString, len(ballot.TagSet)) for key, value := range ballot.TagSet.Map() { tags.Map[key] = sql.NullString{value, true} } _, err := db.Exec("INSERT INTO ballots_"+ballot.ElectionID+" (ballot_id, ballot, tags) VALUES ($1, $2, $3)", ballot.BallotID, ballot.String(), tags) return err }
func saveElectionToDB(election *Election) error { // Frist transform the tagset into an hstore var tags hstore.Hstore tags.Map = make(map[string]sql.NullString, len(election.TagSet)) for key, value := range election.TagSet.Map() { tags.Map[key] = sql.NullString{String: value, Valid: true} } _, err := db.Exec("INSERT INTO elections (election_id, election, startdate, enddate, tags) VALUES ($1, $2, $3, $4, $5)", election.ElectionID, election.String(), election.Start, election.End, tags) if err != nil { return err } // Create the sigreqa table for storing signature requests _, err = db.Exec(strings.Replace(sigreqsQuery, "<election-id>", election.ElectionID, -1)) if err != nil { return err } //@@TODO - tell ballotbox database about election return nil }