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 }