إذا تم تحديد ‘مستخدم واحد’ كمستوى المستخدم، ولكن لم يتم إضافة اسم مستخدم إلى حقل المستخدم، فسيتم إنشاء مفتاح API لجميع المستخدمين. أتوقع بدلاً من ذلك أن يتم عرض رسالة خطأ. مشابهًا لما يحدث عند إرسال النموذج بدون وصف.
كنت أرغب في إنشاء نوع من مستخدم “البوت” لاسترجاع المنشورات من فئات محددة. هذه النسخة من Discourse تعتمد على المصادقة عبر GSuite فقط، لذا لم يعد هناك طريقة لإنشاء مستخدمين عشوائيين. كنت أتمنى أن يسمح لي مفتاح “مستخدم واحد” بإدخال اسم المستخدم الجديد الذي أرغب في تخصيصه للبوت، لكنني أدركت الآن أن اسم المستخدم يجب أن يكون لمستخدم موجود بالفعل. حقل إدخال اسم المستخدم لا يحتوي على أي تحقق من الصحة، مما جعل الأمر غير واضح بأنني لا أستطيع إدخال أي اسم (كما أفعل مثلاً مع روابط الويب الواردة في Slack). ثم يفشل silently عند الإرسال عند البحث عن اسم المستخدم الذي أدخلته، ويقوم بإنشاء مفتاح “جميع المستخدمين” بدلاً من ذلك.
أعتقد أن هذه مشكلة تتعلق بقابلية الاستخدام أكثر من كونها خللاً وظيفياً. وجدت التوثيق هنا محيراً لأنه لم يشرح حقل مستوى المستخدم على الإطلاق، ولم يُذكر نوع “جميع المستخدمين” إلا في ملاحظة واحدة في تعليق أبعد أسفل الموضوع.
لا، هذا ليس مكون select-kit. المشكلة تكمن في أننا نتحقق فقط من وجود الوصف وليس من اسم المستخدم. وضع المستخدم (واحد/الكل) هو قيمة على جانب العميل فقط، لذا عند التحقق من صحة النموذج على جانب الخادم، كل ما يعرفه هو أننا طلبنا مفتاحًا وقدمنا مستخدمًا أم لا.
هذا من شأنه أن يحسّن الأمر، وسأطلب من ديفيد مراجعته: