Преглед на файлове

Added get credentials api method

sirekanyan преди 8 години
родител
ревизия
36e17c6aa8
променени са 3 файла, в които са добавени 48 реда и са изтрити 0 реда
  1. 8 0
      app/src/main/java/me/vadik/knigopis/Endpoint.kt
  2. 23 0
      app/src/main/java/me/vadik/knigopis/model/Credentials.kt
  3. 17 0
      app/src/main/res/menu/options.xml

+ 8 - 0
app/src/main/java/me/vadik/knigopis/Endpoint.kt

@@ -1,12 +1,20 @@
 package me.vadik.knigopis
 
 import me.vadik.knigopis.model.Book
+import me.vadik.knigopis.model.Credentials
 import me.vadik.knigopis.model.User
 import retrofit2.Call
+import retrofit2.http.Field
+import retrofit2.http.FormUrlEncoded
 import retrofit2.http.GET
+import retrofit2.http.POST
 
 interface Endpoint {
 
+  @FormUrlEncoded
+  @POST("/user/get-credentials")
+  fun getCredentials(@Field("token") token: String): Call<Credentials>
+
   @GET("users/latest")
   fun latestUsers(): Call<Map<String, User>>
 

+ 23 - 0
app/src/main/java/me/vadik/knigopis/model/Credentials.kt

@@ -0,0 +1,23 @@
+package me.vadik.knigopis.model
+
+import com.google.gson.annotations.SerializedName
+
+class Credentials(
+    @SerializedName("access-token")
+    val accessToken: String,
+    val userFull: UserFull
+) {
+
+  class UserFull(
+      val id: String,
+      val lang: String,
+      val nickname: String,
+      val photo: String,
+      val profile: String,
+      val identity: String,
+      val booksCount: Int,
+      val subscriptions: Map<String, Int>,
+      val createdAt: String,
+      val updatedAt: String
+  )
+}

+ 17 - 0
app/src/main/res/menu/options.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+      xmlns:app="http://schemas.android.com/apk/res-auto">
+
+    <item
+        android:id="@+id/option_login"
+        android:title="@string/option_login"
+        android:visible="false"
+        app:showAsAction="ifRoom"/>
+
+    <item
+        android:id="@+id/option_logout"
+        android:title="@string/option_logout"
+        android:visible="false"
+        app:showAsAction="never"/>
+
+</menu>