using System; using System.Threading.Tasks; using Chtn.CSharp.SDK.Core; using Chtn.CSharp.SDK.Models.Call; namespace Chtn.CSharp.SDK.Services { public interface ICallService { Task InviteToCall(InviteToCallReq req); Task GetRTCAccess(GetRTCAccessReq req); } public class CallServiceProvider: ICallService { private readonly ApiClient _apiClient; public CallServiceProvider(ApiClient apiClient) { _apiClient = apiClient ?? throw new ArgumentNullException(nameof(apiClient)); } public async Task InviteToCall(InviteToCallReq req) => await _apiClient.PostAsync("v2/chat/rtcInvite", req); public async Task GetRTCAccess(GetRTCAccessReq req) => await _apiClient.PostAsync("v2/chat/getRTCAccess", req); } }