From b91ff2c80207dcbf60409e62d0ee326ddedb8ff0 Mon Sep 17 00:00:00 2001 From: Nikolai Papin Date: Sat, 12 Jul 2025 17:04:09 +0300 Subject: [PATCH] refactor: added redisclient connection error check --- backend/internal/redisClient/redisClient.go | 45 +++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 backend/internal/redisClient/redisClient.go diff --git a/backend/internal/redisClient/redisClient.go b/backend/internal/redisClient/redisClient.go new file mode 100644 index 0000000..663103b --- /dev/null +++ b/backend/internal/redisClient/redisClient.go @@ -0,0 +1,45 @@ +// Copyright (c) 2025 Nikolai Papin +// +// This file is part of Easywish +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU 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 General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +package redisclient + +import ( + "context" + "easywish/config" + + "github.com/go-redis/redis/v8" +) + +func NewRedisClient() *redis.Client { + + cfg := config.GetConfig() + + options, err := redis.ParseURL(cfg.RedisUrl) + + if err != nil { + panic("Failed to parse redis URL: " + err.Error()) + } + + client := redis.NewClient(options) + + ctx := context.Background() + if err := client.Ping(ctx).Err(); err != nil { + panic("Redis connection failed: " + err.Error()) + } + + return client +}