Files
auth-mistox/src/Server/Controllers/RedisController.cs
T
derek 56e2391204
Docker Build and Release Upload / build (push) Successful in 1m27s
Update inputs for key/value controller
2025-09-09 22:04:28 -07:00

47 lines
1.5 KiB
C#

using Microsoft.AspNetCore.Mvc;
using System.Web.Http;
using StackExchange.Redis;
using Auth.Services.DatabaseService;
using Auth.Services;
using Auth.Entities;
namespace Auth.Controllers {
[ApiController]
[Route("api/db/")]
public class RedisController : MistoxControllerBase {
private readonly ConnectionMultiplexer _redis;
private readonly IDatabase _redisdb;
public RedisController(DatabaseService db) : base(db) {
_redis = ConnectionMultiplexer.Connect("auth-redis:6379");
_redisdb = _redis.GetDatabase();
}
[Route("get")]
[HttpPost]
public async Task<ActionResult<string>> Get([FromBody]string JWT, [FromQuery]string key) {
Account? account = AuthJWT.ValidateJWTToken(JWT);
if (account != null) {
RedisValue result = await _redisdb.StringGetAsync( account.ID + account.Site + key );
return Ok(result.ToString());
} else {
return BadRequest("JWT Not Valid");
}
}
[Route("set")]
[HttpPost]
public async Task<ActionResult> Set([FromBody]string JWT, [FromQuery]string key, [FromQuery]string value) {
Account? account = AuthJWT.ValidateJWTToken(JWT);
if (account != null) {
await _redisdb.StringSetAsync( account.ID + account.Site + key, value );
return Ok();
} else {
return BadRequest("JWT Not Valid");
}
}
}
}