feat: default user permissions added to settings

closes #388
This commit is contained in:
sct
2020-12-21 18:47:55 +09:00
parent f35dae56a5
commit e7ee85c29b
7 changed files with 179 additions and 32 deletions

View File

@@ -5,6 +5,7 @@ import PlexTvAPI from '../api/plextv';
import { isAuthenticated } from '../middleware/auth';
import { Permission } from '../lib/permissions';
import logger from '../logger';
import { getSettings } from '../lib/settings';
const authRoutes = Router();
@@ -25,6 +26,7 @@ authRoutes.get('/me', isAuthenticated(), async (req, res) => {
});
authRoutes.post('/login', async (req, res, next) => {
const settings = getSettings();
const userRepository = getRepository(User);
const body = req.body as { authToken?: string };
@@ -82,7 +84,7 @@ authRoutes.post('/login', async (req, res, next) => {
username: account.username,
plexId: account.id,
plexToken: account.authToken,
permissions: Permission.REQUEST,
permissions: settings.main.defaultPermissions,
avatar: account.thumb,
});
await userRepository.save(user);

View File

@@ -16,7 +16,7 @@ import logger from '../logger';
import { scheduledJobs } from '../job/schedule';
import { Permission } from '../lib/permissions';
import { isAuthenticated } from '../middleware/auth';
import { merge } from 'lodash';
import { merge, omit } from 'lodash';
import Media from '../entity/Media';
import { MediaRequest } from '../entity/MediaRequest';
import { getAppVersion } from '../utils/appVersion';
@@ -32,9 +32,7 @@ const filteredMainSettings = (
main: MainSettings
): Partial<MainSettings> => {
if (!user?.hasPermission(Permission.ADMIN)) {
return {
applicationUrl: main.applicationUrl,
};
return omit(main, 'apiKey');
}
return main;