-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathroutes.go
82 lines (67 loc) · 1.8 KB
/
routes.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
package main
import (
"html/template"
"log"
"net/http"
"github.com/gin-gonic/gin"
)
func IndexHandler(c *gin.Context) {
c.HTML(http.StatusOK, "index.tmpl", gin.H{})
}
func SearchHandler(c *gin.Context) {
query := c.Query("query")
c.HTML(http.StatusOK, "search.tmpl", gin.H{
"Query": query,
"Resources": []interface{}{},
})
}
//----------------------------------------------------------
// /resources routes
//----------------------------------------------------------
func ResourcesIndexHandler(c *gin.Context) {
resources, err := GetResources()
if err != nil {
log.Fatal(err)
}
c.HTML(http.StatusOK, "resource.tmpl", gin.H{
"Resources": resources,
})
}
func ResourceShowHandler(c *gin.Context) {
slug := c.Param("slug")
resource, err := GetResourceBySlug(slug)
if err != nil {
log.Fatal(err)
}
c.HTML(http.StatusOK, "resource.tmpl", gin.H{
"Query": slug,
"Resources": []*Resource{resource},
})
}
func ResourcesJsIndexHandler(c *gin.Context) {
resources, err := GetResources()
if err != nil {
log.Fatal(err)
}
r := []*escapedResources{}
for _, old := range resources {
r = append(r, &escapedResources{
Name: template.HTML(old.Name),
Categories: template.HTML(old.Categories),
Description: template.HTML(old.Description),
Services: template.HTML(old.Services),
Email: template.HTML(old.Email),
Address: template.HTML(old.Address),
Languages: template.HTML(old.Languages),
PopsServed: template.HTML(old.PopsServed),
Website: template.HTML(old.Website),
BusinessLine: template.HTML(old.BusinessLine),
CrisisLine: template.HTML(old.CrisisLine),
Fax: template.HTML(old.Fax),
Slug: template.HTML(old.Slug),
})
}
c.HTML(http.StatusOK, "resources.js.tmpl", gin.H{
"Resources": r,
})
}