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 }