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

31 lines
825 B
C#
Raw Normal View History

2026-03-19 13:35:53 +01:00
using CPATapi.Server.Interfaces;
2026-03-18 11:27:11 +01:00
using CPATapi.Server.Models;
using Microsoft.AspNetCore.Mvc;
2026-03-19 13:35:53 +01:00
namespace CPATapi.Server.Controllers;
[Route("[controller]")]
[ApiController]
public class CallerIdController(ITapiDirectoryRepository tapiDirectory) : ControllerBase
2026-03-18 11:27:11 +01:00
{
2026-03-19 13:35:53 +01:00
[HttpGet]
[Route("{number}")]
[ProducesResponseType<TapiContact>(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status404NotFound)]
public async Task<IActionResult> CallerIdAsync([FromRoute] string number)
2026-03-18 11:27:11 +01:00
{
2026-03-19 13:35:53 +01:00
if (number.Length >= 5)
2026-03-18 11:27:11 +01:00
{
2026-03-19 13:35:53 +01:00
var minMatch = number[^5..];
number = "%" + minMatch;
2026-03-18 11:27:11 +01:00
}
2026-03-19 13:35:53 +01:00
var result = await tapiDirectory.SearchByNumberAsync(number);
if (result != null)
{
return Ok(result);
}
return NotFound();
2026-03-18 11:27:11 +01:00
}
}