You've already forked Traefik-Redis-Api
This is not a commit
This commit is contained in:
@@ -10,7 +10,6 @@ use Psr\Http\Message\ResponseInterface;
|
|||||||
|
|
||||||
abstract class Controller implements ControllerInterface
|
abstract class Controller implements ControllerInterface
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param ServerRequest $request
|
* @param ServerRequest $request
|
||||||
* @return ResponseInterface
|
* @return ResponseInterface
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ interface ControllerInterface
|
|||||||
* Handle the request and return a response.
|
* Handle the request and return a response.
|
||||||
*
|
*
|
||||||
* @param ServerRequest $request The request data.
|
* @param ServerRequest $request The request data.
|
||||||
* @return mixed The response data.
|
* @return ResponseInterface The response data.
|
||||||
*/
|
*/
|
||||||
public function get(ServerRequest $request): ResponseInterface;
|
public function get(ServerRequest $request): ResponseInterface;
|
||||||
|
|
||||||
@@ -21,7 +21,7 @@ interface ControllerInterface
|
|||||||
* Handle the request and return a response.
|
* Handle the request and return a response.
|
||||||
*
|
*
|
||||||
* @param ServerRequest $request The request data.
|
* @param ServerRequest $request The request data.
|
||||||
* @return mixed The response data.
|
* @return ResponseInterface The response data.
|
||||||
*/
|
*/
|
||||||
public function post(ServerRequest $request): ResponseInterface;
|
public function post(ServerRequest $request): ResponseInterface;
|
||||||
|
|
||||||
@@ -29,7 +29,7 @@ interface ControllerInterface
|
|||||||
* Handle the request and return a response.
|
* Handle the request and return a response.
|
||||||
*
|
*
|
||||||
* @param ServerRequest $request The request data.
|
* @param ServerRequest $request The request data.
|
||||||
* @return mixed The response data.
|
* @return ResponseInterface The response data.
|
||||||
*/
|
*/
|
||||||
public function delete(ServerRequest $request): ResponseInterface;
|
public function delete(ServerRequest $request): ResponseInterface;
|
||||||
|
|
||||||
@@ -37,7 +37,7 @@ interface ControllerInterface
|
|||||||
* Handle the request and return a response.
|
* Handle the request and return a response.
|
||||||
*
|
*
|
||||||
* @param ServerRequest $request The request data.
|
* @param ServerRequest $request The request data.
|
||||||
* @return mixed The response data.
|
* @return ResponseInterface The response data.
|
||||||
*/
|
*/
|
||||||
public function patch(ServerRequest $request): ResponseInterface;
|
public function patch(ServerRequest $request): ResponseInterface;
|
||||||
}
|
}
|
||||||
@@ -12,7 +12,6 @@ use Siteworxpro\App\Traefik\RedisClient;
|
|||||||
|
|
||||||
class MiddlewaresController extends Controller
|
class MiddlewaresController extends Controller
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @throws \JsonException
|
* @throws \JsonException
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ use Siteworxpro\App\Traefik\RedisClient;
|
|||||||
|
|
||||||
class RoutesController extends Controller
|
class RoutesController extends Controller
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @throws \JsonException
|
* @throws \JsonException
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ use Siteworxpro\App\Traefik\RedisClient;
|
|||||||
|
|
||||||
class ServicesController extends Controller
|
class ServicesController extends Controller
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @throws \JsonException
|
* @throws \JsonException
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ use Predis\Response\Status;
|
|||||||
*/
|
*/
|
||||||
class Redis extends Facade
|
class Redis extends Facade
|
||||||
{
|
{
|
||||||
|
|
||||||
public static function getFacadeRoot(): Client
|
public static function getFacadeRoot(): Client
|
||||||
{
|
{
|
||||||
if (self::$resolvedInstance !== null) {
|
if (self::$resolvedInstance !== null) {
|
||||||
|
|||||||
@@ -20,14 +20,23 @@ class RedisClient
|
|||||||
* @param ProtocolEnum $type
|
* @param ProtocolEnum $type
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public static function createOrReplace(string $name, array $data, EntityEnum $entity, ProtocolEnum $type = ProtocolEnum::HTTP): void
|
public static function createOrReplace(
|
||||||
{
|
string $name,
|
||||||
|
array $data,
|
||||||
|
EntityEnum $entity,
|
||||||
|
ProtocolEnum $type = ProtocolEnum::HTTP
|
||||||
|
): void {
|
||||||
self::deleteAllKeys($name, $entity, $type);
|
self::deleteAllKeys($name, $entity, $type);
|
||||||
|
|
||||||
$collection = self::flattenToDotArray($data);
|
$collection = self::flattenToDotArray($data);
|
||||||
|
|
||||||
foreach ($collection as $key => $value) {
|
foreach ($collection as $key => $value) {
|
||||||
$redisKey = 'traefik/' . $type->getValue() . '/' . $entity->getValue() . "/$name/" . str_replace('.', '/', $key);
|
$redisKey = 'traefik/' .
|
||||||
|
$type->getValue() . '/' .
|
||||||
|
$entity->getValue() .
|
||||||
|
"/$name/" .
|
||||||
|
str_replace('.', '/', $key);
|
||||||
|
|
||||||
Redis::set($redisKey, $value);
|
Redis::set($redisKey, $value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -39,8 +48,12 @@ class RedisClient
|
|||||||
* @param ProtocolEnum $type
|
* @param ProtocolEnum $type
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public static function patchEntity(string $name, array $data, EntityEnum $entity, ProtocolEnum $type = ProtocolEnum::HTTP): void
|
public static function patchEntity(
|
||||||
{
|
string $name,
|
||||||
|
array $data,
|
||||||
|
EntityEnum $entity,
|
||||||
|
ProtocolEnum $type = ProtocolEnum::HTTP
|
||||||
|
): void {
|
||||||
$collection = self::flattenToDotArray($data);
|
$collection = self::flattenToDotArray($data);
|
||||||
|
|
||||||
$checkKey = 'traefik/' . $type->getValue() . '/' . $entity->getValue() . "/$name";
|
$checkKey = 'traefik/' . $type->getValue() . '/' . $entity->getValue() . "/$name";
|
||||||
@@ -58,7 +71,13 @@ class RedisClient
|
|||||||
$arrayKey = preg_replace('/\.[0-9]+$/', '', $key);
|
$arrayKey = preg_replace('/\.[0-9]+$/', '', $key);
|
||||||
|
|
||||||
if (in_array($arrayKey, $cleanedUpKeys)) {
|
if (in_array($arrayKey, $cleanedUpKeys)) {
|
||||||
$redisKey = 'traefik/' . $type->getValue() . '/' . $entity->getValue() . "/$name/" . str_replace('.', '/', $key);
|
$redisKey = 'traefik/' .
|
||||||
|
$type->getValue() .
|
||||||
|
'/' .
|
||||||
|
$entity->getValue() .
|
||||||
|
"/$name/" .
|
||||||
|
str_replace('.', '/', $key);
|
||||||
|
|
||||||
Redis::set($redisKey, $value);
|
Redis::set($redisKey, $value);
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
@@ -73,7 +92,11 @@ class RedisClient
|
|||||||
$cleanedUpKeys[] = $arrayKey;
|
$cleanedUpKeys[] = $arrayKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
$redisKey = 'traefik/' . $type->getValue() . '/' . $entity->getValue() . "/$name/" . str_replace('.', '/', $key);
|
$redisKey = 'traefik/' .
|
||||||
|
$type->getValue() . '/' . $entity->getValue() .
|
||||||
|
"/$name/" .
|
||||||
|
str_replace('.', '/', $key);
|
||||||
|
|
||||||
Redis::set($redisKey, $value);
|
Redis::set($redisKey, $value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -84,8 +107,11 @@ class RedisClient
|
|||||||
* @param ProtocolEnum $protocol
|
* @param ProtocolEnum $protocol
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
public static function deleteAllKeys(string $name, EntityEnum $entity, ProtocolEnum $protocol = ProtocolEnum::HTTP): bool
|
public static function deleteAllKeys(
|
||||||
{
|
string $name,
|
||||||
|
EntityEnum $entity,
|
||||||
|
ProtocolEnum $protocol = ProtocolEnum::HTTP
|
||||||
|
): bool {
|
||||||
$pattern = 'traefik/' . $protocol->getValue() . '/' . $entity->getValue() . "/$name/*";
|
$pattern = 'traefik/' . $protocol->getValue() . '/' . $entity->getValue() . "/$name/*";
|
||||||
|
|
||||||
foreach (new Keyspace(Redis::getFacadeRoot(), $pattern) as $key) {
|
foreach (new Keyspace(Redis::getFacadeRoot(), $pattern) as $key) {
|
||||||
|
|||||||
Reference in New Issue
Block a user