diff --git a/config/env/torrents.js b/config/env/torrents.js index a1d4edec..af555823 100644 --- a/config/env/torrents.js +++ b/config/env/torrents.js @@ -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 }, /** diff --git a/config/lib/cron-job.js b/config/lib/cron-job.js index efbde107..79fe8ac6 100644 --- a/config/lib/cron-job.js +++ b/config/lib/cron-job.js @@ -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!')); diff --git a/modules/about/client/services/makers.client.service.js b/modules/about/client/services/makers.client.service.js index 022c6766..5b3373fd 100644 --- a/modules/about/client/services/makers.client.service.js +++ b/modules/about/client/services/makers.client.service.js @@ -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} } }); } diff --git a/modules/backup/client/controllers/backup.client.controller.js b/modules/backup/client/controllers/backup.client.controller.js index b36e82ad..ff304197 100644 --- a/modules/backup/client/controllers/backup.client.controller.js +++ b/modules/backup/client/controllers/backup.client.controller.js @@ -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'); diff --git a/modules/backup/client/services/backup.client.service.js b/modules/backup/client/services/backup.client.service.js index 95d71383..b2df30a0 100644 --- a/modules/backup/client/services/backup.client.service.js +++ b/modules/backup/client/services/backup.client.service.js @@ -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' } diff --git a/modules/collections/client/services/collections.client.service.js b/modules/collections/client/services/collections.client.service.js index 1b262576..139e6d32 100644 --- a/modules/collections/client/services/collections.client.service.js +++ b/modules/collections/client/services/collections.client.service.js @@ -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} } }); diff --git a/modules/collections/server/controllers/collections.server.controller.js b/modules/collections/server/controllers/collections.server.controller.js index 521c4a61..39553858 100644 --- a/modules/collections/server/controllers/collections.server.controller.js +++ b/modules/collections/server/controllers/collections.server.controller.js @@ -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) diff --git a/modules/core/client/app/init.js b/modules/core/client/app/init.js index 2ede2985..5cab19fb 100644 --- a/modules/core/client/app/init.js +++ b/modules/core/client/app/init.js @@ -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); + }); + } + } }); } diff --git a/modules/core/client/app/trans-string-en.js b/modules/core/client/app/trans-string-en.js index 24c60f67..d6440efe 100644 --- a/modules/core/client/app/trans-string-en.js +++ b/modules/core/client/app/trans-string-en.js @@ -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', diff --git a/modules/core/client/app/trans-string-zh.js b/modules/core/client/app/trans-string-zh.js index 561a098a..ab7666f2 100644 --- a/modules/core/client/app/trans-string-zh.js +++ b/modules/core/client/app/trans-string-zh.js @@ -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}} 积分给发布者', diff --git a/modules/forums/client/services/forums.client.service.js b/modules/forums/client/services/forums.client.service.js index e4b4b049..506bb733 100644 --- a/modules/forums/client/services/forums.client.service.js +++ b/modules/forums/client/services/forums.client.service.js @@ -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', diff --git a/modules/forums/client/services/replies.client.service.js b/modules/forums/client/services/replies.client.service.js index c4974e09..5c51211c 100644 --- a/modules/forums/client/services/replies.client.service.js +++ b/modules/forums/client/services/replies.client.service.js @@ -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} } }); } diff --git a/modules/forums/client/services/topics.client.service.js b/modules/forums/client/services/topics.client.service.js index cff8b41e..0dec1fd8 100644 --- a/modules/forums/client/services/topics.client.service.js +++ b/modules/forums/client/services/topics.client.service.js @@ -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', diff --git a/modules/invitations/client/services/invitations.client.service.js b/modules/invitations/client/services/invitations.client.service.js index a4413c13..5ea14ba4 100644 --- a/modules/invitations/client/services/invitations.client.service.js +++ b/modules/invitations/client/services/invitations.client.service.js @@ -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} } }); } diff --git a/modules/messages/client/services/admin-messages.client.service.js b/modules/messages/client/services/admin-messages.client.service.js index d0eb4f1f..bc22243d 100644 --- a/modules/messages/client/services/admin-messages.client.service.js +++ b/modules/messages/client/services/admin-messages.client.service.js @@ -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} } }); } diff --git a/modules/messages/client/services/messages.client.service.js b/modules/messages/client/services/messages.client.service.js index d0264fe4..f77f848b 100644 --- a/modules/messages/client/services/messages.client.service.js +++ b/modules/messages/client/services/messages.client.service.js @@ -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', diff --git a/modules/ranking/client/services/ranking.client.service.js b/modules/ranking/client/services/ranking.client.service.js index c654bf32..9bbdac17 100644 --- a/modules/ranking/client/services/ranking.client.service.js +++ b/modules/ranking/client/services/ranking.client.service.js @@ -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} } }); } diff --git a/modules/requests/client/services/requests-comments.client.service.js b/modules/requests/client/services/requests-comments.client.service.js index ba5f76e5..fe0a02fb 100644 --- a/modules/requests/client/services/requests-comments.client.service.js +++ b/modules/requests/client/services/requests-comments.client.service.js @@ -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} } }); diff --git a/modules/requests/client/services/requests.client.service.js b/modules/requests/client/services/requests.client.service.js index 11d7c538..740ab6e7 100644 --- a/modules/requests/client/services/requests.client.service.js +++ b/modules/requests/client/services/requests.client.service.js @@ -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} } }); } diff --git a/modules/systems/client/services/systems.client.service.js b/modules/systems/client/services/systems.client.service.js index 4c7761c5..7b4d8860 100644 --- a/modules/systems/client/services/systems.client.service.js +++ b/modules/systems/client/services/systems.client.service.js @@ -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} } }); } diff --git a/modules/tickets/client/services/tickets.client.service.js b/modules/tickets/client/services/tickets.client.service.js index 48408951..75b28c0e 100644 --- a/modules/tickets/client/services/tickets.client.service.js +++ b/modules/tickets/client/services/tickets.client.service.js @@ -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', diff --git a/modules/torrents/client/services/comments.client.service.js b/modules/torrents/client/services/comments.client.service.js index 480371eb..74c80c53 100644 --- a/modules/torrents/client/services/comments.client.service.js +++ b/modules/torrents/client/services/comments.client.service.js @@ -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} } }); diff --git a/modules/torrents/client/services/completes.client.service.js b/modules/torrents/client/services/completes.client.service.js index 365124ea..c6065a45 100644 --- a/modules/torrents/client/services/completes.client.service.js +++ b/modules/torrents/client/services/completes.client.service.js @@ -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} } }); diff --git a/modules/torrents/client/services/subtitles.client.service.js b/modules/torrents/client/services/subtitles.client.service.js index 35277627..e28533b7 100644 --- a/modules/torrents/client/services/subtitles.client.service.js +++ b/modules/torrents/client/services/subtitles.client.service.js @@ -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} } }); diff --git a/modules/torrents/client/services/torrents.client.service.js b/modules/torrents/client/services/torrents.client.service.js index ea37f3e8..c769e77d 100644 --- a/modules/torrents/client/services/torrents.client.service.js +++ b/modules/torrents/client/services/torrents.client.service.js @@ -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', diff --git a/modules/torrents/client/views/view-torrent.client.view.html b/modules/torrents/client/views/view-torrent.client.view.html index 738f539d..6b58b881 100644 --- a/modules/torrents/client/views/view-torrent.client.view.html +++ b/modules/torrents/client/views/view-torrent.client.view.html @@ -870,7 +870,7 @@

- {{'TAB_USER_INFO' | translate}}: + {{'TAB_OTHER_TORRENTS' | translate}}:

diff --git a/modules/traces/client/services/traces.client.service.js b/modules/traces/client/services/traces.client.service.js index 64f64976..10099025 100644 --- a/modules/traces/client/services/traces.client.service.js +++ b/modules/traces/client/services/traces.client.service.js @@ -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} } }); } diff --git a/modules/users/client/services/users.client.service.js b/modules/users/client/services/users.client.service.js index f6f06199..34b83421 100644 --- a/modules/users/client/services/users.client.service.js +++ b/modules/users/client/services/users.client.service.js @@ -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',