diff options
author | Steve Manuel <nilslice@gmail.com> | 2017-08-15 13:39:00 -0600 |
---|---|---|
committer | Steve Manuel <nilslice@gmail.com> | 2017-08-15 15:14:52 -0600 |
commit | 075aba63ff98f6f16383f27895856da1569761c4 (patch) | |
tree | db6ae78b4770ae728d7c5623cb1214d4ef006910 /system/api/handlers.go | |
parent | 4818fd1fd68f6c8f1afe0c730cf4bca1861e6589 (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.go | 38 |
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 |