From 8b2bf8ca5d462768f8fd16897785f584573fe66c Mon Sep 17 00:00:00 2001 From: Maxime Daniel Date: Thu, 7 Sep 2017 14:19:15 +0200 Subject: [PATCH] Add after_upload and after_delete trigger --- filemanager.go | 2 ++ resource.go | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/filemanager.go b/filemanager.go index ad964cfd..e4cf38fe 100644 --- a/filemanager.go +++ b/filemanager.go @@ -252,6 +252,8 @@ func New(database string, base User) (*FileManager, error) { "after_publish": {}, "after_copy": {}, "after_rename": {}, + "after_upload": {}, + "after_delete": {}, } err = db.Set("config", "commands", m.Commands) } diff --git a/resource.go b/resource.go index bc4bb7d6..2bed5587 100644 --- a/resource.go +++ b/resource.go @@ -146,6 +146,11 @@ func resourceDeleteHandler(c *RequestContext, w http.ResponseWriter, r *http.Req return errorToHTTP(err, true), err } + // Fire the trigger + if err := c.Runner("after_delete", r.URL.Path, "", c.User); err != nil { + return http.StatusInternalServerError, err + } + return http.StatusOK, nil } @@ -217,6 +222,12 @@ func resourcePostPutHandler(c *RequestContext, w http.ResponseWriter, r *http.Re // Writes the ETag Header. etag := fmt.Sprintf(`"%x%x"`, fi.ModTime().UnixNano(), fi.Size()) w.Header().Set("ETag", etag) + + // Fire the trigger + if err := c.Runner("after_upload", r.URL.Path, "", c.User); err != nil { + return http.StatusInternalServerError, err + } + return http.StatusOK, nil }