using ComplianceDAL.DTO.AdapterConfig; using ComplianceDAL.DTO.GSTEInvoice; using ComplianceDAL.DTO.GSTReturn; using Microsoft.Extensions.Logging; namespace ComplianceBLL.Adapter; // Stub — secondary GSP alongside GSTCafe; same interface, different API endpoints // MasterSuvidha (SourceType=2) — wire real endpoints when credentials are obtained public class MasterSuvidhaAdapter(IHttpClientFactory httpFactory, ILogger logger) : IComplianceAdapter { private const string NotImplementedMessage = "MasterSuvidha adapter is not yet implemented. Phase 7 stub only."; public Task RequestOTPAsync(GSTHeaderDTO header, AdapterConfigDTO config, CancellationToken ct) => throw new NotImplementedException(NotImplementedMessage); public Task GetAuthTokenAsync(string otp, GSTHeaderDTO header, AdapterConfigDTO config, CancellationToken ct) => throw new NotImplementedException(NotImplementedMessage); public Task GenerateEInvoiceAsync(string payloadJson, string gstin, string authToken, string sek, AdapterConfigDTO config, CancellationToken ct) => throw new NotImplementedException(NotImplementedMessage); public Task CancelEInvoiceAsync(string irn, int cancelReasonType, string reason, string gstin, string authToken, string sek, AdapterConfigDTO config, CancellationToken ct) => throw new NotImplementedException(NotImplementedMessage); public Task GenerateEWayBillAsync(string payloadJson, string gstin, string authToken, string sek, AdapterConfigDTO config, CancellationToken ct) => throw new NotImplementedException(NotImplementedMessage); public Task CancelEWayBillAsync(string ewbNumber, int cancelReasonType, string reason, string gstin, string authToken, string sek, AdapterConfigDTO config, CancellationToken ct) => throw new NotImplementedException(NotImplementedMessage); public Task UpdateVehicleAsync(string payloadJson, string gstin, string authToken, string sek, AdapterConfigDTO config, CancellationToken ct) => throw new NotImplementedException(NotImplementedMessage); public Task GenerateEWayBillFromIRNAsync(string payloadJson, string gstin, string authToken, string sek, AdapterConfigDTO config, CancellationToken ct) => throw new NotImplementedException(NotImplementedMessage); public Task SaveReturnAsync(string returnType, string payloadJson, GSTHeaderDTO header, AdapterConfigDTO config, CancellationToken ct) => throw new NotImplementedException(NotImplementedMessage); public Task SubmitReturnAsync(string returnType, GSTHeaderDTO header, AdapterConfigDTO config, CancellationToken ct) => throw new NotImplementedException(NotImplementedMessage); public Task FileReturnAsync(string returnType, GSTHeaderDTO header, AdapterConfigDTO config, CancellationToken ct) => throw new NotImplementedException(NotImplementedMessage); public Task GetReturnStatusAsync(string referenceId, GSTHeaderDTO header, AdapterConfigDTO config, CancellationToken ct) => throw new NotImplementedException(NotImplementedMessage); public Task FetchInwardDataAsync(string action, GSTHeaderDTO header, AdapterConfigDTO config, CancellationToken ct) => throw new NotImplementedException(NotImplementedMessage); }