Files
michaelschiemer/src/Application/SmartLink/Api/DeleteGeoRoutingRule.php
Michael Schiemer 5050c7d73a docs: consolidate documentation into organized structure
- Move 12 markdown files from root to docs/ subdirectories
- Organize documentation by category:
  • docs/troubleshooting/ (1 file)  - Technical troubleshooting guides
  • docs/deployment/      (4 files) - Deployment and security documentation
  • docs/guides/          (3 files) - Feature-specific guides
  • docs/planning/        (4 files) - Planning and improvement proposals

Root directory cleanup:
- Reduced from 16 to 4 markdown files in root
- Only essential project files remain:
  • CLAUDE.md (AI instructions)
  • README.md (Main project readme)
  • CLEANUP_PLAN.md (Current cleanup plan)
  • SRC_STRUCTURE_IMPROVEMENTS.md (Structure improvements)

This improves:
 Documentation discoverability
 Logical organization by purpose
 Clean root directory
 Better maintainability
2025-10-05 11:05:04 +02:00

30 lines
844 B
PHP

<?php
declare(strict_types=1);
namespace App\Application\SmartLink\Api;
use App\Domain\SmartLink\Repositories\GeoRoutingRuleRepository;
use App\Domain\SmartLink\ValueObjects\GeoRuleId;
use App\Framework\Attributes\Route;
use App\Framework\Http\HttpRequest;
use App\Framework\Http\Method;
use App\Framework\Router\Result\JsonResult;
final readonly class DeleteGeoRoutingRule
{
public function __construct(
private GeoRoutingRuleRepository $geoRoutingRuleRepository
) {}
#[Route(path: '/api/geo-rules/{ruleId}', method: Method::DELETE)]
public function __invoke(HttpRequest $request, string $ruleId): JsonResult
{
$this->geoRoutingRuleRepository->delete(
GeoRuleId::fromString($ruleId)
);
return new JsonResult(['message' => 'Geo-routing rule deleted successfully']);
}
}