27 lines
		
	
	
		
			960 B
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			960 B
		
	
	
	
		
			C#
		
	
	
	
	
	
| using DysonNetwork.Shared.Proto;
 | |
| using Grpc.Core;
 | |
| 
 | |
| namespace DysonNetwork.Pass.Credit;
 | |
| 
 | |
| public class SocialCreditServiceGrpc(SocialCreditService creditService) : Shared.Proto.SocialCreditService.SocialCreditServiceBase
 | |
| {
 | |
|     public override async Task<Shared.Proto.SocialCreditRecord> AddRecord(AddSocialCreditRecordRequest request, ServerCallContext context)
 | |
|     {
 | |
|         var accountId = Guid.Parse(request.AccountId);
 | |
|         var record = await creditService.AddRecord(
 | |
|             request.ReasonType,
 | |
|             request.Reason,
 | |
|             request.Delta,
 | |
|             accountId);
 | |
| 
 | |
|         return record.ToProto();
 | |
|     }
 | |
| 
 | |
|     public override async Task<SocialCreditResponse> GetSocialCredit(GetSocialCreditRequest request, ServerCallContext context)
 | |
|     {
 | |
|         var accountId = Guid.Parse(request.AccountId);
 | |
|         var amount = await creditService.GetSocialCredit(accountId);
 | |
|         
 | |
|         return new SocialCreditResponse { Amount = amount };
 | |
|     }
 | |
| } |