trustgraph/docs/tech-specs/ar/more-config-cli.ar.md
cybermaggedon e7efb673ef
Structure the tech specs directory (#836)
Tech spec some subdirectories for different languages
2026-04-21 16:06:41 +01:00

7.6 KiB

layout title parent
default مواصفات فنية لسطر الأوامر لتكوين Arabic (Beta)

مواصفات فنية لسطر الأوامر لتكوين

Beta Translation: This document was translated via Machine Learning and as such may not be 100% accurate. All non-English languages are currently classified as Beta.

نظرة عامة

تصف هذه المواصفات قدرات التكوين المتقدمة لسطر الأوامر لـ TrustGraph، مما يمكّن المستخدمين من إدارة عناصر التكوين الفردية من خلال أوامر سطر الأوامر التفصيلية. يدعم التكامل أربعة حالات استخدام رئيسية:

  1. قائمة عناصر التكوين: عرض مفاتيح التكوين لنوع معين
  2. الحصول على عنصر التكوين: استرداد قيم التكوين المحددة
  3. تطبيق عنصر التكوين: تعيين أو تحديث عناصر التكوين الفردية
  4. حذف عنصر التكوين: إزالة عناصر التكوين المحددة

الأهداف

  • التحكم التفصيلي: تمكين إدارة عناصر التكوين الفردية بدلاً من العمليات المجمعة
  • قائمة بناءً على النوع: السماح للمستخدمين باستكشاف عناصر التكوين حسب النوع
  • عمليات عنصر واحد: توفير أوامر للحصول على/تطبيق/حذف عناصر التكوين الفردية
  • تكامل API: الاستفادة من واجهة API الحالية للتكوين لجميع العمليات
  • نمط سطر أوامر متسق: اتباع قواعد TrustGraph CLI الراسخة وأنماطها
  • معالجة الأخطاء: توفير رسائل خطأ واضحة لعمليات غير صالحة
  • إخراج JSON: دعم الإخراج المنظم للاستخدام البرمجي
  • التوثيق: تضمين مساعدة شاملة وأمثلة للاستخدام

الخلفية

يوفر TrustGraph حاليًا إدارة التكوين من خلال واجهة API للتكوين وأمر سطر أوامر واحد tg-show-config الذي يعرض التكوين بأكمله. على الرغم من أن هذا يعمل في عرض التكوين، إلا أنه يفتقر إلى قدرات الإدارة التفصيلية.

تشمل القيود الحالية ما يلي:

  • لا توجد طريقة لقائمة عناصر التكوين حسب النوع من سطر الأوامر
  • لا يوجد أمر سطر أوامر لاسترداد قيم التكوين المحددة
  • لا يوجد أمر سطر أوامر لتعيين عناصر التكوين الفردية
  • لا يوجد أمر سطر أوامر لحذف عناصر التكوين المحددة

تتعالج هذه المواصفات هذه الثغرات من خلال إضافة أربعة أوامر سطر أوامر جديدة التي توفر إدارة التكوين التفصيلية. من خلال الكشف عن عمليات واجهة API للتكوين الفردية من خلال أوامر سطر الأوامر، يمكن لـ TrustGraph:

  • تمكين إدارة التكوين المبرمجة
  • السماح باستكشاف هيكل التكوين حسب النوع
  • دعم تحديثات التكوين المستهدفة
  • توفير تحكم دقيق في التكوين

التصميم الفني

الهندسة المعمارية

يتطلب التكوين المتقدم لسطر الأوامر المكونات الفنية التالية:

  1. tg-list-config-items

    • قائمة مفاتيح التكوين لنوع معين
    • استدعاء طريقة واجهة API Config.list(type)
    • إخراج قائمة بمفاتيح التكوين

    وحدة: trustgraph.cli.list_config_items

  2. tg-get-config-item

    • استرداد عنصر تكوين معين(أو أكثر)
    • استدعاء طريقة واجهة API Config.get([ConfigKey(type, key)])
    • إخراج قيم التكوين بتنسيق JSON

    وحدة: trustgraph.cli.get_config_item

  3. tg-put-config-item

    • تعيين أو تحديث عنصر تكوين
    • استدعاء طريقة واجهة API Config.put([ConfigValue(type, key, value)])
    • قبول معلمات النوع والمفتاح والقيمة

    وحدة: trustgraph.cli.put_config_item

  4. tg-delete-config-item

    • إزالة عنصر تكوين
    • استدعاء طريقة واجهة API Config.delete([ConfigKey(type, key)])
    • قبول معلمات النوع والمفتاح

    وحدة: trustgraph.cli.delete_config_item

نماذج البيانات

ConfigKey و ConfigValue

تستخدم الأوامر هياكل البيانات الموجودة من trustgraph.api.types:

@dataclasses.dataclass
class ConfigKey:
    type : str
    key : str

@dataclasses.dataclass
class ConfigValue:
    type : str
    key : str
    value : str

يسمح هذا النهج بما يلي:

  • معالجة متسقة للبيانات عبر سطر الأوامر وواجهة API
  • عمليات تكوين آمنة من النوع
  • تنسيقات إدخال/إخراج منظمة
  • التكامل مع واجهة API للتكوين الحالية

مواصفات سطر الأوامر

tg-list-config-items

tg-list-config-items --type <config-type> [--format text|json] [--api-url <url>]
  • الغرض: قائمة بمفاتيح التكوين لنمط معين
  • استدعاء واجهة API: Config.list(type)
  • الإخراج:
    • text (افتراضي): مفاتيح التكوين مفصولة بأسطر جديدة
    • json: مصفوفة JSON من مفاتيح التكوين

tg-get-config-item

tg-get-config-item --type <type> --key <key> [--format text|json] [--api-url <url>]
  • الغرض: استرداد عنصر التكوين المحدد
  • استدعاء واجهة API: Config.get([ConfigKey(type, key)])
  • الإخراج:
    • text (افتراضي): سلسلة خام
    • json: سلسلة JSON منقذة

tg-put-config-item

tg-put-config-item --type <type> --key <key> --value <value> [--api-url <url>]
tg-put-config-item --type <type> --key <key> --stdin [--api-url <url>]
  • الغرض: تعيين أو تحديث عنصر التكوين
  • استدعاء واجهة API: Config.put([ConfigValue(type, key, value)])
  • خيارات الإدخال:
    • --value <value>: قيمة
    • --stdin: إدخال من stdin
  • --key <key>: المفتاح
  • --type <type>: النوع

tg-delete-config-item

tg-delete-config-item --type <type> --key <key>
  • الغرض: حذف عنصر التكوين
  • --key <key>: المفتاح
  • --type <type>: النوع

أسئلة مفتوحة

  • هل يجب أن تدعم الأوامر عمليات دفعة (مفاتيح متعددة) بالإضافة إلى العناصر الفردية؟
  • ما هو تنسيق الإخراج الذي يجب استخدامه لإعادة التأكيد على النجاح؟
  • كيف يجب توثيق/اكتشاف أنواع التكوين للمستخدمين؟

المراجع

  • واجهة API للتكوين: trustgraph/api/config.py
  • أنماط سطر الأوامر: trustgraph-cli/trustgraph/cli/show_config.py
  • أنواع البيانات: trustgraph/api/types.py