server-master/srcs/WingsAPI.Communication/Families/IFamilyService.cs
2026-02-10 18:21:30 +01:00

65 lines
No EOL
2.2 KiB
C#

// WingsEmu
//
// Developed by NosWings Team
using System.ServiceModel;
using System.Threading.Tasks;
namespace WingsAPI.Communication.Families
{
[ServiceContract]
public interface IFamilyService
{
/// <summary>
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
[OperationContract]
ValueTask<FamilyCreateResponse> CreateFamilyAsync(FamilyCreateRequest name);
[OperationContract]
ValueTask<BasicRpcResponse> DisbandFamilyAsync(FamilyDisbandRequest request);
[OperationContract]
ValueTask<EmptyResponse> ChangeAuthorityByIdAsync(FamilyChangeAuthorityRequest request);
[OperationContract]
ValueTask<FamilyChangeFactionResponse> ChangeFactionByIdAsync(FamilyChangeFactionRequest request);
[OperationContract]
ValueTask<EmptyResponse> ChangeTitleByIdAsync(FamilyChangeTitleRequest request);
[OperationContract]
ValueTask<FamilyUpgradeResponse> TryAddFamilyUpgrade(FamilyUpgradeRequest request);
[OperationContract]
ValueTask<EmptyResponse> AddMemberToFamilyAsync(FamilyAddMemberRequest request);
[OperationContract]
ValueTask<EmptyResponse> MemberDisconnectedAsync(FamilyMemberDisconnectedRequest request);
[OperationContract]
ValueTask<EmptyResponse> RemoveMemberToFamilyAsync(FamilyRemoveMemberRequest request);
[OperationContract]
ValueTask<BasicRpcResponse> RemoveMemberByCharIdAsync(FamilyRemoveMemberByCharIdRequest request);
[OperationContract]
ValueTask<FamilyIdResponse> GetFamilyByIdAsync(FamilyIdRequest req);
[OperationContract]
ValueTask<FamilyListMembersResponse> GetFamilyMembersByFamilyId(FamilyIdRequest req);
[OperationContract]
ValueTask<MembershipResponse> GetMembershipByCharacterIdAsync(MembershipRequest req);
[OperationContract]
ValueTask<MembershipTodayResponse> CanPerformTodayMessageAsync(MembershipTodayRequest req);
[OperationContract]
ValueTask<BasicRpcResponse> UpdateFamilySettingsAsync(FamilySettingsRequest request);
[OperationContract]
ValueTask<EmptyResponse> ResetFamilyMissions();
}
}