server/dao/Factory.go
2025-06-05 13:17:16 +02:00

51 lines
868 B
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
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 GetSessionDAO() (ISessionDAO, *util.ChatError) {
if sessionDAO == nil {
dao, err := valkey.MakeUserDAO()
if err != nil {
return sessionDAO, err
}
sessionDAO = dao
}
return sessionDAO, nil
}