انتقل إلى المحتوى

Generic

الـ generic registry في ليڤانت غيت (LevantGit) يستقبل أي ملف — تنفيذيًّا كان أو أرشيفًا أو أي مخرجات بناء — بطلب PUT عبر أي عميل HTTP مثل curl، باسم package وإصدار تختارهما أنت. تنزّل الملف بعدها بطلب GET وتحذفه بطلب DELETE، بلا أداة خاصة ولا مدير packages ولا صيغة ملزمة.

ملاحظة

الـ package registry متاح إن كان مفعّلاً على levantgit.com؛ تظهر تبويبة Packages في ملفك الشخصي أو في الـ repository عندها.

المصادقة

استخدم المصادقة الأساسية (HTTP Basic) باسم المستخدم وكلمة المرور، أو access token تنشئه من SettingsApplications بصلاحية package. إن كنت تستخدم 2FA أو OAuth فلا بد من الـ access token بدل كلمة المرور.

رفع ملف

الرفع طلب HTTP من نوع PUT يحمل محتوى الملف في جسمه. لا يمكن رفع ملف بالاسم نفسه مرتين إلى الـ package نفسها؛ احذف النسخة القديمة أولًا.

PUT https://levantgit.com/api/packages/{owner}/generic/{package_name}/{package_version}/{file_name}
المعامل الوصف
owner الـ owner: اسم المستخدم أو الـ organization.
package_name اسم الـ package. يقبل الأحرف اللاتينية الصغيرة (a-z) والكبيرة (A-Z) والأرقام (0-9) والنقاط (.) والشرطات (-) وعلامات الجمع (+) والشرطات السفلية (_) فقط.
package_version إصدار الـ package: نص غير فارغ بلا فراغات في أوله أو آخره.
file_name اسم الملف، بالقيود نفسها المذكورة لاسم الـ package.

مثال:

curl --user your_username:your_password_or_token \
     --upload-file path/to/file.bin \
     https://levantgit.com/api/packages/testuser/generic/test_package/1.0.0/file.bin

يردّ الخادم بأحد رموز الحالة التالية:

رمز الحالة المعنى
201 Created نُشرت الـ package.
400 Bad Request اسم الـ package أو الإصدار أو اسم الملف غير صالح.
409 Conflict يوجد ملف بالاسم نفسه في الـ package.

تنزيل ملف

التنزيل طلب GET:

GET https://levantgit.com/api/packages/{owner}/generic/{package_name}/{package_version}/{file_name}

يُعاد محتوى الملف في جسم الرد بنوع المحتوى application/octet-stream.

مثال:

curl --user your_username:your_token_or_password \
     https://levantgit.com/api/packages/testuser/generic/test_package/1.0.0/file.bin
رمز الحالة المعنى
200 OK نجاح.
404 Not Found الـ package أو الملف غير موجود.

الملفات في packages الـ owner من نوع public تُنزَّل دون مصادقة.

حذف package

الحذف طلب DELETE، ويحذف كل ملفات هذا الإصدار:

DELETE https://levantgit.com/api/packages/{owner}/generic/{package_name}/{package_version}

مثال:

curl --user your_username:your_token_or_password -X DELETE \
     https://levantgit.com/api/packages/testuser/generic/test_package/1.0.0
رمز الحالة المعنى
204 No Content نجاح.
404 Not Found الـ package غير موجودة.

حذف ملف واحد

طلب DELETE على مسار الملف يحذف الملف وحده، ويحذف الإصدار كله إن لم يبقَ فيه ملف آخر:

DELETE https://levantgit.com/api/packages/{owner}/generic/{package_name}/{package_version}/{filename}

مثال:

curl --user your_username:your_token_or_password -X DELETE \
     https://levantgit.com/api/packages/testuser/generic/test_package/1.0.0/file.bin
رمز الحالة المعنى
204 No Content نجاح.
404 Not Found الـ package أو الملف غير موجود.

ماذا بعد؟


هذه الصفحة مبنية على وثائق Gitea (رخصة MIT) بعد ترجمتها وتبسيطها.