Files
Homarr/src/server/api/routers/board.ts

35 lines
974 B
TypeScript
Raw Normal View History

2023-08-01 12:58:32 +02:00
import fs from 'fs';
import { createTRPCRouter, publicProcedure } from '../trpc';
import { getFrontendConfig } from '~/tools/config/getFrontendConfig';
2023-08-01 12:58:32 +02:00
export const boardRouter = createTRPCRouter({
all: publicProcedure.query(async ({ ctx }) => {
const files = fs.readdirSync('./data/configs').filter((file) => file.endsWith('.json'));
const userSettings = await ctx.prisma.userSettings.findUniqueOrThrow({
where: {
userId: ctx.session?.user.id
}
});
2023-08-01 12:58:32 +02:00
return await Promise.all(
files.map(async (file) => {
const name = file.replace('.json', '');
const config = await getFrontendConfig(name);
const countApps = config.apps.length;
return {
name: name,
countApps: countApps,
countWidgets: config.widgets.length,
countCategories: config.categories.length,
isDefaultForUser: name === userSettings.defaultBoard
2023-08-01 12:58:32 +02:00
};
})
);
}),
});