<?php
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 = new \Moment\Moment();
    $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);
    }
  }
}
