20 lines
771 B
TypeScript
20 lines
771 B
TypeScript
import { z } from 'zod';
|
|
|
|
import Mods from '~main/modules/mods';
|
|
import { ModIdSchema } from '~common/mods';
|
|
|
|
import { createTRPCRouter, publicProcedure } from '../trpc';
|
|
|
|
export const modsRouter = createTRPCRouter({
|
|
list: publicProcedure.query(() => Mods.status),
|
|
verify: publicProcedure.mutation(() => Mods.verify()),
|
|
toggle: publicProcedure
|
|
.input(z.object({ id: ModIdSchema, enabled: z.boolean() }))
|
|
.mutation(({ input }) => Mods.toggle(input.id, input.enabled)),
|
|
setIgnoreUpdates: publicProcedure
|
|
.input(z.object({ id: ModIdSchema, ignore: z.boolean() }))
|
|
.mutation(({ input }) => Mods.setIgnoreUpdates(input.id, input.ignore)),
|
|
applyAll: publicProcedure.mutation(() => Mods.applyAll()),
|
|
observe: publicProcedure.subscription(() => Mods.observe())
|
|
});
|