Разобрался! Вот что работает на производстве и в симуляторе:)
match /myusers/{userId}/{allPaths=**} {
allow write: if request.auth.uid == userId &&
(request.resource.size < 1 * 1024 * 1024 || request.method == 'delete');
allow read: if request.auth.uid == userId;
}
p.s. @ Дуг Стивенсон, если вы можете отправить заметку изнутри, я думаю, что для других было бы очень полезно, если бы request.method
примеров с delete
, update
, get
и / или create
быть добавленным в документацию!
EDIT:
Кроме того, это работает как на симуляторе, так и на производстве (и, на мой взгляд, немного более читабельно, чем первый вариант). Спасибо @Doug Stevenson за подсказку!
match /myusers/{userId}/{allPaths=**} {
allow write: if request.auth.uid == userId && request.resource.size < 1 * 1024 * 1024;
allow delete: if request.auth.uid == userId
allow read: if request.auth.uid == userId;
}