// Path: app/src/main/java/kesshou/android/daanx/util/network/api/holder/CheckRegist.java
// public class CheckRegist {
// 
// 	@SerializedName("account")
// 	public String account;
// 
// 	@SerializedName("nick")
// 	public String nick;
// 
// 	@SerializedName("schoolAccount")
// 	public String schoolAccount;
// 
// 	@SerializedName("schoolPwd")
// 	public String schoolPwd;
// }
// 
// Path: app/src/main/java/kesshou/android/daanx/util/network/api/holder/Login.java
// public class Login {
// 
//     @SerializedName("account")
//     public String usr_account;
// 
//     @SerializedName("password")
//     public String usr_password;
// 
// }
// 
// Path: app/src/main/java/kesshou/android/daanx/util/network/api/holder/Register.java
// public class Register {
// 
//     @SerializedName("email")
//     public String usr_email;
// 
//     @SerializedName("password")
//     public String usr_passwd;
// 
//     @SerializedName("user_group")
//     public String usr_group;
// 
//     @SerializedName("school_account")
//     public String school_account;
// 
//     @SerializedName("school_pwd")
//     public String school_pwd;
// 
//     @SerializedName("nick")
//     public String nickname;
// 
// 	@SerializedName("name")
// 	public String name;
// 
// }
// 
// Path: app/src/main/java/kesshou/android/daanx/util/network/api/holder/StatusResponse.java
// public class StatusResponse extends RealmObject {
// 
// 	@SerializedName("success")
// 	public String status;
// 
// }
// 
// Path: app/src/main/java/kesshou/android/daanx/util/network/api/holder/Token.java
// public class Token {
// 
//     @SerializedName("token")
//     public String token;
// 
// }
// 
// Path: app/src/main/java/kesshou/android/daanx/util/network/api/holder/Update.java
// public class Update {
// 
//     @SerializedName("password")
//     public String password;
// 
//     @SerializedName("new_school_pwd")
//     public String new_spwd;
// 
//     @SerializedName("new_nick")
//     public String new_nick;
// 
//     @SerializedName("new_password")
//     public String new_password;
// 
//     @SerializedName("new_email")
//     public String new_email;
// }
// 
// Path: app/src/main/java/kesshou/android/daanx/util/network/api/holder/UserInfoResponse.java
// public class UserInfoResponse {
// 
// 
// 	/**
// 	 * name : string
// 	 * nick : string
// 	 * class : string
// 	 * group : student
// 	 */
// 
// 	@SerializedName("name")
// 	public String name;
// 	@SerializedName("nick")
// 	public String nick;
// 	@SerializedName("class")
// 	public String classX;
// 	@SerializedName("group")
// 	public String group;
// }


import kesshou.android.daanx.util.network.api.holder.CheckRegist;
import kesshou.android.daanx.util.network.api.holder.Login;
import kesshou.android.daanx.util.network.api.holder.Register;
import kesshou.android.daanx.util.network.api.holder.StatusResponse;
import kesshou.android.daanx.util.network.api.holder.Token;
import kesshou.android.daanx.util.network.api.holder.Update;
import kesshou.android.daanx.util.network.api.holder.UserInfoResponse;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.PUT;
package kesshou.android.daanx.util.network.api;


/*
   Author: Charles Lien(lienching)
   Description: Account Api interface
*/

public interface AccountApi {

    // Login
    @POST("actmanage/login")
    Call<Token> login(@Body Login usr);

    //Register
    @POST("actmanage/register")
    Call<Token> create(@Body Register register);

    // Edit Account
    @PUT("actmanage/updateinfo")
    Call<StatusResponse> update(@Body Update usr);

	//Check Account
	@POST("actmanage/confirmAccount")
	Call<StatusResponse> checkAccount(@Body CheckRegist checkAccount);

	//CheckNick
	@POST("actmanage/confirmNick")
	Call<StatusResponse> checkNick(@Body CheckRegist checkNick);

	//CheckSchoolAccount
	@POST("actmanage/confirmSchool")
	Call<StatusResponse> checkSchool(@Body CheckRegist checkSchoolAccount);

