grant method

Future<CosmosDbPermission> grant(
  1. CosmosDbUser user,
  2. CosmosDbPermission userPermission, {
  3. Duration? expiry,
  4. CosmosDbPermission? permission,
})

Grants the user the specified userPermission.

Implementation

Future<CosmosDbPermission> grant(
  CosmosDbUser user,
  CosmosDbPermission userPermission, {
  Duration? expiry,
  CosmosDbPermission? permission,
}) {
  final context = Context(
    type: 'permissions',
    resId: '${_users.url}/${user.id}',
    builder: CosmosDbPermission.build,
    token: permission?.token,
  );
  final seconds = expiry?.inSeconds ?? 0;
  if (seconds > 0) {
    context.addHeader(
        HttpHeader.msDocumentDbExpirySeconds, seconds.toString());
  }
  return _users.client.post<CosmosDbPermission>(
    '${_users.url}/${user.id}/permissions',
    userPermission,
    context,
  );
}