البحث عن معرف المستخدم من اسم المستخدم أو عنوان البريد الإلكتروني

لدينا أرشيف لتغذية الأخبار القديمة بصيغة JSON، وأود استخدامه لملء فئة الأخبار في المنتدى الجديد؛ حيث إن جميع المنشورات في التغذية كانت من مستخدمين لديهم بالفعل حسابات في المنتدى. يبدو أن الطريقة الأكثر مباشرة للقيام بذلك هي تعديل مستورد JSON العام للبحث عن المستخدمين الحاليين (إما عن طريق اسم المستخدم أو عنوان البريد الإلكتروني) بدلاً من إنشاء مستخدمين جدد.

يبدو أنني أستطيع تزويد قائمة users فارغة في ملف JSON المدخل لتجنب إنشاء أي مستخدمين جدد، ثم تغيير السطر في /srcipts/import_scripts/json_generic.rb الذي يحدد معرف المستخدم لكل منشور:

user_id: user_id_from_imported_user_id(username_for(first_post["author"])) || -1

لذا أحتاج إلى استبدال قيمة زوج المفتاح-القيمة هذا بشيء يحصل على معرف المستخدم الحالي، بدلاً من البحث عن معرف مستخدم تم إنشاؤه سابقًا بواسطة المستورد.

كيف يمكنني البحث عن معرف مستخدم موجود بالفعل، سواء من اسم المستخدم أو عنوان البريد الإلكتروني؟

يمكن القيام بذلك باستخدام الواجهة البرمجية للتطبيقات.

أنا على علم بأنه يمكنني البحث عن المستخدمين عبر واجهة برمجة تطبيقات JSON، ولكن بما أنني أقوم بذلك من Ruby التي يشغلها Discourse نفسه، أليس من الأسهل استدعاء الدالة التي أحتاجها مباشرةً بدلاً من التعقيد مع استدعاء واجهة برمجة تطبيقات JSON؟ هل هذا هو النهج الموصى به حقًا؟ لم أرَ أي استخدام لواجهة برمجة تطبيقات JSON في أي مكان آخر في أدوات الاستيراد التي راجعتها.

لقد مرّ وقت طويل منذ أن قمت بالاستيراد إلى Discourse، لذا لست متأكداً، لكن ربما يعرف شخص آخر. أحياناً أحتاج إلى البحث عن المستخدمين عبر البريد الإلكتروني والمعرف بشكل جماعي، لذا كنت أستخدم واجهة برمجة التطبيقات.

ما كنت أبحث عنه اتضح أنه هذا:

User.find_by_username(username)&.id