package kr.co.hanwha.hifive.screen.intro.contract;

import android.support.annotation.NonNull;
import android.support.annotation.Nullable;

import java.util.ArrayList;

import kr.co.hanwha.hifive.base.BasePresenter;
import kr.co.hanwha.hifive.base.BaseView;
import kr.co.hanwha.hifive.data.model.NoticeData;
import kr.co.hanwha.hifive.data.model.UpdateData;

/**
 * Created by sanghoonkwon on 2018. 1. 11..
 */

public interface IntroContract {
    interface View extends BaseView<Presenter> {
        /**
         * 에러 메세지 표시
         *
         * @param message
         */
        void showAlertMessage(String message);

        /**
         * 간편 로그인
         */
        void showSimpleLogin();

        /**
         * 아이디 / 패스워드 로그인
         */
        void showAccountLogin();
    }

    interface Presenter extends BasePresenter {
        /**
         * 버전 확인
         */
        void checkUpdate();

        /**
         * 공지사항 확인
         *
         * @param updateData 업데이터 데이터
         * @return Notice Data
         */
        NoticeData checkNotice(@NonNull UpdateData updateData);

        /**
         * 업데이트 확인
         *
         * @param data 업데이트 데이터
         */
        void doUpdate(UpdateData data);

        /**
         * 계정 로그인
         *
         * @param member_id 아이디
         * @param password 패스워드
         */
        void doAccountLogin(@NonNull String member_id, @NonNull String password);

        /**
         * 간편 로그인
         *
         * @param authcode 간편로그인 패스워드
         */
        void doSimpleLogin(@NonNull String authcode);
    }
}
