27 lines
675 B
Go
27 lines
675 B
Go
package controller
|
|
|
|
import (
|
|
"git.tek.govt.hu/dowerx/chat/server/dao"
|
|
"git.tek.govt.hu/dowerx/chat/server/model"
|
|
"git.tek.govt.hu/dowerx/chat/server/util"
|
|
)
|
|
|
|
type ChatController struct {
|
|
channelDAO dao.IChannelDAO
|
|
sessionDAO dao.ISessionDAO
|
|
}
|
|
|
|
func (c ChatController) ListAvailableChannels(token string) ([]model.Channel, *util.ChatError) {
|
|
userID, err := c.sessionDAO.Get(token)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return c.channelDAO.ListAvailableChannels(userID)
|
|
}
|
|
|
|
func MakeChatController(channelDAO dao.IChannelDAO, sessionDAO dao.ISessionDAO) ChatController {
|
|
controller := ChatController{channelDAO: channelDAO, sessionDAO: sessionDAO}
|
|
return controller
|
|
}
|