mirror of
https://github.com/ajnart/homarr.git
synced 2026-02-27 08:50:56 +01:00
* feat: add more group permissions * feat: restrict access with app permissions * feat: restrict access with search-engine permissions * feat: restrict access with media permissions * refactor: remove permissions for users, groups and invites * test: adjust app router tests with app permissions * fix: integration page accessible without session * fix: search for users, groups and integrations shown to unauthenticated users * chore: address pull request feedback
23 lines
706 B
TypeScript
23 lines
706 B
TypeScript
import { observable } from "@trpc/server/observable";
|
|
|
|
import { logger } from "@homarr/log";
|
|
import type { LoggerMessage } from "@homarr/redis";
|
|
import { loggingChannel } from "@homarr/redis";
|
|
|
|
import { createTRPCRouter, permissionRequiredProcedure } from "../trpc";
|
|
|
|
export const logRouter = createTRPCRouter({
|
|
subscribe: permissionRequiredProcedure.requiresPermission("other-view-logs").subscription(() => {
|
|
return observable<LoggerMessage>((emit) => {
|
|
const unsubscribe = loggingChannel.subscribe((data) => {
|
|
emit.next(data);
|
|
});
|
|
logger.info("A tRPC client has connected to the logging procedure");
|
|
|
|
return () => {
|
|
unsubscribe();
|
|
};
|
|
});
|
|
}),
|
|
});
|