package com.code44.finance.api.requests;
import com.code44.finance.api.GcmRegistration;
import com.code44.finance.backend.endpoint.currencies.Currencies;
import com.code44.finance.backend.endpoint.currencies.model.CurrenciesBody;
import com.code44.finance.backend.endpoint.currencies.model.CurrencyEntity;
import com.code44.finance.common.utils.Preconditions;
import com.code44.finance.data.model.Currency;
import java.util.ArrayList;
import java.util.List;
public class PostCurrenciesRequest extends PostRequest<CurrenciesBody> {
private final Currencies currenciesService;
private final List<Currency> currencies;
public PostCurrenciesRequest(GcmRegistration gcmRegistration, Currencies currenciesService, List<Currency> currencies) {
super(null, gcmRegistration);
Preconditions.notNull(currenciesService, "Currencies service cannot be null.");
Preconditions.notNull(currencies, "Currencies list cannot be null.");
this.currenciesService = currenciesService;
this.currencies = currencies;
}
@Override protected CurrenciesBody createBody() {
return new CurrenciesBody();
}
@Override protected void onAddPostData(CurrenciesBody body) {
final List<CurrencyEntity> serverCurrencies = new ArrayList<>();
for (Currency currency : currencies) {
// serverCurrencies.add(currency.asEntity());
}
body.setCurrencies(serverCurrencies);
}
@Override protected boolean isPostDataEmpty(CurrenciesBody body) {
return body.getCurrencies().isEmpty();
}
@Override protected void performRequest(CurrenciesBody body) throws Exception {
currenciesService.save(body);
}
}