أنت تعمل على تطبيق ويب يُستخدم لإدارة المستودعات والحزم المرتبطة بها. يتيح التطبيق للمستخدمين إنشاء وإدارة المستودعات، ولكل منها اسم فريد. يمكن للمستخدمين أيضًا تحميل ملفات القالب أو تحديد قوالب قاعدة بيانات المحتوى الموجودة لمستودعاتهم.

لديك فئة "Repository" لها خاصية تسمى "Repository" تمثل اسم المستودع. يجب أن يسمح اسم المستودع بالأحرف الأبجدية الرقمية فقط.

بالإضافة إلى ذلك، تحتاج إلى تنفيذ قواعد التحقق التالية لاسم المستودع وميزة اختيار ملف القالب:
1. يجب أن يسمح اسم المستودع بالأحرف الأبجدية الرقمية فقط. ستؤدي أي أحرف أخرى إلى ظهور خطأ بالرسالة "يُسمح فقط بالأحرف الأبجدية والأرقام في اسم الحقل".
2. اسم المستودع مطلوب ويجب ألا يكون فارغًا.
3. يجب أن تعرض ميزة اختيار ملف القالب تلميحًا لواجهة المستخدم "UploadOrSelect".
4. يجب أن تستخدم ميزة اختيار ملف القالب مصدر بيانات يوفره فئة "RepositoryPackagesDatasource".
5. يجب أن تعرض ميزة اختيار ملف القالب وصفًا لـ "الاستيراد من ملفات القوالب التي تم تحميلها أو قوالب قاعدة بيانات المحتوى الموجودة (ضمن Cms_Data\\ImportedContents)".
6. يجب أن تحتوي ميزة اختيار ملف القالب على بيانات تعريف إضافية مع مفتاح "data-val-filesize" وقيمة "يتجاوز ملف المحتوى الحد الأقصى للحجم الذي يمكن تحميله. يرجى تحميل الملف ضمن المجلد Cms_Data\\ImportedContents عبر FTP، ثم انتقل إلى وضع التحديد."
7. يجب أن تحتوي ميزة اختيار ملف القالب أيضًا على بيانات تعريف إضافية مع مفتاح "data-val-filesize-value" وقيمة 4194304، والتي تمثل الحد الأقصى لحجم الملف المسموح به بالبايت.

مهمتك هي تنفيذ فئة "المستودع" بالخصائص والسمات المطلوبة لتلبية المتطلبات المحددة لاسم المستودع وميزة اختيار ملف القالب.

ملاحظة: لا تحتاج إلى تنفيذ فئة "RepositoryPackagesDatasource" أو التعامل مع أي عمليات ملف فعلية. ركز فقط على تنفيذ خصائص وسمات فئة "المستودع".
{"evolved_from": null, "kind": "synthetic", "source": "argilla/DistiCoder-dpo-binarized"}