pub async fn update_user(
tracking_label: &str,
config: &CoreConfig,
db_pool: &Pool<PostgresConnectionManager<MakeTlsConnector>>,
kafka_pool: &KafkaPublisher,
headers: &HeaderMap<HeaderValue>,
bytes: &[u8],
) -> Result<Response<Body>, Infallible>
Expand description
update_user
Handles updating a user record (in the users
table)
based off values in the POST-ed hyper
Request
’s Body
§Overview Notes
This function only updates 1 users
record at a time.
§Arguments
tracking_label
-&str
- caller logging labelconfig
-CoreConfig
db_pool
-Pool
- postgres client db threadpool with required tls encryptionkafka_pool
-KafkaPublisher
for asynchronously publishing messages to the connected kafka clusterheaders
-HeaderMap
- hashmap containing headers in key-value pairsRequest
’sBody
bytes
-&[u8]
- received bytes from the hyperRequest
’sBody
§Returns
§update_user on Success Returns
The newly-updated users
record from the db
(ApiResUserUpdate
)
hyper Response
containing a json-serialized
ApiResUserUpdate
dictionary within the
Body
and a
200
HTTP status code
Ok(Response
)
§Errors
§update_user on Failure Returns
All errors return as a
hyper Response
containing a json-serialized
ApiResUserUpdate
dictionary with a
non-200
HTTP status code
Err(Response
)