package com.luticate.auth.business; import com.luticate.auth.dataaccess.LuticateUsersDataAccess; import com.luticate.auth.dbo.LuFullLoginDbo; import com.luticate.auth.dbo.LuPermissionDbo; import com.luticate.utils.business.LuBusinessManager; import com.luticate.utils.business.LuPromise; import com.luticate.auth.dbo.LuLoginDbo; import com.luticate.utils.dbo.LuDataAccessConfigDbo; /** * * Created by robin on 11/27/15. */ public class LuticateUsersBusiness extends LuBusinessManager { public static LuPromise login(LuDataAccessConfigDbo config, String username, String password) { return LuticateUsersDataAccess.login(config, username, password); } public static LuPromise logout(LuDataAccessConfigDbo config) { return LuticateUsersDataAccess.logout(config); } public static LuPromise loginFull(final LuDataAccessConfigDbo config, String username, String password) { final LuPromise promise = new LuPromise<>(); login(config, username, password).then(new LuPromise.LuConsumer() { @Override public void execute(final LuLoginDbo user) { LuticatePermissionsBusiness.getAllEffectiveMe(config).then(new LuPromise.LuConsumer() { @Override public void execute(LuPermissionDbo.LuMultiplePermissionDbo permissions) { LuFullLoginDbo dbo = new LuFullLoginDbo(); dbo.setLoginDbo(user); dbo.setPermissions(permissions.getData()); promise.resolve(dbo); } }, promise.rejectConsumer()); } }, promise.rejectConsumer()); return promise; } }