feat: add integration access check to middlewares (#756)

* feat: add integration access check to middlewares

* fix: format issues

* fix: remove group and user permissions and items from context

* refactor: move action check to seperate function
This commit is contained in:
Meier Lukas
2024-07-08 17:39:36 +02:00
committed by GitHub
parent 8d42ca8b5e
commit 46943b147a
11 changed files with 966 additions and 29 deletions

View File

@@ -26,14 +26,14 @@ export const smartHomeRouter = createTRPCRouter({
});
}),
switchEntity: publicProcedure
.unstable_concat(createOneIntegrationMiddleware("homeAssistant"))
.unstable_concat(createOneIntegrationMiddleware("interact", "homeAssistant"))
.input(z.object({ entityId: z.string() }))
.mutation(async ({ ctx, input }) => {
const client = new HomeAssistantIntegration(ctx.integration);
return await client.triggerToggleAsync(input.entityId);
}),
executeAutomation: publicProcedure
.unstable_concat(createOneIntegrationMiddleware("homeAssistant"))
.unstable_concat(createOneIntegrationMiddleware("interact", "homeAssistant"))
.input(z.object({ automationId: z.string() }))
.mutation(async ({ input, ctx }) => {
const client = new HomeAssistantIntegration(ctx.integration);