// WingsEmu
//
// Developed by NosWings Team
using System.ServiceModel;
using System.Threading.Tasks;
namespace WingsAPI.Communication.Families
{
[ServiceContract]
public interface IFamilyService
{
///
///
///
///
[OperationContract]
ValueTask CreateFamilyAsync(FamilyCreateRequest name);
[OperationContract]
ValueTask DisbandFamilyAsync(FamilyDisbandRequest request);
[OperationContract]
ValueTask ChangeAuthorityByIdAsync(FamilyChangeAuthorityRequest request);
[OperationContract]
ValueTask ChangeFactionByIdAsync(FamilyChangeFactionRequest request);
[OperationContract]
ValueTask ChangeTitleByIdAsync(FamilyChangeTitleRequest request);
[OperationContract]
ValueTask TryAddFamilyUpgrade(FamilyUpgradeRequest request);
[OperationContract]
ValueTask AddMemberToFamilyAsync(FamilyAddMemberRequest request);
[OperationContract]
ValueTask MemberDisconnectedAsync(FamilyMemberDisconnectedRequest request);
[OperationContract]
ValueTask RemoveMemberToFamilyAsync(FamilyRemoveMemberRequest request);
[OperationContract]
ValueTask RemoveMemberByCharIdAsync(FamilyRemoveMemberByCharIdRequest request);
[OperationContract]
ValueTask GetFamilyByIdAsync(FamilyIdRequest req);
[OperationContract]
ValueTask GetFamilyMembersByFamilyId(FamilyIdRequest req);
[OperationContract]
ValueTask GetMembershipByCharacterIdAsync(MembershipRequest req);
[OperationContract]
ValueTask CanPerformTodayMessageAsync(MembershipTodayRequest req);
[OperationContract]
ValueTask UpdateFamilySettingsAsync(FamilySettingsRequest request);
[OperationContract]
ValueTask ResetFamilyMissions();
}
}