summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2020-05-10 18:08:26 +0200
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2020-05-10 18:08:26 +0200
commitfc09d979e4c753377131684b1100c250e89765ea (patch)
treea79689b720794b4a5503ac63ff4c84dfd04e6f41 /src/shared/elm/Shared/Struct/Flags.elm
parentd2667e46fec8f15c29ffa80925d33b6931d8aa3b (diff)
...
Diffstat (limited to 'src/shared/elm/Shared/Struct/Flags.elm')
-rw-r--r--src/shared/elm/Shared/Struct/Flags.elm73
1 files changed, 73 insertions, 0 deletions
diff --git a/src/shared/elm/Shared/Struct/Flags.elm b/src/shared/elm/Shared/Struct/Flags.elm
new file mode 100644
index 0000000..f57362e
--- /dev/null
+++ b/src/shared/elm/Shared/Struct/Flags.elm
@@ -0,0 +1,73 @@
+module Shared.Struct.Flags exposing
+ (
+ Type,
+ maybe_get_parameter,
+ force_get_parameter,
+ get_parameters_as_url,
+ get_session_token,
+ get_user_id
+ )
+
+-- Elm -------------------------------------------------------------------------
+import List
+
+-- Shared ----------------------------------------------------------------------
+import Util.List
+
+--------------------------------------------------------------------------------
+-- TYPES -----------------------------------------------------------------------
+--------------------------------------------------------------------------------
+type alias Type =
+ {
+ user_id : String,
+ token : String,
+ url_parameters : (List (List String))
+ }
+
+--------------------------------------------------------------------------------
+-- LOCAL -----------------------------------------------------------------------
+--------------------------------------------------------------------------------
+parameter_as_url : (List String) -> String
+parameter_as_url parameter =
+ case parameter of
+ [name, value] -> (name ++ "=" ++ value)
+ _ -> ""
+
+--------------------------------------------------------------------------------
+-- EXPORTED --------------------------------------------------------------------
+--------------------------------------------------------------------------------
+maybe_get_parameter : String -> Type -> (Maybe String)
+maybe_get_parameter parameter flags =
+ case
+ (Util.List.get_first
+ (\e -> ((List.head e) == (Just parameter)))
+ flags.url_parameters
+ )
+ of
+ Nothing -> Nothing
+ (Just a) ->
+ case (List.tail a) of
+ Nothing -> Nothing
+ (Just b) -> (List.head b)
+
+force_get_parameter : String -> Type -> String
+force_get_parameter parameter flags =
+ case (maybe_get_parameter parameter flags) of
+ Nothing -> ""
+ (Just str) -> str
+
+get_parameters_as_url : Type -> String
+get_parameters_as_url flags =
+ (List.foldl
+ (\parameter -> \current_parameters ->
+ (current_parameters ++ "&" ++ (parameter_as_url parameter))
+ )
+ ""
+ flags.url_parameters
+ )
+
+get_session_token : Type -> String
+get_session_token flags = flags.token
+
+get_user_id : Type -> String
+get_user_id flags = flags.user_id