Files

34 lines
1.2 KiB
PHP

<?php
declare(strict_types=1);
require __DIR__ . '/_common.php';
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
json_response(['ok' => false, 'error' => 'Use POST'], 405);
}
if (!store_needs_setup()) {
json_response(['ok' => false, 'error' => 'ระบบตั้งค่าแล้ว — ใช้ล็อกอินแอดมิน'], 400);
}
$body = require_json_body();
$password = (string)($body['password'] ?? '');
if (strlen($password) < 8) {
json_response(['ok' => false, 'error' => 'รหัสผ่านอย่างน้อย 8 ตัวอักษร'], 400);
}
$store = read_store();
$store['admins'][] = [
'id' => new_id(),
'username' => 'admin',
'passwordHash' => password_hash($password, PASSWORD_DEFAULT),
'role' => 'super',
'createdAt' => gmdate('c'),
];
if (!write_store($store)) {
json_response(['ok' => false, 'error' => 'เขียนไฟล์ไม่ได้ — ตรวจสิทธิ์โฟลเดอร์ Admin/private'], 500);
}
json_response(['ok' => true, 'username' => 'admin', 'message' => 'สร้างแอดมินแรกแล้ว — ล็อกอินด้วย admin']);