الوكلاء: مفاهيم أساسيّة

يستخدم تطبيق تينه مبدأ بسيط في منح صلاحيات الوصول و التحديث، هذا المبدأ هو مبدأ الوكلاء، و يقوم على إضافة وكلاء لكل فرد -سواءً بطريقة آلية أو يدويّة- يقوم بعمل التحديثات الخاصّين بالفرد. لمعرفة الوكلاء الخصّين بالفرد، يُمكن استدعاء الرابط التالي بطريقة GET:

الطلب
GET
{{teenah_api_url}}/trustees

و سيكون ردّ الخادم بمصفوفة من الأفراد أو مصفوفة فارغة []، و هذه المصفوفة تدلّ على من يملك حق الإضافة أو التحديث للفرد المُراد:

الرد
200
[
    {
        "id": "1",
        "gender": "male",
        "name": "TeenahApp",
        "fullname": null,
        "nickname": null,
        "dob": null,
        "pob": null,
        "dod": null,
        "pod": null,
        "age": "0",
        "is_alive": "1",
        "photo": "https://teenahapp.s3.amazonaws.com/VIPuGj3CGEbQOapk.png",
        "location": null,
        "mobile": "966",
        "email": null,
        "home_phone": null,
        "work_phone": null,
        "marital_status": "single",
        "blood_type": null,
        "is_root": "0",
        "tribe_id": null,
        "created_at": "2014-01-24 15:25:17",
        "updated_at": "2014-01-25 08:13:44",
        "social_medias": [],
        "updates_count": "0"
    }
]
  • {id} رقم أو معرّف المستخدم الحاليّ.
  • {gender} جنس الفرد سواءً ذكراً أو أنثى: male أوَ female.
  • {name} اسم الفرد المرتبط بالمستخدم.
  • {fullname} الاسم الكامل للفرد المرتبط بالمستخدم.
  • {nickname} رسالة الخطأ التي يتم استقبالها من الخادم.
  • {dob} تاريخ ميلاد الفرد بالصياغة YYYYY-mm-dd.
  • {pob} مكان الميلاد للفرد المرتبط بالمستخدم.
  • {dod} تاريخ وفاة (لا سمح الله) الفرد بالصياغة YYYYY-mm-dd.
  • {pod} مكان الوفاة (لا سمح الله) للفرد المرتبط بالمستخدم.
  • {age} عمر الفرد بدءً من الصفر.
  • {is_alive} حالة نبض الفرد، حيّ يرزق أو أنّه متوفّى، 1 أو 0.
  • {photo} رابط الصورة الشخصيّة للفرد (إن وُجدت).
  • {location} مكان تواجد الفرد إن أحبب مشاركته.
  • {mobile} رقم جوّال الفرد المرتبط بالمستخدم.
  • {email} بريد الفرد الإلكترونيّ.
  • {home_phone} رقم هاتف المنزل للفرد (إن وُجد و إن أحبب مشاركته).
  • {work_phone} رقم هاتف العمل للفرد (إن وُجد و إن أحبب مشاركته).
  • {marital_status} الحالة الاجتماعيّة للفرد، أعزب (single)، متزوّج (married)، أرملة (widow) للأنثى أو طليقة (divorced).
  • {blood_type} فصيلة الدم بشكل إختياري و بالرمز الإنجليزي.
  • {is_root} هل هذا الفرد هو جدّ العائلة، 1: نعم، 0: لا.
  • {tribe_id} رقم الفرد الذي يمثّل جدّ العائلة (إن وُجد).
  • {created_at} تاريخ و وقت إنشاء المستخدم.
  • {updated_at} تاريخ و وقت آخر تحديث لهذا السجل.
  • {social_medias} مصفوفة من الشبكات الاجتماعيّة التي سجّل فيها الفرد.
  • {updates_count} عدد التحديثات الغير مقروءة.

إضافة وكيل

يُمكن للفرد إضافة وكيل يُمكنه تحديث ملف الفرد و بياناته، من خلال إرسال POST إلى الرابط الذي سيأتي تباعاً، علماً أن الردود ستكون 204 أو 400:

الطلب
POST
{{teenah_api_url}}/trustees
  • {id} رقم أو معرّف الفرد الذي سيُمنح صلاحيّات الوكيل.

و ستكون الردود من الخادم كالتالي:

الردود
204
400
{
    "message": "Bad request."
}
  • {message} رسالة الخطأ التي يردّ بها الخادم.

تعطيل وكيل

في حال أردت الاستغناء عن أحد الوكلاء، فبإمكانك تعطيل هذا الوكيل من خلال الإرسال بطريقة GET إلى الرابط في الأسفل مرفقاً مع الطلب رقم أو معرّف الوكيل المُستهدف، علماً أنّ ردود الخادم ستكون إمّا 200 أو 400:

الطلب
GET
{{teenah_api_url}}/trustees/{id}/deactivate
  • {id} رقم أو معرّف الوكيل.

سيتم تعطيل وظيفة الوكيل بالنسبة للفرد المطلوب إذا تحقّقت شروط التمام، عدا ذلك سيُرجع الخادم الخطأ 400:

الردود
200
{
    "message": "The trustee has been deactivated successfully."
}
  • {message} رسالة التمام التي تأتي من الخادم.
400
{
    "message": "Bad request."
}
  • {message} رسالة الخطأ التي يردّ بها الخادم.

تفعيل وكيل

أمّا في حال غيّرت رأيك في تعطيل وكيل، فبإمكانك تفعيل وكيل من خلال إرسال طلب GET إلى الرابط التالي، علماً أنّ الردود ستكون إمّا 200 أو 400.

الطلب
GET
{{teenah_api_url}}/trustees/{id}/activate
  • {id} رقم أو معرّف الوكيل.

و ستكون ردود الخادم -بإذن الله- كاتّالي:

الردود
200
{
    "message": "The trustee has been activated successfully."
}
  • {message} رسالة التمام التي تأتي من الخادم.
400
{
    "message": "Bad request."
}
  • {message} رسالة الخطأ التي يردّ بها الخادم.