Ejemplo n.º 1
0
 /**
  * Create a new remote node nested under the provided parents (created under
  * root node if none given).
  *
  * @param string $name    Name of the new remote folder
  * @param null   $parents Parent IDs to give the folder
  *
  * @return array
  * @throws \Exception
  */
 public function createFolder($name, $parents = null)
 {
     $retval = ['success' => false, 'data' => [], 'response_code' => null];
     if (is_null($parents)) {
         $parents = Node::loadRoot()['id'];
     }
     if (!is_array($parents)) {
         $parents = [$parents];
     }
     $response = $this->httpClient->post("{$this->account->getMetadataUrl()}nodes", ['headers' => ['Authorization' => "Bearer {$this->account->getToken()["access_token"]}"], 'json' => ['name' => $name, 'parents' => $parents, 'kind' => 'FOLDER'], 'exceptions' => false]);
     $retval['data'] = json_decode((string) $response->getBody(), true);
     if (($retval['response_code'] = $response->getStatusCode()) === 201) {
         $retval['success'] = true;
         (new Node($retval['data']))->save();
     }
     return $retval;
 }