import type { ScopeId } from "@executor-js/sdk/core";import { ReactivityKey } from "@executor-js/react/api/reactivity-keys";import { OnePasswordClient } from "./client"; export const onepasswordWriteKeys = [ReactivityKey.secrets] as const; // ---------------------------------------------------------------------------// Query atoms// --------------------------------------------------------------------------- export const onepasswordConfigAtom = (scopeId: ScopeId) => OnePasswordClient.query("onepassword", "getConfig", { params: { scopeId }, timeToLive: "30 seconds", reactivityKeys: [ReactivityKey.secrets], }); export const onepasswordStatusAtom = (scopeId: ScopeId) => OnePasswordClient.query("onepassword", "status", { params: { scopeId }, timeToLive: "15 seconds", reactivityKeys: [ReactivityKey.secrets], }); // ---------------------------------------------------------------------------// Query atoms — vaults// --------------------------------------------------------------------------- export const onepasswordVaultsAtom = ( authKind: "desktop-app" | "service-account", account: string, scopeId: ScopeId,) => OnePasswordClient.query("onepassword", "listVaults", { params: { scopeId }, query: { authKind, account }, timeToLive: "30 seconds", reactivityKeys: [ReactivityKey.secrets], }); // ---------------------------------------------------------------------------// Mutation atoms// --------------------------------------------------------------------------- export const configureOnePassword = OnePasswordClient.mutation("onepassword", "configure"); export const removeOnePasswordConfig = OnePasswordClient.mutation("onepassword", "removeConfig");
import type { ScopeId } from "@executor-js/sdk/core";
import { ReactivityKey } from "@executor-js/react/api/reactivity-keys";
import { OnePasswordClient } from "./client";
export const onepasswordWriteKeys = [ReactivityKey.secrets] as const;
// ---------------------------------------------------------------------------
// Query atoms
// ---------------------------------------------------------------------------
export const onepasswordConfigAtom = (scopeId: ScopeId) =>
OnePasswordClient.query("onepassword", "getConfig", {
params: { scopeId },
timeToLive: "30 seconds",
reactivityKeys: [ReactivityKey.secrets],
});
export const onepasswordStatusAtom = (scopeId: ScopeId) =>
OnePasswordClient.query("onepassword", "status", {
params: { scopeId },
timeToLive: "15 seconds",
reactivityKeys: [ReactivityKey.secrets],
});
// ---------------------------------------------------------------------------
// Query atoms — vaults
// ---------------------------------------------------------------------------
export const onepasswordVaultsAtom = (
authKind: "desktop-app" | "service-account",
account: string,
scopeId: ScopeId,
) =>
OnePasswordClient.query("onepassword", "listVaults", {
params: { scopeId },
query: { authKind, account },
timeToLive: "30 seconds",
reactivityKeys: [ReactivityKey.secrets],
});
// ---------------------------------------------------------------------------
// Mutation atoms
// ---------------------------------------------------------------------------
export const configureOnePassword = OnePasswordClient.mutation("onepassword", "configure");
export const removeOnePasswordConfig = OnePasswordClient.mutation("onepassword", "removeConfig");