Files
3cx_tapi/server/src/CPATapi.Server/Controllers/CallerIdController.cs
T

38 lines
1.6 KiB
C#
Raw Normal View History

2026-03-18 11:27:11 +01:00
using CPATapi.Server.Models;
using Dapper;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Data.SqlClient;
namespace CPATapi.Server.Controllers
{
[Route("[controller]")]
[ApiController]
2026-03-18 11:38:04 +01:00
public class CallerIdController(IConfiguration config) : ControllerBase
2026-03-18 11:27:11 +01:00
{
[HttpGet, Route("{number}")]
public async Task<TapiContact> CallerIdAsync([FromRoute] string number)
{
if (number.Length >= 5)
{
var minMatch = number[^5..];
number = "%" + minMatch;
}
2026-03-18 11:38:04 +01:00
await using var con = new SqlConnection(config["Db:ConnectionString"]);
2026-03-18 11:27:11 +01:00
await con.OpenAsync();
2026-03-18 11:38:04 +01:00
var result = await con.QueryFirstOrDefaultAsync<TapiContact>("""
SELECT
TD_ID,
TD_NAME,
TD_NUMBER,
TD_NUMBER_TAPI,
TD_MEDIUM
FROM dbo.CP_TAPI_DIRECTORY
WHERE TD_NUMBER_TAPI LIKE @number
""", new {number});
2026-03-18 11:27:11 +01:00
return result;
}
}
}