allow vendord
All checks were successful
Build, Push and Deploy / build-and-push (push) Successful in 3m3s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 16s
Build, Push and Deploy / deploy-staging (push) Successful in 32s
Build, Push and Deploy / deploy-production (push) Has been skipped
Build, Push and Deploy / cleanup (push) Successful in 1s
All checks were successful
Build, Push and Deploy / build-and-push (push) Successful in 3m3s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 16s
Build, Push and Deploy / deploy-staging (push) Successful in 32s
Build, Push and Deploy / deploy-production (push) Has been skipped
Build, Push and Deploy / cleanup (push) Successful in 1s
This commit is contained in:
103
vendor/kreait/firebase-php/src/Firebase/Database/RuleSet.php
vendored
Normal file
103
vendor/kreait/firebase-php/src/Firebase/Database/RuleSet.php
vendored
Normal file
@@ -0,0 +1,103 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Kreait\Firebase\Database;
|
||||
|
||||
use JsonSerializable;
|
||||
|
||||
use function array_key_exists;
|
||||
|
||||
class RuleSet implements JsonSerializable
|
||||
{
|
||||
/**
|
||||
* @var array<string, array<mixed>>
|
||||
*/
|
||||
private readonly array $rules;
|
||||
|
||||
/**
|
||||
* @param array<string, array<mixed>> $rules
|
||||
*/
|
||||
private function __construct(array $rules)
|
||||
{
|
||||
if (!array_key_exists('rules', $rules)) {
|
||||
$rules = ['rules' => $rules];
|
||||
}
|
||||
|
||||
$this->rules = $rules;
|
||||
}
|
||||
|
||||
/**
|
||||
* The default rules require Authentication. They allow full read and write access
|
||||
* to authenticated users of your app. They are useful if you want data open to
|
||||
* all users of your app but don't want it open to the world.
|
||||
*
|
||||
* @see https://firebase.google.com/docs/database/security/quickstart#sample-rules
|
||||
*/
|
||||
public static function default(): self
|
||||
{
|
||||
return new self([
|
||||
'rules' => [
|
||||
'.read' => 'auth != null',
|
||||
'.write' => 'auth != null',
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* During development, you can use the public rules in place of the default rules to set
|
||||
* your files publicly readable and writable. This can be useful for prototyping,
|
||||
* as you can get started without setting up Authentication.
|
||||
*
|
||||
* This level of access means anyone can read or write to your database. You should
|
||||
* configure more secure rules before launching your app.
|
||||
*
|
||||
* @see https://firebase.google.com/docs/database/security/quickstart#sample-rules
|
||||
*/
|
||||
public static function public(): self
|
||||
{
|
||||
return new self([
|
||||
'rules' => [
|
||||
'.read' => true,
|
||||
'.write' => true,
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Private rules disable read and write access to your database by users. With these rules,
|
||||
* you can only access the database through the Firebase console and an Admin SDK.
|
||||
*
|
||||
* @see https://firebase.google.com/docs/database/security/quickstart#sample-rules
|
||||
*/
|
||||
public static function private(): self
|
||||
{
|
||||
return new self([
|
||||
'rules' => [
|
||||
'.read' => false,
|
||||
'.write' => false,
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array<string, array<mixed>> $rules
|
||||
*/
|
||||
public static function fromArray(array $rules): self
|
||||
{
|
||||
return new self($rules);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array<string, array<mixed>>
|
||||
*/
|
||||
public function getRules(): array
|
||||
{
|
||||
return $this->rules;
|
||||
}
|
||||
|
||||
public function jsonSerialize(): array
|
||||
{
|
||||
return $this->rules;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user