1
1
module Server.WebSocket.Events where
2
2
3
3
import Prelude
4
- import Server.Effect (BaseEffect , BaseReader , Configuration )
5
- import Shared.Availability (Availability (..))
6
- import Shared.Im.Types (AfterLogout (..), FullWebSocketPayloadClient (..), MessageError (..), MessageStatus , OutgoingRecord , WebSocketPayloadClient (..), WebSocketPayloadServer (..))
7
- import Shared.User (ProfileVisibility (..))
8
4
9
5
import Browser.Cookies.Internal as BCI
10
6
import Data.Array as DA
@@ -24,6 +20,7 @@ import Data.Newtype as DN
24
20
import Data.Time.Duration (Hours )
25
21
import Data.Tuple (Tuple (..))
26
22
import Data.Tuple as DT
23
+ import Debug (spy )
27
24
import Droplet.Driver (Pool )
28
25
import Effect (Effect )
29
26
import Effect.Aff as EA
@@ -44,19 +41,23 @@ import Server.Cookies (cookieName)
44
41
import Server.Database.KarmaLeaderboard as SIKL
45
42
import Server.Database.Privileges as SIP
46
43
import Server.Database.Users as SBU
44
+ import Server.Effect (BaseEffect , BaseReader , Configuration )
47
45
import Server.Effect as SE
48
46
import Server.Im.Action as SIA
49
47
import Server.Im.Database as SID
50
48
import Server.Settings.Action as SSA
51
49
import Server.Token as ST
52
50
import Server.WebSocket (CloseCode , CloseReason , WebSocketConnection , WebSocketMessage (..))
53
51
import Server.WebSocket as SW
52
+ import Shared.Availability (Availability (..))
54
53
import Shared.DateTime (DateTimeWrapper (..))
55
54
import Shared.DateTime as SDT
55
+ import Shared.Im.Types (AfterLogout (..), FullWebSocketPayloadClient (..), MessageError (..), MessageStatus , OutgoingRecord , WebSocketPayloadClient (..), WebSocketPayloadServer (..))
56
56
import Shared.Json as SJ
57
57
import Shared.Resource (updateHash )
58
58
import Shared.ResponseError (DatabaseError , ResponseError (..))
59
59
import Shared.Unsafe as SU
60
+ import Shared.User (ProfileVisibility (..))
60
61
import Simple.JSON (class WriteForeign )
61
62
import Simple.JSON as SJS
62
63
@@ -99,11 +100,12 @@ inactiveHours = 1
99
100
100
101
handleConnection ∷ Configuration → Pool → Ref (HashMap Int UserAvailability ) → WebSocketConnection → Request → Effect Unit
101
102
handleConnection configuration pool allUsersAvailabilityRef connection request = EA .launchAff_ do
103
+ liftEffect $ EC .log " sockets"
102
104
maybeUserId ← SE .poolEffect pool do
103
105
userId ← parseUserId
104
106
isIt ← DM .maybe (pure false ) SBU .isUserBanned userId
105
107
pure $ if isIt then Nothing else userId
106
- liftEffect $ case maybeUserId of
108
+ liftEffect $ case (spy " maybe user " maybeUserId) of
107
109
Nothing → do
108
110
-- this can be made more clear for the end user
109
111
sendWebSocketMessage connection $ CloseConnection LoginPage
0 commit comments