move indexhandler to index.go
This commit is contained in:
parent
b18ea7b7f4
commit
7394cddc39
64
index.go
Normal file
64
index.go
Normal file
|
@ -0,0 +1,64 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"go.etcd.io/bbolt"
|
||||
"html/template"
|
||||
"log"
|
||||
"net/http"
|
||||
"time"
|
||||
)
|
||||
|
||||
type indexHandler struct {
|
||||
DB *bbolt.DB
|
||||
}
|
||||
|
||||
func (h *indexHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
sess, err := NewSession(w, r)
|
||||
if err != nil {
|
||||
log.Printf("Error loading session: %s", err)
|
||||
return
|
||||
}
|
||||
defer sess.Flush()
|
||||
|
||||
if !sess.LoggedIn {
|
||||
http.Redirect(w, r, "/auth/", 302)
|
||||
return
|
||||
}
|
||||
|
||||
moments, err := loadMoments(h.DB, time.Now().Format("2006-01-02"))
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
}
|
||||
|
||||
type indexPageInfo struct {
|
||||
Moments []Moment
|
||||
LastMomentSeconds int64
|
||||
Me string
|
||||
}
|
||||
|
||||
indexPage := indexPageInfo{Moments: moments}
|
||||
indexPage.Me = sess.Me
|
||||
|
||||
if len(moments) > 0 {
|
||||
a := moments
|
||||
for i := len(a)/2 - 1; i >= 0; i-- {
|
||||
opp := len(a) - 1 - i
|
||||
a[i], a[opp] = a[opp], a[i]
|
||||
}
|
||||
lastMoment := moments[0]
|
||||
indexPage.LastMomentSeconds = lastMoment.Time.Unix()
|
||||
}
|
||||
|
||||
t, err := template.New("index").Parse(indexPageTemplate)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return
|
||||
}
|
||||
|
||||
err = t.Execute(w, indexPage)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
55
main.go
55
main.go
|
@ -4,7 +4,6 @@ import (
|
|||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"html/template"
|
||||
"log"
|
||||
"math"
|
||||
"net/http"
|
||||
|
@ -122,60 +121,6 @@ type Moment struct {
|
|||
Memo string
|
||||
}
|
||||
|
||||
type indexHandler struct {
|
||||
DB *bolt.DB
|
||||
}
|
||||
|
||||
func (h *indexHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
sess, err := NewSession(w, r)
|
||||
if err != nil {
|
||||
log.Printf("Error loading session: %s", err)
|
||||
return
|
||||
}
|
||||
defer sess.Flush()
|
||||
|
||||
if !sess.LoggedIn {
|
||||
http.Redirect(w, r, "/auth/", 302)
|
||||
return
|
||||
}
|
||||
|
||||
moments, err := loadMoments(h.DB, time.Now().Format("2006-01-02"))
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
}
|
||||
|
||||
type indexPageInfo struct {
|
||||
Moments []Moment
|
||||
LastMomentSeconds int64
|
||||
Me string
|
||||
}
|
||||
|
||||
indexPage := indexPageInfo{Moments: moments}
|
||||
indexPage.Me = sess.Me
|
||||
|
||||
if len(moments) > 0 {
|
||||
a := moments
|
||||
for i := len(a)/2 - 1; i >= 0; i-- {
|
||||
opp := len(a) - 1 - i
|
||||
a[i], a[opp] = a[opp], a[i]
|
||||
}
|
||||
lastMoment := moments[0]
|
||||
indexPage.LastMomentSeconds = lastMoment.Time.Unix()
|
||||
}
|
||||
|
||||
t, err := template.New("index").Parse(indexPageTemplate)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return
|
||||
}
|
||||
|
||||
err = t.Execute(w, indexPage)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
// main is the main function
|
||||
func main() {
|
||||
fmt.Println("Starting tracking backend server")
|
||||
|
|
Loading…
Reference in New Issue
Block a user