Files
ABSDEV/Modules/Marketplace/Models/MarketplacePackage.php
T
Mark Gregory f09a680531 Marketplace package catalogue
* Modules, themes, and extensions
* Publisher profiles and verification metadata
* Installed-package tracking
* Semantic version compatibility checks
* PHP, Laravel, and Content Manager compatibility checks
* Dependency resolution
* SHA-256 checksum validation
* Package signature requirements
* Installation and update history
* Enable and disable controls
* Removal handling
* Rollback records
* Licence records
* Marketplace administration UI
* Authenticated REST endpoints
* Console audit and synchronisation commands
* Permissions and sidebar integration
* Feature tests
2026-07-24 13:49:14 +01:00

14 lines
855 B
PHP

<?php
namespace Modules\Marketplace\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
final class MarketplacePackage extends Model
{
protected $table='marketplace_packages';
protected $fillable=['publisher_id','type','name','slug','package_name','description','latest_version','homepage','repository_url','download_url','checksum','signature','manifest','is_featured','is_active','catalogue_updated_at'];
protected $casts=['manifest'=>'array','is_featured'=>'boolean','is_active'=>'boolean','catalogue_updated_at'=>'datetime'];
public function publisher(): BelongsTo { return $this->belongsTo(Publisher::class); }
public function licences(): HasMany { return $this->hasMany(MarketplaceLicence::class,'marketplace_package_id'); }
}