diff --git a/Handler/Upload.hs b/Handler/Upload.hs index b836e41..8d91ef7 100644 --- a/Handler/Upload.hs +++ b/Handler/Upload.hs @@ -21,25 +21,21 @@ getUploadR = do msu <- lookupSession "userId" case msu of Just tempUserId -> do - userId <- lift $ getUserIdFromText tempUserId - (uploadWidget, enctype) <- generateFormPost (uploadForm userId) + userId <- lift $ pure $ getUserIdFromText tempUserId + (uploadWidget, enctype) <- generateFormPost (uploadForm $ Key userId) defaultLayout $ do $(widgetFile "upload") Nothing -> do setMessage $ [shamlet|
You need to be logged in|]
       redirect $ LoginR
 
---getUserIdFromText :: Text -> UserId
-getUserIdFromText tempUserId =
-  Key $ PersistInt64 $ fromIntegral $ read $ unpack tempUserId
-
 postUploadR :: Handler Html
 postUploadR = do
   msu <- lookupSession "userId"
   case msu of
     Just tempUserId -> do
-      userId <- lift $ getUserIdFromText tempUserId
-      ((result, uploadWidget), enctype) <- runFormPost (uploadForm userId)
+      userId <- lift $ pure $ getUserIdFromText tempUserId
+      ((result, uploadWidget), enctype) <- runFormPost (uploadForm $ Key userId)
       case result of
         FormSuccess temp -> do
           path <- writeOnDrive $ tempMediumFile temp
diff --git a/Helper.hs b/Helper.hs
new file mode 100644
index 0000000..0fd0d33
--- /dev/null
+++ b/Helper.hs
@@ -0,0 +1,12 @@
+module Helper 
+  ( getUserIdFromText
+  )
+where
+
+import Prelude
+import Data.Text
+import Database.Persist.Types
+
+getUserIdFromText :: Text -> PersistValue
+getUserIdFromText tempUserId =
+  PersistInt64 $ fromIntegral $ read $ unpack tempUserId
diff --git a/Import.hs b/Import.hs
index c29fb00..a9d6118 100644
--- a/Import.hs
+++ b/Import.hs
@@ -17,6 +17,7 @@ import           Settings.StaticFiles as Import
 
 -- custom imports
 
+import           Helper               as Import
 
 -- end custom imports