package de.vanmar.android.yarrn.requests; import android.app.Application; import com.google.gson.Gson; import com.google.gson.JsonObject; import org.scribe.model.OAuthRequest; import org.scribe.model.Response; import org.scribe.model.Verb; import de.vanmar.android.yarrn.R; import de.vanmar.android.yarrn.YarrnPrefs_; import de.vanmar.android.yarrn.ravelry.dts.BookmarkShort; public class EditFavoriteRequest extends AbstractRavelryRequest<BookmarkShort> { private String favoriteId; private JsonObject updateData; public EditFavoriteRequest(YarrnPrefs_ prefs, Application application, String favoriteId, JsonObject updateData) { super(BookmarkShort.class, prefs, application); this.favoriteId = favoriteId; this.updateData = updateData; } public JsonObject getUpdateData() { return updateData; } @Override public BookmarkShort loadDataFromNetwork() throws Exception { final OAuthRequest request = new OAuthRequest(Verb.POST, application.getString(R.string.ravelry_url) + String.format("/people/%s/favorites/%s.json", prefs.username().get(), favoriteId) ); request.addBodyParameter("data", updateData.toString()); Response response = executeRequest(request); return new Gson().fromJson(response.getBody(), BookmarkShort.class); } }