From 1344f247b18eec288b55f672f2a50c1eab97b713 Mon Sep 17 00:00:00 2001 From: aklyushova Date: Wed, 19 Feb 2025 16:07:16 +0300 Subject: [PATCH] feat: All entity and UserApi added --- .../myitschool/work/data/CallToConsumer.java | 1 + .../work/data/UserResponseImpl.java | 34 +++++++++++++++++-- .../myitschool/work/data/dto/HistoryDto.java | 2 ++ .../myitschool/work/data/dto/ReaderDto.java | 1 + .../ru/myitschool/work/data/dto/RoleDto.java | 1 + .../ru/myitschool/work/data/dto/UserDto.java | 1 + .../work/data/network/RetrofitFactory.java | 1 + .../myitschool/work/data/source/UserApi.java | 4 +-- ...HistioryEntity.java => HistoryEntity.java} | 4 +-- .../work/domain/entities/RoleEntity.java | 2 ++ .../work/domain/entities/Status.java | 2 ++ .../work/domain/entities/UserEntity.java | 1 - 12 files changed, 47 insertions(+), 7 deletions(-) rename app/src/main/java/ru/myitschool/work/domain/entities/{HistioryEntity.java => HistoryEntity.java} (88%) diff --git a/app/src/main/java/ru/myitschool/work/data/CallToConsumer.java b/app/src/main/java/ru/myitschool/work/data/CallToConsumer.java index 05a98d8..fb6942a 100644 --- a/app/src/main/java/ru/myitschool/work/data/CallToConsumer.java +++ b/app/src/main/java/ru/myitschool/work/data/CallToConsumer.java @@ -24,6 +24,7 @@ public class CallToConsumer implements Callback { this.mapper = mapper; } + @Override public void onResponse(@NonNull Call call, @NonNull Response response) { callback.accept( diff --git a/app/src/main/java/ru/myitschool/work/data/UserResponseImpl.java b/app/src/main/java/ru/myitschool/work/data/UserResponseImpl.java index a2bb26d..785d6fb 100644 --- a/app/src/main/java/ru/myitschool/work/data/UserResponseImpl.java +++ b/app/src/main/java/ru/myitschool/work/data/UserResponseImpl.java @@ -1,7 +1,6 @@ package ru.myitschool.work.data; import androidx.annotation.NonNull; -import androidx.camera.core.processing.SurfaceProcessorNode; import java.util.ArrayList; import java.util.List; @@ -12,7 +11,7 @@ import ru.myitschool.work.data.dto.UserDto; import ru.myitschool.work.data.network.RetrofitFactory; import ru.myitschool.work.data.source.CredentialsDataSource; import ru.myitschool.work.data.source.UserApi; -import ru.myitschool.work.domain.entities.HistioryEntity; +import ru.myitschool.work.domain.entities.HistoryEntity; import ru.myitschool.work.domain.entities.Status; import ru.myitschool.work.domain.entities.UserEntity; @@ -53,8 +52,39 @@ public class UserResponseImpl { } + public void getAllUserHistory(@NonNull Integer id, @NonNull Consumer>> callback) { + userApi.getAllUserHistory(id).enqueue(new CallToConsumer<>( + callback, + historiesDto -> { + ArrayList result = new ArrayList<>(historiesDto.size()); + for (HistoryDto history : historiesDto) { + final Integer id1 = history.id; + final Integer idUser = history.idUser; + final Long time = history.time; + final String nameReader = history.nameReader; + final String type = history.type; + if (idUser != null && id1 != null){ + result.add(new HistoryEntity(id1, idUser, time, nameReader, type)); + } + } + return result; + } + )); + } + + public void login(@NonNull String username, @NonNull String password, Consumer> callback) { + credentialsDataSource.updateLogin(username, password); + userApi = RetrofitFactory.getInstance().getUserApi(); + userApi.login().enqueue(new CallToConsumer<>( + callback, + dto -> null + )); + } + public void logout() { + credentialsDataSource.logout(); + } } diff --git a/app/src/main/java/ru/myitschool/work/data/dto/HistoryDto.java b/app/src/main/java/ru/myitschool/work/data/dto/HistoryDto.java index 800c3fa..88c7179 100644 --- a/app/src/main/java/ru/myitschool/work/data/dto/HistoryDto.java +++ b/app/src/main/java/ru/myitschool/work/data/dto/HistoryDto.java @@ -25,4 +25,6 @@ public class HistoryDto { @SerializedName("type") public String type; + + } diff --git a/app/src/main/java/ru/myitschool/work/data/dto/ReaderDto.java b/app/src/main/java/ru/myitschool/work/data/dto/ReaderDto.java index ff2f66c..dd6ba99 100644 --- a/app/src/main/java/ru/myitschool/work/data/dto/ReaderDto.java +++ b/app/src/main/java/ru/myitschool/work/data/dto/ReaderDto.java @@ -13,4 +13,5 @@ public class ReaderDto { @SerializedName("typeReader") public Integer typeReader; + } diff --git a/app/src/main/java/ru/myitschool/work/data/dto/RoleDto.java b/app/src/main/java/ru/myitschool/work/data/dto/RoleDto.java index c1f504d..3f1f8b7 100644 --- a/app/src/main/java/ru/myitschool/work/data/dto/RoleDto.java +++ b/app/src/main/java/ru/myitschool/work/data/dto/RoleDto.java @@ -14,4 +14,5 @@ public class RoleDto { public int status; + } diff --git a/app/src/main/java/ru/myitschool/work/data/dto/UserDto.java b/app/src/main/java/ru/myitschool/work/data/dto/UserDto.java index 1a4797b..019ffce 100644 --- a/app/src/main/java/ru/myitschool/work/data/dto/UserDto.java +++ b/app/src/main/java/ru/myitschool/work/data/dto/UserDto.java @@ -70,6 +70,7 @@ public class UserDto { this.password = password; } + @Nullable public String getPhoto() { return photo; diff --git a/app/src/main/java/ru/myitschool/work/data/network/RetrofitFactory.java b/app/src/main/java/ru/myitschool/work/data/network/RetrofitFactory.java index dd97c0e..6e428fe 100644 --- a/app/src/main/java/ru/myitschool/work/data/network/RetrofitFactory.java +++ b/app/src/main/java/ru/myitschool/work/data/network/RetrofitFactory.java @@ -35,6 +35,7 @@ public class RetrofitFactory { } ); + private final Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://10.0.2.2:8080/") .client(client.build()) diff --git a/app/src/main/java/ru/myitschool/work/data/source/UserApi.java b/app/src/main/java/ru/myitschool/work/data/source/UserApi.java index 0854420..61f40c4 100644 --- a/app/src/main/java/ru/myitschool/work/data/source/UserApi.java +++ b/app/src/main/java/ru/myitschool/work/data/source/UserApi.java @@ -22,8 +22,8 @@ public interface UserApi { @GET("api/user/login") Call login(); @GET("api/history/user/{id}") - Call> getAllUserHistory(@Path("id") Integer id); + Call> getAllUserHistory(@Path("id") Integer id); @GET("api/history/{id}") - Call getHistoryById(@Path("id") Integer id); + Call getHistoryById(@Path("id") Integer id); } diff --git a/app/src/main/java/ru/myitschool/work/domain/entities/HistioryEntity.java b/app/src/main/java/ru/myitschool/work/domain/entities/HistoryEntity.java similarity index 88% rename from app/src/main/java/ru/myitschool/work/domain/entities/HistioryEntity.java rename to app/src/main/java/ru/myitschool/work/domain/entities/HistoryEntity.java index f56e7a6..638f72b 100644 --- a/app/src/main/java/ru/myitschool/work/domain/entities/HistioryEntity.java +++ b/app/src/main/java/ru/myitschool/work/domain/entities/HistoryEntity.java @@ -4,7 +4,7 @@ import androidx.annotation.Nullable; import com.google.gson.annotations.SerializedName; -public class HistioryEntity { +public class HistoryEntity { @Nullable @SerializedName("id") public Integer id; @@ -54,7 +54,7 @@ public class HistioryEntity { this.type = type; } - public HistioryEntity(@Nullable Integer id, @Nullable Integer idUser, @Nullable Long time, @Nullable String nameReader, @Nullable String type) { + public HistoryEntity(@Nullable Integer id, @Nullable Integer idUser, @Nullable Long time, @Nullable String nameReader, @Nullable String type) { this.id = id; this.idUser = idUser; this.time = time; diff --git a/app/src/main/java/ru/myitschool/work/domain/entities/RoleEntity.java b/app/src/main/java/ru/myitschool/work/domain/entities/RoleEntity.java index b89d3e6..0d7163e 100644 --- a/app/src/main/java/ru/myitschool/work/domain/entities/RoleEntity.java +++ b/app/src/main/java/ru/myitschool/work/domain/entities/RoleEntity.java @@ -34,4 +34,6 @@ public class RoleEntity { public void setStatus(int status) { this.status = status; } + + } diff --git a/app/src/main/java/ru/myitschool/work/domain/entities/Status.java b/app/src/main/java/ru/myitschool/work/domain/entities/Status.java index fd2eac6..10fcb7b 100644 --- a/app/src/main/java/ru/myitschool/work/domain/entities/Status.java +++ b/app/src/main/java/ru/myitschool/work/domain/entities/Status.java @@ -30,4 +30,6 @@ public class Status{ public Throwable getErrors() { return errors; } + } + diff --git a/app/src/main/java/ru/myitschool/work/domain/entities/UserEntity.java b/app/src/main/java/ru/myitschool/work/domain/entities/UserEntity.java index ef049cb..6d70fd7 100644 --- a/app/src/main/java/ru/myitschool/work/domain/entities/UserEntity.java +++ b/app/src/main/java/ru/myitschool/work/domain/entities/UserEntity.java @@ -82,5 +82,4 @@ public class UserEntity { - }