1
0
Fork 0
mirror of synced 2024-09-29 08:51:28 +13:00

Merge pull request #3558 from appwrite/fix-teams-roles-no-owner

Fix teams roles no owner
This commit is contained in:
Eldad A. Fux 2022-08-13 12:37:11 +03:00 committed by GitHub
commit a91584853c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 4 deletions

View file

@ -67,6 +67,10 @@ App::post('/v1/teams')
])));
if (!$isPrivilegedUser && !$isAppUser) { // Don't add user on server mode
if (!\in_array('owner', $roles)) {
$roles[] = 'owner';
}
$membershipId = $dbForProject->getId();
$membership = new Document([
'$id' => $membershipId,

View file

@ -17,7 +17,8 @@ trait TeamsBase
'x-appwrite-project' => $this->getProject()['$id'],
], $this->getHeaders()), [
'teamId' => 'unique()',
'name' => 'Arsenal'
'name' => 'Arsenal',
'roles' => ['player'],
]);
$this->assertEquals(201, $response1['headers']['status-code']);

View file

@ -28,7 +28,8 @@ trait TeamsBaseClient
$this->assertEquals($this->getUser()['name'], $response['body']['memberships'][0]['userName']);
$this->assertEquals($this->getUser()['email'], $response['body']['memberships'][0]['userEmail']);
$this->assertEquals($teamName, $response['body']['memberships'][0]['teamName']);
$this->assertEquals('owner', $response['body']['memberships'][0]['roles'][0]);
$this->assertContains('owner', $response['body']['memberships'][0]['roles']);
$this->assertContains('player', $response['body']['memberships'][0]['roles']);
$membershipId = $response['body']['memberships'][0]['$id'];
@ -45,7 +46,8 @@ trait TeamsBaseClient
$this->assertEquals($this->getUser()['name'], $response['body']['memberships'][0]['userName']);
$this->assertEquals($this->getUser()['email'], $response['body']['memberships'][0]['userEmail']);
$this->assertEquals($teamName, $response['body']['memberships'][0]['teamName']);
$this->assertEquals('owner', $response['body']['memberships'][0]['roles'][0]);
$this->assertContains('owner', $response['body']['memberships'][0]['roles']);
$this->assertContains('player', $response['body']['memberships'][0]['roles']);
$response = $this->client->call(Client::METHOD_GET, '/teams/' . $teamUid . '/memberships', array_merge([
'content-type' => 'application/json',
@ -60,7 +62,8 @@ trait TeamsBaseClient
$this->assertEquals($this->getUser()['name'], $response['body']['memberships'][0]['userName']);
$this->assertEquals($this->getUser()['email'], $response['body']['memberships'][0]['userEmail']);
$this->assertEquals($teamName, $response['body']['memberships'][0]['teamName']);
$this->assertEquals('owner', $response['body']['memberships'][0]['roles'][0]);
$this->assertContains('owner', $response['body']['memberships'][0]['roles']);
$this->assertContains('player', $response['body']['memberships'][0]['roles']);
$response = $this->client->call(Client::METHOD_GET, '/teams/' . $teamUid . '/memberships', array_merge([
'content-type' => 'application/json',