Files
jellyfin-web/src/plugins/playAccessValidation/plugin.js
dkanada 5e8c92a7a7 Merge pull request #2374 from cvium/fix_playaccess_validation
reject play access validation promise

(cherry picked from commit f6d0380486)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
2021-02-21 13:27:22 -05:00

43 lines
1.2 KiB
JavaScript

import globalize from '../../scripts/globalize';
import ServerConnections from '../../components/ServerConnections';
import alert from '../../components/alert';
function showErrorMessage() {
return alert(globalize.translate('MessagePlayAccessRestricted'));
}
class PlayAccessValidation {
constructor() {
this.name = 'Playback validation';
this.type = 'preplayintercept';
this.id = 'playaccessvalidation';
this.order = -2;
}
intercept(options) {
const item = options.item;
if (!item) {
return Promise.resolve();
}
const serverId = item.ServerId;
if (!serverId) {
return Promise.resolve();
}
return ServerConnections.getApiClient(serverId).getCurrentUser().then(function (user) {
if (user.Policy.EnableMediaPlayback) {
return Promise.resolve();
}
// reject but don't show an error message
if (!options.fullscreen) {
return Promise.reject();
}
return showErrorMessage().finally(Promise.reject);
});
}
}
export default PlayAccessValidation;