المستخدمون

يمثل كائن المستخدمين الأعضاء الذين أُنشئوا في مساحة العمل. يُسنَد إلى جميع المستخدمين rank مثل owner وadmin أو normal.

كائن المستخدم

{
  "id": "802b09f1-645b-493f-bae7-672a2b315204",
  "createdAt": "2025-03-07T13:22:07.552Z",
  "updatedAt": "2025-03-07T13:22:07.726Z",
  "activeAt": null,
  "firstName": "Test",
  "lastName": "Tester",
  "email": "test@test.com",
  "rank": 5000,
  "stats": {
    "likes": 0,
    "ideas": 3,
    "missions": 3,
    "assignments": 0
  },
  "avatar": {
    "url": {
      "thumbnail": "https://uploads.staging.ideanote.dev/static/icons/beam/v1/237.svg"
    }
  }
}

الحقول

الحقل

النوع

الوصف

المعرّف

string

المعرّف الفريد للمستخدم.

createdAt

ISODate

تاريخ إنشاء المستخدم.

updatedAt

ISODate

تاريخ آخر تحديث للمستخدم.

activeAt

ISODate

تاريخ آخر نشاط للمستخدم.

firstName

string

الاسم الأول للمستخدم.

lastName

string

اسم العائلة للمستخدم.

البريد الإلكتروني

string

البريد الإلكتروني للمستخدم.

الرتبة

number

رتبة المستخدم.

stats.likes

number

عدد مرات الإعجاب التي منحها المستخدم.

stats.ideas

number

عدد الأفكار التي أنشأها المستخدم.

stats.missions

number

عدد المهام التي أنشأها المستخدم.

stats.assignments

number

عدد الأفكار المسندة إلى المستخدم.

الصورة الرمزية

الوسائط

الصورة الرمزية للمستخدم.

الرتبة

الوصف

1000

ضيف

2000

عادي

3000

مسؤول

5000

مالك

قائمة المستخدمين

curl -X GET "https://api.ideanote.io/v1/users?fields=id" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer <API Token>"
const result = await fetch("https://api.ideanote.io/v1/users?fields=id", {
  method: "GET",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer <API Token>",
  }
});

const users = await result.json();
يعيد الأمر أعلاه JSON منظمًا على النحو التالي:
[
  {},
  {}
]

تعرض نقطة النهاية هذه قائمة المستخدمين.

HTTP طلب

GET /v1/users

الحصول على مستخدم

curl -X GET "https://api.ideanote.io/v1/users/802b09f1-645b-493f-bae7-672a2b315204?fields=id" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer <API Token>"
const result = await fetch("https://api.ideanote.io/v1/users/802b09f1-645b-493f-bae7-672a2b315204?fields=id", {
  method: "GET",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer <API Token>",
  }
});

const user = await result.json();
يعيد الأمر أعلاه JSON منظمًا على النحو التالي:
{}

تسترجع نقطة النهاية هذه مستخدمًا محددًا.

HTTP طلب

GET /v1/users/:user_id

معلمات الاستعلام

المعلمة

الوصف

user_id

معرّف المستخدم المراد استرجاعه

إنشاء مستخدم

curl -X POST "https://api.ideanote.io/v1/users?fields=id" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer <API Token>" \
     -d '{"email":"new_user@test.com","firstName":"New","lastName":"User"}'
const result = await fetch("https://api.ideanote.io/v1/users?fields=id", {
  method: "POST",
  body: {
    "email": "new_user@test.com",
    "firstName": "New",
    "lastName": "User"
  },
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer <API Token>",
  }
});

const users = await result.json();
يعيد الأمر أعلاه JSON منظمًا على النحو التالي:
{}

تنشئ نقطة النهاية هذه مستخدمًا جديدًا.

HTTP طلب

POST /v1/users

تحديث المستخدم

curl -X PUT "https://api.ideanote.io/v1/users/802b09f1-645b-493f-bae7-672a2b315204?fields=id" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer <API Token>" \
     -d '{"firstName":"Bob"}'
const result = await fetch("https://api.ideanote.io/v1/users/802b09f1-645b-493f-bae7-672a2b315204?fields=id", {
  method: "PUT",
  body: {
    "firstName": "Bob"
  },
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer <API Token>",
  }
});

const user = await result.json();
يعيد الأمر أعلاه بيانات JSON منظمة على النحو التالي:
{}

تُحدّث نقطة النهاية هذه مستخدمًا محددًا

HTTP طلب

PUT /v1/users/:user_id

معلمات الاستعلام

المعلمة

الوصف

user_id

معرّف المستخدم المراد تحديثه

حذف المستخدم

curl -X DELETE "https://api.ideanote.io/v1/users/802b09f1-645b-493f-bae7-672a2b315204" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer <API Token>"
const result = await fetch("https://api.ideanote.io/v1/users/802b09f1-645b-493f-bae7-672a2b315204", {
  method: "DELETE",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer <API Token>",
  }
});

تحذف نقطة النهاية هذه مستخدمًا محددًا

HTTP طلب

DELETE /v1/users/:user_id

معلمات الاستعلام

المعلمة

الوصف

user_id

معرّف المستخدم المراد حذفه