瀏覽代碼

[Web] Add rsettings to API

André 7 年之前
父節點
當前提交
69d5790130
共有 1 個文件被更改,包括 36 次插入0 次删除
  1. 36 0
      data/web/json_api.php

+ 36 - 0
data/web/json_api.php

@@ -101,6 +101,9 @@ if (isset($_SESSION['mailcow_cc_role']) || isset($_SESSION['pending_mailcow_cc_u
           case "relayhost":
             process_add_return(relayhost('add', $attr));
           break;
+          case "rsetting":
+            process_add_return(rsettings('add', $attr));
+          break;
           case "mailbox":
             process_add_return(mailbox('add', 'mailbox', $attr));
           break;
@@ -359,6 +362,33 @@ if (isset($_SESSION['mailcow_cc_role']) || isset($_SESSION['pending_mailcow_cc_u
             }
           break;
 
+          case "rsetting":
+            switch ($object) {
+              case "all":
+                $rsettings = rsettings('get');
+                if (!empty($rsettings)) {
+                  foreach ($rsettings as $rsetting) {
+                    if ($details = rsettings('details', $rsetting['id'])) {
+                      $data[] = $details;
+                    }
+                    else {
+                      continue;
+                    }
+                  }
+                  process_get_return($data);
+                }
+                else {
+                  echo '{}';
+                }
+              break;
+
+              default:
+                $data = rsetting('details', $object);
+                process_get_return($data);
+              break;
+            }
+          break;
+
           case "oauth2-client":
             switch ($object) {
               case "all":
@@ -922,6 +952,9 @@ if (isset($_SESSION['mailcow_cc_role']) || isset($_SESSION['pending_mailcow_cc_u
           case "relayhost":
             process_delete_return(relayhost('delete', array('id' => $items)));
           break;
+          case "rsetting":
+            process_delete_return(rsettings('delete', array('id' => $items)));
+          break;
           case "syncjob":
             process_delete_return(mailbox('delete', 'syncjob', array('id' => $items)));
           break;
@@ -1017,6 +1050,9 @@ if (isset($_SESSION['mailcow_cc_role']) || isset($_SESSION['pending_mailcow_cc_u
           case "relayhost":
             process_edit_return(relayhost('edit', array_merge(array('id' => $items), $attr)));
           break;
+          case "rsetting":
+            process_edit_return(rsettings('edit', array_merge(array('id' => $items), $attr)));
+          break;
           case "delimiter_action":
             process_edit_return(mailbox('edit', 'delimiter_action', array_merge(array('username' => $items), $attr)));
           break;