OSDN Git Service

js: implement AD code related methods
authorhylom <hylom@users.sourceforge.jp>
Thu, 7 Jun 2018 12:21:45 +0000 (21:21 +0900)
committerhylom <hylom@users.sourceforge.jp>
Thu, 7 Jun 2018 12:21:45 +0000 (21:21 +0900)
src/newslash_web/lib/Newslash/Web.pm
src/newslash_web/public/js/newslash-admin.js

index 43a0fe2..18fad53 100644 (file)
@@ -162,8 +162,11 @@ sub startup {
     # Statics Logger
     $app->plugin('Newslash::Plugin::Statics');
 
-    # Request Baker
-    $app->plugin('Newslash::Plugin::ReqBaker');
+    # Request Body based routing condition
+    $app->plugin('Newslash::Plugin::RequestBodyCondition');
+
+    # NS-RPC
+    $app->plugin('Newslash::Plugin::NSRPC');
 
     ############################################################
     #
@@ -312,9 +315,10 @@ sub startup {
     $admin_api->get('/sidebar')->to('API::Admin::Sidebar#get');
 
     # ad codes management
-    $app->baker->add_route($admin_api->get('/ad/code/'), 'ad_codes', 'select');
-    $app->baker->add_route($admin_api->post('/ad/code/')->over(bake => {action => "delete"}), 'ad_codes', 'delete');
-    $app->baker->add_route($admin_api->post('/ad/code/')->over(bake => {action => "create"}), 'ad_codes', 'create');
+    $app->rpc->route_to_model($admin_api->get('/ad/code/'), 'ad_codes', 'select');
+    $app->rpc->route_to_model($admin_api->post('/ad/code/')->over(request_body => {action => "create"}), 'ad_codes', 'create');
+    $app->rpc->route_to_model($admin_api->post('/ad/code/')->over(request_body => {action => "update"}), 'ad_codes', 'update');
+    $app->rpc->route_to_model($admin_api->post('/ad/code/')->over(request_body => {action => "delete"}), 'ad_codes', 'delete');
 
     # API
     my $api = $r->under('/api/v1');
index 9d17335..c050762 100644 (file)
     return this.get("/sidebar?id=" + id);
   };
 
+  // AD codes
+  nsAdmin.getADCodes = function getADCodes() {
+    return this.get("/ad/code");
+  };
+
+  nsAdmin.getADCodeById = function getADCodeById(id) {
+    if (!id) return this.fail();
+    return this.get("/ad/code?id=" + id);
+  };
+
+  nsAdmin.updateADCodes = function createADCode(params) {
+    if (!params) return this.fail();
+    if (params.id) {
+      params.action = "update";
+    } else {
+      params.action = "create";
+    }
+    return this.post("/ad/code", params);
+  };
+
+  nsAdmin.deleteADCodes = function deleteADCode(id) {
+    if (!id) return this.fail();
+    return this.post("/ad/code", { action: "delete", id: id });
+  };
+
 }).apply();