Skip to content
Snippets Groups Projects
Commit 2933dcd3 authored by Cam Saul's avatar Cam Saul
Browse files

POST setting -> PUT setting for consistency

parent cfcbb51b
No related branches found
No related tags found
No related merge requests found
......@@ -23,8 +23,10 @@ SettingsAdminControllers.controller('SettingsAdminController', ['$scope', 'Setti
});
$scope.saveSetting = function(setting) {
setting.org = $scope.currentOrg.id;
SettingsAdminServices.save(setting, function() {
SettingsAdminServices.put({
key: setting.key,
org: $scope.currentOrg.id
}, setting, function() {
setting.originalValue = setting.value;
}, function(error) {
console.log("Error saving setting: ", error);
......
......@@ -11,9 +11,9 @@ SettingsAdminServices.factory('SettingsAdminServices', ['$resource', '$cookies',
},
// POST endpoint handles create + update in this case
save: {
url: '/api/setting',
method: 'POST'
put: {
url: '/api/setting/:key?org=:org',
method: 'PUT'
},
delete: {
......
(ns metabase.api.setting
"/api/setting endpoints"
(:require [compojure.core :refer [GET POST DELETE]]
(:require [compojure.core :refer [GET PUT DELETE]]
[metabase.api.common :refer :all]
(metabase.models [org :refer [Org]]
[setting :as setting])))
......@@ -18,8 +18,7 @@
(setting/get org (keyword key)))
;; ## Create/update a setting
;; We could write a separate `PUT` endpoint but that's just needless duplication IMO
(defendpoint POST "/" [:as {{:keys [org key value]} :body}]
(defendpoint PUT "/:key" [key org :as {{:keys [value]} :body}]
(require-params key value org)
(write-check Org org)
(setting/set org (keyword key) value))
......
......@@ -22,8 +22,8 @@
;; (setting/get org-id :mandrill-api-key)
;; (mandrill-api-key org-id)
;;
;; (setting/set org-id :mandrill-api-key "MY NEW API KEY")
;; (mandrill-api-key org-id "MY NEW API KEY")
;; (setting/set org-id :mandrill-api-key "NEW_KEY")
;; (mandrill-api-key org-id "NEW_KEY")
;;
;; (setting/delete org-id :mandrill-api-key)
;; (mandrill-api-key org-id nil)
......
......@@ -39,21 +39,17 @@
(fetch-setting :test-setting-2)))
;; ## POST /api/setting
;; ## PUT /api/setting/:key
(expect-eval-actual-first
["NICE!"
"NICE!"]
(do ((user->client :rasta) :post 200 "setting" {:org @org-id
:key "test-setting-1"
:value "NICE!"})
[(test-setting-1 @org-id)
(fetch-setting :test-setting-1)]))
(do ((user->client :rasta) :put 200 "setting/test-setting-1" {:value "NICE!"})
[(test-setting-1 @org-id)
(fetch-setting :test-setting-1)]))
;; ## Check non-admin can't set a Setting
(expect "You don't have permissions to do that."
((user->client :lucky) :post 403 "setting" {:org @org-id
:key "test-setting-1"
:value "NICE!"}))
((user->client :lucky) :put 403 "setting/test-setting-1" {:value "NICE!"}))
;; ## DELETE /api/setting/:key
(expect-eval-actual-first
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment