aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/formats/json/user/UserRole.scala
blob: 74acb81a2a3ad300da193973f0643f3e35a07165 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package xyz.driver.pdsuidomain.formats.json.user

import xyz.driver.pdsuicommon.domain.User.Role

object UserRole {

  val roleFromString: PartialFunction[String, Role] = {
    case "Cleaner" => Role.RecordCleaner
    case "Organizer" => Role.RecordOrganizer
    case "Extractor" => Role.DocumentExtractor
    case "RecordAdmin" => Role.RecordAdmin
    case "TrialSummarizer" => Role.TrialSummarizer
    case "CriteriaCurator" => Role.CriteriaCurator
    case "TrialAdmin" => Role.TrialAdmin
    case "EligibilityVerifier" => Role.EligibilityVerifier
    case "TreatmentMatchingAdmin" => Role.TreatmentMatchingAdmin
    case "RoutesCurator" => Role.RoutesCurator
    // No Mixed at this time
  }

  def roleToString(x: Role): String = x match {
    case Role.RecordCleaner => "Cleaner"
    case Role.RecordOrganizer => "Organizer"
    case Role.DocumentExtractor => "Extractor"
    case Role.RecordAdmin => "RecordAdmin"
    case Role.TrialSummarizer => "TrialSummarizer"
    case Role.CriteriaCurator => "CriteriaCurator"
    case Role.TrialAdmin => "TrialAdmin"
    case Role.EligibilityVerifier => "EligibilityVerifier"
    case Role.TreatmentMatchingAdmin => "TreatmentMatchingAdmin"
    case Role.RoutesCurator => "RoutesCurator"
  }
}