feat: force setup if app is not initialized

This commit is contained in:
sct
2020-11-12 09:07:49 +00:00
parent c0ce87b6f6
commit a99705f6a5
7 changed files with 120 additions and 32 deletions

View File

@@ -16,6 +16,11 @@ const router = Router();
router.use(checkUser);
router.use('/user', isAuthenticated(Permission.MANAGE_USERS), user);
router.get('/settings/public', (_req, res) => {
const settings = getSettings();
return res.status(200).json(settings.public);
});
router.use(
'/settings',
isAuthenticated(Permission.MANAGE_SETTINGS),
@@ -29,12 +34,6 @@ router.use('/tv', isAuthenticated(), tvRoutes);
router.use('/media', isAuthenticated(), mediaRoutes);
router.use('/auth', authRoutes);
router.get('/settings/public', (_req, res) => {
const settings = getSettings();
return res.status(200).json(settings.public);
});
router.get('/', (_req, res) => {
return res.status(200).json({
api: 'Overseerr API',

View File

@@ -1,5 +1,5 @@
import { Router } from 'express';
import { getRepository, FindOperator } from 'typeorm';
import { getRepository, FindOperator, FindOneOptions } from 'typeorm';
import Media from '../entity/Media';
import { MediaStatus } from '../constants/media';
@@ -43,11 +43,21 @@ mediaRoutes.get('/', async (req, res, next) => {
statusFilter = undefined;
}
let sortFilter: FindOneOptions<Media>['order'] = {
id: 'DESC',
};
switch (req.query.sort) {
case 'modified':
sortFilter = {
updatedAt: 'DESC',
};
break;
}
try {
const [media, mediaCount] = await mediaRepository.findAndCount({
order: {
id: 'DESC',
},
order: sortFilter,
where: {
status: statusFilter,
},

View File

@@ -13,6 +13,8 @@ import SonarrAPI from '../api/sonarr';
import RadarrAPI from '../api/radarr';
import logger from '../logger';
import { scheduledJobs } from '../job/schedule';
import { Permission } from '../lib/permissions';
import { isAuthenticated } from '../middleware/auth';
const settingsRoutes = Router();
@@ -334,4 +336,17 @@ settingsRoutes.get('/jobs', (req, res) => {
);
});
settingsRoutes.get(
'/initialize',
isAuthenticated(Permission.ADMIN),
(req, res) => {
const settings = getSettings();
settings.public.initialized = true;
settings.save();
return res.status(200).json(settings.public);
}
);
export default settingsRoutes;