Skip to content

Commit 7cf9f84

Browse files
authored
Merge pull request #579 from supabase-community/j0/convert_functions_into_property
feat: add functions property
2 parents 11b014d + c283c8c commit 7cf9f84

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

Diff for: supabase/client.py

+12
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import re
22
from typing import Any, Dict, Union
33

4+
from deprecation import deprecated
45
from gotrue.types import AuthChangeEvent
56
from httpx import Timeout
67
from postgrest import SyncFilterRequestBuilder, SyncPostgrestClient, SyncRequestBuilder
@@ -81,8 +82,10 @@ def __init__(
8182
self.realtime = None
8283
self._postgrest = None
8384
self._storage = None
85+
self._functions = None
8486
self.auth.on_auth_state_change(self._listen_to_auth_events)
8587

88+
@deprecated("1.1.1", "1.3.0", details="Use `.functions` instead")
8689
def functions(self) -> FunctionsClient:
8790
return FunctionsClient(self.functions_url, self._get_auth_headers())
8891

@@ -144,6 +147,14 @@ def storage(self):
144147
)
145148
return self._storage
146149

150+
@property
151+
def functions(self):
152+
if self._functions is None:
153+
headers = self._get_auth_headers()
154+
headers.update(self._get_token_header())
155+
self._functions = FunctionsClient(self.functions_url, headers)
156+
return self._functions
157+
147158
# async def remove_subscription_helper(resolve):
148159
# try:
149160
# await self._close_subscription(subscription)
@@ -236,6 +247,7 @@ def _listen_to_auth_events(self, event: AuthChangeEvent, session):
236247
# reset postgrest and storage instance on event change
237248
self._postgrest = None
238249
self._storage = None
250+
self._functions = None
239251

240252

241253
def create_client(

Diff for: tests/test_function_configuration.py

-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ def test_functions_client_initialization() -> None:
77
# Sample JWT Key
88
key = "xxxxxxxxxxxxxx.xxxxxxxxxxxxxxx.xxxxxxxxxxxxxxx"
99
sp = supabase.Client(url, key)
10-
sp.functions()
1110
assert sp.functions_url == f"https://{ref}.supabase.co/functions/v1"
1211

1312
url = "https://localhost:54322"

0 commit comments

Comments
 (0)