Skip to content

Commit ce98014

Browse files
authored
[11.6] Added addShare method (#675)
* Added addShare method * Added phpdoc parameters * Formatting
1 parent 10b0991 commit ce98014

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

src/Api/Groups.php

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,39 @@ public function saveMember($group_id, int $user_id, int $access_level)
208208
]);
209209
}
210210

211+
/**
212+
* @param int|string $group_id
213+
* @param array $parameters {
214+
*
215+
* @var int $group_access The access level to grant the group.
216+
* @var string $expires_at Share expiration date in ISO 8601 format: 2016-09-26
217+
* }
218+
*
219+
* @return mixed
220+
*/
221+
public function addShare($group_id, array $parameters = [])
222+
{
223+
$resolver = $this->createOptionsResolver();
224+
225+
$datetimeNormalizer = function (OptionsResolver $optionsResolver, \DateTimeInterface $value) {
226+
return $value->format('Y-m-d');
227+
};
228+
229+
$resolver->setRequired('group_id')
230+
->setAllowedTypes('group_id', 'int');
231+
232+
$resolver->setRequired('group_access')
233+
->setAllowedTypes('group_access', 'int')
234+
->setAllowedValues('group_access', [0, 10, 20, 30, 40, 50]);
235+
236+
$resolver->setDefined('expires_at')
237+
->setAllowedTypes('expires_at', \DateTimeInterface::class)
238+
->setNormalizer('expires_at', $datetimeNormalizer)
239+
;
240+
241+
return $this->post('groups/'.self::encodePath($group_id).'/share', $resolver->resolve($parameters));
242+
}
243+
211244
/**
212245
* @param int|string $group_id
213246
* @param int $user_id

0 commit comments

Comments
 (0)