package org.activityinfo.server.entity.auth; import com.google.inject.Inject; import org.activityinfo.model.auth.AuthenticatedUser; import org.activityinfo.server.command.handler.PermissionOracle; import org.activityinfo.server.database.hibernate.entity.Site; /** * Checks the requesting user's authorization to modify / create a Site */ public class SiteAuthorizationHandler implements AuthorizationHandler<Site> { private final PermissionOracle permissionOracle; @Inject public SiteAuthorizationHandler(PermissionOracle permissionOracle) { this.permissionOracle = permissionOracle; } @Override public boolean isAuthorized(AuthenticatedUser requestingUser, Site site) { return permissionOracle.isEditAllowed(site, requestingUser); } }