Address PR review: rename to eda_visibility, merge migrations, API versioning

Changes based on jbtronics' review of PR #1241:

- Rename kicad_export -> eda_visibility (entities, forms, templates,
  translations, tests) with nullable bool for system default support
- Merge two database migrations into one (Version20260211000000)
- Rename createCachedJsonResponse -> createCacheableJsonResponse
- Change bool $apiV2 -> int $apiVersion with version validation
- EDA visibility field only shown for part parameters, not other entities
- PopulateKicadCommand: check alternative names of footprints/categories
- PopulateKicadCommand: support external JSON mapping file (--mapping-file)
- Ship default mappings JSON at contrib/kicad-populate/default_mappings.json
- Add system-wide defaultEdaVisibility setting in KiCadEDASettings
- Add KiCad HTTP Library v2 spec link in controller docs
This commit is contained in:
Sebastian Almberg 2026-02-18 09:26:40 +01:00
parent 06c6542438
commit ae7e31f0bd
17 changed files with 532 additions and 177 deletions

View file

@ -123,11 +123,11 @@ class Orderdetail extends AbstractDBElement implements TimeStampableInterface, N
protected bool $obsolete = false;
/**
* @var bool Whether this orderdetail's supplier part number should be exported as a KiCad field
* @var bool|null Whether this orderdetail's supplier part number should be exported as an EDA field. Null means use system default.
*/
#[Groups(['full', 'import', 'orderdetail:read', 'orderdetail:write'])]
#[ORM\Column(type: Types::BOOLEAN, options: ['default' => false])]
protected bool $kicad_export = false;
#[ORM\Column(type: Types::BOOLEAN, nullable: true, options: ['default' => null])]
protected ?bool $eda_visibility = null;
/**
* @var string The URL to the product on the supplier's website
@ -425,17 +425,17 @@ class Orderdetail extends AbstractDBElement implements TimeStampableInterface, N
return $this;
}
public function isKicadExport(): bool
public function isEdaVisibility(): ?bool
{
return $this->kicad_export;
return $this->eda_visibility;
}
/**
* @return $this
*/
public function setKicadExport(bool $kicad_export): self
public function setEdaVisibility(?bool $eda_visibility): self
{
$this->kicad_export = $kicad_export;
$this->eda_visibility = $eda_visibility;
return $this;
}