MCPcopy Create free account
hub / github.com/chirpstack/chirpstack / update_influx_db_integration

Method update_influx_db_integration

chirpstack/src/api/application.rs:525–573  ·  view source on GitHub ↗
(
        &self,
        request: Request<api::UpdateInfluxDbIntegrationRequest>,
    )

Source from the content-addressed store, hash-verified

523 }
524
525 async fn update_influx_db_integration(
526 &self,
527 request: Request<api::UpdateInfluxDbIntegrationRequest>,
528 ) -> Result<Response<()>, Status> {
529 let req_int = match &request.get_ref().integration {
530 Some(v) => v,
531 None => {
532 return Err(Status::invalid_argument("integration is missing"));
533 }
534 };
535 let app_id = Uuid::from_str(&req_int.application_id).map_err(|e| e.status())?;
536
537 self.validator
538 .validate(
539 request.extensions(),
540 validator::ValidateApplicationAccess::new(validator::Flag::Update, app_id),
541 )
542 .await?;
543
544 let _ = application::update_integration(application::Integration {
545 application_id: app_id.into(),
546 kind: application::IntegrationKind::InfluxDb,
547 configuration: application::IntegrationConfiguration::InfluxDb(
548 application::InfluxDbConfiguration {
549 endpoint: req_int.endpoint.clone(),
550 db: req_int.db.clone(),
551 username: req_int.username.clone(),
552 password: req_int.password.clone(),
553 retention_policy_name: req_int.retention_policy_name.clone(),
554 precision: req_int.precision,
555 version: req_int.version,
556 token: req_int.token.clone(),
557 organization: req_int.organization.clone(),
558 bucket: req_int.bucket.clone(),
559 },
560 ),
561 ..Default::default()
562 })
563 .await
564 .map_err(|e| e.status())?;
565
566 let mut resp = Response::new(());
567 resp.metadata_mut().insert(
568 "x-log-application_id",
569 req_int.application_id.parse().unwrap(),
570 );
571
572 Ok(resp)
573 }
574
575 async fn delete_influx_db_integration(
576 &self,

Callers 1

Calls 6

update_integrationFunction · 0.85
statusMethod · 0.80
insertMethod · 0.80
unwrapMethod · 0.80
validateMethod · 0.45
intoMethod · 0.45

Tested by 1