2017-02-20 18 views
1

Я пытаюсь удалить запись из firebase с firebase.remove() так:Firebase удаление, разрешение болт конфигурации

// inside deleteGame function 
const promiseDeleteGame = firebase.child(`games/${game.id}`).remove(); 
return Observable.from(promise) 
    .mapTo(deleteGameDone(game)) 
    .catch(error => Observable.of(deleteGameFailure(error))); 

Мой rules.bolt файл настроен следующим образом:

isOwner(gameId) { auth.uid == root.games[gameId].ownerId } 

path games/{gameId} is Game { 
    read() { true } 
    create() { true } 
    update() { true } 
    delete() { isOwner(gameId) } 
} 

Я всегда получаю ошибка: set at /games/{gameId} failed: permission_denied.

Проблема в том, что я не могу удалить запись, поскольку эта запись, которую я пытаюсь удалить, включает в себя свойство ownerId, который должен дать мне разрешение на удаление записи?

Или, может быть, потому что Game объект имеет свойство registrations которое является картой идентов и их информацией и я не имею права, чтобы обновить registrations недвижимости?

ответ

1

Я новичок в болте бомбы. Я предлагаю вам использовать следующий синтаксис.

delete() { auth != null && auth.uid == prior(this).ownerId }