121 lines
2.1 KiB
Go
121 lines
2.1 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
|
|
var roleDAO IRoleDAO
|
|
var roleBindingDAO IRoleBindingDAO
|
|
var rightDAO IRightDAO
|
|
|
|
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 GetRoleDAO() (IRoleDAO, *util.ChatError) {
|
|
if roleDAO == nil {
|
|
dao, err := postgres.MakeRoleDAO()
|
|
if err != nil {
|
|
return roleDAO, err
|
|
}
|
|
|
|
roleDAO = dao
|
|
}
|
|
|
|
return roleDAO, nil
|
|
}
|
|
|
|
func GetRoleBindingDAO() (IRoleBindingDAO, *util.ChatError) {
|
|
if roleBindingDAO == nil {
|
|
dao, err := postgres.MakeRoleBindingDAO()
|
|
if err != nil {
|
|
return roleBindingDAO, err
|
|
}
|
|
|
|
roleBindingDAO = dao
|
|
}
|
|
|
|
return roleBindingDAO, nil
|
|
}
|
|
|
|
func GetRightDAO() (IRightDAO, *util.ChatError) {
|
|
if rightDAO == nil {
|
|
dao, err := postgres.MakeRightDAO()
|
|
if err != nil {
|
|
return rightDAO, err
|
|
}
|
|
|
|
rightDAO = dao
|
|
}
|
|
|
|
return rightDAO, 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
|
|
}
|