mirror of
https://github.com/ajnart/homarr.git
synced 2025-11-17 18:51:14 +01:00
Fix not filtering .json files for config
This commit is contained in:
@@ -3,8 +3,8 @@ import fs from 'fs';
|
||||
import { backendMigrateConfig } from '../../tools/config/backendMigrateConfig';
|
||||
|
||||
export default async (req: NextApiRequest, res: NextApiResponse) => {
|
||||
// Get all the configs in the /data/configs folder
|
||||
const configs = fs.readdirSync('./data/configs');
|
||||
// Gets all the config files
|
||||
const configs = fs.readdirSync('./data/configs').filter((file) => file.endsWith('.json'));
|
||||
// If there is no config, redirect to the index
|
||||
configs.every((config) => {
|
||||
const configData = JSON.parse(fs.readFileSync(`./data/configs/${config}`, 'utf8'));
|
||||
|
||||
@@ -17,9 +17,10 @@ export async function getServerSideProps({
|
||||
res,
|
||||
locale,
|
||||
}: GetServerSidePropsContext): Promise<{ props: DashboardServerSideProps }> {
|
||||
// Check that all the json files in the /data/configs folder are migrated
|
||||
// If not, redirect to the migrate page
|
||||
const configs = await fs.readdirSync('./data/configs');
|
||||
// Get all the configs in the /data/configs folder
|
||||
// All the files that end in ".json"
|
||||
const configs = fs.readdirSync('./data/configs').filter((file) => file.endsWith('.json'));
|
||||
|
||||
if (
|
||||
!configs.every(
|
||||
(config) => JSON.parse(fs.readFileSync(`./data/configs/${config}`, 'utf8')).schemaVersion
|
||||
|
||||
@@ -246,7 +246,9 @@ function SwitchToggle() {
|
||||
|
||||
export async function getServerSideProps({ req, res, locale }: GetServerSidePropsContext) {
|
||||
// Get all the configs in the /data/configs folder
|
||||
const configs = fs.readdirSync('./data/configs');
|
||||
// All the files that end in ".json"
|
||||
const configs = fs.readdirSync('./data/configs').filter((file) => file.endsWith('.json'));
|
||||
|
||||
if (configs.length === 0) {
|
||||
res.writeHead(302, {
|
||||
Location: '/',
|
||||
|
||||
@@ -6,6 +6,10 @@ import { migrateConfig } from './migrateConfig';
|
||||
export function backendMigrateConfig(config: Config, name: string): ConfigType {
|
||||
const migratedConfig = migrateConfig(config);
|
||||
|
||||
// Make a backup of the old file ./data/configs/${name}.json
|
||||
// New name is ./data/configs/${name}.bak
|
||||
fs.copyFileSync(`./data/configs/${name}.json`, `./data/configs/${name}.json.bak`);
|
||||
|
||||
// Overrite the file ./data/configs/${name}.json
|
||||
// with the new config format
|
||||
fs.writeFileSync(`./data/configs/${name}.json`, JSON.stringify(migratedConfig, null, 2));
|
||||
|
||||
Reference in New Issue
Block a user