مرجع کامل endpointهای بخش «مدیریت دیتابیس» در API کلاینت پافرلند.
ساخت و مدیریت دیتابیسهای MySQL/MariaDB سرور. مجوزهای لازم: database.read، database.create، database.update و database.delete.GET /api/client/servers/{server}/databasesتمام دیتابیسهای سرور را برمیگرداند. هر آیتم server_database شامل id (شناسهی تصادفی مثل YkxXVk6W)، host (با address و port)، name، username، connections_from و max_connections (صفر یعنی نامحدود) است.
نکته: رمز عبور دیتابیس در این پاسخ موجود نیست.
curl "https://pufferland.ir/api/client/servers/1a85a183/databases" \
-H "Authorization: Bearer ptlc_xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Accept: application/json"نمونه پاسخ واقعی:
{
"object" : "list" ,
"data" : []
}POST /api/client/servers/{server}/databasesیک دیتابیس جدید میسازد (پاسخ 200). رمز تولیدشده در relationships.password.attributes.password پاسخ برگردانده میشود.
فیلد نوع الزام توضیح databasestring ✓ نام دیتابیس بدون پیشوند سرور. remotestring ✓ الگوی دسترسی ریموت؛ % برای همهی IPها یا یک IP مشخص.
curl -X POST "https://pufferland.ir/api/client/servers/1a85a183/databases" \
-H "Authorization: Bearer ptlc_xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"database": "mydb", "remote": "%"}'await fetch('https://pufferland.ir/api/client/servers/1a85a183/databases', {
method: 'POST',
headers: {
Authorization: 'Bearer ptlc_xxxxxxxxxxxxxxxxxxxxxxxx',
'Content-Type': 'application/json',
},
body: JSON.stringify({ database: 'mydb', remote: '%' }),
}).then(r => r.json()).then(console.log);import requests
r = requests.post(
"https://pufferland.ir/api/client/servers/1a85a183/databases",
json={"database": "mydb", "remote": "%"},
headers={"Authorization": "Bearer ptlc_xxxxxxxxxxxxxxxxxxxxxxxx"},
)
print(r.json())curl_post('https://pufferland.ir/api/client/servers/1a85a183/databases', [
CURLOPT_POSTFIELDS => json_encode(['database' => 'mydb', 'remote' => '%']),
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ptlc_xxxxxxxxxxxxxxxxxxxxxxxx',
'Content-Type: application/json',
],
]);نمونه پاسخ واقعی:
{
"object" : "server_database" ,
"attributes" : {
"id" : "vw9b8qyL" ,
"host" : {
"address" : "46.38.138.212" ,
"port" : 25600
},
"name" : "s760_mydb" ,
"username" : "u760_NxJERbA8ft" ,
"connections_from" : "%" ,
"max_connections" : null,
"relationships" : {
"password" : {
"object" : "database_password" ,
"attributes" : {
"password" : "t=EQtaaIKy4!LsYTC=vJRvAB"
}
}
}
}
}POST /api/client/servers/{server}/databases/{database}/rotate-passwordرمز عبور دیتابیس را عوض میکند (بدنهی خالی) و دیتابیس بهروزشده را با رمز جدید در attributes.relationships.password.attributes.password برمیگرداند. مجوز لازم: database.update.
نمونه پاسخ واقعی:
{
"object ": "server_database" ,
"attributes ": {
"id": "YkxXVk6W" ,
"host": { "address": "46.38.138.212" , "port": 25600 },
"name": "s760_docstest" ,
"username": "u760_7OCrt3hEXA" ,
"connections_from": "%" ,
"max_connections": 0,
"relationships": {
"password": {
"object": "database_password" ,
"attributes": { "password": "9Qf0fN44En3Wp8^8lseuR^+U" }
}
}
}
}با چرخش رمز، رمز قبلی بلافاصله باطل میشود؛ برنامههای متصل را بهروزرسانی کنید. curl -X POST "https://pufferland.ir/api/client/servers/1a85a183/databases/YkxXVk6W/rotate-password" \
-H "Authorization: Bearer ptlc_xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Accept: application/json" \
-H "Content-Type: application/json"DELETE /api/client/servers/{server}/databases/{database}دیتابیس و تمام دادههای آن را برای همیشه حذف میکند. پاسخ موفق: 204 بدون بدنه.
حذف دیتابیس غیرقابل بازگشت است.
curl -X DELETE "https://pufferland.ir/api/client/servers/1a85a183/databases/YkxXVk6W" \
-H "Authorization: Bearer ptlc_xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Accept: application/json"نمونه پاسخ واقعی:
204 No Content