using Vo;
using Microsoft.AspNetCore.Mvc;
using Model;
using Services;
using Model.Base;
using Vo.Admin;
using Mapster;
using Infrastructure;
using Dto.Admin;
using Util;
namespace Controllers.Admin
{
///
/// DatabaseInfo)Controller
///
// [ApiExplorerSettings(GroupName = "DatabaseInfo")]
public class DatabaseInfoController : BaseController
{
private readonly IDatabaseInfoService _DatabaseInfoService;
private readonly IDatabaseTableService _DatabaseTableService;
private readonly IDatabaseFieldService _DatabaseFieldService;
public DatabaseInfoController(IDatabaseInfoService DatabaseInfoService, IDatabaseTableService DatabaseTableService, IDatabaseFieldService DatabaseFieldService)
{
_DatabaseInfoService = DatabaseInfoService;
_DatabaseTableService = DatabaseTableService;
_DatabaseFieldService = DatabaseFieldService;
}
/// 分页参数
///
/// 列表
///
/// 分页对象
/// 参数请求体
/// 列表
[HttpGet]
[Route("/v1/omega_source/DatabaseInfo/getDatabaseInfoList")]
public IActionResult getDatabaseInfoList([FromQuery] PagerInfo page, [FromQuery] DatabaseInfo param)
{
var response = _DatabaseInfoService.getDatabaseInfoList(page, param);
return SUCCESS(response);
}
///
/// 详情
///
/// 参数请求体
/// 详情
[HttpGet]
[Route("/v1/omega_source/DatabaseInfo/getDatabaseInfoQuery")]
public IActionResult getDatabaseInfoQuery([FromQuery] DatabaseInfo param)
{
var response = _DatabaseInfoService.GetFirst(m => m.id == param.id).Adapt();
return SUCCESS(response);
}
///
/// 添加
///
/// 参数请求体
/// 添加
[HttpPost]
[Route("/v1/omega_source/DatabaseInfo/addDatabaseInfo")]
public IActionResult addDatabaseInfo([FromBody] DatabaseInfo param)
{
var modal = param.Adapt().ToCreate(HttpContext);
var response = _DatabaseInfoService.InsertReturnIdentity(modal);
return SUCCESS(response);
}
///
/// 修改
///
/// 参数请求体
/// 修改
[HttpPut]
[Route("/v1/omega_source/DatabaseInfo/updateDatabaseInfo")]
public IActionResult updateDatabaseInfo([FromBody] DatabaseInfo param)
{
var modal = param.Adapt().ToCreate(HttpContext);
var response = _DatabaseInfoService.Update(modal, true);
return SUCCESS(response);
}
///
/// 删除
///
/// ID
/// 删除
[HttpDelete]
[Route("/v1/omega_source/DatabaseInfo/deleteDatabaseInfo/{id}")]
public IActionResult deleteDatabaseInfo(int id)
{
var response = _DatabaseInfoService.Delete(id);
return SUCCESS(response);
}
///
/// 生成
///
/// 参数请求体
/// 生成
[HttpPut]
[Route("/v1/omega_source/DatabaseInfo/makeDatabaseInfo")]
public IActionResult makeDatabaseInfo([FromBody] MakeDatabaseInfoDto param)
{
TokenModel loginUser = JwtUtil.GetLoginUser(HttpContext);
var tables = _DatabaseTableService.GetList(m => m.databaseId == param.id);
var fields = _DatabaseFieldService.GetList(m => m.databaseId == param.id);
_DatabaseInfoService.makeDatabaseInfo(param, tables, fields, loginUser);
return SUCCESS("ok");
}
///
/// 克隆已有库
///
/// 参数请求体
/// 克隆已有库
[HttpPost]
[Route("/v1/omega_source/DatabaseInfo/copyDatabaseInfo")]
public IActionResult copyDatabaseInfo([FromBody] CopyDatabaseInfoDto param)
{
return SUCCESS("ok");
}
}
}