summaryrefslogtreecommitdiff
path: root/system/api/handlers.go
diff options
context:
space:
mode:
authorSteve Manuel <nilslice@gmail.com>2017-08-15 13:39:00 -0600
committerSteve Manuel <nilslice@gmail.com>2017-08-15 15:14:52 -0600
commit075aba63ff98f6f16383f27895856da1569761c4 (patch)
treedb6ae78b4770ae728d7c5623cb1214d4ef006910 /system/api/handlers.go
parent4818fd1fd68f6c8f1afe0c730cf4bca1861e6589 (diff)
update Omittable, Pushable, interface to take res, req pair like Hooks, update implementations & hydrate items
Diffstat (limited to 'system/api/handlers.go')
-rw-r--r--system/api/handlers.go38
1 files changed, 26 insertions, 12 deletions
diff --git a/system/api/handlers.go b/system/api/handlers.go
index 0a9c177..20356e9 100644
--- a/system/api/handlers.go
+++ b/system/api/handlers.go
@@ -19,7 +19,7 @@ var ErrNoAuth = errors.New("Auth failed for request")
func typesHandler(res http.ResponseWriter, req *http.Request) {
var types = []string{}
for t, fn := range item.Types {
- if !hide(fn(), res, req) {
+ if !hide(res, req, fn()) {
types = append(types, t)
}
}
@@ -47,7 +47,7 @@ func contentsHandler(res http.ResponseWriter, req *http.Request) {
return
}
- if hide(it(), res, req) {
+ if hide(res, req, it()) {
return
}
@@ -94,7 +94,7 @@ func contentsHandler(res http.ResponseWriter, req *http.Request) {
return
}
- j, err = omit(it(), j)
+ j, err = omit(res, req, it(), j)
if err != nil {
res.WriteHeader(http.StatusInternalServerError)
return
@@ -125,17 +125,24 @@ func contentHandler(res http.ResponseWriter, req *http.Request) {
return
}
- if hide(pt(), res, req) {
+ post, err := db.Content(t + ":" + id)
+ if err != nil {
+ res.WriteHeader(http.StatusInternalServerError)
return
}
- post, err := db.Content(t + ":" + id)
+ p := pt()
+ err = json.Unmarshal(post, p)
if err != nil {
res.WriteHeader(http.StatusInternalServerError)
return
}
- push(res, req, pt, post)
+ if hide(res, req, p) {
+ return
+ }
+
+ push(res, req, p, post)
j, err := fmtJSON(json.RawMessage(post))
if err != nil {
@@ -143,7 +150,7 @@ func contentHandler(res http.ResponseWriter, req *http.Request) {
return
}
- j, err = omit(pt(), j)
+ j, err = omit(res, req, p, j)
if err != nil {
res.WriteHeader(http.StatusInternalServerError)
return
@@ -174,11 +181,18 @@ func contentHandlerBySlug(res http.ResponseWriter, req *http.Request) {
return
}
- if hide(it(), res, req) {
+ p := it()
+ err = json.Unmarshal(post, p)
+ if err != nil {
+ log.Println(err)
+ return
+ }
+
+ if hide(res, req, p) {
return
}
- push(res, req, it, post)
+ push(res, req, p, post)
j, err := fmtJSON(json.RawMessage(post))
if err != nil {
@@ -186,7 +200,7 @@ func contentHandlerBySlug(res http.ResponseWriter, req *http.Request) {
return
}
- j, err = omit(it(), j)
+ j, err = omit(res, req, p, j)
if err != nil {
res.WriteHeader(http.StatusInternalServerError)
return
@@ -218,7 +232,7 @@ func uploadsHandler(res http.ResponseWriter, req *http.Request) {
return new(item.FileUpload)
}
- push(res, req, it, upload)
+ push(res, req, it(), upload)
j, err := fmtJSON(json.RawMessage(upload))
if err != nil {
@@ -227,7 +241,7 @@ func uploadsHandler(res http.ResponseWriter, req *http.Request) {
return
}
- j, err = omit(it(), j)
+ j, err = omit(res, req, it(), j)
if err != nil {
res.WriteHeader(http.StatusInternalServerError)
return