Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.comtrade.aicapone.Services
- import android.app.Service
- import android.content.res.Resources
- import android.database.Observable
- import android.util.Log
- import com.comtrade.aicapone.Models.Coordinate
- import com.comtrade.aicapone.Models.Job
- import com.comtrade.aicapone.R
- import com.google.gson.Gson
- import com.google.gson.JsonObject
- import okhttp3.Interceptor
- import okhttp3.OkHttpClient
- import okhttp3.Request
- import retrofit2.Call
- import retrofit2.Retrofit
- import retrofit2.Callback
- import retrofit2.Response
- import retrofit2.converter.gson.GsonConverterFactory
- import retrofit2.http.*
- import java.util.*
- interface JobBaseService {
- @POST("Jobs")
- fun post(@Body body: Job): Call<Job>
- @GET("Jobs")
- fun get(@Query("statusId") statusId: Int): Call<Array<Job>>
- @GET("Jobs/{id}")
- fun getById(@Path("id") id: Int): Call<Job>
- @PUT("Jobs/{id}")
- fun updateJob(@Body body: Job, @Path("id") id: Long): Call<Job>
- @PUT("Jobs/Location/{userID}")
- fun updateJobsLocation(@Body body: Coordinate, @Path("userID") userID: Long): Call<Job>
- }
- fun getClient(token: String?): OkHttpClient {
- var httpClient: OkHttpClient.Builder = OkHttpClient.Builder().addInterceptor(object: okhttp3.Interceptor{
- override fun intercept(chain: Interceptor.Chain?): okhttp3.Response {
- var request: Request = chain!!.request().newBuilder().addHeader("Authorization","Bearer "+ token).build()
- return chain.proceed(request)
- }
- })
- return httpClient.build()
- }
- class JobService(val API_BASE_URL: String) {
- fun create(job: Job, token: String?): Call<Job> {
- val retrofit = Retrofit.Builder()
- .baseUrl(API_BASE_URL)
- .addConverterFactory(GsonConverterFactory.create()).client(getClient(token))
- .build().create(JobBaseService::class.java).post(job)
- return retrofit
- }
- fun getAll(statusId: Int, token: String?): Call<Array<Job>> {
- val retrofit = Retrofit.Builder()
- .baseUrl(API_BASE_URL)
- .addConverterFactory(GsonConverterFactory.create()).client(getClient(token))
- .build().create(JobBaseService::class.java).get(statusId)
- return retrofit
- }
- fun getById(id: Int, token: String?): Call<Job> {
- val retrofit = Retrofit.Builder()
- .baseUrl(API_BASE_URL)
- .addConverterFactory(GsonConverterFactory.create()).client(getClient(token))
- .build().create(JobBaseService::class.java).getById(id)
- return retrofit
- }
- fun updateJob(job: Job, id: Long, token: String?): Call<Job> {
- val retrofit = Retrofit.Builder()
- .baseUrl(API_BASE_URL)
- .addConverterFactory(GsonConverterFactory.create()).client(getClient(token))
- .build().create(JobBaseService::class.java).updateJob(job, id)
- return retrofit
- }
- fun updateJobsLocation(body: Coordinate, userID: Long, token: String?): Call<Job> {
- val retrofit = Retrofit.Builder()
- .baseUrl(API_BASE_URL)
- .addConverterFactory(GsonConverterFactory.create()).client(getClient(token))
- .build().create(JobBaseService::class.java).updateJobsLocation(body,userID)
- return retrofit
- }
- }
- /*
- updateJobsLocation je dodato sa poslednjim @PUT om*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement