mirror of
https://github.com/ajnart/homarr.git
synced 2025-11-10 15:35:55 +01:00
🏗️ Migrate icons to tRPC
This commit is contained in:
@@ -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
|
||||
|
||||
35
src/server/api/routers/icon.ts
Normal file
35
src/server/api/routers/icon.ts
Normal 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;
|
||||
}),
|
||||
});
|
||||
Reference in New Issue
Block a user