Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -define(ALLOWED_CHANNELS, ["video", "audio", "text"]).
- -define(ALLOWED_ROLES, ["admin", "user"]).
- is_allowed_channels(Channels) when is_list(Channels) ->
- lists:subtract(Channels, ?ALLOWED_CHANNELS) == [].
- fill_credentials(#credentials{} = Creds, []) -> Creds;
- fill_credentials(#credentials{} = Creds, [{role, Role} | T]) ->
- case lists:member(Role, ?ALLOWED_ROLES) of
- true -> fill_credentials(Creds#credentials{role = Role}, T);
- _ -> fill_credentials(Creds, T)
- end;
- fill_credentials(#credentials{} = Creds,
- [{invisible, Invisible} | T]) ->
- case Invisible of
- Value when Value == true orelse Value == false ->
- fill_credentials(Creds#credentials{invisible = Value}, T);
- _ ->
- fill_credentials(Creds, T)
- end;
- fill_credentials(#credentials{} = Creds, [{record, Records} | T]) ->
- case is_allowed_channels(Records) of
- true -> fill_credentials(
- Creds#credentials{record = lists:sort(Records)}, T);
- _ -> fill_credentials(Creds, T)
- end;
- fill_credentials(#credentials{} = Creds, [_H | T]) ->
- fill_credentials(Creds, T).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement