58 lines
980 B
Elm
58 lines
980 B
Elm
|
module Internal.Api.Main exposing
|
||
|
( Msg
|
||
|
, sendMessageEvent
|
||
|
)
|
||
|
|
||
|
{-|
|
||
|
|
||
|
|
||
|
# Main API module
|
||
|
|
||
|
This module is used as reference for getting
|
||
|
|
||
|
|
||
|
## VaultUpdate
|
||
|
|
||
|
@docs Msg
|
||
|
|
||
|
|
||
|
## Actions
|
||
|
|
||
|
@docs sendMessageEvent
|
||
|
|
||
|
-}
|
||
|
|
||
|
import Internal.Api.Task as ITask exposing (Backpack)
|
||
|
import Internal.Tools.Json as Json
|
||
|
import Internal.Values.Context as Context
|
||
|
import Internal.Values.Envelope as E
|
||
|
|
||
|
|
||
|
type alias Msg =
|
||
|
Backpack
|
||
|
|
||
|
|
||
|
{-| Send a message event.
|
||
|
-}
|
||
|
sendMessageEvent :
|
||
|
E.Envelope a
|
||
|
->
|
||
|
{ content : Json.Value
|
||
|
, eventType : String
|
||
|
, roomId : String
|
||
|
, toMsg : Msg -> msg
|
||
|
, transactionId : String
|
||
|
}
|
||
|
-> Cmd msg
|
||
|
sendMessageEvent env data =
|
||
|
ITask.run
|
||
|
data.toMsg
|
||
|
(ITask.sendMessageEvent
|
||
|
{ content = data.content
|
||
|
, eventType = data.eventType
|
||
|
, roomId = data.roomId
|
||
|
, transactionId = data.transactionId
|
||
|
}
|
||
|
)
|
||
|
(Context.apiFormat env.context)
|