package org.libre.agosto.p2play.ajax import android.util.JsonReader import java.io.InputStreamReader class Actions: Client() { fun subscribe(token: String, account: String):Int{ var con=this._newCon("users/me/subscriptions","POST", token) val params:String= "uri=$account" con.outputStream.write(params.toByteArray()) var response = 0 try { if (con.responseCode == 204) { response = 1 } } catch (err: Exception){ err.printStackTrace() response = -1 } return response } fun unSubscribe(token: String, account: String):Int{ var con=this._newCon("users/me/subscriptions/$account","DELETE", token) var response = 0 try { if (con.responseCode == 204) { response = 1 } } catch (err: Exception){ err.printStackTrace() response = -1 } return response } fun getSubscription(token: String, account: String): Boolean{ var con=this._newCon("users/me/subscriptions/exist?uris=$account","GET", token) var isSubscribed = false try { if (con.responseCode == 200) { var response = InputStreamReader(con.inputStream) var data = JsonReader(response) data.beginObject() while (data.hasNext()){ val key = data.nextName() when (key.toString()) { account->{ isSubscribed = data.nextBoolean() } else->{ data.skipValue() } } } } } catch (err: Exception){ err.printStackTrace() isSubscribed = false } return isSubscribed } fun rate(token: String, id_video: Int, rate: String):Int{ var con=this._newCon("videos/$id_video/rate","PUT", token) val params:String= "rating=$rate" con.outputStream.write(params.toByteArray()) var response = 0 try { if (con.responseCode == 204) { response = 1 } } catch (err: Exception){ err.printStackTrace() response = -1 } return response } fun getRate(token: String, id_video: Int):String{ var con=this._newCon("users/me/videos/$id_video/rating","GET", token) var rating = "none" try { if (con.responseCode == 200) { var response = InputStreamReader(con.inputStream) var data = JsonReader(response) data.beginObject() while (data.hasNext()){ val key = data.nextName() when (key.toString()) { "rating"->{ rating = data.nextString() } else->{ data.skipValue() } } } } } catch (err: Exception){ err.printStackTrace() rating = "none" } return rating } }