API / Minn\Admin / LegacyPackController

LegacyPackController final readonly class

Minn\Admin\LegacyPackController · public/minn/src/Minn/Admin/LegacyPackController.php · 49 lines

The Minn Legacy Pack installed for an editor that needs it (Runtime\LegacyPack): the latest release the Minn update service follows for the pack's repository, its package checked against the sha256 the service recorded, unpacked as any plugin is, then activated. A site that has the pack only activates it. Minn asks Minn: the package comes from the update service, never from GitHub directly.

Used by 1

Constants and properties

privatereadonly Minn\Ops\Packages $packages

Promoted from the constructor.

privatereadonly Minn\Http $http

Promoted from the constructor.

Public

new__construct(Minn\Ops\Packages $packages, Minn\Http $http = \Minn\Http::__set_state(array( 'within' => array ( ), 'fake' => NULL, 'refusal' => NULL, )))#
methodinstall(Minn\Http\Request $request): Minn\Http\ResponsePOST /minn-admin/v1/legacy-pack/install (floor edit_posts + install_plugins + activate_plugins)#

Installs the pack when the site lacks it, and activates it; the pack's state after.

Internals 1

Private and protected methods: how the class does its work. Not a contract; they change whenever the code is tidied.

privaterelease(): array#

The pack's latest release as the update service describes it: a package it serves and the sha256 it recorded.

@return array{version: string, package: string, sha256: string}