Subiendo proyecto completo sin restricciones de git ignore

This commit is contained in:
Jose Sanchez
2023-08-17 11:44:02 -04:00
parent a0d4f5ba3b
commit 20f1c60600
19921 changed files with 2509159 additions and 45 deletions

View File

@@ -0,0 +1,56 @@
<?php
namespace Facade\IgnitionContracts;
class BaseSolution implements Solution
{
protected $title;
protected $description;
protected $links = [];
public static function create(string $title)
{
return new static($title);
}
public function __construct(string $title)
{
$this->title = $title;
}
public function getSolutionTitle(): string
{
return $this->title;
}
public function setSolutionTitle(string $title): self
{
$this->title = $title;
return $this;
}
public function getSolutionDescription(): string
{
return $this->description;
}
public function setSolutionDescription(string $description): self
{
$this->description = $description;
return $this;
}
public function getDocumentationLinks(): array
{
return $this->links;
}
public function setDocumentationLinks(array $links): self
{
$this->links = $links;
return $this;
}
}

View File

@@ -0,0 +1,13 @@
<?php
namespace Facade\IgnitionContracts;
use Throwable;
interface HasSolutionsForThrowable
{
public function canSolve(Throwable $throwable): bool;
/** \Facade\IgnitionContracts\Solution[] */
public function getSolutions(Throwable $throwable): array;
}

View File

@@ -0,0 +1,8 @@
<?php
namespace Facade\IgnitionContracts;
interface ProvidesSolution
{
public function getSolution(): Solution;
}

View File

@@ -0,0 +1,14 @@
<?php
namespace Facade\IgnitionContracts;
interface RunnableSolution extends Solution
{
public function getSolutionActionDescription(): string;
public function getRunButtonText(): string;
public function run(array $parameters = []);
public function getRunParameters(): array;
}

View File

@@ -0,0 +1,12 @@
<?php
namespace Facade\IgnitionContracts;
interface Solution
{
public function getSolutionTitle(): string;
public function getSolutionDescription(): string;
public function getDocumentationLinks(): array;
}

View File

@@ -0,0 +1,20 @@
<?php
namespace Facade\IgnitionContracts;
use Throwable;
interface SolutionProviderRepository
{
public function registerSolutionProvider(string $solutionProviderClass): self;
public function registerSolutionProviders(array $solutionProviderClasses): self;
/**
* @param Throwable $throwable
* @return \Facade\IgnitionContracts\Solution[]
*/
public function getSolutionsForThrowable(Throwable $throwable): array;
public function getSolutionForClass(string $solutionClass): ?Solution;
}