2017-07-03 17:26:43 +08:00
|
|
|
(function () {
|
|
|
|
|
'use strict';
|
|
|
|
|
|
2017-07-03 18:00:24 +08:00
|
|
|
angular
|
|
|
|
|
.module('forums.services')
|
|
|
|
|
.factory('ForumsAdminService', ForumsAdminService);
|
|
|
|
|
|
2018-05-02 14:10:53 +08:00
|
|
|
ForumsAdminService.$inject = ['$resource', 'CacheFactory'];
|
|
|
|
|
|
|
|
|
|
function ForumsAdminService($resource, CacheFactory) {
|
|
|
|
|
var forumsCache = CacheFactory.get('forumsCache') || CacheFactory.createCache('forumsCache');
|
2018-05-03 15:09:08 +08:00
|
|
|
var removeCache = function (res) {
|
|
|
|
|
forumsCache.removeAll();
|
2018-05-06 00:16:34 +08:00
|
|
|
return res.resource;
|
2018-05-03 15:09:08 +08:00
|
|
|
};
|
2017-07-03 18:00:24 +08:00
|
|
|
|
|
|
|
|
return $resource('/api/admin/forums/:forumId', {
|
2017-07-04 13:04:38 +08:00
|
|
|
forumId: '@_id'
|
2017-07-03 18:00:24 +08:00
|
|
|
}, {
|
2018-05-02 14:10:53 +08:00
|
|
|
get: {
|
|
|
|
|
method: 'GET',
|
|
|
|
|
cache: forumsCache
|
|
|
|
|
},
|
|
|
|
|
query: {
|
|
|
|
|
method: 'GET',
|
|
|
|
|
isArray: true,
|
|
|
|
|
cache: forumsCache
|
|
|
|
|
},
|
2017-07-03 18:00:24 +08:00
|
|
|
update: {
|
2018-05-03 15:09:08 +08:00
|
|
|
method: 'PUT',
|
|
|
|
|
interceptor: {response: removeCache}
|
|
|
|
|
},
|
|
|
|
|
save: {
|
|
|
|
|
method: 'POST',
|
|
|
|
|
interceptor: {response: removeCache}
|
|
|
|
|
},
|
|
|
|
|
remove: {
|
|
|
|
|
method: 'DELETE',
|
|
|
|
|
interceptor: {response: removeCache}
|
|
|
|
|
},
|
|
|
|
|
delete: {
|
|
|
|
|
method: 'DELETE',
|
|
|
|
|
interceptor: {response: removeCache}
|
2017-07-04 16:07:30 +08:00
|
|
|
},
|
|
|
|
|
addModerator: {
|
|
|
|
|
method: 'PUT',
|
|
|
|
|
url: '/api/admin/forums/:forumId/addModerator/:username',
|
|
|
|
|
params: {
|
|
|
|
|
forumId: '@_id',
|
|
|
|
|
username: '@_username'
|
2018-05-03 15:09:08 +08:00
|
|
|
},
|
|
|
|
|
interceptor: {response: removeCache}
|
2017-07-04 16:07:30 +08:00
|
|
|
},
|
|
|
|
|
removeModerator: {
|
|
|
|
|
method: 'PUT',
|
|
|
|
|
url: '/api/admin/forums/:forumId/removeModerator/:username',
|
|
|
|
|
params: {
|
|
|
|
|
forumId: '@_id',
|
|
|
|
|
username: '@_username'
|
2018-05-03 15:09:08 +08:00
|
|
|
},
|
|
|
|
|
interceptor: {response: removeCache}
|
2017-07-03 18:00:24 +08:00
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
2017-07-03 17:26:43 +08:00
|
|
|
angular
|
|
|
|
|
.module('forums.services')
|
|
|
|
|
.factory('ForumsService', ForumsService);
|
|
|
|
|
|
2018-05-02 14:10:53 +08:00
|
|
|
ForumsService.$inject = ['$resource', 'CacheFactory'];
|
|
|
|
|
|
|
|
|
|
function ForumsService($resource, CacheFactory) {
|
|
|
|
|
var forumsCache = CacheFactory.get('forumsCache') || CacheFactory.createCache('forumsCache');
|
2018-05-03 15:09:08 +08:00
|
|
|
var removeCache = function (res) {
|
|
|
|
|
forumsCache.removeAll();
|
2018-05-06 00:16:34 +08:00
|
|
|
return res.resource;
|
2018-05-03 15:09:08 +08:00
|
|
|
};
|
2017-07-03 17:26:43 +08:00
|
|
|
|
|
|
|
|
return $resource('/api/forums/:forumId', {
|
2017-07-04 13:04:38 +08:00
|
|
|
forumId: '@_id'
|
2017-07-03 17:26:43 +08:00
|
|
|
}, {
|
2018-05-02 14:10:53 +08:00
|
|
|
get: {
|
|
|
|
|
method: 'GET',
|
|
|
|
|
cache: forumsCache
|
|
|
|
|
},
|
|
|
|
|
query: {
|
|
|
|
|
method: 'GET',
|
|
|
|
|
isArray: true,
|
|
|
|
|
cache: forumsCache
|
|
|
|
|
},
|
2017-07-03 17:26:43 +08:00
|
|
|
update: {
|
2018-05-03 15:09:08 +08:00
|
|
|
method: 'PUT',
|
|
|
|
|
interceptor: {response: removeCache}
|
|
|
|
|
},
|
|
|
|
|
save: {
|
|
|
|
|
method: 'POST',
|
|
|
|
|
interceptor: {response: removeCache}
|
|
|
|
|
},
|
|
|
|
|
remove: {
|
|
|
|
|
method: 'DELETE',
|
|
|
|
|
interceptor: {response: removeCache}
|
|
|
|
|
},
|
|
|
|
|
delete: {
|
|
|
|
|
method: 'DELETE',
|
|
|
|
|
interceptor: {response: removeCache}
|
2017-07-19 15:57:00 +08:00
|
|
|
},
|
|
|
|
|
search: {
|
|
|
|
|
method: 'PUT',
|
|
|
|
|
url: '/api/forums/search'
|
2017-07-03 17:26:43 +08:00
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}());
|