You are here

public function LingotekApi::getProjects in Lingotek Translation 4.0.x

Same name and namespace in other branches
  1. 8 src/Remote/LingotekApi.php \Drupal\lingotek\Remote\LingotekApi::getProjects()
  2. 8.2 src/Remote/LingotekApi.php \Drupal\lingotek\Remote\LingotekApi::getProjects()
  3. 3.0.x src/Remote/LingotekApi.php \Drupal\lingotek\Remote\LingotekApi::getProjects()
  4. 3.1.x src/Remote/LingotekApi.php \Drupal\lingotek\Remote\LingotekApi::getProjects()
  5. 3.2.x src/Remote/LingotekApi.php \Drupal\lingotek\Remote\LingotekApi::getProjects()
  6. 3.3.x src/Remote/LingotekApi.php \Drupal\lingotek\Remote\LingotekApi::getProjects()
  7. 3.4.x src/Remote/LingotekApi.php \Drupal\lingotek\Remote\LingotekApi::getProjects()
  8. 3.5.x src/Remote/LingotekApi.php \Drupal\lingotek\Remote\LingotekApi::getProjects()
  9. 3.6.x src/Remote/LingotekApi.php \Drupal\lingotek\Remote\LingotekApi::getProjects()
  10. 3.7.x src/Remote/LingotekApi.php \Drupal\lingotek\Remote\LingotekApi::getProjects()
  11. 3.8.x src/Remote/LingotekApi.php \Drupal\lingotek\Remote\LingotekApi::getProjects()

Gets the community related projects.

Parameters

string $community_id: The community ID.

Return value

array|bool Array with projects information. FALSE in case of error. The keys are the ids, and values are the name of the resource.

Overrides LingotekApiInterface::getProjects

File

src/Remote/LingotekApi.php, line 443

Class

LingotekApi
A simple connector to the Lingotek Translation API.

Namespace

Drupal\lingotek\Remote

Code

public function getProjects($community_id) {
  try {
    $this->logger
      ->debug('Lingotek::getProjects called with id %id', [
      '%id' => $community_id,
    ]);
    $response = $this->lingotekClient
      ->get('/api/project', [
      'community_id' => $community_id,
      'limit' => 1000,
    ]);
  } catch (\Exception $e) {
    $this->logger
      ->error('Error getting projects for community %community: %message.', [
      '%community' => $community_id,
      '%message' => $e
        ->getMessage(),
    ]);
    throw new LingotekApiException('Failed to get projects: ' . $e
      ->getMessage());
  }
  $this->logger
    ->debug('getProjects response received, code %code and body %body', [
    '%code' => $response
      ->getStatusCode(),
    '%body' => (string) $response
      ->getBody(TRUE),
  ]);
  return $this
    ->formatResponse($response);
}