	//GetUserInfo
	@GET("actmanage/getUserInfo")
// Path: app/src/main/java/kesshou/android/daanx/util/network/api/holder/CheckRegist.java
// public class CheckRegist {
// 
// 	@SerializedName("account")
// 	public String account;
// 
// 	@SerializedName("nick")
// 	public String nick;
// 
// 	@SerializedName("schoolAccount")
// 	public String schoolAccount;
// 
// 	@SerializedName("schoolPwd")
// 	public String schoolPwd;
// }
// 
// Path: app/src/main/java/kesshou/android/daanx/util/network/api/holder/Login.java
// public class Login {
// 
//     @SerializedName("account")
//     public String usr_account;
// 
//     @SerializedName("password")
//     public String usr_password;
// 
// }
// 
// Path: app/src/main/java/kesshou/android/daanx/util/network/api/holder/Register.java
// public class Register {
// 
//     @SerializedName("email")
//     public String usr_email;
// 
//     @SerializedName("password")
//     public String usr_passwd;
// 
//     @SerializedName("user_group")
//     public String usr_group;
// 
//     @SerializedName("school_account")
//     public String school_account;
// 
//     @SerializedName("school_pwd")
//     public String school_pwd;
// 
//     @SerializedName("nick")
//     public String nickname;
// 
// 	@SerializedName("name")
// 	public String name;
// 
// }
// 
// Path: app/src/main/java/kesshou/android/daanx/util/network/api/holder/StatusResponse.java
// public class StatusResponse extends RealmObject {
// 
// 	@SerializedName("success")
// 	public String status;
// 
// }
// 
// Path: app/src/main/java/kesshou/android/daanx/util/network/api/holder/Token.java
// public class Token {
// 
//     @SerializedName("token")
//     public String token;
// 
// }
// 
// Path: app/src/main/java/kesshou/android/daanx/util/network/api/holder/Update.java
// public class Update {
// 
//     @SerializedName("password")
//     public String password;
// 
//     @SerializedName("new_school_pwd")
//     public String new_spwd;
// 
//     @SerializedName("new_nick")
//     public String new_nick;
// 
//     @SerializedName("new_password")
//     public String new_password;
// 
//     @SerializedName("new_email")
//     public String new_email;
// }
// 
// Path: app/src/main/java/kesshou/android/daanx/util/network/api/holder/UserInfoResponse.java
// public class UserInfoResponse {
// 
// 
// 	/**
// 	 * name : string
// 	 * nick : string
// 	 * class : string
// 	 * group : student
// 	 */
// 
// 	@SerializedName("name")
// 	public String name;
// 	@SerializedName("nick")
// 	public String nick;
// 	@SerializedName("class")
// 	public String classX;
// 	@SerializedName("group")
// 	public String group;
// }


// Path: app/src/main/java/kesshou/android/daanx/util/network/api/AccountApi.java
import kesshou.android.daanx.util.network.api.holder.CheckRegist;
import kesshou.android.daanx.util.network.api.holder.Login;
import kesshou.android.daanx.util.network.api.holder.Register;
import kesshou.android.daanx.util.network.api.holder.StatusResponse;
import kesshou.android.daanx.util.network.api.holder.Token;
import kesshou.android.daanx.util.network.api.holder.Update;
import kesshou.android.daanx.util.network.api.holder.UserInfoResponse;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.PUT;

package kesshou.android.daanx.util.network.api;


/*
   Author: Charles Lien(lienching)
   Description: Account Api interface
*/

public interface AccountApi {

    // Login
    @POST("actmanage/login")
    Call<Token> login(@Body Login usr);

    //Register
    @POST("actmanage/register")
    Call<Token> create(@Body Register register);

    // Edit Account
    @PUT("actmanage/updateinfo")
    Call<StatusResponse> update(@Body Update usr);

	//Check Account
	@POST("actmanage/confirmAccount")
	Call<StatusResponse> checkAccount(@Body CheckRegist checkAccount);

	//CheckNick
	@POST("actmanage/confirmNick")
	Call<StatusResponse> checkNick(@Body CheckRegist checkNick);

	//CheckSchoolAccount
	@POST("actmanage/confirmSchool")
	Call<StatusResponse> checkSchool(@Body CheckRegist checkSchoolAccount);

	//GetUserInfo
	@GET("actmanage/getUserInfo")
	Call<UserInfoResponse> getUserInfo();