-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathBaseParameters.php
More file actions
72 lines (61 loc) · 1.74 KB
/
BaseParameters.php
File metadata and controls
72 lines (61 loc) · 1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
namespace Mindee\V2\ClientOptions;
use Mindee\Input\PollingOptions;
/**
* Base parameters for running an inference.
*/
abstract class BaseParameters
{
/**
* @var string|null Optional file alias.
*/
public ?string $alias;
/**
* @var string Model ID.
*/
public string $modelId;
/**
* @var array<string> Optional webhook IDs.
*/
public array $webhooksIds;
/**
* @var PollingOptions Polling options.
*/
public PollingOptions $pollingOptions;
/**
* @param string $modelId ID of the model.
* @param string|null $alias Optional file alias.
* @param array<string>|null $webhooksIds List of webhook IDs.
* @param PollingOptions|null $pollingOptions Polling options.
*/
public function __construct(string $modelId, ?string $alias, ?array $webhooksIds, ?PollingOptions $pollingOptions)
{
$this->modelId = $modelId;
if (isset($alias)) {
$this->alias = $alias;
}
if (isset($webhooksIds)) {
$this->webhooksIds = $webhooksIds;
} else {
$this->webhooksIds = [];
}
if (!$pollingOptions) {
$pollingOptions = new PollingOptions();
}
$this->pollingOptions = $pollingOptions;
}
/**
* @return array Hash representation.
*/
public function asHash(): array
{
$outHash = ['model_id' => $this->modelId];
if (isset($this->alias)) {
$outHash['alias'] = $this->alias;
}
if (isset($this->webhooksIds) && count($this->webhooksIds) > 0) {
$outHash['webhook_ids'] = implode(',', $this->webhooksIds);
}
return $outHash;
}
}