@@ -40,22 +40,22 @@ public interface ISupabaseClient<TUser, TSession, TSocket, TChannel, TBucket, TF
4040 /// <param name="serviceKey"></param>
4141 /// <returns></returns>
4242 IGotrueAdminClient < User > AdminAuth ( string serviceKey ) ;
43-
43+
4444 /// <summary>
4545 /// The Supabase Functions Client
4646 /// </summary>
4747 IFunctionsClient Functions { get ; set ; }
48-
48+
4949 /// <summary>
5050 /// The Postgrest Client
5151 /// </summary>
5252 IPostgrestClient Postgrest { get ; set ; }
53-
53+
5454 /// <summary>
5555 /// The Realtime Client
5656 /// </summary>
5757 IRealtimeClient < TSocket , TChannel > Realtime { get ; set ; }
58-
58+
5959 /// <summary>
6060 /// The Storage Client
6161 /// </summary>
@@ -68,8 +68,8 @@ public interface ISupabaseClient<TUser, TSession, TSocket, TChannel, TBucket, TF
6868 /// <typeparam name="TModel"></typeparam>
6969 /// <returns></returns>
7070 ISupabaseTable < TModel , TChannel > From < TModel > ( ) where TModel : BaseModel , new ( ) ;
71-
72-
71+
72+
7373 /// <summary>
7474 /// Initializes a supabase client according to the provided <see cref="SupabaseOptions"/>.
7575 /// If option is enabled:
@@ -78,13 +78,22 @@ public interface ISupabaseClient<TUser, TSession, TSocket, TChannel, TBucket, TF
7878 /// </summary>
7979 /// <returns></returns>
8080 Task < ISupabaseClient < TUser , TSession , TSocket , TChannel , TBucket , TFileObject > > InitializeAsync ( ) ;
81-
81+
8282 /// <summary>
83- /// The RPC Client
83+ /// Perform a stored procedure call.
8484 /// </summary>
85- /// <param name="procedureName"></param>
86- /// <param name="parameters"></param>
85+ /// <param name="procedureName">The function name to call </param>
86+ /// <param name="parameters">The parameters to pass to the function call </param>
8787 /// <returns></returns>
88- Task < BaseResponse > Rpc ( string procedureName , Dictionary < string , object > parameters ) ;
88+ Task < BaseResponse > Rpc ( string procedureName , object ? parameters ) ;
89+
90+ /// <summary>
91+ /// Perform a stored procedure call.
92+ /// </summary>
93+ /// <param name="procedureName">The function name to call</param>
94+ /// <param name="parameters">The parameters to pass to the function call</param>
95+ /// <typeparam name="TModeledResponse">A type used for hydrating the HTTP response content (hydration through JSON.NET)</typeparam>
96+ /// <returns>A hydrated model</returns>
97+ Task < TModeledResponse ? > Rpc < TModeledResponse > ( string procedureName , object ? parameters ) ;
8998 }
9099}
0 commit comments