Profile API (Profil boshqaruvi)
Foydalanuvchi ma'lumotlarini olish, tahrirlash va profil rasmuni yuklash uchun xizmat qiladi.
1. Profil ma'lumotlarini olish
Tizimga kirgan foydalanuvchining shaxsiy ma'lumotlarini qaytaradi.
- URL:
/client/profile - Metod:
GET - Headers:
Authorization: Bearer {access_token}
Response maydoni tushuntirilishi
fullName: Foydalanuvchining to'liq ismi. Agar bo'sh bo'lsa, foydalanuvchi hali ro'yxatdan to'liq o'tmagan bo'lishi mumkin.imageId: Foydalanuvchi profil rasmiga tegishli faylning IDsi. Bu ID orqali rasmni global fayl API-sidan olish mumkin (pastga qarang).isActive: Foydalanuvchi hisobi faol holatdami yoki yo'qligini bildiradi.isProfileCompleted: Foydalanuvchi o'z ismi va profil ma'lumotlarini to'liq kiritganmi?activeChildId: Hozirda tanlangan (aktiv) bola IDsi. Agarnullbo'lsa, demak bola hali qo'shilmagan.
[!TIP] Navigatsiya mantiqi:
- Agar
isProfileCompletedfalse bo'lsa -> Profile to'ldirish sahifasiga yo'naltirish.- Agar
activeChildIdnull bo'lsa -> Bola qo'shish sahifasiga yo'naltirish.
2. Media va Fayllar bilan ishlash (Global API)
Loyihadagi barcha media fayllar (profil rasmlari, bolalar rasmlari, mashg'ulot aktivlari va h.k.) yagona File API orqali boshqariladi.
Agar sizda biror ob'ektning imageId yoki fileIdsi bo'lsa, uni quyidagi global endpoint orqali ko'rishingiz mumkin:
Format: GET /api/client/files/{fayl_id}
Misol (Profil rasmi uchun):
<img src="http://api.kidapp.uz/api/client/files/3fa85f64-5717-4562-b3fc-2c963f66afa6" alt="User Image" />
[!NOTE] Ushbu API barcha turdagi fayllar uchun universaldir. Kelajakda bolalar rasmlari yoki boshqa aktivlar bilan ishlaganda ham aynan shu endpointdan foydalaniladi.
3. Profilni tahrirlash
Ism yoki boshqa ma'lumotlarni yangilash.
- URL:
/client/profile - Metod:
PATCH
Request Body
{
"fullName": "Islom Karimov"
}
3. Profil rasmuni yuklash
Foydalanuvchi uchun yangi profil rasmuni yuklash. Eskisi avtomatik o'chiriladi.
- URL:
/client/profile/image - Metod:
POST - Content-Type:
multipart/form-data
Request (Form Data)
image: Fayl (JPEG, PNG, WebP) - 5MB gacha.
Response
{
"message": "Profil rasmi muvaffaqiyatli yuklandi",
"fileId": "uuid"
}
4. Rasmni ko'rsatish (Display Image)
Foydalanuvchi profil rasmuni Frontendda ko'rsatish uchun quyidagi endpointdan foydalaniladi:
<img src="http://api.kidapp.uz/api/client/files/{imageId}" alt="Profile" />
[!IMPORTANT] Rasmlar va media fayllar uchun
/api/client/files/:idendpointi xizmat qiladi. Bu endpoint Public (ochiq) holatda ishlaydi.
