github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/web/elm/src/UserState.elm (about) 1 module UserState exposing (UserState(..), isAnonymous, isMember) 2 3 import Concourse 4 import Dict 5 6 7 type UserState 8 = UserStateLoggedIn Concourse.User 9 | UserStateLoggedOut 10 | UserStateUnknown 11 12 13 isAnonymous : UserState -> Bool 14 isAnonymous userState = 15 case userState of 16 UserStateLoggedIn _ -> 17 False 18 19 _ -> 20 True 21 22 23 isMember : { a | teamName : String, userState : UserState } -> Bool 24 isMember { teamName, userState } = 25 case userState of 26 UserStateLoggedIn user -> 27 if user.isAdmin then 28 True 29 30 else 31 case Dict.get teamName user.teams of 32 Just roles -> 33 List.member "pipeline-operator" roles 34 || List.member "member" roles 35 || List.member "owner" roles 36 37 Nothing -> 38 False 39 40 _ -> 41 False