Handle nulltimes
This commit is contained in:
parent
6403622d19
commit
58843133f5
2 changed files with 19 additions and 12 deletions
15
helpers.go
15
helpers.go
|
@ -1,5 +1,11 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"github.com/lib/pq"
|
||||||
|
)
|
||||||
|
|
||||||
// ListOptions specifies general pagination options for fetching a list of results
|
// ListOptions specifies general pagination options for fetching a list of results
|
||||||
type ListOptions struct {
|
type ListOptions struct {
|
||||||
PerPage int `url:",omitempty" json:",omitempty"`
|
PerPage int `url:",omitempty" json:",omitempty"`
|
||||||
|
@ -27,3 +33,12 @@ func (o ListOptions) PerPageOrDefault() int {
|
||||||
|
|
||||||
// DefaultPerPage is the default number of items to return in a paginated result set
|
// DefaultPerPage is the default number of items to return in a paginated result set
|
||||||
const DefaultPerPage = 10
|
const DefaultPerPage = 10
|
||||||
|
|
||||||
|
func currentTime() NullTime {
|
||||||
|
return NullTime{
|
||||||
|
pq.NullTime{
|
||||||
|
Time: time.Now(),
|
||||||
|
Valid: true,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
16
strains.go
16
strains.go
|
@ -8,7 +8,6 @@ import (
|
||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/gorilla/context"
|
"github.com/gorilla/context"
|
||||||
"github.com/gorilla/mux"
|
"github.com/gorilla/mux"
|
||||||
|
@ -33,8 +32,8 @@ type StrainBase struct {
|
||||||
Genbank NullString `db:"genbank" json:"genbank"`
|
Genbank NullString `db:"genbank" json:"genbank"`
|
||||||
IsolatedFrom NullString `db:"isolated_from" json:"isolatedFrom"`
|
IsolatedFrom NullString `db:"isolated_from" json:"isolatedFrom"`
|
||||||
Notes NullString `db:"notes" json:"notes"`
|
Notes NullString `db:"notes" json:"notes"`
|
||||||
CreatedAt time.Time `db:"created_at" json:"createdAt"`
|
CreatedAt NullTime `db:"created_at" json:"createdAt"`
|
||||||
UpdatedAt time.Time `db:"updated_at" json:"updatedAt"`
|
UpdatedAt NullTime `db:"updated_at" json:"updatedAt"`
|
||||||
DeletedAt NullTime `db:"deleted_at" json:"deletedAt"`
|
DeletedAt NullTime `db:"deleted_at" json:"deletedAt"`
|
||||||
CreatedBy int64 `db:"created_by" json:"createdBy"`
|
CreatedBy int64 `db:"created_by" json:"createdBy"`
|
||||||
UpdatedBy int64 `db:"updated_by" json:"updatedBy"`
|
UpdatedBy int64 `db:"updated_by" json:"updatedBy"`
|
||||||
|
@ -126,7 +125,7 @@ func serveUpdateStrain(w http.ResponseWriter, r *http.Request) {
|
||||||
c := context.Get(r, "claims")
|
c := context.Get(r, "claims")
|
||||||
var claims Claims = c.(Claims)
|
var claims Claims = c.(Claims)
|
||||||
strainjson.Strain.UpdatedBy = claims.Sub
|
strainjson.Strain.UpdatedBy = claims.Sub
|
||||||
strainjson.Strain.UpdatedAt = time.Now()
|
strainjson.Strain.UpdatedAt = currentTime()
|
||||||
strainjson.Strain.Id = id
|
strainjson.Strain.Id = id
|
||||||
|
|
||||||
err = dbUpdateStrain(strainjson.Strain)
|
err = dbUpdateStrain(strainjson.Strain)
|
||||||
|
@ -135,14 +134,7 @@ func serveUpdateStrain(w http.ResponseWriter, r *http.Request) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
var strain *Strain
|
data, err := json.Marshal(StrainJSON{Strain: strainjson.Strain})
|
||||||
strain, err = dbGetStrain(id, mux.Vars(r)["genus"])
|
|
||||||
if err != nil {
|
|
||||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
data, err := json.Marshal(StrainJSON{Strain: strain})
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
return
|
return
|
||||||
|
|
Reference in a new issue