Files
Module.PremiumArea/Client/Services/UserContactService.cs

33 lines
1.2 KiB
C#

using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;
using Oqtane.Models;
using Oqtane.Services;
using Oqtane.Shared;
namespace SZUAbsolventenverein.Module.PremiumArea.Services
{
public interface IUserContactService
{
Task<List<User>> SearchUsersAsync(string query, int moduleId);
Task SendMessageAsync(int recipientUserId, string message, int moduleId);
}
public class UserContactService : ServiceBase, IUserContactService
{
public UserContactService(HttpClient http, SiteState siteState) : base(http, siteState) { }
private string Apiurl => CreateApiUrl("UserContact");
public async Task<List<User>> SearchUsersAsync(string query, int moduleId)
{
return await GetJsonAsync<List<User>>(CreateAuthorizationPolicyUrl($"{Apiurl}/search/{query}?moduleid={moduleId}", EntityNames.Module, moduleId));
}
public async Task SendMessageAsync(int recipientUserId, string message, int moduleId)
{
await PostAsync(CreateAuthorizationPolicyUrl($"{Apiurl}/send?recipientId={recipientUserId}&moduleid={moduleId}&message={System.Net.WebUtility.UrlEncode(message)}", EntityNames.Module, moduleId));
}
}
}