Skip to content

Commit

Permalink
Merge pull request #22 from appwrite/dev
Browse files Browse the repository at this point in the history
fix: patch updates for appwrite 1.4.1
  • Loading branch information
abnegate authored Sep 1, 2023
2 parents 48d84b8 + a6a1f57 commit 5ec7b33
Show file tree
Hide file tree
Showing 12 changed files with 742 additions and 671 deletions.
4 changes: 2 additions & 2 deletions src/Appwrite/Client.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,11 @@ class Client
*/
protected $headers = [
'content-type' => '',
'user-agent' => 'AppwritePHPSDK/9.0.0 ()',
'user-agent' => 'AppwritePHPSDK/9.0.1 ()',
'x-sdk-name'=> 'PHP',
'x-sdk-platform'=> 'server',
'x-sdk-language'=> 'php',
'x-sdk-version'=> '9.0.0',
'x-sdk-version'=> '9.0.1',
];

/**
Expand Down
71 changes: 71 additions & 0 deletions src/Appwrite/Role.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,39 +2,110 @@

namespace Appwrite;

/**
* Helper class to generate role strings for Permission.
*/
class Role
{
/**
* Grants access to anyone.
*
* This includes authenticated and unauthenticated users.
*
* @return string
*/
public static function any(): string
{
return 'any';
}

/**
* Grants access to a specific user by user ID.
*
* You can optionally pass verified or unverified for
* `status` to target specific types of users.
*
* @param string $id
* @param string $status
* @return string
*/
public static function user(string $id, string $status = ""): string
{
if(empty($status)) {
return "user:$id";
}
return "user:$id/$status";
}

/**
* Grants access to any authenticated or anonymous user.
*
* You can optionally pass verified or unverified for
* `status` to target specific types of users.
*
* @param string $status
* @return string
*/
public static function users(string $status = ""): string
{
if(empty($status)) {
return 'users';
}
return "users/$status";
}

/**
* Grants access to any guest user without a session.
*
* Authenticated users don't have access to this role.
*
* @return string
*/
public static function guests(): string
{
return 'guests';
}

/**
* Grants access to a team by team ID.
*
* You can optionally pass a role for `role` to target
* team members with the specified role.
*
* @param string $id
* @param string $role
* @return string
*/
public static function team(string $id, string $role = ""): string
{
if(empty($role)) {
return "team:$id";
}
return "team:$id/$role";
}

/**
* Grants access to a specific member of a team.
*
* When the member is removed from the team, they will
* no longer have access.
*
* @param string $id
* @return string
*/
public static function member(string $id): string
{
return "member:$id";
}

/**
* Grants access to a user with the specified label.
*
* @param string $name
* @return string
*/
public static function label(string $name): string
{
return "label:$name";
}
}
Loading

0 comments on commit 5ec7b33

Please sign in to comment.