/* Copyright (C) 2024 Pagefault Games This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package cache import ( "fmt" "strconv" "github.com/go-redis/redis" ) const ( dailyRunCompletionsDB = 1 dailyRunsDB = 2 accountDailyRunsDB = 3 accountsDB = 4 sessionDB = 5 activeClientSessionsDB = 6 activePlayersDB = 7 ) var rdb *redis.Client func InitRedis(address, password, database string) error { db, err := strconv.Atoi(database) if err != nil { return fmt.Errorf("failed to convert database to int: %w", err) } rdb = redis.NewClient(&redis.Options{ Addr: address, Password: password, DB: db, }) _, err = rdb.Ping().Result() if err != nil { return fmt.Errorf("failed to connect to redis: %w", err) } return nil }