mirror of
https://gh.wpcy.net/https://github.com/fairpm/aspirecloud.git
synced 2026-06-20 02:22:28 +08:00
* fix: use elvis to defensively cast falsy columns to null * feat: use PluginProps dataclass to validate Plugin::create() * feat: add ThemeProps and use them in Theme::create * feat: add validations to PluginProps/ThemeProps * feat: Repo abstraction over sources (not to be confused with Model/Entity Repositories) * feat: seed AspireUpdate plugin. We are now first-party. --------- Signed-off-by: Chuck Adams <cja987@gmail.com> Co-authored-by: Colin Stewart <79332690+costdev@users.noreply.github.com>
19 lines
449 B
PHP
19 lines
449 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Contracts\Repo;
|
|
|
|
use App\Models\WpOrg\Plugin;
|
|
use App\Models\WpOrg\Theme;
|
|
|
|
/**
|
|
* Represents the general concept of a plugin/theme repository service, in the sense of "the wp.org theme repo"
|
|
* or "the github plugin repo" rather than a lower-level Entity/Model Repository, thus the abbreviated "Repo" name.
|
|
*
|
|
* @template T of Plugin|Theme
|
|
*/
|
|
interface Repo
|
|
{
|
|
public function origin(): string;
|
|
}
|