change: Update internal communication method
All checks were successful
Build site / Rust CI (push) Successful in 23s

Signed-off-by: Awiteb <a@4rs.nl>
This commit is contained in:
Awiteb 2024-07-30 08:10:21 +03:00
parent e9b4e2d34c
commit 73f2e2cbc6
Signed by: awiteb
GPG key ID: 3F6B55640AA6682F

View file

@ -196,27 +196,28 @@ bad035084e11bfd266c7b7dfa473d6603be551b3aa215f869776b75bf42ef31900000000665e1a69
بك، وسوف تقوم بالتواصل من خلاله لإرسال الرسائل إلى افراد الخادم.
لدينا الآن المرسل alice والمستقبِل bob و كلاهم في الخادم نفسه، سوف يقوم alice
بإرسال طلب Get إلى الخادم يطلب فيه الدردشة مع bob، سوف يرد الخادم بأحد الردود
التالية إعتماداً على حالة alice
بإرسال رسالة [Websocket] يطلب من الخادم إرسال طلب الدردشة إلى bob وسوف يرد
الخادم بأحد الأخطأ التالية، او لا يقوم بالرد إذا لم يكن هناك خطأ.
#### إذا لم يكن هناك مستخدم بأسم bob في الخادم
سوف يرجع الخادم 404 و يُعلم alice بأنه ليس لديه مستخدم بهذا الأسم.
سوف يرجع الخادم خطأ ويخبر فيه العميل أنه ليس هناك مستخدم بهذا الأسم.
#### إذا لم يكن alice في قائمة bob البيضاء ولا السوداء
سوف يقوم الخادم اولاً بإضافة bob إلى قائمة alice البيضاء، وبعد ذلك إضافة الطلب
في جدول طلبات الدردشة **المُستقبلة** بالنسبة لـbob وسوف يضيفه إلى **المُرسلة**
بالنسبة إلى alice ويرجع 200 ويقوم بإرسال طلب الدردشة إلى bob وينتظر رد bob،
في جدول طلبات الدردشة **المُستقبلة** بالنسبة لـbob إذا كان غير متصل مع الخادم
وسوف يضيفه إلى **المُرسلة** بالنسبة إلى alice، لا يرجع الخادم أي خطأ في هذه
الحالة.
عندما يرد bob بالموافقة ام الرفض (عبر إتصال ال [Websocket])، سوف يُعلم الخادم
alice بأن bob وافق او رفض التواصل معه (عبر إتصال الـ [Websocket] او إضافته إلى
جدول ليعلمه عند تواصله مع الخادم). إذا لم يوافق bob سوف يقوم الخادم بإضافة alice
إلى قائمة bob السوداء، و إذا وافق سوف يتم إضافته إلى القائمة البيضاء.
#### إذا كان alice في قائمة bob البيضاء
سوف يرجع الخادم 400 و يُعلم alice بأنه يمكنه مراسلة bob بشكل مباشر عبر إتصال
الـ[Websocket].
سوف يرجع الخادم خطأ، يعلم العميل أنه في قائمة bob البيضاء.
#### إذا كان alice في قائمة bob السوداء
سوف يرجع الخادم 403 و يُعلم alice انه في قائمة bob السوداء ولا يمكنه الدردشة
سوف يرجع الخادم خطأ و يُعلم alice انه في قائمة bob السوداء ولا يمكنه الدردشة
معه.
> يتم تخزين رسائل الطرفين مُشفرة في قاعدة البيانات الخاصة بالخادم