<?php

namespace brain\data;

use Carbon\Carbon;
use brain\utility\DocTools;

use function _\find;

class Member
{
    public function __construct()
    {
    }

    public static function verifyKey(string $key)
    {
        if (isset($key)) {
            $folks = (new Settings())->getFolks();
            $found = find($folks, ['key' => $key]);
            if ($found) {
                return true;
            } else {
                return false;
            }
        } else {
            return false;
        }
    }

    public static function updateData(string $key, string $data, $secret = null)
    {
        $folks = (new Settings())->getFolks();
        if (isset($secret)) {
            $found = find($folks, ['secret' => $secret]);
        } else {
            $member = Session::get('member');
            $found  = find($folks, ['handle' => $member['handle']]);
        }
        $found[$key] = $data;
        //record time updated
        $updated          = Carbon::now();
        $found['updated'] = $updated->format("Y-m-d\TH:i:sP");
        $newFolks         = [];
        array_push($newFolks, $found);
        //save updated file
        DocTools::writeSettings('../config/folks.json', $newFolks);
        //update member data in session

        if (!isset($secret)) {
            $member = [
                'handle' => $found['handle'],
                'email'  => $found['email'],
                'role'   => $found['role'],
                'avatar' => $found['avi'],
                'key'    => $found['key'],
            ];
            Session::set('member', $member);
        }
    }
}