mirror of
https://github.com/domfelipe/mika-agent-assist.git
synced 2026-08-07 10:16:43 +00:00
Changes
Co-authored-by: domfelipe <53182096+domfelipe@users.noreply.github.com>
This commit is contained in:
parent
a34ff1b17b
commit
af4a6968a8
2 changed files with 69 additions and 0 deletions
|
|
@ -632,6 +632,23 @@ export type Database = {
|
||||||
Args: { check_env?: string; user_uuid: string }
|
Args: { check_env?: string; user_uuid: string }
|
||||||
Returns: boolean
|
Returns: boolean
|
||||||
}
|
}
|
||||||
|
vault_create_secret: {
|
||||||
|
Args: {
|
||||||
|
secret_description?: string
|
||||||
|
secret_name: string
|
||||||
|
secret_value: string
|
||||||
|
}
|
||||||
|
Returns: {
|
||||||
|
secret_id: string
|
||||||
|
}[]
|
||||||
|
}
|
||||||
|
vault_decrypt_secret: {
|
||||||
|
Args: { secret_id: string }
|
||||||
|
Returns: {
|
||||||
|
decrypted_secret: string
|
||||||
|
}[]
|
||||||
|
}
|
||||||
|
vault_delete_secret: { Args: { secret_id: string }; Returns: undefined }
|
||||||
}
|
}
|
||||||
Enums: {
|
Enums: {
|
||||||
[_ in never]: never
|
[_ in never]: never
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,52 @@
|
||||||
|
-- Wrappers para o Supabase Vault, executáveis apenas pelo service_role
|
||||||
|
-- (usados pelas Edge Functions Telegram para guardar tokens com criptografia).
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION public.vault_create_secret(
|
||||||
|
secret_value text,
|
||||||
|
secret_name text,
|
||||||
|
secret_description text DEFAULT ''
|
||||||
|
)
|
||||||
|
RETURNS TABLE(secret_id uuid)
|
||||||
|
LANGUAGE plpgsql
|
||||||
|
SECURITY DEFINER
|
||||||
|
SET search_path = public, vault
|
||||||
|
AS $$
|
||||||
|
BEGIN
|
||||||
|
RETURN QUERY
|
||||||
|
SELECT vault.create_secret(secret_value, secret_name, secret_description);
|
||||||
|
END;
|
||||||
|
$$;
|
||||||
|
|
||||||
|
REVOKE ALL ON FUNCTION public.vault_create_secret(text, text, text) FROM PUBLIC, anon, authenticated;
|
||||||
|
GRANT EXECUTE ON FUNCTION public.vault_create_secret(text, text, text) TO service_role;
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION public.vault_decrypt_secret(secret_id uuid)
|
||||||
|
RETURNS TABLE(decrypted_secret text)
|
||||||
|
LANGUAGE plpgsql
|
||||||
|
SECURITY DEFINER
|
||||||
|
SET search_path = public, vault
|
||||||
|
AS $$
|
||||||
|
BEGIN
|
||||||
|
RETURN QUERY
|
||||||
|
SELECT ds.decrypted_secret
|
||||||
|
FROM vault.decrypted_secrets ds
|
||||||
|
WHERE ds.id = secret_id;
|
||||||
|
END;
|
||||||
|
$$;
|
||||||
|
|
||||||
|
REVOKE ALL ON FUNCTION public.vault_decrypt_secret(uuid) FROM PUBLIC, anon, authenticated;
|
||||||
|
GRANT EXECUTE ON FUNCTION public.vault_decrypt_secret(uuid) TO service_role;
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION public.vault_delete_secret(secret_id uuid)
|
||||||
|
RETURNS void
|
||||||
|
LANGUAGE plpgsql
|
||||||
|
SECURITY DEFINER
|
||||||
|
SET search_path = public, vault
|
||||||
|
AS $$
|
||||||
|
BEGIN
|
||||||
|
DELETE FROM vault.secrets WHERE id = secret_id;
|
||||||
|
END;
|
||||||
|
$$;
|
||||||
|
|
||||||
|
REVOKE ALL ON FUNCTION public.vault_delete_secret(uuid) FROM PUBLIC, anon, authenticated;
|
||||||
|
GRANT EXECUTE ON FUNCTION public.vault_delete_secret(uuid) TO service_role;
|
||||||
Loading…
Add table
Add a link
Reference in a new issue