From 78862729e6c52ac5bf919079e2a81c5f318cf522 Mon Sep 17 00:00:00 2001 From: Nathanael Sensfelder Date: Sat, 8 Sep 2018 05:27:50 +0200 Subject: Redirects to login (and back) if disconnected. --- src/shared/elm/Struct/Flags.elm | 58 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 src/shared/elm/Struct/Flags.elm (limited to 'src/shared/elm/Struct/Flags.elm') diff --git a/src/shared/elm/Struct/Flags.elm b/src/shared/elm/Struct/Flags.elm new file mode 100644 index 0000000..8cb8aea --- /dev/null +++ b/src/shared/elm/Struct/Flags.elm @@ -0,0 +1,58 @@ +module Struct.Flags exposing + ( + Type, + maybe_get_param, + get_params_as_url + ) + +-- Elm ------------------------------------------------------------------------- +import List + +-- Shared ---------------------------------------------------------------------- +import Util.List + +-------------------------------------------------------------------------------- +-- TYPES ----------------------------------------------------------------------- +-------------------------------------------------------------------------------- +type alias Type = + { + user_id : String, + token : String, + url_params : (List (List String)) + } + +-------------------------------------------------------------------------------- +-- LOCAL ----------------------------------------------------------------------- +-------------------------------------------------------------------------------- +param_as_url : (List String) -> String +param_as_url param = + case param of + [name, value] -> (name ++ "=" ++ value) + _ -> "" + +-------------------------------------------------------------------------------- +-- EXPORTED -------------------------------------------------------------------- +-------------------------------------------------------------------------------- +maybe_get_param : String -> Type -> (Maybe String) +maybe_get_param param flags = + case + (Util.List.get_first + (\e -> ((List.head e) == (Just param))) + flags.url_params + ) + of + Nothing -> Nothing + (Just a) -> + case (List.tail a) of + Nothing -> Nothing + (Just b) -> (List.head b) + +get_params_as_url : Type -> String +get_params_as_url flags = + (List.foldl + (\param -> \current_params -> + (current_params ++ "&" ++ (param_as_url param)) + ) + "" + flags.url_params + ) -- cgit v1.2.3-70-g09d2