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