Documentation
¶
Index ¶
- func AddRoomMember(params martini.Params, req *http.Request, render render.Render, ...)
- func ConnectToChat(req *http.Request, res http.ResponseWriter, render render.Render, ...)
- func CreateRoom(room models.Room, req *http.Request, render render.Render, ...)
- func DeleteRoom(params martini.Params, req *http.Request, res http.ResponseWriter, ...)
- func GetAllMembersInfo(req *http.Request, params martini.Params, render render.Render, ...)
- func GetAllRoomsInfo(req *http.Request, render render.Render, chatService *services.Chat)
- func GetChatLog(params martini.Params, req *http.Request, render render.Render, ...)
- func GetFriends(req *http.Request, render render.Render, friends services.Friends)
- func GetMemberInfo(params martini.Params, req *http.Request, render render.Render, ...)
- func GetRoom(params martini.Params, req *http.Request, render render.Render, ...)
- func GetRooms(req *http.Request, render render.Render, chatService *services.Chat)
- func GetUser(params martini.Params, render render.Render, account services.Account)
- func GetUsers(req *http.Request, render render.Render, account services.Account)
- func HasFriendsPermissions(req *http.Request, res http.ResponseWriter, render render.Render, ...)
- func LoginWithProvider(extAuth models.ExtAuthCredentials, render render.Render, oauth services.OAuth, ...)
- func RemoveRoomMember(params martini.Params, req *http.Request, res http.ResponseWriter, ...)
- func SendMessage(params martini.Params, message models.Message, req *http.Request, ...)
- func UpdateMemberLastReadTime(params martini.Params, req *http.Request, res http.ResponseWriter, ...)
- type UserClaims
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddRoomMember ¶
func AddRoomMember( params martini.Params, req *http.Request, render render.Render, chatService *services.Chat, friendsService services.Friends, )
Adds member to the chat room
func ConnectToChat ¶
func ConnectToChat( req *http.Request, res http.ResponseWriter, render render.Render, manager *services.ConnectionManager, deviceID middleware.DeviceID, )
Initializes a WebSocket connection for the current user
func CreateRoom ¶
func CreateRoom( room models.Room, req *http.Request, render render.Render, chatService *services.Chat, friendsService services.Friends, )
Create chat room
func DeleteRoom ¶
func DeleteRoom( params martini.Params, req *http.Request, res http.ResponseWriter, render render.Render, chatService *services.Chat, )
Deletes chat room
func GetAllMembersInfo ¶
func GetAllMembersInfo( req *http.Request, params martini.Params, render render.Render, chatService *services.Chat, )
Returns all members info for a given chat room
func GetAllRoomsInfo ¶
Returns all chat member infos for a given member
func GetChatLog ¶
func GetChatLog( params martini.Params, req *http.Request, render render.Render, chatService *services.Chat, )
Returns chat log of a given room
func GetFriends ¶
Returns list of authenticated user friends
func GetMemberInfo ¶
func GetMemberInfo( params martini.Params, req *http.Request, render render.Render, chatService *services.Chat, )
Returns room member info
func GetRoom ¶
func GetRoom( params martini.Params, req *http.Request, render render.Render, chatService *services.Chat, )
Returns chat room by its ID
func HasFriendsPermissions ¶
func HasFriendsPermissions(req *http.Request, res http.ResponseWriter, render render.Render, friends services.Friends)
Returns error response if application doesn't have permission to fetch user friends
func LoginWithProvider ¶
func LoginWithProvider(extAuth models.ExtAuthCredentials, render render.Render, oauth services.OAuth, account services.Account)
Retrieves user info using OAuth flow and returns encrypted JWT with username and id
func RemoveRoomMember ¶
func RemoveRoomMember( params martini.Params, req *http.Request, res http.ResponseWriter, render render.Render, chatService *services.Chat, )
Removes chat room member
Types ¶
type UserClaims ¶
type UserClaims struct {
AvatarURL string `json:"avatar"`
jwt.StandardClaims
}
Click to show internal directories.
Click to hide internal directories.