using Attribute;
using Base;
using Common;
using Dto;
using Enums;
using Extensions;
using Filters;
using Infrastructure;
using Infrastructure.Model;
using Mapster;
using Microsoft.AspNetCore.Mvc;
using Middleware;
using Model;
using Model.Base;
using Services;
using Util;
using Vo;
namespace Controllers.Feign
{
public class VsCodeController : BaseController
{
private readonly IProjectService projectService;
private readonly IProjectServiceService projectServiceService;
public VsCodeController(IProjectService projectService, IProjectServiceService projectServiceService)
{
this.projectService = projectService;
this.projectServiceService = projectServiceService;
}
///
/// vscode项目列表
///
///
///
[HttpPost("/api/vscode/projects")]
public IActionResult Projects()
{
TokenModel tokenModel = JwtUtil.GetLoginUser(HttpContext);
if(tokenModel == null)
{
return ToResponse(ResultCode.BAD_REQUEST, "用户未登录");
}
List list = new List();
var projects = projectService.GetList(m => m.createBy == tokenModel.username);
foreach (var project in projects)
{
ProjectVo item = new ProjectVo();
item.projectId = project.id;
item.projectType = 0;
item.projectName = project.projectName;
item.serverList = new List();
List servers = projectServiceService.GetList(m => m.projectId == project.id);
foreach(var server in servers)
{
ServerVo subitem = new ServerVo();
subitem.serverId = server.id;
subitem.serverName = server.serviceTitle;
item.serverList.Add(subitem);
}
list.Add(item);
}
return SUCCESS(list);
}
}
}