package org.ntlab.acanthus_client.views.main_menu_ui.mypage;

import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.ViewModel;

import org.ntlab.acanthus_client.Acanthus;


//-----------------------------------------------------------------
// マイページロジックの仲介者
public class MyPageViewModel extends ViewModel {
    private MyPageModelContainer myPageModelContainer;
    private MutableLiveData<Boolean> mIsInvited = new MutableLiveData<>();
    private MutableLiveData<String> mUidText = new MutableLiveData<>();

    //-----------------------------------------------------------------
    // getter
    public LiveData<Boolean> getImmutableIsInvited() {
        return mIsInvited;
    }

    public LiveData<String> getImmutableUidText() {
        return mUidText;
    }

    //-----------------------------------------------------------------
    //-----------------------------------------------------------------
    //  init
    public void init(Acanthus acanthus) {
        myPageModelContainer = new MyPageModelContainer(acanthus);
    }

    //-----------------------------------------------------------------
    // 招待されているかを確認する通信リクエスト
    public void checkInvitedRequest() {
        myPageModelContainer.getInvitedConnectionModel().checkInvited(mIsInvited);
    }

    //-----------------------------------------------------------------
    // アカウント情報を取得するリクエスト
    public void getAccountInfoRequest() {
        myPageModelContainer.getMyPageInfoConnectionModel().getAccountByUid(mUidText);
    }
    //-----------------------------------------------------------------
    // 招待を承諾するリクエスト
    public void acceptInviteRequest(){
        myPageModelContainer.getInvitedConnectionModel().acceptInvite();
    }
    //-----------------------------------------------------------------
}