diff --git a/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/AccountsRest.java b/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/AccountsRest.java index e8a3e82..675c3b9 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/AccountsRest.java +++ b/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/AccountsRest.java @@ -41,22 +41,6 @@ @Path("uid")String uidStr, @Query("token")String token ); - //----------------------------------------------------------------- - //----------------------------------------------------------------- - // トークン認証 - @GET("accounts/login") - Call hasLoginToken( - @Query("uid") String uidStr, - @Query("token") String token - ); //----------------------------------------------------------------- - // トークンの発行 - @FormUrlEncoded - @PUT("accounts/login") - Call issueLoginToken( - @Field("email")String email, - @Field("password")String password - ); - //----------------------------------------------------------------- } diff --git a/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/LoginRest.java b/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/LoginRest.java index 630ee4b..228511b 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/LoginRest.java +++ b/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/LoginRest.java @@ -1,4 +1,31 @@ package org.ntlab.acanthus_client.resources.accounts; +import org.ntlab.acanthus_client.entities.AccountTokenJson; + +import retrofit2.Call; +import retrofit2.http.Field; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.GET; +import retrofit2.http.PUT; +import retrofit2.http.Query; + public interface LoginRest { + //----------------------------------------------------------------- + //----------------------------------------------------------------- + // トークン認証 + @GET("accounts/login") + Call hasLoginToken( + @Query("uid") String uidStr, + @Query("token") String token + ); + + //----------------------------------------------------------------- + // トークンの発行 + @FormUrlEncoded + @PUT("accounts/login") + Call issueLoginToken( + @Field("email")String email, + @Field("password")String password + ); + //----------------------------------------------------------------- } diff --git a/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/WorkRest.java b/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/WorkRest.java index 68c559c..e0d57e4 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/WorkRest.java +++ b/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/WorkRest.java @@ -1,4 +1,46 @@ package org.ntlab.acanthus_client.resources.accounts; +import org.ntlab.acanthus_client.entities.AidJson; +import org.ntlab.acanthus_client.entities.Work; +import org.ntlab.acanthus_client.entities.WorkJson; + +import java.util.Collection; + +import retrofit2.Call; +import retrofit2.http.Field; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.GET; +import retrofit2.http.POST; +import retrofit2.http.PUT; +import retrofit2.http.Path; +import retrofit2.http.Query; + public interface WorkRest { + //----------------------------------------------------------------- + // 各ユーザーの作品を取得する + @GET("accounts/{uid}/work") + Call getWork( + @Path("uid") Integer uid, + @Query("token") String token + ); + //----------------------------------------------------------------- + // 新しい作品を制作する + @FormUrlEncoded + @POST("accounts/{uid}/work") + Call createWork( + @Path("uid") Integer uid, + @Field("name") String animationName, + @Field("token") String token + ); + //----------------------------------------------------------------- + // 作品への参加を許可する + @FormUrlEncoded + @PUT("accounts/{uid}/work") + Call updateWork( + @Path("uid")String invitedUid, + @Field("token") String invitedToken, + @Field("aid") Integer aid + ); + + //----------------------------------------------------------------- } diff --git a/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/EditorsRest.java b/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/EditorsRest.java index 39d721a..f787480 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/EditorsRest.java +++ b/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/EditorsRest.java @@ -1,4 +1,30 @@ package org.ntlab.acanthus_client.resources.gallery; +import org.ntlab.acanthus_client.entities.EditorJson; +import retrofit2.Call; +import retrofit2.http.Field; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.GET; +import retrofit2.http.PUT; +import retrofit2.http.Path; +import retrofit2.http.Query; + public interface EditorsRest { + //----------------------------------------------------------------- + //galleryのinvitesにいるか確認 + @GET("gallery/{aid}/Editors") + Call getEditors( + @Path("aid") Integer aid, + @Query("uid") Integer uid + ); + //----------------------------------------------------------------- + //Editorに追加 + @FormUrlEncoded + @PUT("gallery/{aid}/Editors") + Call addEditors( + @Path("aid") Integer aid, + @Field("uid") Integer uid, + @Field("token") String token + ); + //----------------------------------------------------------------- } diff --git a/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/GalleryRest.java b/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/GalleryRest.java index 50610d5..7128cde 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/GalleryRest.java +++ b/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/GalleryRest.java @@ -1,4 +1,43 @@ package org.ntlab.acanthus_client.resources.gallery; +import org.ntlab.acanthus_client.entities.AnimationJson; + +import java.util.Collection; + +import retrofit2.Call; +import retrofit2.http.Field; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.GET; +import retrofit2.http.POST; +import retrofit2.http.Path; +import retrofit2.http.Query; + public interface GalleryRest { + + //すべての作品情報を返す。 + @GET("gallery") + Call> getGallery(); + + @GET("gallery") + Call> getAnimationByAnimationName( + @Query("name") String name + ); + + //作品の更新 + @FormUrlEncoded + @POST("gallery") + Call createAnimation( + @Field("name") String animationName, + @Field("token") String token, + @Field("uid") Integer uid + ); + + //特定の作品の表示 + @GET("gallery/{aid}") + Call> getAnimationInformation( + @Path("aid") Integer aid + ); + + + } diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/login/LoginScreenViewModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/login/LoginScreenViewModel.java index b07115b..cffc864 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/login/LoginScreenViewModel.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/login/LoginScreenViewModel.java @@ -8,7 +8,7 @@ import org.ntlab.acanthus_client.Acanthus; import org.ntlab.acanthus_client.entities.AccountTokenJson; -import org.ntlab.acanthus_client.resources.accounts.AccountsRest; +import org.ntlab.acanthus_client.resources.accounts.LoginRest; import retrofit2.Call; import retrofit2.Callback; @@ -43,13 +43,13 @@ .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") .addConverterFactory(JacksonConverterFactory.create()) .build(); - final AccountsRest accountsRest = retrofit.create(AccountsRest.class); + final LoginRest loginRest = retrofit.create(LoginRest.class); String emailAddress = emailForm.getText().toString(); String password = passwordForm.getText().toString(); // ログイン - Call call = accountsRest.issueLoginToken(emailAddress, password); + Call call = loginRest.issueLoginToken(emailAddress, password); call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { @@ -67,13 +67,13 @@ .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") .addConverterFactory(JacksonConverterFactory.create()) .build(); - final AccountsRest accountsRest = retrofit.create(AccountsRest.class); + final LoginRest loginRest = retrofit.create(LoginRest.class); String emailAddress = emailForm; String password = passwordForm; // ログイン - Call call = accountsRest.issueLoginToken(emailAddress, password); + Call call = loginRest.issueLoginToken(emailAddress, password); call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/HomeModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/HomeModel.java new file mode 100644 index 0000000..9bd140b --- /dev/null +++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/HomeModel.java @@ -0,0 +1,53 @@ +package org.ntlab.acanthus_client.views.main_menu_ui.home; + +import org.ntlab.acanthus_client.resources.HelloWorldRest; + +import androidx.lifecycle.LiveData; +import androidx.lifecycle.MutableLiveData; +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.jackson.JacksonConverterFactory; +import retrofit2.converter.scalars.ScalarsConverterFactory; + +public class HomeModel { + private MutableLiveData text; + + public void Gethelloworld(MutableLiveData mText){ + Retrofit retrofit = new Retrofit.Builder() + .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") + .addConverterFactory(ScalarsConverterFactory.create()) + .addConverterFactory(JacksonConverterFactory.create()) + .build(); + final HelloWorldRest helloworld = retrofit.create(HelloWorldRest.class); + Call call = helloworld.getHelloWorld(); + call.enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + if(response.isSuccessful()) { + String res = response.body(); + mText.setValue(res); + + }else{ + mText.setValue("False helloworld"); + } + } + + @Override + public void onFailure(Call call, Throwable t) { + mText.setValue("みす helloworld"); + } + }); + + } + +// public void setText(MutableLiveData mText){ +// this.text=mText; +// } +// +// public LiveData getText(){ +// return text; +// } + +} diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/HomeViewModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/HomeViewModel.java index b094d92..bdf1830 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/HomeViewModel.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/HomeViewModel.java @@ -18,38 +18,13 @@ public class HomeViewModel extends ViewModel { private EditText editEmailTextView; private MutableLiveData mText; + private HomeModel homeModel; public HomeViewModel() { mText = new MutableLiveData<>(); - Gethelloworld(mText); - } - - public void Gethelloworld(MutableLiveData mText){ - Retrofit retrofit = new Retrofit.Builder() - .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") - .addConverterFactory(ScalarsConverterFactory.create()) - .addConverterFactory(JacksonConverterFactory.create()) - .build(); - final HelloWorldRest helloworld = retrofit.create(HelloWorldRest.class); - Call call = helloworld.getHelloWorld(); - call.enqueue(new Callback() { - @Override - public void onResponse(Call call, Response response) { - if(response.isSuccessful()) { - String res = response.body(); - mText.setValue(res); - }else{ - mText.setValue("False helloworld"); - } - } - - @Override - public void onFailure(Call call, Throwable t) { - mText.setValue("みす helloworld"); - } - }); - + homeModel= new HomeModel(); + homeModel.Gethelloworld(mText); } public LiveData getText() { diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/title/TitleViewModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/title/TitleViewModel.java index b769bce..ebd9c5c 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/title/TitleViewModel.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/title/TitleViewModel.java @@ -8,6 +8,7 @@ import org.ntlab.acanthus_client.Acanthus; import org.ntlab.acanthus_client.entities.AccountTokenJson; import org.ntlab.acanthus_client.resources.accounts.AccountsRest; +import org.ntlab.acanthus_client.resources.accounts.LoginRest; import androidx.lifecycle.LiveData; import androidx.lifecycle.MutableLiveData; @@ -41,13 +42,13 @@ .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") .addConverterFactory(JacksonConverterFactory.create()) .build(); - final AccountsRest accountsRest = retrofit.create(AccountsRest.class); + final LoginRest loginRest = retrofit.create(LoginRest.class); String emailAddress = emailForm; String password = passwordForm; // ログイン - Call call = accountsRest.issueLoginToken(emailAddress, password); + Call call = loginRest.issueLoginToken(emailAddress, password); call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) {