<?php

return [
    /*
     * 模型
     */
    'models' => [
        'user' => \Kylin\User\Models\User::class,
        'user_profile' => \Kylin\User\Models\UserProfile::class,
    ],

    /*
     * 法律合规 - 密码策略
     *
     * 依据等保 2.0 (GB/T 22239) 8.1.4.2：
     * 密码需满足复杂度要求（长度、字母、数字、特殊字符）。
     */
    'password' => [
        'min_length' => env('KYLIN_USER_PWD_MIN', 8),
        'require_uppercase' => env('KYLIN_USER_PWD_UPPER', true),
        'require_lowercase' => env('KYLIN_USER_PWD_LOWER', true),
        'require_number' => env('KYLIN_USER_PWD_NUMBER', true),
        'require_symbol' => env('KYLIN_USER_PWD_SYMBOL', false),
        'expire_days' => env('KYLIN_USER_PWD_EXPIRE', 0), // 0=永不过期
    ],

    /*
     * 法律合规 - 登录安全
     *
     * 依据等保 2.0 (GB/T 22239) 8.1.4.4：
     * 登录失败处理，防止暴力破解。
     */
    'login' => [
        'max_attempts' => env('KYLIN_USER_MAX_ATTEMPTS', 5),
        'lockout_minutes' => env('KYLIN_USER_LOCKOUT_MINUTES', 30),
    ],

    /*
     * 头像
     */
    'avatar' => [
        'default' => env('KYLIN_USER_AVATAR_DEFAULT', '/images/default-avatar.png'),
        'disk' => env('KYLIN_USER_AVATAR_DISK', 'public'),
        'max_size' => env('KYLIN_USER_AVATAR_MAX_SIZE', 2048), // KB
    ],

    /*
     * 法律合规 - 个人信息保护
     *
     * 依据《个人信息保护法》：
     * - 第十四条：收集个人信息需取得用户同意
     * - 第十七条：需告知用户信息用途
     * - 第五十一条：采取加密等安全措施
     */
    'privacy' => [
        'consent_required' => env('KYLIN_USER_PRIVACY_CONSENT', true),
        'encrypt_id_card' => env('KYLIN_USER_ENCRYPT_ID_CARD', true),
        'encrypt_phone' => env('KYLIN_USER_ENCRYPT_PHONE', true),
        'data_retention_days' => env('KYLIN_USER_DATA_RETENTION', 365),
    ],

    /*
     * 法律合规 - 年龄分组
     *
     * 依据《未成年人保护法》和《个人信息保护法》分类处理。
     */
    'age_groups' => [
        'child' => ['max' => 7, 'label' => '幼儿'],
        'minor' => ['max' => 17, 'label' => '未成年人'],
        'adult' => ['max' => 59, 'label' => '成年人'],
        'elderly' => ['max' => null, 'label' => '老年人'],
    ],
];
