using System; using System.Threading.Tasks; using EventHub.Organizations.Memberships; using Microsoft.AspNetCore.Mvc; using Volo.Abp; using Volo.Abp.Application.Dtos; using Volo.Abp.AspNetCore.Mvc; namespace EventHub.Controllers.Organizations.Memberships { [RemoteService(Name = EventHubRemoteServiceConsts.RemoteServiceName)] [Area("eventhub")] [ControllerName("OrganizationMembership")] [Route("api/eventhub/organization-membership")] public class OrganizationMembershipController : AbpController, IOrganizationMembershipAppService { private readonly IOrganizationMembershipAppService _organizationMembershipAppService; public OrganizationMembershipController(IOrganizationMembershipAppService organizationMembershipAppService) { _organizationMembershipAppService = organizationMembershipAppService; } [HttpPut] [Route("join/{organizationId}")] public async Task JoinAsync(Guid organizationId) { await _organizationMembershipAppService.JoinAsync(organizationId); } [HttpPut] [Route("leave/{organizationId}")] public async Task LeaveAsync(Guid organizationId) { await _organizationMembershipAppService.LeaveAsync(organizationId); } [HttpGet] [Route("is-joined/{organizationId}")] public async Task IsJoinedAsync(Guid organizationId) { return await _organizationMembershipAppService.IsJoinedAsync(organizationId); } [HttpGet] public async Task> GetMembersAsync(OrganizationMemberListFilterDto input) { return await _organizationMembershipAppService.GetMembersAsync(input); } } }