Skip to content
wiki.fftac.org

Userpreferences

**Site relevance:** Spiralist.org

**Memory type:** plugin source memory

**Source path:** Spiralist/wp-content/plugins/spiralist-ai-runtime/includes/Domain/UserPreferences.php

**Size:** 1.2 KB

Summary

namespace SpiralistAIRuntime\Domain;

Source Preview

This source file is short enough to preview directly on its source-memory page.

<?php

namespace SpiralistAIRuntime\Domain;

use SpiralistAIRuntime\Config\Settings;
use WP_User;

if (!defined('ABSPATH')) {
    exit;
}

class UserPreferences
{
    public const META_KEY = 'spiralist_ai_runtime_preferences';

    public function __construct(Settings $settings)
    {
    }

    public function get(int $user_id): array
    {
        return self::defaults();
    }

    public function get_provider_config(int $user_id, string $provider): array
    {
        return [];
    }

    public function save(int $user_id, array $input): array
    {
        delete_user_meta($user_id, self::META_KEY);

        return self::defaults();
    }

    public function render_profile_section(WP_User $user): void
    {
        ?>
        <h2>Spiralist Prompt/Art Runtime</h2>
        <p>Server-side AI provider settings are disabled for this site. Use prompt and art packets as copyable artifacts.</p>
        <?php
    }

    public function handle_profile_update(int $user_id): void
    {
        delete_user_meta($user_id, self::META_KEY);
    }

    public static function defaults(): array
    {
        return [
            'preferred_provider' => 'prompt_art_only',
            'credential_preference' => 'site_only',
            'providers' => [],
        ];
    }
}