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

Method update

chirpstack/src/api/user.rs:116–153  ·  view source on GitHub ↗
(
        &self,
        request: Request<api::UpdateUserRequest>,
    )

Source from the content-addressed store, hash-verified

114 }
115
116 async fn update(
117 &self,
118 request: Request<api::UpdateUserRequest>,
119 ) -> Result<Response<()>, Status> {
120 let req_user = match &request.get_ref().user {
121 Some(v) => v,
122 None => {
123 return Err(Status::invalid_argument("user is missing"));
124 }
125 };
126 let user_id = Uuid::from_str(&req_user.id).map_err(|e| e.status())?;
127
128 self.validator
129 .validate(
130 request.extensions(),
131 validator::ValidateUserAccess::new(validator::Flag::Update, user_id),
132 )
133 .await?;
134
135 // update
136 let _ = user::update(user::User {
137 id: user_id.into(),
138 is_admin: req_user.is_admin,
139 is_active: req_user.is_active,
140 email: req_user.email.clone(),
141 email_verified: true,
142 note: req_user.note.clone(),
143 ..Default::default()
144 })
145 .await
146 .map_err(|e| e.status())?;
147
148 let mut resp = Response::new(());
149 resp.metadata_mut()
150 .insert("x-log-user_id", req_user.id.parse().unwrap());
151
152 Ok(resp)
153 }
154
155 async fn delete(
156 &self,

Callers 15

create_sas_tokenFunction · 0.45
test_userFunction · 0.45
calculate_micFunction · 0.45
UserStoreClass · 0.45
ApplicationStoreClass · 0.45
TenantStoreClass · 0.45
DeviceProfileStoreClass · 0.45
GatewayStoreClass · 0.45

Calls 6

statusMethod · 0.80
insertMethod · 0.80
unwrapMethod · 0.80
updateFunction · 0.50
validateMethod · 0.45
intoMethod · 0.45

Tested by 1

test_userFunction · 0.36