Эту часть можно выполнить с помощью правил базы данных, а другая часть потребует задания cron / задание для переключения записи в базе данных.
Использование правил болтов Firebase (Подробнее) вы можете создать функцию isOnline()
function isOnline() {
return prior(root.config.isOnline) == true
}
Правило проверит /config/isOnline: boolean
и ожидает true
, если вы хотите, чтобы пользователи write
и false
, если вы хотите заблокироватьпишу.
Во всех правилах вашей базы данных вам необходимо ссылаться на эту функцию.
path /somePath {
write() { isOnline() }
}
Вы можете комбинировать их с другими правилами, такими как проверка пользователя
function isUser(uid) {
return auth != null && uid == auth.uid
}
path /someOtherPath {
path /{uid} {
write() { isUser(uid) && isOnline()
}
}
Вы можетезатем настройте задачу cron-job / запланированную для обновления свойства /config/isOnline
в 00:00 и 05:00 в субботу / воскресенье.
в субботу и воскресенье @ 00:00 AM установите /config/isOnline = false
.
В субботу и воскресенье @ 05:00 AM установлено /config/isOnline = true
.