mirror of
https://github.com/taobataoma/meanTorrent.git
synced 2026-05-07 00:16:53 +02:00
feat(core): update cache data when $resource method of PUT|POST|DELETE
This commit is contained in:
13
config/env/torrents.js
vendored
13
config/env/torrents.js
vendored
@@ -162,13 +162,16 @@ module.exports = {
|
||||
*
|
||||
* settings cache data of GET method from $resource
|
||||
*
|
||||
* @maxAge: The number of milliseconds until a newly inserted item expires
|
||||
* @recycleFreq: Determines how often a cache will scan for expired items
|
||||
*
|
||||
* @maxAge: The number of milliseconds until a newly inserted item expires
|
||||
* @recycleFreq: Determines how often a cache will scan for expired items
|
||||
* @storageMode: Determines the storage medium used by a cache, value of 'memory', 'localStorage' and 'sessionStorage'
|
||||
* @refreshOnExpire: refresh data on expire
|
||||
*/
|
||||
cache: {
|
||||
maxAge: 60 * 1000 * 10,
|
||||
recycleFreq: 60 * 1000
|
||||
maxAge: 60 * 1000 * 1,
|
||||
recycleFreq: 60 * 1000,
|
||||
storageMode: 'memory',
|
||||
refreshOnExpire: true
|
||||
},
|
||||
|
||||
/**
|
||||
|
||||
@@ -135,7 +135,7 @@ function removeGhostPeers() {
|
||||
var cronJob = new CronJob({
|
||||
// cronTime: '00 05 1 * * *',
|
||||
//cronTime: '*/5 * * * * *',
|
||||
cronTime: '00 00 * * * *',
|
||||
cronTime: '00 30 */2 * * *',
|
||||
onTick: function () {
|
||||
logger.info(chalk.green('removeGhostPeers: process!'));
|
||||
|
||||
|
||||
@@ -9,6 +9,10 @@
|
||||
|
||||
function MakerGroupService($resource, CacheFactory) {
|
||||
var makerCache = CacheFactory.get('makerCache') || CacheFactory.createCache('makerCache');
|
||||
var removeCache = function (res) {
|
||||
makerCache.removeAll();
|
||||
return res.data;
|
||||
};
|
||||
|
||||
return $resource('/api/makers/:makerId', {
|
||||
makerId: '@_id'
|
||||
@@ -23,21 +27,32 @@
|
||||
cache: makerCache
|
||||
},
|
||||
update: {
|
||||
method: 'PUT'
|
||||
method: 'PUT',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
save: {
|
||||
method: 'POST',
|
||||
url: '/api/makers/create/:userId',
|
||||
params: {
|
||||
userId: '@userId'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
remove: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
delete: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
rating: {
|
||||
method: 'PUT',
|
||||
url: '/api/makers/:makerId/rating',
|
||||
params: {
|
||||
makerId: '@_id'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
addMember: {
|
||||
method: 'PUT',
|
||||
@@ -45,7 +60,8 @@
|
||||
params: {
|
||||
makerId: '@_id',
|
||||
username: '@_username'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
removeMember: {
|
||||
method: 'PUT',
|
||||
@@ -53,7 +69,8 @@
|
||||
params: {
|
||||
makerId: '@_id',
|
||||
username: '@_username'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -105,6 +105,7 @@
|
||||
angular.forEach(s, function (f) {
|
||||
vm.fileList.splice(vm.fileList.indexOf(f), 1);
|
||||
});
|
||||
vm.selected = undefined;
|
||||
vm.figureOutItemsToDisplay();
|
||||
|
||||
NotifycationService.showSuccessNotify('BACKUP.DELETED_SUCCESSFULLY');
|
||||
|
||||
@@ -6,23 +6,12 @@
|
||||
.module('backup.services')
|
||||
.factory('BackupService', BackupService);
|
||||
|
||||
BackupService.$inject = ['$resource', 'CacheFactory'];
|
||||
|
||||
function BackupService($resource, CacheFactory) {
|
||||
var backupCache = CacheFactory.get('backupCache') || CacheFactory.createCache('backupCache');
|
||||
BackupService.$inject = ['$resource'];
|
||||
|
||||
function BackupService($resource) {
|
||||
var backup = $resource('/api/backup/:filename', {
|
||||
filename: '@filename'
|
||||
}, {
|
||||
get: {
|
||||
method: 'GET',
|
||||
cache: backupCache
|
||||
},
|
||||
query: {
|
||||
method: 'GET',
|
||||
isArray: true,
|
||||
cache: backupCache
|
||||
},
|
||||
update: {
|
||||
method: 'PUT'
|
||||
}
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
|
||||
function CollectionsService($resource, CacheFactory) {
|
||||
var collectionsCache = CacheFactory.get('collectionsCache') || CacheFactory.createCache('collectionsCache');
|
||||
var removeCache = function (res) {
|
||||
collectionsCache.removeAll();
|
||||
return res.data;
|
||||
};
|
||||
|
||||
var collection = $resource('/api/collections/:collectionId', {
|
||||
collectionId: '@_id'
|
||||
@@ -24,7 +28,20 @@
|
||||
cache: collectionsCache
|
||||
},
|
||||
update: {
|
||||
method: 'PUT'
|
||||
method: 'PUT',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
save: {
|
||||
method: 'POST',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
remove: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
delete: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
searchCollectionInfo: {
|
||||
method: 'GET',
|
||||
@@ -47,7 +64,8 @@
|
||||
params: {
|
||||
collectionId: '@collectionId',
|
||||
torrentId: '@torrentId'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
removeFromCollection: {
|
||||
method: 'PUT',
|
||||
@@ -55,7 +73,8 @@
|
||||
params: {
|
||||
collectionId: '@collectionId',
|
||||
torrentId: '@torrentId'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
setRecommendLevel: {
|
||||
method: 'PUT',
|
||||
@@ -63,7 +82,8 @@
|
||||
params: {
|
||||
collectionId: '@_id',
|
||||
rlevel: '@rlevel'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
@@ -18,6 +18,7 @@ var path = require('path'),
|
||||
scoreUpdate = require(path.resolve('./config/lib/score')).update;
|
||||
|
||||
var traceConfig = config.meanTorrentConfig.trace;
|
||||
var tmdbConfig = config.meanTorrentConfig.tmdbConfig;
|
||||
|
||||
var mtDebug = require(path.resolve('./config/lib/debug'));
|
||||
|
||||
@@ -31,7 +32,7 @@ exports.searchcollection = function (req, res) {
|
||||
mtDebug.debugGreen(req.params);
|
||||
|
||||
tmdb.searchCollection({
|
||||
language: req.params.language,
|
||||
language: tmdbConfig.resourcesLanguage,
|
||||
query: req.query.query
|
||||
}, function (err, info) {
|
||||
if (err) {
|
||||
@@ -53,7 +54,7 @@ exports.collectioninfo = function (req, res) {
|
||||
|
||||
tmdb.collectionInfo({
|
||||
id: req.params.id,
|
||||
language: req.params.language
|
||||
language: tmdbConfig.resourcesLanguage,
|
||||
}, function (err, info) {
|
||||
if (err) {
|
||||
res.status(900).send(err);
|
||||
@@ -277,7 +278,7 @@ exports.list = function (req, res) {
|
||||
|
||||
var findQuery = function (callback) {
|
||||
Collection.find(condition)
|
||||
.sort('recommend_level -ordered_at -created_at')
|
||||
.sort('-recommend_level -ordered_at -created_at')
|
||||
.populate('user', 'username displayName profileImageURL isVip')
|
||||
.populate('torrents')
|
||||
.skip(skip)
|
||||
|
||||
@@ -194,7 +194,16 @@
|
||||
angular.extend(CacheFactoryProvider.defaults, {
|
||||
maxAge: cacheConfig.maxAge,
|
||||
recycleFreq: cacheConfig.recycleFreq,
|
||||
deleteOnExpire: 'aggressive'
|
||||
deleteOnExpire: 'aggressive',
|
||||
storageMode: cacheConfig.storageMode,
|
||||
onExpire: function (key, value) {
|
||||
if (cacheConfig.refreshOnExpire) {
|
||||
var _this = this; // "this" is the cache in which the item expired
|
||||
angular.injector(['ng']).get('$http').get(key).success(function (data) {
|
||||
_this.put(key, data);
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -361,7 +361,7 @@
|
||||
TAB_TORRENT_INFO: 'Torrent Info',
|
||||
TAB_USER_SUBTITLE: 'Subtitle Info',
|
||||
TAB_THUMBS_LIST: 'Thumbs-up',
|
||||
TAB_USER_INFO: 'Users Info',
|
||||
TAB_USER_INFO: 'Users List',
|
||||
TAB_OTHER_TORRENTS: 'Other Torrents',
|
||||
TAB_MY_PANEL: 'My Pannel',
|
||||
TAB_ADMIN_PANEL: 'Admin Panel',
|
||||
|
||||
@@ -361,8 +361,8 @@
|
||||
TAB_TORRENT_INFO: '种子信息',
|
||||
TAB_USER_SUBTITLE: '字幕信息',
|
||||
TAB_THUMBS_LIST: '点赞用户',
|
||||
TAB_USER_INFO: '用户信息',
|
||||
TAB_OTHER_TORRENTS: '其它种子',
|
||||
TAB_USER_INFO: '用户列表',
|
||||
TAB_OTHER_TORRENTS: '其它版本',
|
||||
TAB_MY_PANEL: '我的面板',
|
||||
TAB_ADMIN_PANEL: '管理员面板',
|
||||
THUMBS_UP_TORRENT: '我要为此种子点赞并赠送 {{number}} 积分给发布者',
|
||||
|
||||
@@ -9,6 +9,10 @@
|
||||
|
||||
function ForumsAdminService($resource, CacheFactory) {
|
||||
var forumsCache = CacheFactory.get('forumsCache') || CacheFactory.createCache('forumsCache');
|
||||
var removeCache = function (res) {
|
||||
forumsCache.removeAll();
|
||||
return res.data;
|
||||
};
|
||||
|
||||
return $resource('/api/admin/forums/:forumId', {
|
||||
forumId: '@_id'
|
||||
@@ -23,7 +27,20 @@
|
||||
cache: forumsCache
|
||||
},
|
||||
update: {
|
||||
method: 'PUT'
|
||||
method: 'PUT',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
save: {
|
||||
method: 'POST',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
remove: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
delete: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
addModerator: {
|
||||
method: 'PUT',
|
||||
@@ -31,7 +48,8 @@
|
||||
params: {
|
||||
forumId: '@_id',
|
||||
username: '@_username'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
removeModerator: {
|
||||
method: 'PUT',
|
||||
@@ -39,7 +57,8 @@
|
||||
params: {
|
||||
forumId: '@_id',
|
||||
username: '@_username'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -52,6 +71,10 @@
|
||||
|
||||
function ForumsService($resource, CacheFactory) {
|
||||
var forumsCache = CacheFactory.get('forumsCache') || CacheFactory.createCache('forumsCache');
|
||||
var removeCache = function (res) {
|
||||
forumsCache.removeAll();
|
||||
return res.data;
|
||||
};
|
||||
|
||||
return $resource('/api/forums/:forumId', {
|
||||
forumId: '@_id'
|
||||
@@ -66,7 +89,20 @@
|
||||
cache: forumsCache
|
||||
},
|
||||
update: {
|
||||
method: 'PUT'
|
||||
method: 'PUT',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
save: {
|
||||
method: 'POST',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
remove: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
delete: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
search: {
|
||||
method: 'PUT',
|
||||
|
||||
@@ -9,6 +9,11 @@
|
||||
|
||||
function RepliesService($resource, CacheFactory) {
|
||||
var forumsCache = CacheFactory.get('forumsCache') || CacheFactory.createCache('forumsCache');
|
||||
var removeCache = function (res) {
|
||||
console.log(res);
|
||||
forumsCache.removeAll();
|
||||
return res.data;
|
||||
};
|
||||
|
||||
return $resource('/api/topics/:forumId/:topicId/:replyId', {
|
||||
forumId: '@forum',
|
||||
@@ -24,7 +29,20 @@
|
||||
cache: forumsCache
|
||||
},
|
||||
update: {
|
||||
method: 'PUT'
|
||||
method: 'PUT',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
save: {
|
||||
method: 'POST',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
remove: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
delete: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -9,6 +9,10 @@
|
||||
|
||||
function TopicsService($resource, CacheFactory) {
|
||||
var forumsCache = CacheFactory.get('forumsCache') || CacheFactory.createCache('forumsCache');
|
||||
var removeCache = function (res) {
|
||||
forumsCache.removeAll();
|
||||
return res.data;
|
||||
};
|
||||
|
||||
return $resource('/api/topics/:forumId/:topicId', {
|
||||
forumId: '@forum',
|
||||
@@ -23,7 +27,20 @@
|
||||
cache: forumsCache
|
||||
},
|
||||
update: {
|
||||
method: 'PUT'
|
||||
method: 'PUT',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
save: {
|
||||
method: 'POST',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
remove: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
delete: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
getGlobalTopics: {
|
||||
method: 'GET',
|
||||
@@ -37,7 +54,8 @@
|
||||
params: {
|
||||
forumId: '@forum',
|
||||
topicId: '@_id'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
toggleTopicTopStatus: {
|
||||
method: 'PUT',
|
||||
@@ -45,7 +63,8 @@
|
||||
params: {
|
||||
forumId: '@forum',
|
||||
topicId: '@_id'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
toggleTopicGlobalStatus: {
|
||||
method: 'PUT',
|
||||
@@ -53,7 +72,8 @@
|
||||
params: {
|
||||
forumId: '@forum',
|
||||
topicId: '@_id'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
toggleTopicHomeHelpStatus: {
|
||||
method: 'PUT',
|
||||
@@ -61,7 +81,8 @@
|
||||
params: {
|
||||
forumId: '@forum',
|
||||
topicId: '@_id'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
toggleTopicHomeNoticeStatus: {
|
||||
method: 'PUT',
|
||||
@@ -69,7 +90,8 @@
|
||||
params: {
|
||||
forumId: '@forum',
|
||||
topicId: '@_id'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
thumbsUp: {
|
||||
method: 'PUT',
|
||||
@@ -78,7 +100,8 @@
|
||||
forumId: '@forum',
|
||||
topicId: '@_id',
|
||||
replyId: '@_replyId'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
getHomeHelp: {
|
||||
method: 'GET',
|
||||
|
||||
@@ -9,6 +9,10 @@
|
||||
|
||||
function InvitationsService($resource, CacheFactory) {
|
||||
var invitationsCache = CacheFactory.get('invitationsCache') || CacheFactory.createCache('invitationsCache');
|
||||
var removeCache = function (res) {
|
||||
invitationsCache.removeAll();
|
||||
return res.data;
|
||||
};
|
||||
|
||||
return $resource('/api/invitations/:invitationId', {
|
||||
invitationId: '@_id'
|
||||
@@ -23,7 +27,20 @@
|
||||
cache: invitationsCache
|
||||
},
|
||||
update: {
|
||||
method: 'PUT'
|
||||
method: 'PUT',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
save: {
|
||||
method: 'POST',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
remove: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
delete: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
verifyToken: {
|
||||
method: 'GET',
|
||||
@@ -38,7 +55,8 @@
|
||||
},
|
||||
sendOfficial: {
|
||||
method: 'POST',
|
||||
url: '/api/invitations/official/send'
|
||||
url: '/api/invitations/official/send',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
listOfficial: {
|
||||
method: 'GET',
|
||||
@@ -48,7 +66,8 @@
|
||||
},
|
||||
deleteExpiredOfficialInvitation: {
|
||||
method: 'DELETE',
|
||||
url: '/api/invitations/official/deleteExpired'
|
||||
url: '/api/invitations/official/deleteExpired',
|
||||
interceptor: {response: removeCache}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -8,22 +8,39 @@
|
||||
AdminMessagesService.$inject = ['$resource', 'CacheFactory'];
|
||||
|
||||
function AdminMessagesService($resource, CacheFactory) {
|
||||
var messagesCache = CacheFactory.get('messagesCache') || CacheFactory.createCache('messagesCache');
|
||||
var adminMessagesCache = CacheFactory.get('adminMessagesCache') || CacheFactory.createCache('adminMessagesCache');
|
||||
var removeCache = function (res) {
|
||||
adminMessagesCache.removeAll();
|
||||
return res.data;
|
||||
};
|
||||
|
||||
return $resource('/api/adminMessages/:adminMessageId', {
|
||||
adminMessageId: '@_adminMessageId'
|
||||
}, {
|
||||
get: {
|
||||
method: 'GET',
|
||||
cache: messagesCache
|
||||
cache: adminMessagesCache
|
||||
},
|
||||
query: {
|
||||
method: 'GET',
|
||||
isArray: true,
|
||||
cache: messagesCache
|
||||
cache: adminMessagesCache
|
||||
},
|
||||
update: {
|
||||
method: 'PUT'
|
||||
method: 'PUT',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
save: {
|
||||
method: 'POST',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
remove: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
delete: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -9,6 +9,10 @@
|
||||
|
||||
function MessagesService($resource, CacheFactory) {
|
||||
var messagesCache = CacheFactory.get('messagesCache') || CacheFactory.createCache('messagesCache');
|
||||
var removeCache = function (res) {
|
||||
messagesCache.removeAll();
|
||||
return res.data;
|
||||
};
|
||||
|
||||
return $resource('/api/messages/:messageId', {
|
||||
messageId: '@_messageId'
|
||||
@@ -22,7 +26,20 @@
|
||||
cache: messagesCache
|
||||
},
|
||||
update: {
|
||||
method: 'PUT'
|
||||
method: 'PUT',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
save: {
|
||||
method: 'POST',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
remove: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
delete: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
countUnread: {
|
||||
url: '/api/messages/countUnread',
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
|
||||
function RankingService($resource, CacheFactory) {
|
||||
var rankingCache = CacheFactory.get('rankingCache') || CacheFactory.createCache('rankingCache');
|
||||
var removeCache = function (res) {
|
||||
rankingCache.removeAll();
|
||||
return res.data;
|
||||
};
|
||||
|
||||
return $resource('/api/ranking', {
|
||||
userId: '@_id'
|
||||
@@ -24,7 +28,8 @@
|
||||
cache: rankingCache
|
||||
},
|
||||
update: {
|
||||
method: 'PUT'
|
||||
method: 'PUT',
|
||||
interceptor: {response: removeCache}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
|
||||
function RequestsCommentsService($resource, CacheFactory) {
|
||||
var requestsCache = CacheFactory.get('requestsCache') || CacheFactory.createCache('requestsCache');
|
||||
var removeCache = function (res) {
|
||||
requestsCache.removeAll();
|
||||
return res.data;
|
||||
};
|
||||
|
||||
var Comments = $resource('/api/reqComments/:requestId/:commentId/:subCommentId', {
|
||||
requestId: '@_requestId',
|
||||
@@ -25,7 +29,20 @@
|
||||
cache: requestsCache
|
||||
},
|
||||
update: {
|
||||
method: 'PUT'
|
||||
method: 'PUT',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
save: {
|
||||
method: 'POST',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
remove: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
delete: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -9,6 +9,10 @@
|
||||
|
||||
function RequestsService($resource, CacheFactory) {
|
||||
var requestsCache = CacheFactory.get('requestsCache') || CacheFactory.createCache('requestsCache');
|
||||
var removeCache = function (res) {
|
||||
requestsCache.removeAll();
|
||||
return res.data;
|
||||
};
|
||||
|
||||
return $resource('/api/requests/:requestId', {
|
||||
requestId: '@_id'
|
||||
@@ -22,7 +26,20 @@
|
||||
cache: requestsCache
|
||||
},
|
||||
update: {
|
||||
method: 'PUT'
|
||||
method: 'PUT',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
save: {
|
||||
method: 'POST',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
remove: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
delete: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
accept: {
|
||||
method: 'PUT',
|
||||
@@ -30,7 +47,8 @@
|
||||
params: {
|
||||
requestId: '@_id',
|
||||
torrentId: 'torrentId'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -9,6 +9,10 @@
|
||||
|
||||
function SystemsService($resource, CacheFactory) {
|
||||
var systemsCache = CacheFactory.get('systemsCache') || CacheFactory.createCache('systemsCache');
|
||||
var removeCache = function (res) {
|
||||
systemsCache.removeAll();
|
||||
return res.data;
|
||||
};
|
||||
|
||||
return $resource('/api/systems/:systemId', {
|
||||
requestId: '@_id'
|
||||
@@ -23,7 +27,8 @@
|
||||
cache: systemsCache
|
||||
},
|
||||
update: {
|
||||
method: 'PUT'
|
||||
method: 'PUT',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
getSystemEnvConfigFiles: {
|
||||
method: 'GET',
|
||||
@@ -56,15 +61,18 @@
|
||||
},
|
||||
setSystemConfigContent: {
|
||||
method: 'PUT',
|
||||
url: '/api/systems/systemConfigContent'
|
||||
url: '/api/systems/systemConfigContent',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
shellCommand: {
|
||||
method: 'PUT',
|
||||
url: '/api/systems/shellCommand'
|
||||
url: '/api/systems/shellCommand',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
initExaminationData: {
|
||||
method: 'PUT',
|
||||
url: '/api/systems/initExaminationData'
|
||||
url: '/api/systems/initExaminationData',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
getExaminationStatus: {
|
||||
method: 'GET',
|
||||
@@ -83,7 +91,8 @@
|
||||
},
|
||||
banAllUnfinishedUser: {
|
||||
method: 'PUT',
|
||||
url: '/api/systems/banAllUnfinishedUser'
|
||||
url: '/api/systems/banAllUnfinishedUser',
|
||||
interceptor: {response: removeCache}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -8,7 +8,11 @@
|
||||
MessageTicketsService.$inject = ['$resource', 'CacheFactory'];
|
||||
|
||||
function MessageTicketsService($resource, CacheFactory) {
|
||||
var ticketsCache = CacheFactory.get('ticketsCache') || CacheFactory.createCache('ticketsCache');
|
||||
var messagesTicketsCache = CacheFactory.get('messagesTicketsCache') || CacheFactory.createCache('messagesTicketsCache');
|
||||
var removeCache = function (res) {
|
||||
messagesTicketsCache.removeAll();
|
||||
return res.data;
|
||||
};
|
||||
|
||||
return $resource('/api/messageTickets/:messageTicketId/:replyId', {
|
||||
messageTicketId: '@_id',
|
||||
@@ -16,28 +20,43 @@
|
||||
}, {
|
||||
get: {
|
||||
method: 'GET',
|
||||
cache: ticketsCache
|
||||
cache: messagesTicketsCache
|
||||
},
|
||||
query: {
|
||||
method: 'GET',
|
||||
cache: ticketsCache
|
||||
cache: messagesTicketsCache
|
||||
},
|
||||
update: {
|
||||
method: 'PUT'
|
||||
method: 'PUT',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
save: {
|
||||
method: 'POST',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
remove: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
delete: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
handle: {
|
||||
method: 'PUT',
|
||||
url: '/api/messageTickets/handle/:messageTicketId',
|
||||
params: {
|
||||
messageTicketId: '@messageTicketId'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
solved: {
|
||||
method: 'PUT',
|
||||
url: '/api/messageTickets/solved/:messageTicketId',
|
||||
params: {
|
||||
messageTicketId: '@messageTicketId'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
getOpenedCount: {
|
||||
method: 'GET',
|
||||
@@ -53,21 +72,38 @@
|
||||
MailTicketsService.$inject = ['$resource', 'CacheFactory'];
|
||||
|
||||
function MailTicketsService($resource, CacheFactory) {
|
||||
var ticketsCache = CacheFactory.get('ticketsCache') || CacheFactory.createCache('ticketsCache');
|
||||
var mailTicketsCache = CacheFactory.get('mailTicketsCache') || CacheFactory.createCache('mailTicketsCache');
|
||||
var removeCache = function (res) {
|
||||
mailTicketsCache.removeAll();
|
||||
return res.data;
|
||||
};
|
||||
|
||||
return $resource('/api/mailTickets/:mailTicketId', {
|
||||
mailTicketId: '@_id'
|
||||
}, {
|
||||
get: {
|
||||
method: 'GET',
|
||||
cache: ticketsCache
|
||||
cache: mailTicketsCache
|
||||
},
|
||||
query: {
|
||||
method: 'GET',
|
||||
cache: ticketsCache
|
||||
cache: mailTicketsCache
|
||||
},
|
||||
update: {
|
||||
method: 'PUT'
|
||||
method: 'PUT',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
save: {
|
||||
method: 'POST',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
remove: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
delete: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
getOpenedCount: {
|
||||
method: 'GET',
|
||||
|
||||
@@ -9,7 +9,11 @@
|
||||
CommentsService.$inject = ['$resource', 'CacheFactory'];
|
||||
|
||||
function CommentsService($resource, CacheFactory) {
|
||||
var commentsCache = CacheFactory.get('commentsCache') || CacheFactory.createCache('commentsCache');
|
||||
var torrentsCache = CacheFactory.get('torrentsCache') || CacheFactory.createCache('torrentsCache');
|
||||
var removeCache = function (res) {
|
||||
torrentsCache.removeAll();
|
||||
return res.data;
|
||||
};
|
||||
|
||||
var Comments = $resource('/api/comments/:torrentId/:commentId/:subCommentId', {
|
||||
torrentId: '@_torrentId',
|
||||
@@ -18,14 +22,27 @@
|
||||
}, {
|
||||
get: {
|
||||
method: 'GET',
|
||||
cache: commentsCache
|
||||
cache: torrentsCache
|
||||
},
|
||||
query: {
|
||||
method: 'GET',
|
||||
cache: commentsCache
|
||||
cache: torrentsCache
|
||||
},
|
||||
update: {
|
||||
method: 'PUT'
|
||||
method: 'PUT',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
save: {
|
||||
method: 'POST',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
remove: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
delete: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
|
||||
function CompleteService($resource, CacheFactory) {
|
||||
var completesCache = CacheFactory.get('completesCache') || CacheFactory.createCache('completesCache');
|
||||
var removeCache = function (res) {
|
||||
completesCache.removeAll();
|
||||
return res.data;
|
||||
};
|
||||
|
||||
var completes = $resource('/api/completes/:completeId', {
|
||||
completeId: '@completeId'
|
||||
@@ -24,7 +28,20 @@
|
||||
cache: completesCache
|
||||
},
|
||||
update: {
|
||||
method: 'PUT'
|
||||
method: 'PUT',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
save: {
|
||||
method: 'POST',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
remove: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
delete: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -9,7 +9,11 @@
|
||||
SubtitlesService.$inject = ['$resource', 'CacheFactory'];
|
||||
|
||||
function SubtitlesService($resource, CacheFactory) {
|
||||
var subtitlesCache = CacheFactory.get('subtitlesCache') || CacheFactory.createCache('subtitlesCache');
|
||||
var torrentsCache = CacheFactory.get('torrentsCache') || CacheFactory.createCache('torrentsCache');
|
||||
var removeCache = function (res) {
|
||||
torrentsCache.removeAll();
|
||||
return res.data;
|
||||
};
|
||||
|
||||
var Subtitles = $resource('/api/subtitles/:torrentId/:subtitleId', {
|
||||
torrentId: '@_torrentId',
|
||||
@@ -17,15 +21,28 @@
|
||||
}, {
|
||||
get: {
|
||||
method: 'GET',
|
||||
cache: subtitlesCache
|
||||
cache: torrentsCache
|
||||
},
|
||||
query: {
|
||||
method: 'GET',
|
||||
isArray: true,
|
||||
cache: subtitlesCache
|
||||
cache: torrentsCache
|
||||
},
|
||||
update: {
|
||||
method: 'PUT'
|
||||
method: 'PUT',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
save: {
|
||||
method: 'POST',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
remove: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
delete: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
|
||||
function TorrentsService($resource, CacheFactory) {
|
||||
var torrentsCache = CacheFactory.get('torrentsCache') || CacheFactory.createCache('torrentsCache');
|
||||
var removeCache = function (res) {
|
||||
torrentsCache.removeAll();
|
||||
return res.data;
|
||||
};
|
||||
|
||||
var Torrents = $resource('/api/torrents/:torrentId', {
|
||||
torrentId: '@_id'
|
||||
@@ -23,7 +27,20 @@
|
||||
cache: torrentsCache
|
||||
},
|
||||
update: {
|
||||
method: 'PUT'
|
||||
method: 'PUT',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
save: {
|
||||
method: 'POST',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
remove: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
delete: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
getTMDBMovieInfo: {
|
||||
method: 'GET',
|
||||
@@ -54,7 +71,8 @@
|
||||
params: {
|
||||
torrentId: '@_torrentId',
|
||||
saleType: '@_saleType'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
setRecommendLevel: {
|
||||
method: 'PUT',
|
||||
@@ -62,56 +80,64 @@
|
||||
params: {
|
||||
torrentId: '@_torrentId',
|
||||
rlevel: '@_rlevel'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
setTorrentTags: {
|
||||
method: 'PUT',
|
||||
url: '/api/torrents/:torrentId/set/tags',
|
||||
params: {
|
||||
torrentId: '@_torrentId'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
setReviewedStatus: {
|
||||
method: 'PUT',
|
||||
url: '/api/torrents/:torrentId/set/reviewed',
|
||||
params: {
|
||||
torrentId: '@_torrentId'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
toggleHnRStatus: {
|
||||
method: 'PUT',
|
||||
url: '/api/torrents/:torrentId/toggleHnRStatus',
|
||||
params: {
|
||||
torrentId: '@_id'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
toggleVIPStatus: {
|
||||
method: 'PUT',
|
||||
url: '/api/torrents/:torrentId/toggleVIPStatus',
|
||||
params: {
|
||||
torrentId: '@_id'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
toggleTopStatus: {
|
||||
method: 'PUT',
|
||||
url: '/api/torrents/:torrentId/toggleTOPStatus',
|
||||
params: {
|
||||
torrentId: '@_id'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
thumbsUp: {
|
||||
method: 'PUT',
|
||||
url: '/api/torrents/:torrentId/thumbsUp',
|
||||
params: {
|
||||
torrentId: '@_id'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
rating: {
|
||||
method: 'PUT',
|
||||
url: '/api/torrents/:torrentId/rating',
|
||||
params: {
|
||||
torrentId: '@_id'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
siteInfo: {
|
||||
method: 'GET',
|
||||
|
||||
@@ -870,7 +870,7 @@
|
||||
<div>
|
||||
<span class="xs-show sm-show">
|
||||
<h4 class="margin-bottom-30">
|
||||
{{'TAB_USER_INFO' | translate}}:
|
||||
{{'TAB_OTHER_TORRENTS' | translate}}:
|
||||
</h4>
|
||||
</span>
|
||||
|
||||
|
||||
@@ -9,6 +9,10 @@
|
||||
|
||||
function TracesService($resource, CacheFactory) {
|
||||
var tracesCache = CacheFactory.get('tracesCache') || CacheFactory.createCache('tracesCache');
|
||||
var removeCache = function (res) {
|
||||
tracesCache.removeAll();
|
||||
return res.data;
|
||||
};
|
||||
|
||||
return $resource('/api/traces/:traceId', {
|
||||
traceId: '@_id'
|
||||
@@ -22,7 +26,20 @@
|
||||
cache: tracesCache
|
||||
},
|
||||
update: {
|
||||
method: 'PUT'
|
||||
method: 'PUT',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
save: {
|
||||
method: 'POST',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
remove: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
delete: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
|
||||
function UsersService($resource, CacheFactory) {
|
||||
var usersCache = CacheFactory.get('usersCache') || CacheFactory.createCache('usersCache');
|
||||
var removeCache = function (res) {
|
||||
usersCache.removeAll();
|
||||
return res.data;
|
||||
};
|
||||
|
||||
var Users = $resource('/api/users', {}, {
|
||||
get: {
|
||||
@@ -21,19 +25,35 @@
|
||||
cache: usersCache
|
||||
},
|
||||
update: {
|
||||
method: 'PUT'
|
||||
method: 'PUT',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
save: {
|
||||
method: 'POST',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
remove: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
delete: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
updatePassword: {
|
||||
method: 'POST',
|
||||
url: '/api/users/password'
|
||||
url: '/api/users/password',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
resetPasskey: {
|
||||
method: 'POST',
|
||||
url: '/api/users/passkey'
|
||||
url: '/api/users/passkey',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
updateSignature: {
|
||||
method: 'POST',
|
||||
url: '/api/users/signature'
|
||||
url: '/api/users/signature',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
warningNumber: {
|
||||
method: 'GET',
|
||||
@@ -44,41 +64,49 @@
|
||||
url: '/api/users/accounts',
|
||||
params: {
|
||||
provider: '@provider'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
sendPasswordResetToken: {
|
||||
method: 'POST',
|
||||
url: '/api/auth/forgot'
|
||||
url: '/api/auth/forgot',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
resetPasswordWithToken: {
|
||||
method: 'POST',
|
||||
url: '/api/auth/reset/:token'
|
||||
url: '/api/auth/reset/:token',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
signup: {
|
||||
method: 'POST',
|
||||
url: '/api/auth/signup'
|
||||
url: '/api/auth/signup',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
signin: {
|
||||
method: 'POST',
|
||||
url: '/api/auth/signin'
|
||||
url: '/api/auth/signin',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
unIdle: {
|
||||
method: 'POST',
|
||||
url: '/api/users/unIdle'
|
||||
url: '/api/users/unIdle',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
followTo: {
|
||||
method: 'POST',
|
||||
url: '/api/users/followTo/:userId',
|
||||
params: {
|
||||
userId: '@userId'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
unFollowTo: {
|
||||
method: 'POST',
|
||||
url: '/api/users/unFollowTo/:userId',
|
||||
params: {
|
||||
userId: '@userId'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
myFollowers: {
|
||||
method: 'GET',
|
||||
@@ -177,6 +205,10 @@
|
||||
|
||||
function AdminService($resource, CacheFactory) {
|
||||
var usersCache = CacheFactory.get('usersCache') || CacheFactory.createCache('usersCache');
|
||||
var removeCache = function (res) {
|
||||
usersCache.removeAll();
|
||||
return res.data;
|
||||
};
|
||||
|
||||
var Users = $resource('/api/users/:userId', {
|
||||
userId: '@_id'
|
||||
@@ -190,7 +222,20 @@
|
||||
cache: usersCache
|
||||
},
|
||||
update: {
|
||||
method: 'PUT'
|
||||
method: 'PUT',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
save: {
|
||||
method: 'POST',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
remove: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
delete: {
|
||||
method: 'DELETE',
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
updateUserRole: {
|
||||
method: 'POST',
|
||||
@@ -198,7 +243,8 @@
|
||||
params: {
|
||||
userId: '@userId',
|
||||
userRole: '@userRole'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
updateUserStatus: {
|
||||
method: 'POST',
|
||||
@@ -206,7 +252,8 @@
|
||||
params: {
|
||||
userId: '@userId',
|
||||
userStatus: '@userStatus'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
updateUserScore: {
|
||||
method: 'POST',
|
||||
@@ -214,7 +261,8 @@
|
||||
params: {
|
||||
userId: '@userId',
|
||||
userScore: '@userScore'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
updateUserUploaded: {
|
||||
method: 'POST',
|
||||
@@ -222,7 +270,8 @@
|
||||
params: {
|
||||
userId: '@userId',
|
||||
userUploaded: '@userUploaded'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
updateUserDownloaded: {
|
||||
method: 'POST',
|
||||
@@ -230,7 +279,8 @@
|
||||
params: {
|
||||
userId: '@userId',
|
||||
userDownloaded: '@userDownloaded'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
getUserUploadedTotal: {
|
||||
method: 'GET',
|
||||
@@ -244,7 +294,8 @@
|
||||
url: '/api/users/:userId/resetImage',
|
||||
params: {
|
||||
userId: '@userId'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
updateUserVIPMonths: {
|
||||
method: 'PUT',
|
||||
@@ -252,14 +303,16 @@
|
||||
params: {
|
||||
userId: '@userId',
|
||||
months: '@months'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
resetUserVIPData: {
|
||||
method: 'PUT',
|
||||
url: '/api/users/:userId/VIPMonths/reset',
|
||||
params: {
|
||||
userId: '@userId'
|
||||
}
|
||||
},
|
||||
interceptor: {response: removeCache}
|
||||
},
|
||||
uploaderList: {
|
||||
method: 'GET',
|
||||
|
||||
Reference in New Issue
Block a user