В моих правилах безопасности пожарного хранилища я хочу иметь правило, которое проверяет, все ли элементы списка имеют тип string.
В моих "пользовательских" документах есть поле с именем "friends". Это список строк, которые представляют идентификаторы документов других пользовательских документов. Вот мои текущие правила:
function userIsAuthenticated() {
return request.auth != null;
}
match /users/{userID} {
function resourceIsValidUser() {
return displayNameIsValid();
}
function displayNameIsValid() {
return request.resource.data.displayName is string &&
request.resource.data.displayName.size() > 0 &&
request.resource.data.displayName.size() < 17;
}
function photoUrlIsValid() {
return request.resource.data.photoUrl is string;
}
function friendsIsValid() {
return request.resource.data.friends is list;
}
function userIsUserOwner() {
return request.auth.uid == userID;
}
allow read: if userIsAuthenticated();
allow write: if
userIsAuthenticated() &&
resourceIsValidUser() &&
userIsUserOwner();
}
Могу ли я что-нибудь добавить в функцию friendsIsValid()
, чтобы список друзей содержал только строковые значения?