controllers

package
v0.0.0-...-05e4c81 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 27, 2019 License: MIT Imports: 12 Imported by: 0

Documentation

Index

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

func GetAllRoomsInfo(
	req *http.Request,
	render render.Render,
	chatService *services.Chat,
)

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

func GetFriends(req *http.Request, render render.Render, friends services.Friends)

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 GetRooms

func GetRooms(
	req *http.Request,
	render render.Render,
	chatService *services.Chat,
)

Returns all the current user's chat rooms

func GetUser

func GetUser(params martini.Params, render render.Render, account services.Account)

Returns user by ID

func GetUsers

func GetUsers(req *http.Request, render render.Render, account services.Account)

Batch request to fetch users by IDs

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

func SendMessage

func SendMessage(
	params martini.Params,
	message models.Message,
	req *http.Request,
	render render.Render,
	chatService *services.Chat,
)

Send message to the chat log of a given room

func UpdateMemberLastReadTime

func UpdateMemberLastReadTime(
	params martini.Params,
	req *http.Request,
	res http.ResponseWriter,
	render render.Render,
	chatService *services.Chat,
)

Updates room messages last read time fo a given member

Types

type UserClaims

type UserClaims struct {
	AvatarURL string `json:"avatar"`
	jwt.StandardClaims
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL