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

Function update

chirpstack/src/storage/tenant.rs:229–250  ·  view source on GitHub ↗
(t: Tenant)

Source from the content-addressed store, hash-verified

227}
228
229pub async fn update(t: Tenant) -> Result<Tenant, Error> {
230 t.validate()?;
231
232 let t: Tenant = diesel::update(tenant::dsl::tenant.find(&t.id))
233 .set((
234 tenant::updated_at.eq(Utc::now()),
235 tenant::name.eq(&t.name),
236 tenant::description.eq(&t.description),
237 tenant::can_have_gateways.eq(&t.can_have_gateways),
238 tenant::max_device_count.eq(&t.max_device_count),
239 tenant::max_gateway_count.eq(&t.max_gateway_count),
240 tenant::private_gateways_up.eq(&t.private_gateways_up),
241 tenant::private_gateways_down.eq(&t.private_gateways_down),
242 tenant::tags.eq(&t.tags),
243 tenant::dev_addr_prefixes.eq(&t.dev_addr_prefixes),
244 ))
245 .get_result(&mut get_async_db_conn().await?)
246 .await
247 .map_err(|e| Error::from_diesel(e, t.id.to_string()))?;
248 info!(id = %t.id, "Tenant updated");
249 Ok(t)
250}
251
252pub async fn delete(id: &Uuid) -> Result<(), Error> {
253 let ra = diesel::delete(tenant::dsl::tenant.find(&fields::Uuid::from(id)))

Callers 2

update_userFunction · 0.70
test_tenantFunction · 0.70

Calls 4

setMethod · 0.80
to_stringMethod · 0.80
get_async_db_connFunction · 0.70
validateMethod · 0.45

Tested by 1

test_tenantFunction · 0.56