namespace CMSMicroservice.Application.Common.Interfaces;
///
/// سرویس ارتباط با API چتیکا برای ساخت حساب کاربری
///
public interface IChatikaApiService
{
///
/// ایجاد حساب کاربری در چتیکا
///
/// شماره موبایل کاربر
/// نام کامل کاربر
/// Cancellation token
/// نتیجه ایجاد حساب
Task CreateAccountAsync(
string mobileNumber,
string fullName,
CancellationToken cancellationToken = default);
}
///
/// نتیجه ایجاد حساب در چتیکا
///
public class ChatikaAccountResult
{
///
/// موفقیت عملیات
///
public bool IsSuccess { get; set; }
///
/// پیام خطا در صورت عدم موفقیت
///
public string? ErrorMessage { get; set; }
///
/// شناسه کاربر در چتیکا
///
public string? ChatikaUserId { get; set; }
///
/// URL دسترسی به چتیکا
///
public string? AccessUrl { get; set; }
///
/// ایجاد نتیجه موفق
///
public static ChatikaAccountResult Success(string? chatikaUserId = null, string? accessUrl = null) => new()
{
IsSuccess = true,
ChatikaUserId = chatikaUserId,
AccessUrl = accessUrl
};
///
/// ایجاد نتیجه ناموفق
///
public static ChatikaAccountResult Failure(string errorMessage) => new()
{
IsSuccess = false,
ErrorMessage = errorMessage
};
}