app/permissions/Permissions.scala (26 lines of code) (raw):

package permissions import com.amazonaws.auth.{AWSCredentialsProvider, DefaultAWSCredentialsProviderChain} import com.gu.permissions.{PermissionDefinition, PermissionsConfig, PermissionsProvider} import services.Config import com.madgag.scala.collection.decorators._ object Permissions { val app = "tag-manager" val TagManagerAccess: PermissionDefinition = PermissionDefinition("tag_manager_access", app) val TagEdit: PermissionDefinition = PermissionDefinition("tag_edit", app) val TagAdmin: PermissionDefinition = PermissionDefinition("tag_admin", app) val CommercialTags: PermissionDefinition = PermissionDefinition("commercial_tags", app) private val permissionDefinitions = Map( "tag_manager_access" -> TagManagerAccess, "tag_edit" -> TagEdit, "tag_admin" -> TagAdmin, "commercial_tags" -> CommercialTags, ) private val credentials: AWSCredentialsProvider = new DefaultAWSCredentialsProviderChain() private val permissions: PermissionsProvider = PermissionsProvider(PermissionsConfig(Config().permissionsStage, Config().aws.region, credentials)) def testUser(permission: PermissionDefinition)(email: String): Boolean = { println("Permissions for: " + email) permissions.hasPermission(permission, email) } def getPermissionsForUser(email: String): Map[String, Boolean] = permissionDefinitions.mapV(permission => permissions.hasPermission(permission, email)) }