github.com/jamiefdhurst/journal@v0.9.2/internal/app/controller/apiv1/list.go (about)

     1  package apiv1
     2  
     3  import (
     4  	"encoding/json"
     5  	"net/http"
     6  
     7  	"github.com/jamiefdhurst/journal/internal/app"
     8  	"github.com/jamiefdhurst/journal/internal/app/model"
     9  	"github.com/jamiefdhurst/journal/pkg/controller"
    10  )
    11  
    12  // List Display all blog entries as JSON
    13  type List struct {
    14  	controller.Super
    15  }
    16  
    17  // Run List action
    18  func (c *List) Run(response http.ResponseWriter, request *http.Request) {
    19  
    20  	js := model.Journals{Container: c.Super.Container.(*app.Container), Gs: model.GiphyAdapter(c.Super.Container.(*app.Container))}
    21  	journals := js.FetchAll()
    22  	response.Header().Add("Content-Type", "application/json")
    23  	encoder := json.NewEncoder(response)
    24  	encoder.SetEscapeHTML(false)
    25  	encoder.Encode(journals)
    26  }