From c8dfc2a8a9b728c428eb817ae328a12803940532 Mon Sep 17 00:00:00 2001 From: Snider Date: Sun, 25 Jan 2026 23:36:01 +0000 Subject: [PATCH] refactor: remove deprecated code for v0.0.1 release - Remove deprecated device chrome properties and methods from Editor - Remove deprecated ConfigResolver::bootKeys() and lazy load instead - Remove deprecated ConfigValue::find() method - Remove deprecated StorageOffload::getHumanSizeAttribute() accessor - Clean up API controllers (already using resolveWorkspace trait) Co-Authored-By: Claude Opus 4.5 --- .../src/Core/Cdn/Models/StorageOffload.php | 10 -- packages/core-php/src/Core/Config/Boot.php | 9 +- .../src/Core/Config/ConfigResolver.php | 10 -- .../src/Core/Config/Models/ConfigValue.php | 10 -- .../Controllers/Api/AnalyticsController.php | 26 +--- .../Web/Controllers/Api/BlockController.php | 24 +--- .../Web/Controllers/Api/PageController.php | 20 +-- .../Controllers/Api/ShortLinkController.php | 20 +-- .../src/Mod/Web/View/Modal/Admin/Editor.php | 120 ------------------ 9 files changed, 25 insertions(+), 224 deletions(-) diff --git a/packages/core-php/src/Core/Cdn/Models/StorageOffload.php b/packages/core-php/src/Core/Cdn/Models/StorageOffload.php index 5278cba..768b860 100644 --- a/packages/core-php/src/Core/Cdn/Models/StorageOffload.php +++ b/packages/core-php/src/Core/Cdn/Models/StorageOffload.php @@ -157,14 +157,4 @@ class StorageOffload extends Model return round($bytes / (1024 ** $power), 2).' '.$units[$power]; } - - /** - * Legacy attribute name alias. - * - * @deprecated Use file_size_human instead - */ - public function getHumanSizeAttribute(): string - { - return $this->file_size_human; - } } diff --git a/packages/core-php/src/Core/Config/Boot.php b/packages/core-php/src/Core/Config/Boot.php index 0b8d1ef..68536bd 100644 --- a/packages/core-php/src/Core/Config/Boot.php +++ b/packages/core-php/src/Core/Config/Boot.php @@ -67,14 +67,7 @@ class Boot extends ServiceProvider } // Boot key registry after app is ready (deferred to avoid DB during boot) - $this->app->booted(function () { - // Skip during migrations, seeding, or when DB isn't ready - if ($this->app->runningInConsole() && $this->isDbUnavailable()) { - return; - } - - ConfigResolver::bootKeys(); - }); + // Config resolver now uses lazy loading - no boot-time initialization needed } /** diff --git a/packages/core-php/src/Core/Config/ConfigResolver.php b/packages/core-php/src/Core/Config/ConfigResolver.php index 293a04d..561504f 100644 --- a/packages/core-php/src/Core/Config/ConfigResolver.php +++ b/packages/core-php/src/Core/Config/ConfigResolver.php @@ -129,16 +129,6 @@ class ConfigResolver static::$loaded = true; } - /** - * No-op for backward compatibility with Boot.php. - * - * @deprecated Remove call from Boot.php - */ - public static function bootKeys(): void - { - // No-op - } - // ========================================================================= // RESOLUTION ENGINE (only runs during lazy prime, not normal reads) // ========================================================================= diff --git a/packages/core-php/src/Core/Config/Models/ConfigValue.php b/packages/core-php/src/Core/Config/Models/ConfigValue.php index e65ce99..053bb87 100644 --- a/packages/core-php/src/Core/Config/Models/ConfigValue.php +++ b/packages/core-php/src/Core/Config/Models/ConfigValue.php @@ -123,16 +123,6 @@ class ConfigValue extends Model ->first(); } - /** - * Find value for a profile and key (legacy - no channel). - * - * @deprecated Use findValue() with explicit channel - */ - public static function find(int $profileId, int $keyId): ?self - { - return static::findValue($profileId, $keyId, null); - } - /** * Set or update a value. * diff --git a/packages/core-php/src/Mod/Web/Controllers/Api/AnalyticsController.php b/packages/core-php/src/Mod/Web/Controllers/Api/AnalyticsController.php index 6df1c3e..ea52030 100644 --- a/packages/core-php/src/Mod/Web/Controllers/Api/AnalyticsController.php +++ b/packages/core-php/src/Mod/Web/Controllers/Api/AnalyticsController.php @@ -39,7 +39,7 @@ class AnalyticsController extends Controller */ public function summary(Request $request, Page $biolink): AnalyticsResource|JsonResponse { - $workspace = $this->getWorkspace($request); + $workspace = $this->resolveWorkspace($request); if (! $workspace) { return $this->noWorkspaceResponse(); @@ -90,7 +90,7 @@ class AnalyticsController extends Controller */ public function clicks(Request $request, Page $biolink): JsonResponse { - $workspace = $this->getWorkspace($request); + $workspace = $this->resolveWorkspace($request); if (! $workspace) { return $this->noWorkspaceResponse(); @@ -130,7 +130,7 @@ class AnalyticsController extends Controller */ public function geo(Request $request, Page $biolink): JsonResponse { - $workspace = $this->getWorkspace($request); + $workspace = $this->resolveWorkspace($request); if (! $workspace) { return $this->noWorkspaceResponse(); @@ -171,7 +171,7 @@ class AnalyticsController extends Controller */ public function devices(Request $request, Page $biolink): JsonResponse { - $workspace = $this->getWorkspace($request); + $workspace = $this->resolveWorkspace($request); if (! $workspace) { return $this->noWorkspaceResponse(); @@ -217,7 +217,7 @@ class AnalyticsController extends Controller */ public function referrers(Request $request, Page $biolink): JsonResponse { - $workspace = $this->getWorkspace($request); + $workspace = $this->resolveWorkspace($request); if (! $workspace) { return $this->noWorkspaceResponse(); @@ -258,7 +258,7 @@ class AnalyticsController extends Controller */ public function utm(Request $request, Page $biolink): JsonResponse { - $workspace = $this->getWorkspace($request); + $workspace = $this->resolveWorkspace($request); if (! $workspace) { return $this->noWorkspaceResponse(); @@ -303,7 +303,7 @@ class AnalyticsController extends Controller */ public function blocks(Request $request, Page $biolink): JsonResponse { - $workspace = $this->getWorkspace($request); + $workspace = $this->resolveWorkspace($request); if (! $workspace) { return $this->noWorkspaceResponse(); @@ -353,16 +353,4 @@ class AnalyticsController extends Controller ]); } - /** - * Get the current user's workspace. - */ - /** - * Get the current user's workspace. - * - * @deprecated Use resolveWorkspace() from ResolvesWorkspace trait - */ - protected function getWorkspace(Request $request): ?Workspace - { - return $this->resolveWorkspace($request); - } } diff --git a/packages/core-php/src/Mod/Web/Controllers/Api/BlockController.php b/packages/core-php/src/Mod/Web/Controllers/Api/BlockController.php index 7fc1132..b33104b 100644 --- a/packages/core-php/src/Mod/Web/Controllers/Api/BlockController.php +++ b/packages/core-php/src/Mod/Web/Controllers/Api/BlockController.php @@ -37,7 +37,7 @@ class BlockController extends Controller */ public function index(Request $request, Page $biolink): AnonymousResourceCollection|JsonResponse { - $workspace = $this->getWorkspace($request); + $workspace = $this->resolveWorkspace($request); if (! $workspace) { return $this->noWorkspaceResponse(); @@ -60,7 +60,7 @@ class BlockController extends Controller */ public function store(StoreBlockRequest $request, Page $biolink): BlockResource|JsonResponse { - $workspace = $this->getWorkspace($request); + $workspace = $this->resolveWorkspace($request); if (! $workspace) { return $this->noWorkspaceResponse(); @@ -105,7 +105,7 @@ class BlockController extends Controller */ public function show(Request $request, Block $block): BlockResource|JsonResponse { - $workspace = $this->getWorkspace($request); + $workspace = $this->resolveWorkspace($request); if (! $workspace) { return $this->noWorkspaceResponse(); @@ -126,7 +126,7 @@ class BlockController extends Controller */ public function update(UpdateBlockRequest $request, Block $block): BlockResource|JsonResponse { - $workspace = $this->getWorkspace($request); + $workspace = $this->resolveWorkspace($request); if (! $workspace) { return $this->noWorkspaceResponse(); @@ -151,7 +151,7 @@ class BlockController extends Controller */ public function destroy(Request $request, Block $block): JsonResponse { - $workspace = $this->getWorkspace($request); + $workspace = $this->resolveWorkspace($request); if (! $workspace) { return $this->noWorkspaceResponse(); @@ -182,7 +182,7 @@ class BlockController extends Controller */ public function reorder(ReorderBlocksRequest $request, Page $biolink): JsonResponse { - $workspace = $this->getWorkspace($request); + $workspace = $this->resolveWorkspace($request); if (! $workspace) { return $this->noWorkspaceResponse(); @@ -221,7 +221,7 @@ class BlockController extends Controller */ public function duplicate(Request $request, Page $biolink, Block $block): BlockResource|JsonResponse { - $workspace = $this->getWorkspace($request); + $workspace = $this->resolveWorkspace($request); if (! $workspace) { return $this->noWorkspaceResponse(); @@ -249,14 +249,4 @@ class BlockController extends Controller return new BlockResource($newBlock); } - - /** - * Get the current user's workspace. - * - * @deprecated Use resolveWorkspace() from ResolvesWorkspace trait - */ - protected function getWorkspace(Request $request): ?Workspace - { - return $this->resolveWorkspace($request); - } } diff --git a/packages/core-php/src/Mod/Web/Controllers/Api/PageController.php b/packages/core-php/src/Mod/Web/Controllers/Api/PageController.php index a109325..39735d8 100644 --- a/packages/core-php/src/Mod/Web/Controllers/Api/PageController.php +++ b/packages/core-php/src/Mod/Web/Controllers/Api/PageController.php @@ -41,7 +41,7 @@ class PageController extends Controller */ public function index(Request $request): PaginatedCollection|JsonResponse { - $workspace = $this->getWorkspace($request); + $workspace = $this->resolveWorkspace($request); if (! $workspace) { return $this->noWorkspaceResponse(); @@ -93,7 +93,7 @@ class PageController extends Controller */ public function store(StorePageRequest $request): BioResource|JsonResponse { - $workspace = $this->getWorkspace($request); + $workspace = $this->resolveWorkspace($request); if (! $workspace) { return $this->noWorkspaceResponse(); @@ -177,7 +177,7 @@ class PageController extends Controller */ public function show(Request $request, Page $biolink): BioResource|JsonResponse { - $workspace = $this->getWorkspace($request); + $workspace = $this->resolveWorkspace($request); if (! $workspace) { return $this->noWorkspaceResponse(); @@ -201,7 +201,7 @@ class PageController extends Controller */ public function update(UpdatePageRequest $request, Page $biolink): BioResource|JsonResponse { - $workspace = $this->getWorkspace($request); + $workspace = $this->resolveWorkspace($request); if (! $workspace) { return $this->noWorkspaceResponse(); @@ -274,7 +274,7 @@ class PageController extends Controller */ public function destroy(Request $request, Page $biolink): JsonResponse { - $workspace = $this->getWorkspace($request); + $workspace = $this->resolveWorkspace($request); if (! $workspace) { return $this->noWorkspaceResponse(); @@ -289,14 +289,4 @@ class PageController extends Controller return response()->json(null, 204); } - - /** - * Get the current user's workspace. - * - * @deprecated Use resolveWorkspace() from ResolvesWorkspace trait - */ - protected function getWorkspace(Request $request): ?Workspace - { - return $this->resolveWorkspace($request); - } } diff --git a/packages/core-php/src/Mod/Web/Controllers/Api/ShortLinkController.php b/packages/core-php/src/Mod/Web/Controllers/Api/ShortLinkController.php index e49adf1..97e8fba 100644 --- a/packages/core-php/src/Mod/Web/Controllers/Api/ShortLinkController.php +++ b/packages/core-php/src/Mod/Web/Controllers/Api/ShortLinkController.php @@ -41,7 +41,7 @@ class ShortLinkController extends Controller */ public function index(Request $request): PaginatedCollection|JsonResponse { - $workspace = $this->getWorkspace($request); + $workspace = $this->resolveWorkspace($request); if (! $workspace) { return $this->noWorkspaceResponse(); @@ -92,7 +92,7 @@ class ShortLinkController extends Controller */ public function store(StoreShortLinkRequest $request): ShortLinkResource|JsonResponse { - $workspace = $this->getWorkspace($request); + $workspace = $this->resolveWorkspace($request); if (! $workspace) { return $this->noWorkspaceResponse(); @@ -194,7 +194,7 @@ class ShortLinkController extends Controller */ public function show(Request $request, Page $shortlink): ShortLinkResource|JsonResponse { - $workspace = $this->getWorkspace($request); + $workspace = $this->resolveWorkspace($request); if (! $workspace) { return $this->noWorkspaceResponse(); @@ -217,7 +217,7 @@ class ShortLinkController extends Controller */ public function update(UpdateShortLinkRequest $request, Page $shortlink): ShortLinkResource|JsonResponse { - $workspace = $this->getWorkspace($request); + $workspace = $this->resolveWorkspace($request); if (! $workspace) { return $this->noWorkspaceResponse(); @@ -329,7 +329,7 @@ class ShortLinkController extends Controller */ public function destroy(Request $request, Page $shortlink): JsonResponse { - $workspace = $this->getWorkspace($request); + $workspace = $this->resolveWorkspace($request); if (! $workspace) { return $this->noWorkspaceResponse(); @@ -366,14 +366,4 @@ class ShortLinkController extends Controller return $slug; } - - /** - * Get the current user's workspace. - * - * @deprecated Use resolveWorkspace() from ResolvesWorkspace trait - */ - protected function getWorkspace(Request $request): ?Workspace - { - return $this->resolveWorkspace($request); - } } diff --git a/packages/core-php/src/Mod/Web/View/Modal/Admin/Editor.php b/packages/core-php/src/Mod/Web/View/Modal/Admin/Editor.php index fe624b6..50f2f0b 100644 --- a/packages/core-php/src/Mod/Web/View/Modal/Admin/Editor.php +++ b/packages/core-php/src/Mod/Web/View/Modal/Admin/Editor.php @@ -94,11 +94,6 @@ class Editor extends Component // Target region for adding new blocks public string $targetRegion = 'content'; - // Legacy device settings (deprecated) - public string $selectedDevice = 'iphone-16-pro'; - - public ?string $selectedVariant = null; - public bool $debugMode = false; // Dirty tracking @@ -535,121 +530,6 @@ class Editor extends Component }; } - /** - * Get devices for the current viewport (legacy compatibility). - * - * @deprecated Use CSS-only device chrome instead - */ - #[Computed] - public function devicesForViewport(): array - { - $devices = config('device-frames.devices', []); - - return collect($devices) - ->filter(fn ($device) => $device['viewport'] === $this->selectedViewport) - ->all(); - } - - /** - * Get the currently selected device config (legacy compatibility). - * - * @deprecated Use CSS-only device chrome instead - */ - #[Computed] - public function currentDevice(): ?array - { - return config("device-frames.devices.{$this->selectedDevice}"); - } - - /** - * Get the current device's available variants (legacy compatibility). - * - * @deprecated Use CSS-only device chrome instead - */ - #[Computed] - public function currentVariants(): array - { - return $this->currentDevice['variants'] ?? []; - } - - /** - * Get the effective variant (legacy compatibility). - * - * @deprecated Use CSS-only device chrome instead - */ - #[Computed] - public function effectiveVariant(): string - { - return $this->selectedVariant - ?? $this->currentDevice['default_variant'] - ?? array_key_first($this->currentVariants); - } - - /** - * Select a device and reset variant (legacy compatibility). - * - * @deprecated Use CSS-only device chrome instead - */ - public function selectDevice(string $device): void - { - $devices = config('device-frames.devices', []); - - if (! isset($devices[$device])) { - return; - } - - $this->selectedDevice = $device; - $this->selectedVariant = null; - } - - /** - * Select a variant. - */ - public function selectVariant(string $variant): void - { - $this->selectedVariant = $variant; - } - - /** - * Get approximate colour for variant display. - */ - public function getVariantColor(string $variant): string - { - // Common colour mappings for device variants - return match ($variant) { - // Apple colours - 'black', 'space-black', 'black-titanium' => '#1d1d1f', - 'silver', 'white', 'white-titanium' => '#e3e3e0', - 'natural-titanium' => '#97948e', - 'gold', 'light-gold' => '#d4af37', - 'deep-purple' => '#635e6c', - 'desert-titanium' => '#c4a77d', - 'blue', 'blue-titanium', 'deep-blue' => '#4a6fa5', - 'sky-blue' => '#87ceeb', - 'pink' => '#fadadd', - 'teal' => '#4db6ac', - 'ultramarine' => '#3f51b5', - 'cloud-white' => '#f5f5f5', - 'space-gray' => '#535150', - 'green' => '#4caf50', - 'orange', 'cosmic-orange' => '#ff9800', - 'purple' => '#9c27b0', - 'red' => '#f44336', - 'yellow' => '#ffeb3b', - 'stardust' => '#bdb5a1', - // Android colours - 'obsidian' => '#292929', - 'hazel' => '#8d7b6c', - 'rose-quartz' => '#e8b4b8', - 'porcelain' => '#f0ebe3', - // Windows/Surface colours - 'graphite' => '#4a4a4a', - 'platinum' => '#e5e4e2', - // Default - default => '#888888', - }; - } - /** * Save biolink settings. */