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 }; }