io.voucherify.client.module.LoyaltiesModule Maven / Gradle / Ivy
package io.voucherify.client.module;
import io.voucherify.client.api.VoucherifyApi;
import io.voucherify.client.callback.VoucherifyCallback;
import io.voucherify.client.model.campaign.CampaignsFilter;
import io.voucherify.client.model.campaign.CreateCampaign;
import io.voucherify.client.model.campaign.DeleteCampaignParams;
import io.voucherify.client.model.campaign.UpdateCampaign;
import io.voucherify.client.model.campaign.response.CampaignResponse;
import io.voucherify.client.model.campaign.response.CampaignsResponse;
import io.voucherify.client.model.loyalties.AddBalance;
import io.voucherify.client.model.loyalties.AddMember;
import io.voucherify.client.model.loyalties.CreateEarningRule;
import io.voucherify.client.model.loyalties.EarningRulesFilter;
import io.voucherify.client.model.loyalties.MembersFilter;
import io.voucherify.client.model.loyalties.RedeemReward;
import io.voucherify.client.model.loyalties.UpdateEarningRule;
import io.voucherify.client.model.loyalties.response.AddBalanceResponse;
import io.voucherify.client.model.loyalties.response.EarningRuleResponse;
import io.voucherify.client.model.loyalties.response.ListEarningRulesResponse;
import io.voucherify.client.model.redemption.response.RedeemVoucherResponse;
import io.voucherify.client.model.rewards.CreateRewardAssignment;
import io.voucherify.client.model.rewards.RewardsAssignmentsFilter;
import io.voucherify.client.model.rewards.UpdateRewardAssignment;
import io.voucherify.client.model.rewards.response.ListRewardAssignmentsResponse;
import io.voucherify.client.model.rewards.response.RewardAssignmentResponse;
import io.voucherify.client.model.voucher.response.VoucherResponse;
import io.voucherify.client.model.voucher.response.VouchersResponse;
import io.voucherify.client.module.LoyaltiesModule.ExtAsync;
import io.voucherify.client.module.LoyaltiesModule.ExtRxJava;
import io.voucherify.client.utils.RxUtils;
import rx.Observable;
import java.util.HashMap;
import java.util.List;
import java.util.concurrent.Executor;
public class LoyaltiesModule extends AbsModule {
public LoyaltiesModule(VoucherifyApi api, Executor executor) {
super(api, executor);
}
public CampaignsResponse list(CampaignsFilter filter) {
return api.listLoyaltyCampaigns(filter != null ? filter.asMap() : new HashMap());
}
public CampaignResponse create(CreateCampaign createCampaign) {
return api.createLoyaltyCampaign(createCampaign);
}
public CampaignResponse update(String id, UpdateCampaign updateCampaign) {
return api.updateLoyaltyCampaign(id, updateCampaign);
}
public CampaignResponse get(String id) {
return api.getLoyaltyCampaign(id);
}
public void delete(String id, DeleteCampaignParams params) {
api.deleteLoyaltyCampaign(id, params != null ? params.asMap() : new HashMap());
}
public ListRewardAssignmentsResponse listRewardAssignments(String id, RewardsAssignmentsFilter filter) {
return api.listLoyaltyRewardAssignments(id, filter != null ? filter.asMap() : new HashMap());
}
public RewardAssignmentResponse createRewardAssignment(String id, List assignments) {
return api.createLoyaltyRewardAssignment(id, assignments);
}
public RewardAssignmentResponse updateRewardAssignment(String id, String assignmentId, UpdateRewardAssignment updateRewardAssignment) {
return api.updateLoyaltyRewardAssignment(id, assignmentId, updateRewardAssignment);
}
public void deleteRewardAssignment(String id, String assignmentId) {
api.deleteLoyaltyRewardAssignment(id, assignmentId);
}
public ListEarningRulesResponse listEarningRules(String id, EarningRulesFilter filter) {
return api.listLoyaltyEarningRules(id, filter != null ? filter.asMap() : new HashMap());
}
public EarningRuleResponse createEarningRules(String id, List rules) {
return api.createLoyaltyEarningRule(id, rules);
}
public EarningRuleResponse updateEarningRule(String id, String ruleId, UpdateEarningRule update) {
return api.updateLoyaltyEarningRule(id, ruleId, update);
}
public void deleteEarningRule(String id, String ruleId) {
api.deleteLoyaltyEarningRule(id, ruleId);
}
public VouchersResponse listMembers(String id, MembersFilter filter) {
return api.listLoyaltyMembers(id, filter != null ? filter.asMap() : new HashMap());
}
public VoucherResponse addMember (String id, AddMember addMember) {
return api.addLoyaltyMember(id, addMember);
}
public VoucherResponse getMember (String id, String memberId) {
return api.getLoyaltyMember(id, memberId);
}
public RedeemVoucherResponse redeemReward(String id, String memberId, RedeemReward redeemReward) {
return api.redeemLoyaltyReward(id, memberId, redeemReward);
}
public AddBalanceResponse addLoyaltyCardBalance(String id, String memberId, AddBalance addBalance) {
return api.addLoyaltyBalance(id, memberId, addBalance);
}
@Override
ExtAsync createAsyncExtension() {
return new ExtAsync();
}
@Override
ExtRxJava createRxJavaExtension() {
return new ExtRxJava();
}
@Override
public ExtAsync async() {
return extAsync;
}
@Override
public ExtRxJava rx() {
return extRxJava;
}
public class ExtAsync extends AbsModule.Async {
public void create(CreateCampaign createCampaign, VoucherifyCallback callback) {
RxUtils.subscribe(executor, rx().create(createCampaign), callback);
}
public void delete(String id, DeleteCampaignParams deleteCampaignParams, VoucherifyCallback callback) {
RxUtils.subscribe(executor, rx().delete(id, deleteCampaignParams), callback);
}
public void list(CampaignsFilter campaignsFilter, VoucherifyCallback callback) {
RxUtils.subscribe(executor, rx().list(campaignsFilter), callback);
}
public void get(String id, VoucherifyCallback callback) {
RxUtils.subscribe(executor, rx().get(id), callback);
}
public void update(String id, UpdateCampaign updateCampaign, VoucherifyCallback callback) {
RxUtils.subscribe(executor, rx().update(id, updateCampaign), callback);
}
public void createRewardAssignment(String id, List create, VoucherifyCallback callback) {
RxUtils.subscribe(executor, rx().createRewardAssignment(id, create), callback);
}
public void updateRewardAssignment(String id, String assignmentId, UpdateRewardAssignment update, VoucherifyCallback callback) {
RxUtils.subscribe(executor, rx().updateRewardAssignment(id, assignmentId, update), callback);
}
public void deleteRewardAssignment(String id, String assignmentId, VoucherifyCallback callback) {
RxUtils.subscribe(executor, rx().deleteRewardAssignment(id, assignmentId), callback);
}
public void listRewardAssignments(String id, RewardsAssignmentsFilter filter, VoucherifyCallback callback) {
RxUtils.subscribe(executor, rx().listRewardAssignments(id, filter), callback);
}
public void createEarningRules(String id, List create, VoucherifyCallback callback) {
RxUtils.subscribe(executor, rx().createEarningRules(id, create), callback);
}
public void updateEarningRule(String id, String ruleId, UpdateEarningRule update, VoucherifyCallback callback) {
RxUtils.subscribe(executor, rx().updateEarningRule(id, ruleId, update), callback);
}
public void deleteEarningRule(String id, String ruleId, VoucherifyCallback callback) {
RxUtils.subscribe(executor, rx().deleteEarningRule(id, ruleId), callback);
}
public void listEarningRules(String id, EarningRulesFilter filter, VoucherifyCallback callback) {
RxUtils.subscribe(executor, rx().listEarningRules(id, filter), callback);
}
public void addMember(String id, AddMember addMember, VoucherifyCallback callback) {
RxUtils.subscribe(executor, rx().addMember(id, addMember), callback);
}
public void listMembers(String id, MembersFilter filter, VoucherifyCallback callback) {
RxUtils.subscribe(executor, rx().listMembers(id, filter), callback);
}
public void getMember(String id, String memberId, VoucherifyCallback callback) {
RxUtils.subscribe(executor, rx().getMember(id, memberId), callback);
}
public void redeemReward(String id, String memberId, RedeemReward redeemReward, VoucherifyCallback callback) {
RxUtils.subscribe(executor, rx().redeemReward(id, memberId, redeemReward), callback);
}
public void addLoyaltyCardBalance(String id, String memberId, AddBalance addBalance, VoucherifyCallback callback) {
RxUtils.subscribe(executor, rx().addLoyaltyCardBalance(id, memberId, addBalance), callback);
}
}
public class ExtRxJava extends AbsModule.Rx {
public Observable create(final CreateCampaign createCampaign) {
return RxUtils.defer(new RxUtils.DefFunc() {
@Override
public CampaignResponse method() {
return LoyaltiesModule.this.create(createCampaign);
}
});
}
public Observable delete(final String id, final DeleteCampaignParams deleteCampaignParams) {
return RxUtils.defer(new RxUtils.DefFunc() {
@Override
public Void method() {
LoyaltiesModule.this.delete(id, deleteCampaignParams);
return null;
}
});
}
public Observable list(final CampaignsFilter campaignsFilter) {
return RxUtils.defer(new RxUtils.DefFunc() {
@Override
public CampaignsResponse method() {
return LoyaltiesModule.this.list(campaignsFilter);
}
});
}
public Observable get(final String id) {
return RxUtils.defer(new RxUtils.DefFunc() {
@Override
public CampaignResponse method() {
return LoyaltiesModule.this.get(id);
}
});
}
public Observable update(final String id, final UpdateCampaign updateCampaign) {
return RxUtils.defer(new RxUtils.DefFunc() {
@Override
public CampaignResponse method() {
return LoyaltiesModule.this.update(id, updateCampaign);
}
});
}
public Observable createRewardAssignment(final String id, final List createRewardAssignment) {
return RxUtils.defer(new RxUtils.DefFunc() {
@Override
public RewardAssignmentResponse method() {
return LoyaltiesModule.this.createRewardAssignment(id, createRewardAssignment);
}
});
}
public Observable updateRewardAssignment(final String id, final String assignmentId, final UpdateRewardAssignment updateRewardAssignment) {
return RxUtils.defer(new RxUtils.DefFunc() {
@Override
public RewardAssignmentResponse method() {
return LoyaltiesModule.this.updateRewardAssignment(id, assignmentId, updateRewardAssignment);
}
});
}
public Observable deleteRewardAssignment(final String id, final String assignmentId) {
return RxUtils.defer(new RxUtils.DefFunc() {
@Override
public Void method() {
LoyaltiesModule.this.deleteRewardAssignment(id, assignmentId);
return null;
}
});
}
public Observable listRewardAssignments(final String id, final RewardsAssignmentsFilter filter) {
return RxUtils.defer(new RxUtils.DefFunc() {
@Override
public ListRewardAssignmentsResponse method() {
return LoyaltiesModule.this.listRewardAssignments(id, filter);
}
});
}
public Observable createEarningRules(final String id, final List create) {
return RxUtils.defer(new RxUtils.DefFunc() {
@Override
public EarningRuleResponse method() {
return LoyaltiesModule.this.createEarningRules(id, create);
}
});
}
public Observable updateEarningRule(final String id, final String ruleId, final UpdateEarningRule update) {
return RxUtils.defer(new RxUtils.DefFunc() {
@Override
public EarningRuleResponse method() {
return LoyaltiesModule.this.updateEarningRule(id, ruleId, update);
}
});
}
public Observable deleteEarningRule(final String id, final String assignmentId) {
return RxUtils.defer(new RxUtils.DefFunc() {
@Override
public Void method() {
LoyaltiesModule.this.deleteEarningRule(id, assignmentId);
return null;
}
});
}
public Observable listEarningRules(final String id, final EarningRulesFilter filter) {
return RxUtils.defer(new RxUtils.DefFunc() {
@Override
public ListEarningRulesResponse method() {
return LoyaltiesModule.this.listEarningRules(id, filter);
}
});
}
public Observable listMembers(final String id, final MembersFilter filter) {
return RxUtils.defer(new RxUtils.DefFunc() {
@Override
public VouchersResponse method() {
return LoyaltiesModule.this.listMembers(id, filter);
}
});
}
public Observable getMember(final String id, final String memberId) {
return RxUtils.defer(new RxUtils.DefFunc() {
@Override
public VoucherResponse method() {
return LoyaltiesModule.this.getMember(id, memberId);
}
});
}
public Observable addMember(final String id, final AddMember addMember) {
return RxUtils.defer(new RxUtils.DefFunc() {
@Override
public VoucherResponse method() {
return LoyaltiesModule.this.addMember(id, addMember);
}
});
}
public Observable redeemReward(final String id, final String memberId, final RedeemReward redeemReward) {
return RxUtils.defer(new RxUtils.DefFunc() {
@Override
public RedeemVoucherResponse method() {
return LoyaltiesModule.this.redeemReward(id, memberId, redeemReward);
}
});
}
public Observable addLoyaltyCardBalance(final String id, final String memberId, final AddBalance addBalance) {
return RxUtils.defer(new RxUtils.DefFunc() {
@Override
public AddBalanceResponse method() {
return LoyaltiesModule.this.addLoyaltyCardBalance(id, memberId, addBalance);
}
});
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy