-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
* Implement analytics index management * missing declare strict types * fix autoload failure * add retries to dataverse creation for analytics temp unavailable
- Loading branch information
Showing
32 changed files
with
3,587 additions
and
171 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,124 @@ | ||
<?php | ||
|
||
/** | ||
* Copyright 2014-Present Couchbase, Inc. | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
|
||
declare(strict_types=1); | ||
|
||
namespace Couchbase\Management; | ||
|
||
class AnalyticsDataset | ||
{ | ||
private string $name; | ||
private string $dataverseName; | ||
private string $linkName; | ||
private string $bucketName; | ||
|
||
/** | ||
* @internal | ||
* @since 4.2.4 | ||
*/ | ||
private function __construct( | ||
string $name, | ||
string $dataverseName, | ||
string $linkName, | ||
string $bucketName | ||
) | ||
{ | ||
$this->name = $name; | ||
$this->dataverseName = $dataverseName; | ||
$this->linkName = $linkName; | ||
$this->bucketName = $bucketName; | ||
} | ||
|
||
/** | ||
* Static helper to keep code more readable. | ||
* | ||
* @param string $name | ||
* @param string $dataverseName | ||
* @param string $linkName | ||
* @param string $bucketName | ||
* | ||
* @return AnalyticsDataset | ||
* @since 4.2.4 | ||
*/ | ||
public static function build( | ||
string $name, | ||
string $dataverseName, | ||
string $linkName, | ||
string $bucketName | ||
) | ||
{ | ||
return new AnalyticsDataset($name, $dataverseName, $linkName, $bucketName); | ||
} | ||
|
||
/** | ||
* Gets the name of the analytics dataset (or collection) | ||
* | ||
* @return string | ||
* @since 4.2.4 | ||
*/ | ||
public function name(): string | ||
{ | ||
return $this->name; | ||
} | ||
|
||
/** | ||
* Gets the name of the dataverse in which this dataset is stored. | ||
* | ||
* @return string | ||
* @since 4.2.4 | ||
*/ | ||
public function dataverseName(): string | ||
{ | ||
return $this->dataverseName; | ||
} | ||
|
||
/** | ||
* Gets the name of the link that is associated with this dataset. | ||
* | ||
* @return string | ||
* @since 4.2.4 | ||
*/ | ||
public function linkName(): string | ||
{ | ||
return $this->linkName; | ||
} | ||
|
||
/** | ||
* Gets the name of the bucket that this dataset includes. | ||
* | ||
* @return string | ||
* @since 4.2.4 | ||
*/ | ||
public function bucketName(): string | ||
{ | ||
return $this->bucketName; | ||
} | ||
|
||
/** | ||
* @internal | ||
*/ | ||
public static function import(array $data): AnalyticsDataset | ||
{ | ||
return AnalyticsDataset::build( | ||
$data["name"] ?? "", | ||
$data["dataverseName"] ?? "", | ||
$data["linkName"] ?? "", | ||
$data["bucketName"] ?? "" | ||
); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
<?php | ||
|
||
declare(strict_types=1); | ||
|
||
namespace Couchbase\Management; | ||
|
||
class AnalyticsIndex | ||
{ | ||
private string $name; | ||
private string $datasetName; | ||
private string $dataverseName; | ||
private bool $isPrimary; | ||
|
||
/** | ||
* @param string $name | ||
* @param string $datasetName | ||
* @param string $dataverseName | ||
* @param bool $isPrimary | ||
*/ | ||
public function __construct(string $name, string $datasetName, string $dataverseName, bool $isPrimary) | ||
{ | ||
$this->name = $name; | ||
$this->datasetName = $datasetName; | ||
$this->dataverseName = $dataverseName; | ||
$this->isPrimary = $isPrimary; | ||
} | ||
|
||
/** | ||
* Static helper to keep code more readable | ||
* | ||
* @param string $name | ||
* @param string $datasetName | ||
* @param string $dataverseName | ||
* @param bool $isPrimary | ||
* | ||
* @return AnalyticsIndex | ||
* @since 4.2.4 | ||
*/ | ||
public static function build(string $name, string $datasetName, string $dataverseName, bool $isPrimary) | ||
{ | ||
return new AnalyticsIndex($name, $datasetName, $dataverseName, $isPrimary); | ||
} | ||
|
||
/** | ||
* Gets the name of this index | ||
* | ||
* @return string | ||
* @since 4.2.4 | ||
*/ | ||
public function name(): string | ||
{ | ||
return $this->name; | ||
} | ||
|
||
/** | ||
* Gets the name of the analytics dataset in which this index exists | ||
* | ||
* @return string | ||
* @since 4.2.4 | ||
*/ | ||
public function datasetName(): string | ||
{ | ||
return $this->datasetName; | ||
} | ||
|
||
/** | ||
* Gets the name of the dataverse in which this index exists. | ||
* | ||
* @return string | ||
* @since 4.2.4 | ||
*/ | ||
public function dataverseName(): string | ||
{ | ||
return $this->dataverseName; | ||
} | ||
|
||
/** | ||
* Returns true if this index is a primary index. | ||
* | ||
* @return bool | ||
* @since 4.2.4 | ||
*/ | ||
public function isPrimary(): bool | ||
{ | ||
return $this->isPrimary; | ||
} | ||
|
||
/** | ||
* @internal | ||
*/ | ||
public static function import(array $data): AnalyticsIndex | ||
{ | ||
return AnalyticsIndex::build( | ||
$data["name"] ?? "", | ||
$data["datasetName"] ?? "", | ||
$data["dataverseName"] ?? "", | ||
$data["isPrimary"] ?? false | ||
); | ||
} | ||
} |
Oops, something went wrong.