<?php
namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class TgGroups extends Model
{
    protected $table = 'tg_groups';
    public $incrementing = false; // Telegram 的 chat_id 是 bigint，可為負數
    protected $keyType = 'string';
    protected $guarded = ['id'];

    protected $casts = [
        'chat_id' => 'integer',
        'type' => 'string',
        'title' => 'string',
        'username' => 'string',
        'description' => 'string',
        'invite_link' => 'string',
        'photo_small_file_id' => 'string',
        'photo_big_file_id' => 'string',
        'created_at' => 'datetime',
        'updated_at' => 'datetime',
    ];

    public static function updateOrCreateFromTelegram(array $chatData): self
    {
        return self::updateOrCreate(
            ['chat_id' => $chatData['id']],
            [
                'type' => $chatData['type'] ?? null,
                'title' => $chatData['title'] ?? null,
                'creator' => $chatData['creator'] ?? null,
                'invite_link' => $chatData['invite_link'] ?? null,
                'photo_small_file_id' => $chatData['photo']['small_file_id'] ?? null,
                'photo_big_file_id' => $chatData['photo']['big_file_id'] ?? null,
            ]
        );
    }

}

