79 lines
1.4 KiB
Go
79 lines
1.4 KiB
Go
package dao
|
|
|
|
import (
|
|
"git.tek.govt.hu/dowerx/chat/server/dao/postgres"
|
|
"git.tek.govt.hu/dowerx/chat/server/dao/valkey"
|
|
"git.tek.govt.hu/dowerx/chat/server/util"
|
|
)
|
|
|
|
var userDAO IUserDAO
|
|
var channelDAO IChannelDAO
|
|
var sessionDAO ISessionDAO
|
|
var messageDAO IMessageDAO
|
|
var notifcationDAO INotificationDAO
|
|
|
|
func GetUserDAO() (IUserDAO, *util.ChatError) {
|
|
if userDAO == nil {
|
|
dao, err := postgres.MakeUserDAO()
|
|
if err != nil {
|
|
return userDAO, err
|
|
}
|
|
|
|
userDAO = dao
|
|
}
|
|
|
|
return userDAO, nil
|
|
}
|
|
|
|
func GetChannelDAO() (IChannelDAO, *util.ChatError) {
|
|
if channelDAO == nil {
|
|
dao, err := postgres.MakeChannelDAO()
|
|
if err != nil {
|
|
return channelDAO, err
|
|
}
|
|
|
|
channelDAO = dao
|
|
}
|
|
|
|
return channelDAO, nil
|
|
}
|
|
|
|
func GetMessageDAO() (IMessageDAO, *util.ChatError) {
|
|
if messageDAO == nil {
|
|
dao, err := postgres.MakeMessageDAO()
|
|
if err != nil {
|
|
return messageDAO, err
|
|
}
|
|
|
|
messageDAO = dao
|
|
}
|
|
|
|
return messageDAO, nil
|
|
}
|
|
|
|
func GetSessionDAO() (ISessionDAO, *util.ChatError) {
|
|
if sessionDAO == nil {
|
|
dao, err := valkey.MakeSessionDAO()
|
|
if err != nil {
|
|
return sessionDAO, err
|
|
}
|
|
|
|
sessionDAO = dao
|
|
}
|
|
|
|
return sessionDAO, nil
|
|
}
|
|
|
|
func GetNotificationDAO() (INotificationDAO, *util.ChatError) {
|
|
if notifcationDAO == nil {
|
|
dao, err := valkey.MakeNotificationDAO()
|
|
if err != nil {
|
|
return notifcationDAO, err
|
|
}
|
|
|
|
notifcationDAO = dao
|
|
}
|
|
|
|
return notifcationDAO, nil
|
|
}
|