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

التحديثات ​

عروض التحديث الواردة من المركز، وطلب تثبيت أحدها.

عمليات هذه المجموعة مع قاعدة الوصول وقاعدة إعادة المحاولة والمعلمات والاستجابات. يحمل كل طلب مفتاحًا: Authorization: Bearer <key> (راجع «المصادقة»).

العمليات ​

الحصول على حالة التحديث ​

GET HEAD /api/v1/system/updates

الوصول: مسؤول · إعادة المحاولة: آمن للتكرار (قراءة)

يعيد ما يبلّغ عنه محدِّث المضيف: الإصدار المثبّت ومخطط البيانات (schema)، وأحدث إصدار مُكتشَف (latest)، وإعدادات التحديث التلقائي (automatic وhourUTC وpin وchannel وstatistics)، وphase (idle أو checking أو updating أو failed)، وآخر error، وآخر نبضة، وrevision الإعدادات، إضافةً إلى الطلب الذي ما زال ينتظر في صندوق بريد المحدِّث (pending). وتكون snapshot هي null إذا لم يكن هناك محدِّث مضيف متصل. مرّر revision إلى requestSystemUpdate.

الاستجابة 200

الحقلالنوعمطلوبالقواعد
snapshotobjectنعميمكن أن يكون null
snapshot.revisionintegerنعم0–2147483646
snapshot.currentVersionstringنعميطابق النمط ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$
snapshot.currentSchemaintegerنعم0–2147483647
snapshot.automaticbooleanنعم—
snapshot.hourUTCintegerنعم0–23
snapshot.pinstringنعميطابق النمط ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$; يمكن أن يكون null
snapshot.heartbeatAtstring (date-time)نعم—
snapshot.checkedAtstring (date-time)نعميمكن أن يكون null
snapshot.latestobjectنعميمكن أن يكون null
snapshot.latest.versionstringنعميطابق النمط ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$
snapshot.latest.schemaintegerنعم0–2147483647
snapshot.latest.sha256stringنعمSHA-256: 64 رقمًا ست عشريًا بأحرف صغيرة
snapshot.phasestringنعمإحدى القيم: idle, checking, updating, failed
snapshot.errorstringنعمإحدى القيم: check_failed, update_failed, conflict, maintenance_required, recovery_required, null; يمكن أن يكون null
snapshot.lastAttemptDaystringنعميمكن أن يكون null
snapshot.lastRequestIdstring (uuid)نعميمكن أن يكون null
snapshot.statisticsbooleanلا—
snapshot.channelstringلاإحدى القيم: stable, beta
pendingobjectنعمإحدى القيم: null
pending.idstring (uuid)نعم—
pending.expectedRevisionintegerنعم0–2147483646
pending.kindstringنعمإحدى القيم: check
pending.versionstringنعميطابق النمط ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$
pending.sha256stringنعمSHA-256: 64 رقمًا ست عشريًا بأحرف صغيرة
pending.automaticbooleanنعم—
pending.hourUTCintegerنعم0–23
pending.statisticsbooleanلا—

الاستجابات: 200, 400, 401, 403, 404, 409, 422, 503, 507

مثال

bash
curl -X GET "$ARKVORY_URL/api/v1/system/updates" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

طلب إجراء تحديث ​

POST /api/v1/system/updates/requests

الوصول: مسؤول · إعادة المحاولة: لا تكرّره إلا مع المراجعة المتوقعة (compare-and-swap)

يسلّم أمرًا واحدًا إلى محدِّث المضيف الذي يؤدي العمل: kind هي check للبحث عن إصدار جديد، أو apply لتثبيت الإصدار المستقر المعطى version مع sha256 الخاص به، أو configure لضبط automatic وhourUTC وstatistics الاختيارية. أرسل UUID جديدًا بوصفه id وexpectedRevision من getSystemUpdates؛ و409 revision_mismatch يعني أن الإعدادات تغيّرت، و503 busy أن هناك طلبًا معلّقًا أو أن المحدِّث يعمل، و503 unavailable أنه لا يوجد محدِّث متصل أو أن آخر نبضة له أقدم من خمس دقائق. والردّ 202 يعني فقط أن الطلب وُضع في الطابور: تابع phase وcurrentVersion وlastRequestId في getSystemUpdates. وتكرار id والمتن نفسيهما آمن.

نص الطلب (application/json)

الحقلالنوعمطلوبالقواعد
idstring (uuid)نعم—
expectedRevisionintegerنعم0–2147483646
kindstringنعمإحدى القيم: check
versionstringنعميطابق النمط ^(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})\.(0|[1-9][0-9]{0,5})$
sha256stringنعمSHA-256: 64 رقمًا ست عشريًا بأحرف صغيرة
automaticbooleanنعم—
hourUTCintegerنعم0–23
statisticsbooleanلا—

الاستجابة 202

الحقلالنوعمطلوبالقواعد
idstring (uuid)نعم—

الاستجابات: 202, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

مثال

bash
curl -X POST "$ARKVORY_URL/api/v1/system/updates/requests" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"id":"00000000-0000-4000-8000-000000000000","expectedRevision":0,"kind":"check"}'

Arkvory · ProAnimaStudio