Merge pull request #8122 from ketanbaitule/fix-5516-in-team-membership-allow-adding-user-over-limit-from-console-or-apikey

fix: Allow Adding User Over Limit From Console In Team Membership
This commit is contained in:
Steven Nguyen 2024-05-20 12:03:26 -07:00 committed by GitHub
commit 13b275a4ba
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 31 additions and 1 deletions

View file

@ -453,7 +453,7 @@ App::post('/v1/teams/:teamId/memberships')
if (empty($invitee)) { // Create new user if no user with same email found
$limit = $project->getAttribute('auths', [])['limit'] ?? 0;
if ($limit !== 0 && $project->getId() !== 'console') { // check users limit, console invites are allways allowed.
if (!$isPrivilegedUser && !$isAppUser && $limit !== 0 && $project->getId() !== 'console') { // check users limit, console invites are allways allowed.
$total = $dbForProject->count('users', [], APP_LIMIT_USERS);
if ($total >= $limit) {

View file

@ -1238,6 +1238,36 @@ class ProjectsConsoleClientTest extends Scope
'name' => $name,
]);
// Creating A Team
$team = $this->client->call(Client::METHOD_POST, '/teams', array_merge([
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $id,
'x-appwrite-mode' => 'admin',
], $this->getHeaders()), [
'teamId' => ID::unique(),
'name' => 'Test Team 1',
]);
$this->assertEquals(201, $team['headers']['status-code']);
$teamId = $team['body']['$id'];
$email = uniqid() . 'user@localhost.test';
// Creating A User Using Team membership
$response = $this->client->call(Client::METHOD_POST, '/teams/' . $teamId . '/memberships', array_merge($this->getHeaders(), [
'origin' => 'http://localhost',
'content-type' => 'application/json',
'x-appwrite-project' => $id,
'x-appwrite-mode' => 'admin',
]), [
'email' => $email,
'roles' => [],
'url' => 'http://localhost',
]);
$this->assertEquals(201, $response['headers']['status-code']);
$email = uniqid() . 'user@localhost.test';
$response = $this->client->call(Client::METHOD_POST, '/account', array_merge([