عندما تحذف بوابة ثم تضيف بوابة جديدة بنفس EUI ، إذا فشلت لأنها تشكو من وجود البوابة بالفعل.
{
"code": 6,
"message": "error:pkg/identityserver/store:already_exists (entity already exists)",
"details": [
{
"@type": "type.googleapis.com/ttn.lorawan.v3.ErrorDetails",
"namespace": "pkg/identityserver/store",
"name": "already_exists",
"message_format": "entity already exists",
"attributes": {
"field": "gateway_eui",
"value": "'3135313749005303'"
},
"correlation_id": "c0dc6bb73d714702bd8d0be57e83f369"
}
]
}
قم بإنشاء البوابة الجديدة بنجاح
أمازون لينكس باستخدام TTN CLI و Postman باستخدام API Call
عندما يحاول المستخدم إدخال بوابة محذوفة ، قم بتحديث العلامة المحذوفة إلى false
...
لقد قمت بتحديث هذه المشكلة قليلاً ليكون لها نطاق مختلف قليلاً عن # 1121 ، والذي يمكننا تقديم المزيد حول استعادة الكيانات المحذوفة بشكل عام (بدلاً من التطبيقات فقط).
في الإصدار الحالي ، دعنا نركز أكثر على إضافة بوابات جديدة بنفس واجهة المستخدم الأوروبية كبوابة محذوفة.
ذات صلة بـ https://github.com/TheThingsNetwork/lorawan-stack/issues/604 (إصدار المعرفات / EUIs)
htdvisser حتى وجود https://github.com/TheThingsNetwork/lorawan-stack/issues/1703 (الآن في Next Up) لا يغطي تمامًا حالة الاستخدام الشائعة للقدرة على إنشاء بوابة باستخدام EUI تم استخدامه من قبل . التكرار في مسؤول لتطهير كيان ليس تجربة مستخدم لطيفة ، بالإضافة إلى أن تطهير كيان أكثر تدميراً من مجرد تحرير EUI.
Afaik ليس لدينا مشاكل أمنية مع تحرير EUI عند حذف البوابة. إنه اختياري بالفعل. من الواضح أنه سيجعل الاسترداد جزئيًا ، أي ذهب EUI ، لكنني أعتقد أن هذا مقبول ويتوافق أيضًا مع كيفية تحرير EUIs للجهاز عند الحذف على الفور.
هل يمكننا إغلاق هذه المشكلة بمجرد تحرير EUI عند حذف البوابة؟ إذا لم يكن كذلك ، فلماذا؟
نعم ، يمكننا تحديث حقل Gateway EUI إلى لا شيء / فارغ عند الحذف. يجب أن تكون بسيطة مثل إضافة ملف
// AfterDelete releases the EUI of a Gateway after it is deleted.
func (gtw *Gateway) AfterDelete(db *gorm.DB) error {
return db.Unscoped().Model(gtw).UpdateColumn("gateway_eui", nil).Error
}
في pkg/identityserver/store/hooks.go
.
bafonins هل يمكنك اختيار هذا؟
adamsondelacruz ، يرجى إعادة الفتح إذا لم يحل https://github.com/TheThingsNetwork/lorawan-stack/pull/1843 المشكلة.