2024-01-29 10:59:13 +03:00

179 lines
6.6 KiB
Kotlin

package com.example.rehabilitation.Retrofit
import com.example.rehabilitation.Appeals.TabLayout.Model.AppealsNewListModel
import com.example.rehabilitation.Appeals.TabLayout.Model.AppealsOldListModel
import com.example.rehabilitation.Auth.Model.AuthModel
import com.example.rehabilitation.Auth.Model.CheckTokenModel
import com.example.rehabilitation.Auth.Model.UserModel
import com.example.rehabilitation.Calendare.CalendareListModel
import com.example.rehabilitation.Calendare.CalendareModel
import com.example.rehabilitation.MessageModel
import com.example.rehabilitation.Progress.ProgressListModel
import com.example.rehabilitation.Progress.ProgressModel
import com.example.rehabilitation.Questionnaire.Model.AfterLookModel
import com.example.rehabilitation.Questionnaire.Model.AfterQuestionnaireMessage
import com.example.rehabilitation.Questionnaire.Model.AfterQuestionnaireModel
import com.example.rehabilitation.Questionnaire.Model.BeforeLookModel
import com.example.rehabilitation.Questionnaire.Model.BeforeQuestionnaireMessage
import com.example.rehabilitation.Questionnaire.Model.BeforeQuestionnaireModel
import com.example.rehabilitation.Questionnaire.Model.QuestionnaireModel
import com.example.rehabilitation.Sport.DayListModel
import com.example.rehabilitation.Sport.DayModel
import com.example.rehabilitation.Sport.SportDayOneModel
import com.example.rehabilitation.Sport.SportForDayListModel
import com.example.rehabilitation.Sport.SportForDayModel
import com.example.rehabilitation.Sport.SportListModel
import com.example.rehabilitation.Sport.UpdateSportTrueFalseModel
import com.example.rehabilitation.Sport.ViewFragmentModel
import com.example.rehabilitation.Sport.ViewVisibleModel
import retrofit2.Response
import retrofit2.http.Body
import retrofit2.http.GET
import retrofit2.http.Header
import retrofit2.http.Headers
import retrofit2.http.POST
import retrofit2.http.PUT
import retrofit2.http.Query
interface PatientApi {
//Проверка токена
@Headers("Content-Type: application/json")
@GET("CheckTokenPatient")
suspend fun CheckToken(@Header("Authorization") token:String) :Response<CheckTokenModel>
//Авторизация
@Headers("Content-Type: application/json")
@POST("LoginPatient")
suspend fun LoginPatient(@Body authModel: AuthModel): Response<UserModel>
//Выход из аккаунта
@Headers("Content-Type: application/json")
@POST("LogoutPatient")
suspend fun LogoutPatient(@Header("Authorization") token:String):Response<MessageModel>
//Заполнение анкеты ДО
@Headers("Content-Type: application/json")
@POST("AddBeforeQuestionnaire2")
suspend fun AddBeforeQuestionnaire2(@Header("Authorization") token:String,@Body beforeQuestionnaireModel: BeforeQuestionnaireModel): Response<MessageModel>
//Заполнение анкеты ПОСЛЕ
@Headers("Content-Type: application/json")
@POST("AddAfterQuestionnaire2")
suspend fun AddAfterQuestionnaire2(@Header("Authorization") token:String,@Body afterQuestionnaireModel: AfterQuestionnaireModel) : Response<MessageModel>
//Добавление курса на сегодня
@Headers("Content-Type: application/json")
@POST("AddCourses2")
suspend fun AddCourses2(@Header("Authorization") token:String)
//Вывод списка спортивных задания на 1 день
@Headers("Content-Type: application/json")
@GET("CoutSportCourses")
suspend fun CoutSportCourses(@Header("Authorization") token:String)
//Вывод нужного экрана
@Headers("Content-Type: application/json")
@GET("VisibleView3")
suspend fun VisibleView3(@Header("Authorization") token:String) :Response<ViewVisibleModel>
//Вывод календаря
@Headers("Content-Type: application/json")
@GET("PatientCalendareDay")
suspend fun PatientCalendareDay(@Header("Authorization") token:String):Response<CalendareListModel>
//Вывод списка упражнений
@Headers("Content-Type: application/json")
@GET("GetSportDay")
suspend fun GetSportDay(@Header("Authorization") token:String):Response<SportForDayListModel>
//Вывод определенного упражнения
@Headers("Content-Type: application/json")
@GET("GetSportDayOne")
suspend fun GetSportDayOne(@Header("Authorization") token:String,@Query("id") id:Int):Response<SportDayOneModel>
//Подтвержденеи упражнения
@Headers("Content-Type: application/json")
@PUT("AddSportCheck")
suspend fun AddSportCheck(@Header("Authorization") token:String,@Query("id") id:Int, @Query("check") check:Int):Response<MessageModel>
//Список прогресса по дням
@Headers("Content-Type: application/json")
@GET("ProgressPatientCourses")
suspend fun ProgressPatientCourses(@Header("Authorization") token:String):Response<ProgressListModel>
//Вывод необработанных сообщений
@Headers("Content-Type: application/json")
@GET("GetAppealsPatientNew")
suspend fun GetAppealsPatientNew(@Header("Authorization") token:String) :Response<AppealsNewListModel>
//Вывод необработанных сообщений
@Headers("Content-Type: application/json")
@GET("GetAppealsPatientOld")
suspend fun GetAppealsPatientOld(@Header("Authorization") token:String) :Response<AppealsOldListModel>
//Подтверждение необработанных сообщений
@Headers("Content-Type: application/json")
@PUT("UpdateMessagePatient")
suspend fun UpdateMessagePatient(@Header("Authorization") token:String,@Query("id") id:Int) :Response<MessageModel>
//Отправка сообщения пациенту
@Headers("Content-Type: application/json")
@POST("AddMessagePatient")
suspend fun AddMessagePatient(@Header("Authorization") token:String, @Query("text") text:String) :Response<MessageModel>
//Вывод есть ли анкета ДО
@Headers("Content-Type: application/json")
@GET("LookBefore")
suspend fun LookBefore(@Header("Authorization") token:String) :Response<BeforeLookModel>
//Вывод есть ли анкета ПОСЛЕ
@Headers("Content-Type: application/json")
@GET("LookAfter")
suspend fun LookAfter(@Header("Authorization") token:String) :Response<AfterLookModel>
//Вывод есть ли анкета ПОСЛЕ
@Headers("Content-Type: application/json")
@GET("GetCalendare")
suspend fun GetCalendare(@Header("Authorization") token:String) :Response<CalendareListModel>
}