Skip to content

Commit

Permalink
comments pt 2
Browse files Browse the repository at this point in the history
  • Loading branch information
skwalker committed Nov 8, 2016
1 parent ce2b9db commit 4193cd4
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 6 deletions.
Expand Up @@ -127,11 +127,10 @@ trait PermissionsClient {
}

def listOwners(agoraEntity: AgoraEntity): Seq[String] = {
// you're a manager if your role & (1 << 4) != 0 (and I think we're in the range from 0-32) so basically 16-31 inclusive
val permissionsQuery = for {
entity <- entities if entity.alias === alias(agoraEntity)
_permissions <- permissions if _permissions.entityID === entity.id && (_permissions.roles inSetBind List.range(16, 32))
user <- users if user.id === _permissions.userID
permission <- permissions if permission.entityID === entity.id && (permission.roles >= AgoraPermissions.Manage)
user <- users if user.id === permission.userID
} yield user.email
try {
Await.result(db.run(permissionsQuery.result), timeout)
Expand Down
Expand Up @@ -3,7 +3,7 @@ package org.broadinstitute.dsde.agora.server.model

import org.broadinstitute.dsde.agora.server.exceptions.AgoraException
import org.broadinstitute.dsde.agora.server.webservice.util.AgoraOpenAMClient.UserInfoResponse
import org.broadinstitute.dsde.agora.server.dataaccess.permissions.{AccessControl, AgoraPermissions}
import org.broadinstitute.dsde.agora.server.dataaccess.permissions.{AgoraPermissions, AccessControl}
import org.bson.types.ObjectId
import org.joda.time.DateTime
import org.joda.time.format.{DateTimeFormatter, ISODateTimeFormat}
Expand Down Expand Up @@ -76,7 +76,7 @@ object AgoraApiJsonSupport extends DefaultJsonProtocol {
if (entity.synopsis.nonEmpty) map += ("synopsis" -> JsString(entity.synopsis.get))
if (entity.documentation.nonEmpty) map += ("documentation" -> JsString(entity.documentation.get))
if (entity.owner.nonEmpty) map += ("owner" -> JsString(entity.owner.get))
if (entity.managers.size > 0) map += ("managers" -> JsArray(entity.managers.map(JsString(_)).toVector))
if (entity.managers.nonEmpty) map += ("managers" -> JsArray(entity.managers.map(JsString(_)).toVector))
if (entity.createDate.nonEmpty) map += ("createDate" -> entity.createDate.get.toJson)
if (entity.payload.nonEmpty) map += ("payload" -> JsString(entity.payload.get))
if (entity.url.nonEmpty) map += ("url" -> JsString(entity.url.get))
Expand Down
Expand Up @@ -36,6 +36,7 @@ abstract class AgoraService extends HttpService with RouteHelpers {
matchNamespacePermissionsRoute(path) { (namespace, username) =>
parameterMap { (params) =>
val agoraEntity = AgoraEntity(Option(namespace))

// Accept batch POST // TODO: move to transactional support
entity(as[List[AccessControl]]) { (listOfAccessControl) =>
post { requestContext =>
Expand Down
Expand Up @@ -166,7 +166,7 @@ trait QueryRouteHelper extends BaseRoute {
val url = params.getOrElse("url", Nil).headOption
val _type = params.getOrElse("entityType", Nil).headOption.toAgoraEntityOption

AgoraEntity(namespace, name, _id, synopsis, docs, owner, createDate=None, payload, url, _type)
AgoraEntity(namespace, name, _id, synopsis, docs, owner, createDate = None, payload, url, _type)
}

def validateEntityType(params: Map[String, List[String]], path: String): Directive0 = {
Expand Down

0 comments on commit 4193cd4

Please sign in to comment.