summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2018-09-08 05:27:50 +0200
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2018-09-08 05:27:50 +0200
commit78862729e6c52ac5bf919079e2a81c5f318cf522 (patch)
tree7e99944c079ebe093a91bb27e243861571533cf6 /src/shared/elm
parent7cba3a16cb13f8e56f39b434d6278d68e2118145 (diff)
Redirects to login (and back) if disconnected.
Diffstat (limited to 'src/shared/elm')
-rw-r--r--src/shared/elm/Struct/Flags.elm58
1 files changed, 58 insertions, 0 deletions
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
+ )