소스 검색

Update society presenter logic

Matt Coles 9 년 전
부모
커밋
2dcf3a3643

+ 0 - 0
controllers/society-controller.js


controllers/event-controller.js → presenters/event-controller.js


controllers/permissions-controller.js → presenters/permissions-controller.js


+ 87 - 0
presenters/society-controller.js

@@ -0,0 +1,87 @@
1
+var Redis = require("ioredis");
2
+var redis = new Redis();
3
+
4
+module.exports = {
5
+  get_society: function (soc_name, complete) {
6
+    redis.hgetall("society:" + soc_name, function (err, result) {
7
+      if (result.name) {
8
+        result.users = JSON.parse(result.users);
9
+        result.admins = JSON.parse(result.admins);
10
+        complete({
11
+          "society": result,
12
+          "error": 0
13
+        })
14
+      } else {
15
+        complete({
16
+          "society": {},
17
+          "error": 1
18
+        })
19
+      }
20
+    });
21
+  },
22
+
23
+  create_society: function (soc_name, admins, description, auth, complete) {
24
+    var society_name = decodeURIComponent(soc_name);
25
+    var soc_query = "society:" + society_name;
26
+    admins = decodeURIComponent(admins);
27
+    description = decodeURIComponent(description);
28
+    var admins_str = admins;
29
+    admins = JSON.parse(admins);
30
+
31
+    redis.hget(soc_query, "name", function (err, result) {
32
+      if (result) {
33
+        complete({"success": 0,
34
+                  "error": 2});
35
+      } else {
36
+        redis.get("auth-key:" + auth, function (err,result) {
37
+          var username = result;
38
+          if (admins.indexOf(result) !== -1) {
39
+            redis.hset(soc_query, "name", society_name);
40
+            redis.hset(soc_query, "admins", admins_str);
41
+            redis.hset(soc_query, "description", description);
42
+            redis.hset(soc_query, "users", admins_str);
43
+            complete({"success": 1,
44
+                      "society" : {
45
+                       "name": society_name,
46
+                       "admins": admins,
47
+                       "description": description,
48
+                       "users": admins
49
+                      },
50
+                      "error": 0});
51
+          } else {
52
+            complete({"success": 0,
53
+                      "error": 3});
54
+          }
55
+        });
56
+      }
57
+    });
58
+  },
59
+
60
+  get_user_list: function (soc_name, complete) {
61
+    this.get_society(soc_name, function (result) {
62
+      if (result.society.name) {
63
+        complete(result.society.users);
64
+      } else {
65
+        complete([]);
66
+      }
67
+    });
68
+  },
69
+
70
+  get_admin_list: function (soc_name, complete) {
71
+    this.get_society(soc_name, function (result) {
72
+      if (result.society.name) {
73
+        complete(result.society.admins);
74
+      } else {
75
+        complete([]);
76
+      }
77
+    })
78
+  },
79
+
80
+  join_society: function (soc_name, auth, complete) {
81
+
82
+  },
83
+
84
+  leave_society: function (soc_name, auth, complete) {
85
+
86
+  }
87
+}

controllers/user-controller.js → presenters/user-controller.js


+ 3 - 32
routes/society/create-society.js

@@ -1,5 +1,6 @@
1 1
 var Redis = require("ioredis");
2 2
 var redis = new Redis();
3
+var society_controller = require("./../../presenters/society-controller.js");
3 4
 
4 5
 module.exports = {
5 6
   perform: function(a,b) {
@@ -14,38 +15,8 @@ var perform = function(req,res) {
14 15
   var description = req.body.description || req.query.description;
15 16
 
16 17
   if (society_name && auth_key && admins && description) {
17
-    var soc_query = "society:" + society_name;
18
-    society_name = decodeURIComponent(society_name);
19
-    admins = decodeURIComponent(admins);
20
-    description = decodeURIComponent(description);
21
-    var admins_str = admins;
22
-    admins = JSON.parse(admins);
23
-    redis.hget(soc_query, "name", function (err, result) {
24
-      if (result) {
25
-        res.send({"success": 0,
26
-                  "error": 2});
27
-      } else {
28
-        redis.get("auth-key:" + auth_key, function (err,result) {
29
-          var username = result;
30
-          if (admins.indexOf(result) !== -1) {
31
-            redis.hset(soc_query, "name", society_name);
32
-            redis.hset(soc_query, "admins", admins_str);
33
-            redis.hset(soc_query, "description", description);
34
-            redis.hset(soc_query, "users", admins_str);
35
-            res.send({"success": 1,
36
-                      "society" : {
37
-                       "name": society_name,
38
-                       "admins": admins,
39
-                       "description": description,
40
-                       "users": admins
41
-                      },
42
-                      "error": 0});
43
-          } else {
44
-            res.send({"success": 0,
45
-                      "error": 3});
46
-          }
47
-        });
48
-      }
18
+    society_controller.create_society(society_name, admins, description, auth_key, function (result) {
19
+      res.send(result);
49 20
     });
50 21
   } else {
51 22
     res.send({"success": 0,

+ 4 - 17
routes/society/view-society.js

@@ -1,5 +1,4 @@
1
-var Redis = require("ioredis");
2
-var redis = new Redis();
1
+var society_controller = require("./../../presenters/society-controller.js");
3 2
 
4 3
 module.exports = {
5 4
   perform: function (a,b) {
@@ -8,19 +7,7 @@ module.exports = {
8 7
 }
9 8
 
10 9
 var perform = function (req, res) {
11
-  var auth_key = req.body.auth || req.query.auth;
12
-
13
-  redis.hgetall("society:" + req.params.societyid).then(function (result) {
14
-    if (result.name) {
15
-      result.users = JSON.parse(result.users);
16
-      result.admins = JSON.parse(result.admins);
17
-      res.send({
18
-        "society": result,
19
-        "error": 0
20
-      });
21
-    } else {
22
-      res.send({"society": {},
23
-               "error": 1});
24
-    }
25
-  });
10
+  society_controller.get_society(req.params.societyid, function (result) {
11
+    res.send(result);
12
+  })
26 13
 };

+ 1 - 1
routes/user/login.js

@@ -1,4 +1,4 @@
1
-var user_controller = require("./../../controllers/user-controller.js");
1
+var user_controller = require("./../../presenters/user-controller.js");
2 2
 
3 3
 module.exports = {
4 4
   perform: function(a,b) {

+ 1 - 1
routes/user/register.js

@@ -1,4 +1,4 @@
1
-var user_controller = require("./../../controllers/user-controller.js");
1
+var user_controller = require("./../../presenters/user-controller.js");
2 2
 
3 3
 module.exports = {
4 4
   perform: function(a,b) {

+ 1 - 2
templates/api-route.js

@@ -1,5 +1,4 @@
1
-var Redis = require("ioredis");
2
-var redis = new Redis();
1
+// var require = require("modulehere");
3 2
 
4 3
 module.exports = {
5 4
   perform: function (a,b) {