SuperSeller3000/src/Domain/Channel/Repository/AttributeMappingRepositoryInterface.php
Simon Kuehn 6bf001b0c0 feat: implement Plan 2 — Article Management API
- 6 new domain repository interfaces (StoragePath, ArticlePhoto, AttributeValue, ChannelField, ArticleTypePlatformConfig, AttributeMapping)
- 6 Doctrine repository implementations
- StorageManager with multi-path quota-aware file storage (LocalStorageManager)
- Application services: ArticleTypeService, ArticleService, ArticleValidator, PhotoService, PlatformService, MappingService
- REST controllers: ArticleType, Article, Photo, Platform, Mapping (all under /api prefix)
- inventory_number sequence migration
- 22 unit tests passing, PHPStan level 9 clean, CS Fixer clean
- Fixed phpdoc_to_comment CS Fixer rule (disabled) to preserve @var type annotations
- Fixed PHPStan: User::getUserIdentifier non-empty-string, AIPipelineJob nullable missingFields

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 05:19:20 +00:00

20 lines
496 B
PHP

<?php
declare(strict_types=1);
namespace App\Domain\Channel\Repository;
use App\Domain\Channel\AttributeMapping;
use Symfony\Component\Uid\Uuid;
interface AttributeMappingRepositoryInterface
{
public function findById(Uuid $id): ?AttributeMapping;
/** @return list<AttributeMapping> */
public function findByPlatformConfig(Uuid $platformConfigId): array;
public function save(AttributeMapping $mapping): void;
public function remove(AttributeMapping $mapping): void;
}