🏗️ Migrate icons to tRPC

This commit is contained in:
Meier Lukas
2023-06-10 13:10:02 +02:00
parent c061426846
commit 458fea369c
4 changed files with 47 additions and 18 deletions

View File

@@ -3,6 +3,7 @@ import { appRouter } from './routers/app';
import { rssRouter } from './routers/rss';
import { configRouter } from './routers/config';
import { dockerRouter } from './routers/docker/router';
import { iconRouter } from './routers/icon';
/**
* This is the primary router for your server.
@@ -14,6 +15,7 @@ export const rootRouter = createTRPCRouter({
rss: rssRouter,
config: configRouter,
docker: dockerRouter,
icon: iconRouter,
});
// export type definition of API

View File

@@ -0,0 +1,35 @@
import { LocalIconsRepository } from '~/tools/server/images/local-icons-repository';
import { createTRPCRouter, publicProcedure } from '../trpc';
import { JsdelivrIconsRepository } from '~/tools/server/images/jsdelivr-icons-repository';
import { UnpkgIconsRepository } from '~/tools/server/images/unpkg-icons-repository';
export const iconRouter = createTRPCRouter({
all: publicProcedure.query(async () => {
const respositories = [
new LocalIconsRepository(),
new JsdelivrIconsRepository(
JsdelivrIconsRepository.tablerRepository,
'Walkxcode Dashboard Icons',
'Walkxcode on Github'
),
new UnpkgIconsRepository(
UnpkgIconsRepository.tablerRepository,
'Tabler Icons',
'Tabler Icons - GitHub (MIT)'
),
new JsdelivrIconsRepository(
JsdelivrIconsRepository.papirusRepository,
'Papirus Icons',
'Papirus Development Team on GitHub (Apache 2.0)'
),
new JsdelivrIconsRepository(
JsdelivrIconsRepository.homelabSvgAssetsRepository,
'Homelab Svg Assets',
'loganmarchione on GitHub (MIT)'
),
];
const fetches = respositories.map((rep) => rep.fetch());
const data = await Promise.all(fetches);
return data;
}),
});