-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
25 changed files
with
779 additions
and
26 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
7 changes: 7 additions & 0 deletions
7
src/main/scala/org/broadinstitute/dsde/workbench/sam/db/DatabaseKey.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
package org.broadinstitute.dsde.workbench.sam.db | ||
|
||
trait DatabaseKey { | ||
val value: Long | ||
|
||
override def toString: String = value.toString | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
14 changes: 14 additions & 0 deletions
14
src/main/scala/org/broadinstitute/dsde/workbench/sam/db/SamParameterBinderFactory.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
package org.broadinstitute.dsde.workbench.sam.db | ||
|
||
import org.broadinstitute.dsde.workbench.model.ValueObject | ||
import scalikejdbc.ParameterBinderFactory | ||
|
||
object SamParameterBinderFactory { | ||
implicit def databaseKeyPbf[T <: DatabaseKey]: ParameterBinderFactory[T] = ParameterBinderFactory[T] { | ||
value => (stmt, idx) => stmt.setLong(idx, value.value) | ||
} | ||
|
||
implicit def valueObjectPbf[T <: ValueObject]: ParameterBinderFactory[T] = ParameterBinderFactory[T] { | ||
value => (stmt, idx) => stmt.setString(idx, value.value) | ||
} | ||
} |
111 changes: 111 additions & 0 deletions
111
src/main/scala/org/broadinstitute/dsde/workbench/sam/db/SamTypeBinders.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
package org.broadinstitute.dsde.workbench.sam.db | ||
|
||
import java.sql.ResultSet | ||
|
||
import org.broadinstitute.dsde.workbench.model.google.GoogleProject | ||
import org.broadinstitute.dsde.workbench.model.{GoogleSubjectId, WorkbenchEmail, WorkbenchGroupName, WorkbenchUserId} | ||
import org.broadinstitute.dsde.workbench.sam.db.tables._ | ||
import org.broadinstitute.dsde.workbench.sam.model._ | ||
import scalikejdbc.TypeBinder | ||
|
||
object SamTypeBinders { | ||
implicit val accessInstructionsPKTypeBinder: TypeBinder[AccessInstructionsPK] = new TypeBinder[AccessInstructionsPK] { | ||
def apply(rs: ResultSet, label: String): AccessInstructionsPK = AccessInstructionsPK(rs.getLong(label)) | ||
def apply(rs: ResultSet, index: Int): AccessInstructionsPK = AccessInstructionsPK(rs.getLong(index)) | ||
} | ||
|
||
implicit val groupMemberPKTypeBinder: TypeBinder[GroupMemberPK] = new TypeBinder[GroupMemberPK] { | ||
def apply(rs: ResultSet, label: String): GroupMemberPK = GroupMemberPK(rs.getLong(label)) | ||
def apply(rs: ResultSet, index: Int): GroupMemberPK = GroupMemberPK(rs.getLong(index)) | ||
} | ||
|
||
implicit val groupPKTypeBinder: TypeBinder[GroupPK] = new TypeBinder[GroupPK] { | ||
def apply(rs: ResultSet, label: String): GroupPK = GroupPK(rs.getLong(label)) | ||
def apply(rs: ResultSet, index: Int): GroupPK = GroupPK(rs.getLong(index)) | ||
} | ||
|
||
implicit val policyPKTypeBinder: TypeBinder[PolicyPK] = new TypeBinder[PolicyPK] { | ||
def apply(rs: ResultSet, label: String): PolicyPK = PolicyPK(rs.getLong(label)) | ||
def apply(rs: ResultSet, index: Int): PolicyPK = PolicyPK(rs.getLong(index)) | ||
} | ||
|
||
implicit val policyNameTypeBinder: TypeBinder[AccessPolicyName] = new TypeBinder[AccessPolicyName] { | ||
def apply(rs: ResultSet, label: String): AccessPolicyName = AccessPolicyName(rs.getString(label)) | ||
def apply(rs: ResultSet, index: Int): AccessPolicyName = AccessPolicyName(rs.getString(index)) | ||
} | ||
|
||
implicit val resourceActionPatternPKTypeBinder: TypeBinder[ResourceActionPatternPK] = new TypeBinder[ResourceActionPatternPK] { | ||
def apply(rs: ResultSet, label: String): ResourceActionPatternPK = ResourceActionPatternPK(rs.getLong(label)) | ||
def apply(rs: ResultSet, index: Int): ResourceActionPatternPK = ResourceActionPatternPK(rs.getLong(index)) | ||
} | ||
|
||
implicit val resourceActionPatternNameTypeBinder: TypeBinder[ResourceActionPatternName] = new TypeBinder[ResourceActionPatternName] { | ||
def apply(rs: ResultSet, label: String): ResourceActionPatternName = ResourceActionPatternName(rs.getString(label)) | ||
def apply(rs: ResultSet, index: Int): ResourceActionPatternName = ResourceActionPatternName(rs.getString(index)) | ||
} | ||
|
||
implicit val resourceActionPKTypeBinder: TypeBinder[ResourceActionPK] = new TypeBinder[ResourceActionPK] { | ||
def apply(rs: ResultSet, label: String): ResourceActionPK = ResourceActionPK(rs.getLong(label)) | ||
def apply(rs: ResultSet, index: Int): ResourceActionPK = ResourceActionPK(rs.getLong(index)) | ||
} | ||
|
||
implicit val resourceActionNameTypeBinder: TypeBinder[ResourceAction] = new TypeBinder[ResourceAction] { | ||
def apply(rs: ResultSet, label: String): ResourceAction = ResourceAction(rs.getString(label)) | ||
def apply(rs: ResultSet, index: Int): ResourceAction = ResourceAction(rs.getString(index)) | ||
} | ||
|
||
implicit val resourceRolePKTypeBinder: TypeBinder[ResourceRolePK] = new TypeBinder[ResourceRolePK] { | ||
def apply(rs: ResultSet, label: String): ResourceRolePK = ResourceRolePK(rs.getLong(label)) | ||
def apply(rs: ResultSet, index: Int): ResourceRolePK = ResourceRolePK(rs.getLong(index)) | ||
} | ||
|
||
implicit val resourceRoleNameTypeBinder: TypeBinder[ResourceRoleName] = new TypeBinder[ResourceRoleName] { | ||
def apply(rs: ResultSet, label: String): ResourceRoleName = ResourceRoleName(rs.getString(label)) | ||
def apply(rs: ResultSet, index: Int): ResourceRoleName = ResourceRoleName(rs.getString(index)) | ||
} | ||
|
||
implicit val resourcePKTypeBinder: TypeBinder[ResourcePK] = new TypeBinder[ResourcePK] { | ||
def apply(rs: ResultSet, label: String): ResourcePK = ResourcePK(rs.getLong(label)) | ||
def apply(rs: ResultSet, index: Int): ResourcePK = ResourcePK(rs.getLong(index)) | ||
} | ||
|
||
implicit val resourceIdTypeBinder: TypeBinder[ResourceId] = new TypeBinder[ResourceId] { | ||
def apply(rs: ResultSet, label: String): ResourceId = ResourceId(rs.getString(label)) | ||
def apply(rs: ResultSet, index: Int): ResourceId = ResourceId(rs.getString(index)) | ||
} | ||
|
||
implicit val resourceTypePKTypeBinder: TypeBinder[ResourceTypePK] = new TypeBinder[ResourceTypePK] { | ||
def apply(rs: ResultSet, label: String): ResourceTypePK = ResourceTypePK(rs.getLong(label)) | ||
def apply(rs: ResultSet, index: Int): ResourceTypePK = ResourceTypePK(rs.getLong(index)) | ||
} | ||
|
||
implicit val resourceTypeNameTypeBinder: TypeBinder[ResourceTypeName] = new TypeBinder[ResourceTypeName] { | ||
def apply(rs: ResultSet, label: String): ResourceTypeName = ResourceTypeName(rs.getString(label)) | ||
def apply(rs: ResultSet, index: Int): ResourceTypeName = ResourceTypeName(rs.getString(index)) | ||
} | ||
|
||
implicit val workbenchGroupNameTypeBinder: TypeBinder[WorkbenchGroupName] = new TypeBinder[WorkbenchGroupName] { | ||
def apply(rs: ResultSet, label: String): WorkbenchGroupName = WorkbenchGroupName(rs.getString(label)) | ||
def apply(rs: ResultSet, index: Int): WorkbenchGroupName = WorkbenchGroupName(rs.getString(index)) | ||
} | ||
|
||
implicit val workbenchEmailTypeBinder: TypeBinder[WorkbenchEmail] = new TypeBinder[WorkbenchEmail] { | ||
def apply(rs: ResultSet, label: String): WorkbenchEmail = WorkbenchEmail(rs.getString(label)) | ||
def apply(rs: ResultSet, index: Int): WorkbenchEmail = WorkbenchEmail(rs.getString(index)) | ||
} | ||
|
||
implicit val googleProjectTypeBinder: TypeBinder[GoogleProject] = new TypeBinder[GoogleProject] { | ||
def apply(rs: ResultSet, label: String): GoogleProject = GoogleProject(rs.getString(label)) | ||
def apply(rs: ResultSet, index: Int): GoogleProject = GoogleProject(rs.getString(index)) | ||
} | ||
|
||
implicit val googleSubjectIdTypeBinder: TypeBinder[GoogleSubjectId] = new TypeBinder[GoogleSubjectId] { | ||
def apply(rs: ResultSet, label: String): GoogleSubjectId = GoogleSubjectId(rs.getString(label)) | ||
def apply(rs: ResultSet, index: Int): GoogleSubjectId = GoogleSubjectId(rs.getString(index)) | ||
} | ||
|
||
implicit val workbenchUserIdTypeBinder: TypeBinder[WorkbenchUserId] = new TypeBinder[WorkbenchUserId] { | ||
def apply(rs: ResultSet, label: String): WorkbenchUserId = WorkbenchUserId(rs.getString(label)) | ||
def apply(rs: ResultSet, index: Int): WorkbenchUserId = WorkbenchUserId(rs.getString(index)) | ||
} | ||
} |
20 changes: 20 additions & 0 deletions
20
src/main/scala/org/broadinstitute/dsde/workbench/sam/db/tables/AccessInstructionsTable.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
package org.broadinstitute.dsde.workbench.sam.db.tables | ||
|
||
import org.broadinstitute.dsde.workbench.sam.db.{DatabaseKey, SamTypeBinders} | ||
import scalikejdbc._ | ||
|
||
final case class AccessInstructionsPK(value: Long) extends DatabaseKey | ||
final case class AccessInstructionsRecord(id: AccessInstructionsPK, | ||
groupId: GroupPK, | ||
instructions: String) | ||
|
||
object AccessInstructionsTable extends SQLSyntaxSupport[AccessInstructionsRecord] { | ||
override def tableName: String = "SAM_ACCESS_INSTRUCTIONS" | ||
|
||
import SamTypeBinders._ | ||
def apply(e: ResultName[AccessInstructionsRecord])(rs: WrappedResultSet): AccessInstructionsRecord = AccessInstructionsRecord( | ||
rs.get(e.id), | ||
rs.get(e.groupId), | ||
rs.get(e.instructions) | ||
) | ||
} |
17 changes: 17 additions & 0 deletions
17
src/main/scala/org/broadinstitute/dsde/workbench/sam/db/tables/AuthDomainTable.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
package org.broadinstitute.dsde.workbench.sam.db.tables | ||
|
||
import scalikejdbc._ | ||
import org.broadinstitute.dsde.workbench.sam.db.SamTypeBinders | ||
|
||
final case class AuthDomainRecord(resourceId: ResourcePK, | ||
groupId: GroupPK) | ||
|
||
object AuthDomainTable extends SQLSyntaxSupport[AuthDomainRecord] { | ||
override def tableName: String = "SAM_RESOURCE_AUTH_DOMAIN" | ||
|
||
import SamTypeBinders._ | ||
def apply(e: ResultName[AuthDomainRecord])(rs: WrappedResultSet): AuthDomainRecord = AuthDomainRecord( | ||
rs.get(e.resourceId), | ||
rs.get(e.groupId) | ||
) | ||
} |
28 changes: 28 additions & 0 deletions
28
src/main/scala/org/broadinstitute/dsde/workbench/sam/db/tables/GroupMemberTable.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
package org.broadinstitute.dsde.workbench.sam.db.tables | ||
|
||
import org.broadinstitute.dsde.workbench.model.WorkbenchUserId | ||
import org.broadinstitute.dsde.workbench.sam.db.{DatabaseKey, SamTypeBinders} | ||
import scalikejdbc._ | ||
|
||
final case class GroupMemberPK(value: Long) extends DatabaseKey | ||
final case class GroupMemberRecord(id: GroupMemberPK, | ||
groupId: GroupPK, | ||
memberUserId: Option[WorkbenchUserId], | ||
memberGroupId: Option[GroupPK]) | ||
|
||
object GroupMemberTable extends SQLSyntaxSupport[GroupMemberRecord] { | ||
override def tableName: String = "SAM_GROUP_MEMBER" | ||
|
||
import SamTypeBinders._ | ||
def apply(e: ResultName[GroupMemberRecord])(rs: WrappedResultSet): GroupMemberRecord = GroupMemberRecord( | ||
rs.get(e.id), | ||
rs.get(e.groupId), | ||
rs.get(e.memberUserId), | ||
rs.get(e.memberGroupId) | ||
) | ||
|
||
def apply(m: SyntaxProvider[GroupMemberRecord])(rs: WrappedResultSet): GroupMemberRecord = apply(m.resultName)(rs) | ||
|
||
def opt(m: SyntaxProvider[GroupMemberRecord])(rs: WrappedResultSet): Option[GroupMemberRecord] = | ||
rs.longOpt(m.resultName.id).map(_ => GroupMemberTable(m)(rs)) | ||
} |
32 changes: 32 additions & 0 deletions
32
src/main/scala/org/broadinstitute/dsde/workbench/sam/db/tables/GroupTable.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
package org.broadinstitute.dsde.workbench.sam.db.tables | ||
|
||
import java.time.Instant | ||
|
||
import org.broadinstitute.dsde.workbench.model.{WorkbenchEmail, WorkbenchGroupName} | ||
import org.broadinstitute.dsde.workbench.sam.db.{DatabaseKey, SamTypeBinders} | ||
import scalikejdbc._ | ||
|
||
final case class GroupPK(value: Long) extends DatabaseKey | ||
final case class GroupRecord(id: GroupPK, | ||
name: WorkbenchGroupName, | ||
email: WorkbenchEmail, | ||
updatedDate: Option[Instant], | ||
synchronizedDate: Option[Instant]) | ||
|
||
object GroupTable extends SQLSyntaxSupport[GroupRecord] { | ||
override def tableName: String = "SAM_GROUP" | ||
|
||
import SamTypeBinders._ | ||
def apply(e: ResultName[GroupRecord])(rs: WrappedResultSet): GroupRecord = GroupRecord( | ||
rs.get(e.id), | ||
rs.get(e.name), | ||
rs.get(e.email), | ||
rs.get(e.updatedDate), | ||
rs.get(e.synchronizedDate) | ||
) | ||
|
||
def apply(o: SyntaxProvider[GroupRecord])(rs: WrappedResultSet): GroupRecord = apply(o.resultName)(rs) | ||
|
||
def opt(m: SyntaxProvider[GroupRecord])(rs: WrappedResultSet): Option[GroupRecord] = | ||
rs.longOpt(m.resultName.id).map(_ => GroupTable(m)(rs)) | ||
} |
23 changes: 23 additions & 0 deletions
23
src/main/scala/org/broadinstitute/dsde/workbench/sam/db/tables/PetServiceAccountTable.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
package org.broadinstitute.dsde.workbench.sam.db.tables | ||
|
||
import org.broadinstitute.dsde.workbench.model.google.GoogleProject | ||
import org.broadinstitute.dsde.workbench.model.{GoogleSubjectId, WorkbenchEmail, WorkbenchUserId} | ||
import org.broadinstitute.dsde.workbench.sam.db.SamTypeBinders | ||
import scalikejdbc._ | ||
|
||
final case class PetServiceAccountRecord(userId: WorkbenchUserId, | ||
project: GoogleProject, | ||
googleSubjectId: GoogleSubjectId, | ||
email: WorkbenchEmail) | ||
|
||
object PetServiceAccountTable extends SQLSyntaxSupport[PetServiceAccountRecord] { | ||
override def tableName: String = "SAM_PET_SERVICE_ACCOUNT" | ||
|
||
import SamTypeBinders._ | ||
def apply(e: ResultName[PetServiceAccountRecord])(rs: WrappedResultSet): PetServiceAccountRecord = PetServiceAccountRecord( | ||
rs.get(e.userId), | ||
rs.get(e.project), | ||
rs.get(e.googleSubjectId), | ||
rs.get(e.email) | ||
) | ||
} |
17 changes: 17 additions & 0 deletions
17
src/main/scala/org/broadinstitute/dsde/workbench/sam/db/tables/PolicyActionTable.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
package org.broadinstitute.dsde.workbench.sam.db.tables | ||
|
||
import scalikejdbc._ | ||
import org.broadinstitute.dsde.workbench.sam.db.SamTypeBinders | ||
|
||
final case class PolicyActionRecord(policyId: PolicyPK, | ||
actionId: ResourceActionPK) | ||
|
||
object PolicyActionTable extends SQLSyntaxSupport[PolicyActionRecord] { | ||
override def tableName: String = "SAM_POLICY_ACTION" | ||
|
||
import SamTypeBinders._ | ||
def apply(e: ResultName[PolicyActionRecord])(rs: WrappedResultSet): PolicyActionRecord = PolicyActionRecord( | ||
rs.get(e.policyId), | ||
rs.get(e.actionId) | ||
) | ||
} |
17 changes: 17 additions & 0 deletions
17
src/main/scala/org/broadinstitute/dsde/workbench/sam/db/tables/PolicyRoleTable.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
package org.broadinstitute.dsde.workbench.sam.db.tables | ||
|
||
import scalikejdbc._ | ||
import org.broadinstitute.dsde.workbench.sam.db.SamTypeBinders | ||
|
||
final case class PolicyRoleRecord(policyId: PolicyPK, | ||
roleId: ResourceRolePK) | ||
|
||
object PolicyRoleTable extends SQLSyntaxSupport[PolicyRoleRecord] { | ||
override def tableName: String = "SAM_POLICY_ROLE" | ||
|
||
import SamTypeBinders._ | ||
def apply(e: ResultName[PolicyRoleRecord])(rs: WrappedResultSet): PolicyRoleRecord = PolicyRoleRecord( | ||
rs.get(e.policyId), | ||
rs.get(e.roleId) | ||
) | ||
} |
23 changes: 23 additions & 0 deletions
23
src/main/scala/org/broadinstitute/dsde/workbench/sam/db/tables/PolicyTable.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
package org.broadinstitute.dsde.workbench.sam.db.tables | ||
|
||
import org.broadinstitute.dsde.workbench.sam.db.{DatabaseKey, SamTypeBinders} | ||
import org.broadinstitute.dsde.workbench.sam.model.AccessPolicyName | ||
import scalikejdbc._ | ||
|
||
final case class PolicyPK(value: Long) extends DatabaseKey | ||
final case class PolicyRecord(id: PolicyPK, | ||
resourceId: ResourcePK, | ||
groupId: GroupPK, | ||
name: AccessPolicyName) | ||
|
||
object PolicyTable extends SQLSyntaxSupport[PolicyRecord] { | ||
override def tableName: String = "SAM_RESOURCE_POLICY" | ||
|
||
import SamTypeBinders._ | ||
def apply(e: ResultName[PolicyRecord])(rs: WrappedResultSet): PolicyRecord = PolicyRecord( | ||
rs.get(e.id), | ||
rs.get(e.resourceId), | ||
rs.get(e.groupId), | ||
rs.get(e.name) | ||
) | ||
} |
22 changes: 22 additions & 0 deletions
22
...in/scala/org/broadinstitute/dsde/workbench/sam/db/tables/ResourceActionPatternTable.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
package org.broadinstitute.dsde.workbench.sam.db.tables | ||
|
||
import org.broadinstitute.dsde.workbench.model.ValueObject | ||
import org.broadinstitute.dsde.workbench.sam.db.{DatabaseKey, SamTypeBinders} | ||
import scalikejdbc._ | ||
|
||
final case class ResourceActionPatternPK(value: Long) extends DatabaseKey | ||
final case class ResourceActionPatternName(value: String) extends ValueObject | ||
final case class ResourceActionPatternRecord(id: ResourceActionPatternPK, | ||
resourceTypeId: ResourceTypePK, | ||
actionPattern: ResourceActionPatternName) | ||
|
||
object ResourceActionPatternTable extends SQLSyntaxSupport[ResourceActionPatternRecord] { | ||
override def tableName: String = "SAM_ACTION_PATTERN" | ||
|
||
import SamTypeBinders._ | ||
def apply(e: ResultName[ResourceActionPatternRecord])(rs: WrappedResultSet): ResourceActionPatternRecord = ResourceActionPatternRecord( | ||
rs.get(e.id), | ||
rs.get(e.resourceTypeId), | ||
rs.get(e.actionPattern) | ||
) | ||
} |
Oops, something went wrong.