Похоже, вы не обновляете должным образом политики, относящиеся к удаляемой организации.
При удалении организации необходимо удалить всю запись в Application.groups
, например Application.groups.Org1MSP
.
Вы также должны удалить организацию из любых политик в Application.policies
, например Application.policies.Admins
.
В зависимости от типа политики, у вас может быть одна или несколько политик, которые выглядят следующим образом ( AND('Org1MSP.admin', 'Org2MSP.admin')
):
"Admins": {
"mod_policy": "Admins",
"policy": {
"type": 1,
"value": {
"identities": [
{
"principal": {
"msp_identifier": "Org1MSP",
"role": "ADMIN"
},
"principal_classification": "ROLE"
},
{
"principal": {
"msp_identifier": "Org2MSP",
"role": "ADMIN"
},
"principal_classification": "ROLE"
}
],
"rule": {
"n_out_of": {
"n": 1,
"rules": [
{
"signed_by": 0
},
{
"signed_by": 1
}
]
}
},
"version": 0
}
},
"version": "0"
}
Недостаточно удалить организацию из массива policy.value.identities
. Значения signed_by
в ссылочных записях массива policy.value.rule.n_out_of.rules
(по индексу массива) в массиве policy.value.identities
.
Появившаяся ошибка говорит о том, что у вас где-то есть политика со значением signed_by
1
, но соответствующий массив policy.value.identities
для политики имеет длину только 1.