1#[derive(Clone, PartialEq, ::prost::Message)]
3pub struct CreateConnectAppRequest {
4 #[prost(string, tag = "1")]
6 pub display_name: ::prost::alloc::string::String,
7 #[prost(string, optional, tag = "2")]
8 pub description: ::core::option::Option<::prost::alloc::string::String>,
9 #[prost(string, repeated, tag = "3")]
10 pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
11 #[prost(map = "string, string", tag = "4")]
12 pub properties: ::std::collections::HashMap<
13 ::prost::alloc::string::String,
14 ::prost::alloc::string::String,
15 >,
16 #[prost(bool, optional, tag = "5")]
17 pub is_published: ::core::option::Option<bool>,
18 #[prost(string, tag = "6")]
19 pub workspace: ::prost::alloc::string::String,
20 #[prost(message, optional, tag = "7")]
22 pub bundle: ::core::option::Option<ConnectAppBundle>,
23 #[prost(string, tag = "8")]
24 pub commit_message: ::prost::alloc::string::String,
25}
26#[derive(Clone, PartialEq, ::prost::Message)]
27pub struct CreateConnectAppResponse {
28 #[prost(message, optional, tag = "1")]
29 pub app: ::core::option::Option<ConnectApp>,
30}
31#[derive(Clone, PartialEq, ::prost::Message)]
32pub struct UpdateConnectAppMetadataRequest {
33 #[prost(string, tag = "1")]
34 pub rid: ::prost::alloc::string::String,
35 #[prost(string, optional, tag = "2")]
36 pub display_name: ::core::option::Option<::prost::alloc::string::String>,
37 #[prost(string, optional, tag = "3")]
38 pub description: ::core::option::Option<::prost::alloc::string::String>,
39 #[prost(message, optional, tag = "4")]
40 pub labels: ::core::option::Option<super::super::types::LabelUpdateWrapper>,
41 #[prost(message, optional, tag = "5")]
42 pub properties: ::core::option::Option<super::super::types::PropertyUpdateWrapper>,
43 #[prost(bool, optional, tag = "6")]
44 pub is_archived: ::core::option::Option<bool>,
45 #[prost(bool, optional, tag = "7")]
46 pub is_published: ::core::option::Option<bool>,
47}
48#[derive(Clone, PartialEq, ::prost::Message)]
49pub struct ConnectAppBundle {
50 #[prost(message, optional, tag = "1")]
51 pub s3_path: ::core::option::Option<super::super::types::Handle>,
52 #[prost(message, optional, tag = "2")]
53 pub metadata: ::core::option::Option<ConnectAppBundleMetadata>,
54}
55#[derive(Clone, PartialEq, ::prost::Message)]
57pub struct ConnectAppBundleMetadata {
58 #[prost(string, tag = "1")]
59 pub title: ::prost::alloc::string::String,
60 #[prost(bool, tag = "2")]
61 pub contains_experimental_features: bool,
62 #[prost(string, tag = "3")]
63 pub sha256_checksum: ::prost::alloc::string::String,
64}
65#[derive(Clone, PartialEq, ::prost::Message)]
66pub struct ConnectAppSearchQuery {
67 #[prost(oneof = "connect_app_search_query::Query", tags = "1, 2, 3, 4, 5, 6, 7")]
68 pub query: ::core::option::Option<connect_app_search_query::Query>,
69}
70pub mod connect_app_search_query {
72 #[derive(Clone, PartialEq, ::prost::Message)]
73 pub struct ConnectAppSearchAndQuery {
74 #[prost(message, repeated, tag = "1")]
75 pub queries: ::prost::alloc::vec::Vec<super::ConnectAppSearchQuery>,
76 }
77 #[derive(Clone, PartialEq, ::prost::Message)]
78 pub struct ConnectAppSearchOrQuery {
79 #[prost(message, repeated, tag = "1")]
80 pub queries: ::prost::alloc::vec::Vec<super::ConnectAppSearchQuery>,
81 }
82 #[derive(Clone, PartialEq, ::prost::Oneof)]
83 pub enum Query {
84 #[prost(string, tag = "1")]
85 SearchText(::prost::alloc::string::String),
86 #[prost(string, tag = "2")]
87 Label(::prost::alloc::string::String),
88 #[prost(message, tag = "3")]
89 Property(super::super::super::types::Property),
90 #[prost(message, tag = "4")]
91 And(ConnectAppSearchAndQuery),
92 #[prost(message, tag = "5")]
93 Or(ConnectAppSearchOrQuery),
94 #[prost(string, tag = "6")]
95 Workspace(::prost::alloc::string::String),
96 #[prost(bool, tag = "7")]
97 IsArchived(bool),
98 }
99}
100#[derive(Clone, PartialEq, ::prost::Message)]
101pub struct ConnectAppMetadata {
102 #[prost(string, tag = "1")]
103 pub rid: ::prost::alloc::string::String,
104 #[prost(string, tag = "2")]
105 pub display_name: ::prost::alloc::string::String,
106 #[prost(string, optional, tag = "3")]
107 pub description: ::core::option::Option<::prost::alloc::string::String>,
108 #[prost(string, repeated, tag = "4")]
109 pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
110 #[prost(map = "string, string", tag = "5")]
111 pub properties: ::std::collections::HashMap<
112 ::prost::alloc::string::String,
113 ::prost::alloc::string::String,
114 >,
115 #[prost(bool, tag = "6")]
116 pub is_archived: bool,
117 #[prost(bool, tag = "7")]
118 pub is_published: bool,
119 #[prost(message, optional, tag = "8")]
120 pub created_at: ::core::option::Option<
121 super::super::super::google::protobuf::Timestamp,
122 >,
123 #[prost(string, tag = "9")]
124 pub created_by: ::prost::alloc::string::String,
125 #[prost(message, optional, tag = "10")]
126 pub updated_at: ::core::option::Option<
127 super::super::super::google::protobuf::Timestamp,
128 >,
129 #[prost(string, tag = "11")]
130 pub workspace: ::prost::alloc::string::String,
131}
132#[derive(Clone, PartialEq, ::prost::Message)]
133pub struct ConnectApp {
134 #[prost(string, tag = "1")]
135 pub rid: ::prost::alloc::string::String,
136 #[prost(string, tag = "2")]
137 pub commit: ::prost::alloc::string::String,
138 #[prost(message, optional, tag = "3")]
139 pub metadata: ::core::option::Option<ConnectAppMetadata>,
140 #[prost(message, optional, tag = "4")]
141 pub bundle: ::core::option::Option<ConnectAppBundle>,
142}
143#[derive(Clone, PartialEq, ::prost::Message)]
144pub struct GetConnectAppRequest {
145 #[prost(string, tag = "1")]
146 pub rid: ::prost::alloc::string::String,
147 #[prost(message, optional, tag = "2")]
148 pub branch_or_commit: ::core::option::Option<
149 super::super::versioning::v1::BranchOrCommit,
150 >,
151}
152#[derive(Clone, PartialEq, ::prost::Message)]
153pub struct GetConnectAppBundleDownloadUrlRequest {
154 #[prost(string, tag = "1")]
155 pub rid: ::prost::alloc::string::String,
156 #[prost(message, optional, tag = "2")]
157 pub branch_or_commit: ::core::option::Option<
158 super::super::versioning::v1::BranchOrCommit,
159 >,
160}
161#[derive(Clone, PartialEq, ::prost::Message)]
162pub struct GetConnectAppBundleDownloadUrlResponse {
163 #[prost(string, tag = "1")]
164 pub url: ::prost::alloc::string::String,
165}
166#[derive(Clone, PartialEq, ::prost::Message)]
167pub struct GetConnectAppResponse {
168 #[prost(message, optional, tag = "1")]
169 pub app: ::core::option::Option<ConnectApp>,
170}
171#[derive(Clone, PartialEq, ::prost::Message)]
172pub struct UpdateConnectAppMetadataResponse {
173 #[prost(message, optional, tag = "1")]
174 pub app_metadata: ::core::option::Option<ConnectAppMetadata>,
175}
176#[derive(Clone, PartialEq, ::prost::Message)]
179pub struct CommitRequest {
180 #[prost(string, tag = "1")]
181 pub rid: ::prost::alloc::string::String,
182 #[prost(message, optional, tag = "2")]
183 pub bundle: ::core::option::Option<ConnectAppBundle>,
184 #[prost(string, tag = "3")]
185 pub message: ::prost::alloc::string::String,
186}
187#[derive(Clone, PartialEq, ::prost::Message)]
188pub struct CommitResponse {
189 #[prost(message, optional, tag = "1")]
190 pub app: ::core::option::Option<ConnectApp>,
191}
192#[derive(Clone, Copy, PartialEq, ::prost::Message)]
193pub struct SearchConnectAppsOptions {
194 #[prost(bool, optional, tag = "1")]
196 pub is_descending: ::core::option::Option<bool>,
197 #[prost(enumeration = "SearchConnectAppsSortField", optional, tag = "2")]
199 pub sort_field: ::core::option::Option<i32>,
200}
201#[derive(Clone, PartialEq, ::prost::Message)]
202pub struct SearchConnectAppsRequest {
203 #[prost(message, optional, tag = "1")]
204 pub query: ::core::option::Option<ConnectAppSearchQuery>,
205 #[prost(message, optional, tag = "2")]
206 pub options: ::core::option::Option<SearchConnectAppsOptions>,
207 #[prost(int32, optional, tag = "3")]
208 pub page_size: ::core::option::Option<i32>,
209 #[prost(string, optional, tag = "4")]
210 pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
211}
212#[derive(Clone, PartialEq, ::prost::Message)]
213pub struct SearchConnectAppsResponse {
214 #[prost(message, repeated, tag = "1")]
215 pub app_metadata: ::prost::alloc::vec::Vec<ConnectAppMetadata>,
216 #[prost(string, optional, tag = "2")]
217 pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
218}
219#[derive(Clone, PartialEq, ::prost::Message)]
220pub struct ArchiveConnectAppsRequest {
221 #[prost(string, repeated, tag = "1")]
222 pub rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
223}
224#[derive(Clone, PartialEq, ::prost::Message)]
225pub struct UnarchiveConnectAppsRequest {
226 #[prost(string, repeated, tag = "1")]
227 pub rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
228}
229#[derive(Clone, PartialEq, ::prost::Message)]
230pub struct ArchiveConnectAppsResponse {
231 #[prost(string, repeated, tag = "1")]
232 pub rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
233}
234#[derive(Clone, PartialEq, ::prost::Message)]
235pub struct UnarchiveConnectAppsResponse {
236 #[prost(string, repeated, tag = "1")]
237 pub rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
238}
239#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
240#[repr(i32)]
241pub enum SearchConnectAppsSortField {
242 Unspecified = 0,
243 Title = 1,
244 CreatedAt = 2,
245 DisplayName = 3,
246}
247impl SearchConnectAppsSortField {
248 pub fn as_str_name(&self) -> &'static str {
253 match self {
254 Self::Unspecified => "SEARCH_CONNECT_APPS_SORT_FIELD_UNSPECIFIED",
255 Self::Title => "SEARCH_CONNECT_APPS_SORT_FIELD_TITLE",
256 Self::CreatedAt => "SEARCH_CONNECT_APPS_SORT_FIELD_CREATED_AT",
257 Self::DisplayName => "SEARCH_CONNECT_APPS_SORT_FIELD_DISPLAY_NAME",
258 }
259 }
260 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
262 match value {
263 "SEARCH_CONNECT_APPS_SORT_FIELD_UNSPECIFIED" => Some(Self::Unspecified),
264 "SEARCH_CONNECT_APPS_SORT_FIELD_TITLE" => Some(Self::Title),
265 "SEARCH_CONNECT_APPS_SORT_FIELD_CREATED_AT" => Some(Self::CreatedAt),
266 "SEARCH_CONNECT_APPS_SORT_FIELD_DISPLAY_NAME" => Some(Self::DisplayName),
267 _ => None,
268 }
269 }
270}
271#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
272#[repr(i32)]
273pub enum ConnectAppsServiceError {
274 Unspecified = 0,
275 AppNotFound = 1,
276 CommitNotFound = 2,
277 CannotCommitToArchivedConnectApp = 3,
278 InvalidSearchToken = 4,
279 MissingBundle = 5,
280}
281impl ConnectAppsServiceError {
282 pub fn as_str_name(&self) -> &'static str {
287 match self {
288 Self::Unspecified => "CONNECT_APPS_SERVICE_ERROR_UNSPECIFIED",
289 Self::AppNotFound => "CONNECT_APPS_SERVICE_ERROR_APP_NOT_FOUND",
290 Self::CommitNotFound => "CONNECT_APPS_SERVICE_ERROR_COMMIT_NOT_FOUND",
291 Self::CannotCommitToArchivedConnectApp => {
292 "CONNECT_APPS_SERVICE_ERROR_CANNOT_COMMIT_TO_ARCHIVED_CONNECT_APP"
293 }
294 Self::InvalidSearchToken => "CONNECT_APPS_SERVICE_ERROR_INVALID_SEARCH_TOKEN",
295 Self::MissingBundle => "CONNECT_APPS_SERVICE_ERROR_MISSING_BUNDLE",
296 }
297 }
298 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
300 match value {
301 "CONNECT_APPS_SERVICE_ERROR_UNSPECIFIED" => Some(Self::Unspecified),
302 "CONNECT_APPS_SERVICE_ERROR_APP_NOT_FOUND" => Some(Self::AppNotFound),
303 "CONNECT_APPS_SERVICE_ERROR_COMMIT_NOT_FOUND" => Some(Self::CommitNotFound),
304 "CONNECT_APPS_SERVICE_ERROR_CANNOT_COMMIT_TO_ARCHIVED_CONNECT_APP" => {
305 Some(Self::CannotCommitToArchivedConnectApp)
306 }
307 "CONNECT_APPS_SERVICE_ERROR_INVALID_SEARCH_TOKEN" => {
308 Some(Self::InvalidSearchToken)
309 }
310 "CONNECT_APPS_SERVICE_ERROR_MISSING_BUNDLE" => Some(Self::MissingBundle),
311 _ => None,
312 }
313 }
314}
315pub mod connect_apps_service_client {
317 #![allow(
318 unused_variables,
319 dead_code,
320 missing_docs,
321 clippy::wildcard_imports,
322 clippy::let_unit_value,
323 )]
324 use tonic::codegen::*;
325 use tonic::codegen::http::Uri;
326 #[derive(Debug, Clone)]
328 pub struct ConnectAppsServiceClient<T> {
329 inner: tonic::client::Grpc<T>,
330 }
331 impl ConnectAppsServiceClient<tonic::transport::Channel> {
332 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
334 where
335 D: TryInto<tonic::transport::Endpoint>,
336 D::Error: Into<StdError>,
337 {
338 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
339 Ok(Self::new(conn))
340 }
341 }
342 impl<T> ConnectAppsServiceClient<T>
343 where
344 T: tonic::client::GrpcService<tonic::body::Body>,
345 T::Error: Into<StdError>,
346 T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
347 <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
348 {
349 pub fn new(inner: T) -> Self {
350 let inner = tonic::client::Grpc::new(inner);
351 Self { inner }
352 }
353 pub fn with_origin(inner: T, origin: Uri) -> Self {
354 let inner = tonic::client::Grpc::with_origin(inner, origin);
355 Self { inner }
356 }
357 pub fn with_interceptor<F>(
358 inner: T,
359 interceptor: F,
360 ) -> ConnectAppsServiceClient<InterceptedService<T, F>>
361 where
362 F: tonic::service::Interceptor,
363 T::ResponseBody: Default,
364 T: tonic::codegen::Service<
365 http::Request<tonic::body::Body>,
366 Response = http::Response<
367 <T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
368 >,
369 >,
370 <T as tonic::codegen::Service<
371 http::Request<tonic::body::Body>,
372 >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
373 {
374 ConnectAppsServiceClient::new(InterceptedService::new(inner, interceptor))
375 }
376 #[must_use]
381 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
382 self.inner = self.inner.send_compressed(encoding);
383 self
384 }
385 #[must_use]
387 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
388 self.inner = self.inner.accept_compressed(encoding);
389 self
390 }
391 #[must_use]
395 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
396 self.inner = self.inner.max_decoding_message_size(limit);
397 self
398 }
399 #[must_use]
403 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
404 self.inner = self.inner.max_encoding_message_size(limit);
405 self
406 }
407 pub async fn create_connect_app(
409 &mut self,
410 request: impl tonic::IntoRequest<super::CreateConnectAppRequest>,
411 ) -> std::result::Result<
412 tonic::Response<super::CreateConnectAppResponse>,
413 tonic::Status,
414 > {
415 self.inner
416 .ready()
417 .await
418 .map_err(|e| {
419 tonic::Status::unknown(
420 format!("Service was not ready: {}", e.into()),
421 )
422 })?;
423 let codec = tonic::codec::ProstCodec::default();
424 let path = http::uri::PathAndQuery::from_static(
425 "/nominal.connect.v1.ConnectAppsService/CreateConnectApp",
426 );
427 let mut req = request.into_request();
428 req.extensions_mut()
429 .insert(
430 GrpcMethod::new(
431 "nominal.connect.v1.ConnectAppsService",
432 "CreateConnectApp",
433 ),
434 );
435 self.inner.unary(req, path, codec).await
436 }
437 pub async fn get_connect_app(
439 &mut self,
440 request: impl tonic::IntoRequest<super::GetConnectAppRequest>,
441 ) -> std::result::Result<
442 tonic::Response<super::GetConnectAppResponse>,
443 tonic::Status,
444 > {
445 self.inner
446 .ready()
447 .await
448 .map_err(|e| {
449 tonic::Status::unknown(
450 format!("Service was not ready: {}", e.into()),
451 )
452 })?;
453 let codec = tonic::codec::ProstCodec::default();
454 let path = http::uri::PathAndQuery::from_static(
455 "/nominal.connect.v1.ConnectAppsService/GetConnectApp",
456 );
457 let mut req = request.into_request();
458 req.extensions_mut()
459 .insert(
460 GrpcMethod::new(
461 "nominal.connect.v1.ConnectAppsService",
462 "GetConnectApp",
463 ),
464 );
465 self.inner.unary(req, path, codec).await
466 }
467 pub async fn update_connect_app_metadata(
469 &mut self,
470 request: impl tonic::IntoRequest<super::UpdateConnectAppMetadataRequest>,
471 ) -> std::result::Result<
472 tonic::Response<super::UpdateConnectAppMetadataResponse>,
473 tonic::Status,
474 > {
475 self.inner
476 .ready()
477 .await
478 .map_err(|e| {
479 tonic::Status::unknown(
480 format!("Service was not ready: {}", e.into()),
481 )
482 })?;
483 let codec = tonic::codec::ProstCodec::default();
484 let path = http::uri::PathAndQuery::from_static(
485 "/nominal.connect.v1.ConnectAppsService/UpdateConnectAppMetadata",
486 );
487 let mut req = request.into_request();
488 req.extensions_mut()
489 .insert(
490 GrpcMethod::new(
491 "nominal.connect.v1.ConnectAppsService",
492 "UpdateConnectAppMetadata",
493 ),
494 );
495 self.inner.unary(req, path, codec).await
496 }
497 pub async fn commit(
499 &mut self,
500 request: impl tonic::IntoRequest<super::CommitRequest>,
501 ) -> std::result::Result<tonic::Response<super::CommitResponse>, tonic::Status> {
502 self.inner
503 .ready()
504 .await
505 .map_err(|e| {
506 tonic::Status::unknown(
507 format!("Service was not ready: {}", e.into()),
508 )
509 })?;
510 let codec = tonic::codec::ProstCodec::default();
511 let path = http::uri::PathAndQuery::from_static(
512 "/nominal.connect.v1.ConnectAppsService/Commit",
513 );
514 let mut req = request.into_request();
515 req.extensions_mut()
516 .insert(
517 GrpcMethod::new("nominal.connect.v1.ConnectAppsService", "Commit"),
518 );
519 self.inner.unary(req, path, codec).await
520 }
521 pub async fn search_connect_apps(
523 &mut self,
524 request: impl tonic::IntoRequest<super::SearchConnectAppsRequest>,
525 ) -> std::result::Result<
526 tonic::Response<super::SearchConnectAppsResponse>,
527 tonic::Status,
528 > {
529 self.inner
530 .ready()
531 .await
532 .map_err(|e| {
533 tonic::Status::unknown(
534 format!("Service was not ready: {}", e.into()),
535 )
536 })?;
537 let codec = tonic::codec::ProstCodec::default();
538 let path = http::uri::PathAndQuery::from_static(
539 "/nominal.connect.v1.ConnectAppsService/SearchConnectApps",
540 );
541 let mut req = request.into_request();
542 req.extensions_mut()
543 .insert(
544 GrpcMethod::new(
545 "nominal.connect.v1.ConnectAppsService",
546 "SearchConnectApps",
547 ),
548 );
549 self.inner.unary(req, path, codec).await
550 }
551 pub async fn archive_connect_apps(
553 &mut self,
554 request: impl tonic::IntoRequest<super::ArchiveConnectAppsRequest>,
555 ) -> std::result::Result<
556 tonic::Response<super::ArchiveConnectAppsResponse>,
557 tonic::Status,
558 > {
559 self.inner
560 .ready()
561 .await
562 .map_err(|e| {
563 tonic::Status::unknown(
564 format!("Service was not ready: {}", e.into()),
565 )
566 })?;
567 let codec = tonic::codec::ProstCodec::default();
568 let path = http::uri::PathAndQuery::from_static(
569 "/nominal.connect.v1.ConnectAppsService/ArchiveConnectApps",
570 );
571 let mut req = request.into_request();
572 req.extensions_mut()
573 .insert(
574 GrpcMethod::new(
575 "nominal.connect.v1.ConnectAppsService",
576 "ArchiveConnectApps",
577 ),
578 );
579 self.inner.unary(req, path, codec).await
580 }
581 pub async fn unarchive_connect_apps(
583 &mut self,
584 request: impl tonic::IntoRequest<super::UnarchiveConnectAppsRequest>,
585 ) -> std::result::Result<
586 tonic::Response<super::UnarchiveConnectAppsResponse>,
587 tonic::Status,
588 > {
589 self.inner
590 .ready()
591 .await
592 .map_err(|e| {
593 tonic::Status::unknown(
594 format!("Service was not ready: {}", e.into()),
595 )
596 })?;
597 let codec = tonic::codec::ProstCodec::default();
598 let path = http::uri::PathAndQuery::from_static(
599 "/nominal.connect.v1.ConnectAppsService/UnarchiveConnectApps",
600 );
601 let mut req = request.into_request();
602 req.extensions_mut()
603 .insert(
604 GrpcMethod::new(
605 "nominal.connect.v1.ConnectAppsService",
606 "UnarchiveConnectApps",
607 ),
608 );
609 self.inner.unary(req, path, codec).await
610 }
611 pub async fn get_connect_app_bundle_download_url(
613 &mut self,
614 request: impl tonic::IntoRequest<
615 super::GetConnectAppBundleDownloadUrlRequest,
616 >,
617 ) -> std::result::Result<
618 tonic::Response<super::GetConnectAppBundleDownloadUrlResponse>,
619 tonic::Status,
620 > {
621 self.inner
622 .ready()
623 .await
624 .map_err(|e| {
625 tonic::Status::unknown(
626 format!("Service was not ready: {}", e.into()),
627 )
628 })?;
629 let codec = tonic::codec::ProstCodec::default();
630 let path = http::uri::PathAndQuery::from_static(
631 "/nominal.connect.v1.ConnectAppsService/GetConnectAppBundleDownloadUrl",
632 );
633 let mut req = request.into_request();
634 req.extensions_mut()
635 .insert(
636 GrpcMethod::new(
637 "nominal.connect.v1.ConnectAppsService",
638 "GetConnectAppBundleDownloadUrl",
639 ),
640 );
641 self.inner.unary(req, path, codec).await
642 }
643 }
644}