- add: Character service can now actually create a character correctly in the database
- add: character db client to allow the character service to talk to the database service - update: character.proto to make character data shared
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
use crate::grpc::{Character, CharacterRequest, CharacterListRequest, CharacterListResponse, CreateCharacterRequest, CreateCharacterResponse, DeleteCharacterRequest, Empty};
|
||||
use crate::grpc::{Character, CharacterRequest, CharacterListRequest, CharacterListResponse, CreateCharacterRequest, CreateCharacterResponse, DeleteCharacterRequest, DeleteCharacterResponse, Empty};
|
||||
use crate::grpc::character_service_server::CharacterService;
|
||||
use crate::grpc::database_service::MyDatabaseService;
|
||||
use tonic::{Request, Response, Status};
|
||||
@@ -101,6 +101,7 @@ impl CharacterService for MyDatabaseService {
|
||||
.map_err(|_| Status::not_found("Character not found"))?;
|
||||
|
||||
let response = CreateCharacterResponse {
|
||||
result: 0,
|
||||
character_id: character.id,
|
||||
};
|
||||
|
||||
@@ -110,7 +111,7 @@ impl CharacterService for MyDatabaseService {
|
||||
async fn delete_character(
|
||||
&self,
|
||||
request: Request<DeleteCharacterRequest>,
|
||||
) -> Result<Response<Empty>, Status> {
|
||||
) -> Result<Response<DeleteCharacterResponse>, Status> {
|
||||
let req = request.into_inner();
|
||||
let repo = &self.db.character_repo;
|
||||
|
||||
@@ -118,6 +119,10 @@ impl CharacterService for MyDatabaseService {
|
||||
.await
|
||||
.map_err(|_| Status::internal("Failed to delete character"))?;
|
||||
|
||||
Ok(Response::new(Empty {}))
|
||||
let response = DeleteCharacterResponse {
|
||||
remaining_time: 0,
|
||||
name: "".to_string(),
|
||||
};
|
||||
Ok(Response::new(response))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user