diff --git a/examples/connection.php b/examples/connection.php new file mode 100644 index 0000000..061bd0f --- /dev/null +++ b/examples/connection.php @@ -0,0 +1,11 @@ +GrantAll() + // ->Permissions(permissionTypes: [DeegraphPermissionType::READ]) + ->To(uuid: $db->GetActor()); + +$result = $db->RunQuery($grantQuery); +var_dump($result); diff --git a/src/Enumerators/DeegraphPermissionType.php b/src/Enumerators/DeegraphPermissionType.php new file mode 100644 index 0000000..eced2ac --- /dev/null +++ b/src/Enumerators/DeegraphPermissionType.php @@ -0,0 +1,11 @@ +PermissionTypes)) $builder .= implode(separator: ",", array: $this->PermissionTypes); + if($this->GrantTo != "") $builder .= " TO $this->GrantTo"; + if($this->GrantOn != "") $builder .= " ON $this->GrantOn"; + if($this->GrantWhere != "") $builder .= " WHERE $this->GrantWhere"; + + return $builder; + } + + public function Permissions(array $permissionTypes): GrantQuery + { + $this->PermissionTypes = []; + foreach($permissionTypes as $permissionType) + $this->PermissionTypes[] = $permissionType->value; + return $this; + } + public function GrantAll(): GrantQuery + { + $this->PermissionTypes = [ + DeegraphPermissionType::WRITE->value, + DeegraphPermissionType::READ->value, + DeegraphPermissionType::DELETE->value, + DeegraphPermissionType::ACT->value, + ]; + return $this; + } + + public function To(string $uuid): GrantQuery + { + $this->GrantTo = "{" . $uuid . "}"; + return $this; + } +}