Adding user IDs to core functions
For our core function, we must remember that our core does not want to have dependencies on other servers. Therefore, we merely pass in the user ID into our core API functions with the following code:
// nanoservices/to_do/core/src/api/basic_actions/create.rs
pub async fn create<T: SaveOne>(item: NewToDoItem, user_id: i32)
-> Result<ToDoItem, NanoServiceError> {
let created_item = T::save_one(item, user_id).await?;
Ok(created_item)
}
// nanoservices/to_do/core/src/api/basic_actions/delete.rs
pub async fn delete<T: DeleteOne>(id: &str, user_id: i32)
-> Result<(), NanoServiceError> {
let _ = T::delete_one(id.to_string(), user_id).await?;
Ok(())
}
// nanoservices/to_do/core/src/api/basic_actions/get.rs
pub async fn get_all<T: GetAll>(user_id: i32)
-> Result<AllToDOItems, NanoServiceError> {
let all_items = T::get_all(user_id).await?;
AllToDOItems::from_vec(all_items)
}...