pub struct ApiClient { /* private fields */ }Implementations§
Source§impl ApiClient
impl ApiClient
pub fn new(config: Config) -> Self
Sourcepub async fn execute(
&self,
endpoint: &EndpointRecord,
args: &Value,
auth_manager: &mut AuthManager,
) -> Result<Value>
pub async fn execute( &self, endpoint: &EndpointRecord, args: &Value, auth_manager: &mut AuthManager, ) -> Result<Value>
Executes endpoint against the configured SQL Server instance.
auth_manager resolves to a tiberius::AuthMethod (see
auth::auth_manager::AuthManager::resolve_tds_auth) from the
server’s own configured credentials – there is no per-request
credential override; SQL Server auth is always this server’s own
configured identity, not something a caller supplies per call.
A top-level database string in args (a sibling of body, e.g.
{"database": "reporting", "body": {...}}) lets a caller target a
specific database for a sandbox-tagged operation, overriding the
connection’s own current database (see build_statement’s doc
comment for why “sandbox” needs this at all). It’s not part of the
generated/documented input schema – mcpify’s schema wrapper
doesn’t set additionalProperties: false, so an extra key here
passes validate_input unnoticed – and it’s a no-op for
master/msdb operations, which are always sent against their
real, literal database regardless of this argument.
Auto Trait Implementations§
impl Freeze for ApiClient
impl RefUnwindSafe for ApiClient
impl Send for ApiClient
impl Sync for ApiClient
impl Unpin for ApiClient
impl UnsafeUnpin for ApiClient
impl UnwindSafe for ApiClient
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more