36 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using DysonNetwork.Shared.Models;
 | 
						|
using Microsoft.AspNetCore.Mvc;
 | 
						|
 | 
						|
namespace DysonNetwork.Develop.Identity;
 | 
						|
 | 
						|
[ApiController]
 | 
						|
[Route("api/bots")]
 | 
						|
public class BotAccountPublicController(BotAccountService botService, DeveloperService developerService) : ControllerBase
 | 
						|
{
 | 
						|
    [HttpGet("{botId:guid}")]
 | 
						|
    public async Task<ActionResult<SnBotAccount>> GetBotTransparentInfo([FromRoute] Guid botId)
 | 
						|
    {
 | 
						|
        var bot = await botService.GetBotByIdAsync(botId);
 | 
						|
        if (bot is null) return NotFound("Bot not found");
 | 
						|
        bot = await botService.LoadBotAccountAsync(bot);
 | 
						|
 | 
						|
        var developer = await developerService.GetDeveloperById(bot!.Project.DeveloperId);
 | 
						|
        if (developer is null) return NotFound("Developer not found");
 | 
						|
        bot.Developer = await developerService.LoadDeveloperPublisher(developer);
 | 
						|
 | 
						|
        return Ok(bot);
 | 
						|
    }
 | 
						|
 | 
						|
    [HttpGet("{botId:guid}/developer")]
 | 
						|
    public async Task<ActionResult<SnDeveloper>> GetBotDeveloper([FromRoute] Guid botId)
 | 
						|
    {
 | 
						|
        var bot = await botService.GetBotByIdAsync(botId);
 | 
						|
        if (bot is null) return NotFound("Bot not found");
 | 
						|
        
 | 
						|
        var developer = await developerService.GetDeveloperById(bot!.Project.DeveloperId);
 | 
						|
        if (developer is null) return NotFound("Developer not found");
 | 
						|
        developer = await developerService.LoadDeveloperPublisher(developer);
 | 
						|
 | 
						|
        return Ok(developer);
 | 
						|
    }
 | 
						|
} |