using IntegryApiClient.Core.Domain.Abstraction.Contracts.Account; using IntegryApiClient.Core.Domain.RestClient.Contacts; using salesbook.Shared.Core.Dto; using salesbook.Shared.Core.Entity; using salesbook.Shared.Core.Interface.IntegryApi; namespace salesbook.Shared.Core.Services; public class IntegryNotificationRestClient( IUserSession userSession, IIntegryApiRestClient integryApiRestClient) : IIntegryNotificationRestClient { public Task?> Get() { var queryParams = new Dictionary { { "mode", "ENABLED" }, { "forUser", userSession.User.Username } }; return integryApiRestClient.Get>("notification", queryParams); } public Task MarkAsRead(long id) => integryApiRestClient.Post("notification/read", new ReadNotificationRequestDTO { NotificationId = id, Username = userSession.User.Username })!; public Task Delete(long id) => integryApiRestClient.Delete($"notification/{id}", null); public Task DeleteAll() => integryApiRestClient.Delete($"notification/all/{userSession.User.Username}", null); }