|
|
@@ -132,6 +132,37 @@ module.exports = {
|
|
132
|
132
|
});
|
|
133
|
133
|
},
|
|
134
|
134
|
|
|
|
135
|
+ get_all_societies: function (complete) {
|
|
|
136
|
+ var self = this;
|
|
|
137
|
+ var stream = redis.scanStream({
|
|
|
138
|
+ match: "society:*"
|
|
|
139
|
+ });
|
|
|
140
|
+ var society_names = [];
|
|
|
141
|
+ stream.on('data', function (keys) {
|
|
|
142
|
+ keys.map(function(key) {
|
|
|
143
|
+ society_names.push(key.split(":")[1]);
|
|
|
144
|
+ });
|
|
|
145
|
+ });
|
|
|
146
|
+ stream.on('end', function () {
|
|
|
147
|
+ var soc_objects = [];
|
|
|
148
|
+ for (var ii = 0; ii < society_names.length; ii++) {
|
|
|
149
|
+ self.get_society(society_names[ii], function(response) {
|
|
|
150
|
+ soc_objects.push(response.society);
|
|
|
151
|
+ if (soc_objects.length === society_names.length) {
|
|
|
152
|
+ soc_objects.sort(function(a, b) {
|
|
|
153
|
+ var textA = a.name.toLowerCase();
|
|
|
154
|
+ var textB = b.name.toLowerCase();
|
|
|
155
|
+ return (textA < textB) ? -1 : (textA > textB) ? 1 : 0;
|
|
|
156
|
+ });
|
|
|
157
|
+ complete({
|
|
|
158
|
+ "societies": soc_objects
|
|
|
159
|
+ });
|
|
|
160
|
+ }
|
|
|
161
|
+ });
|
|
|
162
|
+ }
|
|
|
163
|
+ })
|
|
|
164
|
+ },
|
|
|
165
|
+
|
|
135
|
166
|
leave_society: function (soc_name, auth, complete) {
|
|
136
|
167
|
// permissions_controller.user_is_in_society(auth, soc_name, function)
|
|
137
|
168
|
}
|