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 <noreply@anthropic.com>
This commit is contained in:
Snider 2026-01-25 23:36:01 +00:00
parent 65dd9af950
commit c8dfc2a8a9
9 changed files with 25 additions and 224 deletions

View file

@ -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;
}
}

View file

@ -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
}
/**

View file

@ -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)
// =========================================================================

View file

@ -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.
*

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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.
*/