30 lines · 1.2 KB · TypeScript
RawDownload
import type { IntegrationSlug } from "@executor-js/sdk/shared";import * as Atom from "effect/unstable/reactivity/Atom";import { ReactivityKey } from "@executor-js/react/api/reactivity-keys";import { MicrosoftClient } from "./client"; export const microsoftIntegrationAtom = (slug: IntegrationSlug) =>  MicrosoftClient.query("microsoft", "getIntegration", {    params: { slug },    timeToLive: "15 seconds",    reactivityKeys: [ReactivityKey.integrations, ReactivityKey.tools],  }); export const microsoftConfigAtom = (slug: IntegrationSlug) =>  MicrosoftClient.query("microsoft", "getConfig", {    params: { slug },    timeToLive: "15 seconds",    reactivityKeys: [ReactivityKey.integrations, ReactivityKey.tools],  }); export const addMicrosoftWorkloads = MicrosoftClient.mutation("microsoft", "addWorkloads"); export const updateMicrosoftGraph = MicrosoftClient.mutation("microsoft", "updateGraph"); export const removeMicrosoftGraph = MicrosoftClient.mutation("microsoft", "removeGraph"); export const microsoftConfigure = MicrosoftClient.mutation("microsoft", "configure"); export const microsoftIntegrationFamily = Atom.family(microsoftIntegrationAtom); export const microsoftConfigFamily = Atom.family(microsoftConfigAtom);