467363d651
Made-with: Cursor
34 lines
1.2 KiB
PHP
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']);
|