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