-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathQuantClientInterface.php
More file actions
150 lines (135 loc) · 3.25 KB
/
QuantClientInterface.php
File metadata and controls
150 lines (135 loc) · 3.25 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
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
<?php
namespace Drupal\quant_api\Client;
/**
* Describe what the Quant client looks like.
*/
interface QuantClientInterface {
/**
* Test the connection to the API controller.
*
* @return mixed
* Contains project machine name if successful
*/
public function ping();
/**
* Retrieves project data.
*
* @return mixed
* Contains object containing project information.
*/
public function project();
/**
* Retrieves project search configuration.
*
* @return mixed
* Contains object containing search information.
*/
public function search();
/**
* Send a payload to the API.
*
* @param array $data
* The data array to send.
*
* @return array
* Return array of response data.
*
* @todo Error handlers :D
*
* @throws \Drupal\quant_api\Exception\InvalidPayload
* @throws \Drupal\quant_api\Exception\InvalidResposne
*/
public function send(array $data) : array;
/**
* Sends a purge payload (path-based) to the API.
*
* @param string $path
* The path to purge.
*
* @return array
* Return array of response data.
*
* @throws \Drupal\quant_api\Exception\InvalidPayload
* @throws \Drupal\quant_api\Exception\InvalidResponse
*/
public function purgePath(string $path) : array;
/**
* Sends a purge payload (tags-based) to the API.
*
* @param array $tags
* The array of tags to purge.
*
* @return array
* Return array of response data.
*
* @throws \Drupal\quant_api\Exception\InvalidPayload
* @throws \Drupal\quant_api\Exception\InvalidResponse
*/
public function purgeTags(array $tags) : array;
/**
* Send a file to the API.
*
* @param string $file
* The path of a file on disk.
* @param string $url
* The relative URL of the file.
* @param int $rid
* The optional revision id.
*
* @return array
* Return array of response data.
*
* @todo Error handlers :D
*
* @throws \Drupal\quant_api\Exception\InvalidPayload
* @throws \Drupal\quant_api\Exception\InvalidResposne
*/
public function sendFile(string $file, string $url, int $rid = NULL) : array;
/**
* Send a redirect to the API.
*
* @param array $data
* The data array to send.
*
* @throws \Drupal\quant_api\Exception\InvalidPayload
* @throws \Drupal\quant_api\Exception\InvalidResposne
*/
public function sendRedirect(array $data) : array;
/**
* Send an unpublish request to Quant.
*
* @param string $url
* The url to unpublish.
*
* @return array
* The API response.
*/
public function unpublish(string $url) : array;
/**
* Send a search record payload to Quant.
*
* @param array $records
* The array of search records to submit.
*
* @return array
* The API response.
*/
public function sendSearchRecords(array $records) : array;
/**
* Clear a search index.
*
* @return array
* The API response.
*/
public function clearSearchIndex() : array;
/**
* Ensure facets are appropriated enabled in Quant Search.
*
* @param array $facets
* The array of facet keys to ensure are enabled.
*
* @return array
* The API response.
*/
public function addFacets(array $facets) : array;
}