package com.rthoni.stssaguenay.dataaccess; import com.luticate.utils.business.LuPromise; import com.luticate.utils.dataaccess.LuDataAccess; import com.luticate.utils.dbo.LuBoolDbo; import com.luticate.utils.dbo.LuDataAccessConfigDbo; import com.luticate.utils.dbo.LuStringDbo; import com.luticate.utils.dbo.LuVoidDbo; import org.json.JSONObject; import java.util.HashMap; import se.simbio.encryption.Encryption; /** * Created by robin on 10/3/16. */ public class UsersSettingsDataAccess extends LuDataAccess { public static Encryption getEncryption(String password) { return Encryption.getLowIteration(password, "9oCpOJ", "mCX36TazPeC70LfN".getBytes()); } public static String encryptSettings(String settings, String password) { return getEncryption(password).encryptOrNull(settings); } public static String decryptSettings(String data, String password) { return getEncryption(password).decryptOrNull(data); } public static LuPromise get(LuDataAccessConfigDbo config, String id) { HashMap map = new HashMap<>(); map.put("id", JSONObject.quote(id)); return get(config, LuStringDbo.class, "users/settings", map) .map(new LuPromise.LuConverter() { @Override public String convert(LuStringDbo data) { return data.getString(); } }); } public static LuPromise put(LuDataAccessConfigDbo config, String data, String id) { HashMap map = new HashMap<>(); map.put("id", JSONObject.quote(id)); map.put("settings", JSONObject.quote(data)); return post(config, LuBoolDbo.class, "users/settings", map) .map(new LuPromise.LuConverter() { @Override public LuVoidDbo convert(LuBoolDbo data) { return new LuVoidDbo(); } }); } }