using BITKit; using IDIS; using IDIS.Models; using IDIS.Services; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json; namespace IDIS_Server_SIM.Controllers; [ApiController] [Route("api")] public class IDISController:Controller { private readonly IDIS_Service _service; public IDISController(IDIS_Service service) { _service = service; } [HttpGet] [Route("info")] public IActionResult Info() { return new ContentResult { Content = Environment.MachineName }; } [HttpGet] [Route("query")] public async Task Query(string key) { try { return Ok(await _service.QueryAsync(key)); } catch (Exception e) { return BadRequest(ContextModel.Error(e.ToString())); } } [HttpGet] [Route("isExist")] public async Task IsExist(string key) { return await _service.IsExistAsync(key); } [HttpPost] [Route("register")] public async Task Register() { using var reader = new StreamReader(Request.Body); var json = await reader.ReadToEndAsync(); var data = JsonConvert.DeserializeObject(json)!; var response = await _service.RegisterAsync(data.Handle, data.TemplateVersion, data.Value); return Ok(response); } [HttpGet] [Route("update")] public string Update([FromBody] string json) { return "err:0"; } [HttpGet] [Route("delete")] public async Task Delete (string handle) { await _service.DeleteAsync(handle); return true; } }