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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
<?php
namespace OpenCloud\Common\Api;
abstract class AbstractParams
{
// locations
const QUERY = 'query';
const HEADER = 'header';
const URL = 'url';
const JSON = 'json';
const RAW = 'raw';
// types
const STRING_TYPE = "string";
const BOOL_TYPE = "boolean";
const BOOLEAN_TYPE = self::BOOL_TYPE;
const OBJECT_TYPE = "object";
const ARRAY_TYPE = "array";
const NULL_TYPE = "NULL";
const INT_TYPE = 'integer';
const INTEGER_TYPE = self::INT_TYPE;
public static function isSupportedLocation($val)
{
return in_array($val, [self::QUERY, self::HEADER, self::URL, self::JSON, self::RAW]);
}
public function limit()
{
return [
'type' => self::INT_TYPE,
'location' => 'query',
'description' => <<<DESC
This will limit the total amount of elements returned in a list up to the number specified. For example, specifying a
limit of 10 will return 10 elements, regardless of the actual count.
DESC
];
}
public function marker()
{
return [
'type' => 'string',
'location' => 'query',
'description' => <<<DESC
Specifying a marker will begin the list from the value specified. Elements will have a particular attribute that
identifies them, such as a name or ID. The marker value will search for an element whose identifying attribute matches
the marker value, and begin the list from there.
DESC
];
}
public function id($type)
{
return [
'description' => sprintf("The unique ID, or identifier, for the %s", $type),
'type' => self::STRING_TYPE,
'location' => self::JSON,
];
}
public function idPath()
{
return [
'type' => self::STRING_TYPE,
'location' => self::URL,
'description' => 'The unique ID of the resource',
];
}
public function name($resource)
{
return [
'description' => sprintf("The name of the %s", $resource),
'type' => self::STRING_TYPE,
'location' => self::JSON,
];
}
public function sortDir()
{
return [
'type' => self::STRING_TYPE,
'location' => self::QUERY,
'description' => "Sorts by one or more sets of attribute and sort direction combinations.",
'enum' => ['asc', 'desc']
];
}
public function sortKey()
{
return [
'type' => self::STRING_TYPE,
'location' => self::QUERY,
'description' => "Sorts by one or more sets of attribute and sort direction combinations.",
];
}
}
|