1
This commit is contained in:
24
Controllers/IDIS_DiagnosisController.cs
Normal file
24
Controllers/IDIS_DiagnosisController.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using IDIS;
|
||||
using IDIS_Server_SIM.Extensions;
|
||||
using CAICT.IDIS.Service;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace CN.CAICT.IDIS.Controllers;
|
||||
|
||||
/// <summary>
|
||||
/// 诊断控制器
|
||||
/// </summary>
|
||||
[ApiController]
|
||||
public class IDIS_DiagnosisController:Controller
|
||||
{
|
||||
/// <summary>
|
||||
/// 诊断,使用该接口确保应用运行中
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[Route("/api/diagnosis")]
|
||||
public string Diagnose()
|
||||
{
|
||||
return "OK";
|
||||
}
|
||||
}
|
146
Controllers/IDIS_ServiceController.cs
Normal file
146
Controllers/IDIS_ServiceController.cs
Normal file
@@ -0,0 +1,146 @@
|
||||
using BITKit;
|
||||
using IDIS;
|
||||
using CAICT.IDIS;
|
||||
using CAICT.IDIS.Service;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace CN.CAICT.IDIS.Controllers;
|
||||
|
||||
[ApiController]
|
||||
public class IDIS_ServiceController:Controller
|
||||
{
|
||||
private readonly IDIS_Service _service;
|
||||
public IDIS_ServiceController(IDIS_Service service)
|
||||
{
|
||||
_service = service;
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取服务器信息
|
||||
/// </summary>
|
||||
/// <returns>主机名称</returns>
|
||||
[HttpGet]
|
||||
[Route("info")]
|
||||
public IActionResult Info()
|
||||
{
|
||||
return Ok(new IDIS_Response(Environment.MachineName));
|
||||
}
|
||||
/// <summary>
|
||||
/// 一次解析所有标识
|
||||
/// </summary>
|
||||
/// <returns>所有标识的数组</returns>
|
||||
[HttpGet]
|
||||
[Route("/identityv2/data/detail/all")]
|
||||
public async Task<IActionResult> QueryAll()
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = await _service.ToArrayAsync();
|
||||
var response = new IDIS_Response(result);
|
||||
var json = JsonConvert.SerializeObject(response);
|
||||
//return Ok(JsonConvert.SerializeObject(response));
|
||||
return new ContentResult()
|
||||
{
|
||||
Content = json,
|
||||
ContentType = "application/json",
|
||||
StatusCode = 200
|
||||
};
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
return BadRequest(new IDIS_Response(e.Message,false)
|
||||
{
|
||||
Status = 2
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 解析表示
|
||||
/// </summary>
|
||||
/// <param name="handle">标识码</param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[Route("/identityv2/data/detail")]
|
||||
public async Task<IActionResult> Query(string handle)
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = await _service.QueryAsync(handle);
|
||||
var response = new IDIS_Response(result);
|
||||
var json = JsonConvert.SerializeObject(response);
|
||||
//return Ok(JsonConvert.SerializeObject(response));
|
||||
return new ContentResult()
|
||||
{
|
||||
Content = json,
|
||||
ContentType = "application/json",
|
||||
StatusCode = 200
|
||||
};
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
return BadRequest(new IDIS_Response(e.Message,false)
|
||||
{
|
||||
Status = 2
|
||||
});
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 查询标识是否存在
|
||||
/// </summary>
|
||||
/// <param name="code">标识码</param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[Route("isExist")]
|
||||
public async Task<IActionResult> IsExist(string code)
|
||||
{
|
||||
return Ok(new IDIS_Response(await _service.IsExistAsync(code)));
|
||||
}
|
||||
/// <summary>
|
||||
/// 注册标识
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Route("/identityv2/data")]
|
||||
public async Task<IActionResult> Register()
|
||||
{
|
||||
try
|
||||
{
|
||||
using var reader = new StreamReader(Request.Body);
|
||||
var json = await reader.ReadToEndAsync();
|
||||
var data = JsonConvert.DeserializeObject<IDIS_Register_Data>(json)!;
|
||||
await _service.RegisterIDISAsync(data.Handle, data.TemplateVersion, data.Value);
|
||||
return Ok(new IDIS_Response());
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
return BadRequest(new IDIS_Response(e.Message,false)
|
||||
{
|
||||
Status = 2
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 更新标识(目前不可用)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[Route("update")]
|
||||
public string Update()
|
||||
{
|
||||
return "err:0";
|
||||
}
|
||||
/// <summary>
|
||||
/// 删除标识
|
||||
/// </summary>
|
||||
/// <param name="code">标识码</param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[Route("delete")]
|
||||
public async Task<bool> Delete (string code)
|
||||
{
|
||||
await _service.DeleteAsync(code);
|
||||
return true;
|
||||
}
|
||||
}
|
69
Controllers/IDIS_TemplateController.cs
Normal file
69
Controllers/IDIS_TemplateController.cs
Normal file
@@ -0,0 +1,69 @@
|
||||
using BITKit;
|
||||
using IDIS;
|
||||
using CAICT.IDIS;
|
||||
using CAICT.IDIS.Service;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace CN.CAICT.IDIS.Controllers;
|
||||
|
||||
[ApiController]
|
||||
|
||||
public class IDIS_TemplateController:Controller
|
||||
{
|
||||
private readonly IDIS_TemplateService _service;
|
||||
private readonly ILogger<IDIS_TemplateController> _logger;
|
||||
|
||||
public IDIS_TemplateController(IDIS_TemplateService service, ILogger<IDIS_TemplateController> logger)
|
||||
{
|
||||
_service = service;
|
||||
_logger = logger;
|
||||
}
|
||||
/// <summary>
|
||||
/// 查询标识模板
|
||||
/// </summary>
|
||||
/// <param name="prefix">前缀,例如88.123.99</param>
|
||||
/// <param name="version">版本,例如v0.0.1</param>
|
||||
/// <returns></returns>
|
||||
[Route("/snms/api/template/v1")]
|
||||
[HttpGet]
|
||||
public async Task<IActionResult> Query(string prefix, string version)
|
||||
{
|
||||
try
|
||||
{
|
||||
return Ok(new IDIS_Response(await _service.QueryAsync(prefix, version)));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
return BadRequest(new IDIS_Response(e.Message,false)
|
||||
{
|
||||
Status = 2
|
||||
});
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 保存标识模板
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Route("/snms/api/template/v1")]
|
||||
[HttpPost]
|
||||
public async Task<IActionResult> Save()
|
||||
{
|
||||
using var reader = new StreamReader(Request.Body);
|
||||
var json = await reader.ReadToEndAsync();
|
||||
|
||||
try
|
||||
{
|
||||
var data = JsonConvert.DeserializeObject<IDIS_Template>(json)!;
|
||||
await _service.SaveAsync(data);
|
||||
return Ok(new IDIS_Response());
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
return BadRequest(new IDIS_Response(e.Message, false)
|
||||
{
|
||||
Status = 2
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user