1 | <?php |
||
29 | class HubicService implements SingletonInterface |
||
30 | { |
||
31 | const AUTHORIZATION_ENDPOINT = 'https://api.hubic.com/oauth/auth/'; |
||
32 | |||
33 | const TOKEN_ENDPOINT = 'https://api.hubic.com/oauth/token/'; |
||
34 | |||
35 | const DOMAIN_API = 'https://api.hubic.com/'; |
||
36 | |||
37 | const VERSION_API = '1.0'; |
||
38 | |||
39 | /** |
||
40 | * @var RequestFactory |
||
41 | */ |
||
42 | protected $requestFactory; |
||
43 | |||
44 | /** |
||
45 | * @var \TYPO3\CMS\Extbase\Persistence\Generic\PersistenceManager |
||
46 | */ |
||
47 | protected $persistenceManager; |
||
48 | |||
49 | /** |
||
50 | * @var \Filoucrackeur\Hubic\Domain\Model\Account |
||
51 | */ |
||
52 | protected $account; |
||
53 | |||
54 | /** |
||
55 | * @param Account $account |
||
56 | * |
||
57 | * @return bool |
||
58 | * @throws \RuntimeException |
||
59 | */ |
||
60 | public function accessToken(Account $account) |
||
88 | |||
89 | /** |
||
90 | * @return string |
||
91 | */ |
||
92 | public function getHost(): string |
||
96 | |||
97 | /** |
||
98 | * @param Account $account |
||
99 | */ |
||
100 | public function redirectUrlRequestToken(Account $account) |
||
114 | |||
115 | /** |
||
116 | * @param Account $account |
||
117 | * |
||
118 | * @return string |
||
119 | */ |
||
120 | private function getRedirectUri(Account $account): string |
||
138 | |||
139 | public function getAccount() |
||
143 | |||
144 | /** |
||
145 | * @param Account $account |
||
146 | */ |
||
147 | public function setAccount(Account $account) |
||
151 | |||
152 | /** |
||
153 | * @param string $path |
||
154 | * @param string $method |
||
155 | * |
||
156 | * @return \Psr\Http\Message\ResponseInterface|string |
||
157 | */ |
||
158 | public function fetch(string $path, $method = 'GET') |
||
183 | |||
184 | /** |
||
185 | * @param Account $account |
||
186 | * @return bool |
||
187 | */ |
||
188 | public function refreshToken(Account $account): bool |
||
215 | |||
216 | /** |
||
217 | * Get hubiC account Quota. |
||
218 | * |
||
219 | * @see https://api.hubic.com/console/ |
||
220 | * |
||
221 | * @return ResponseInterface |
||
222 | */ |
||
223 | public function getAccountQuota() |
||
227 | |||
228 | /** |
||
229 | * Get hubiC agreements. |
||
230 | * |
||
231 | * @see https://api.hubic.com/console/ |
||
232 | * |
||
233 | * @return ResponseInterface |
||
234 | */ |
||
235 | public function getAgreement() |
||
239 | |||
240 | /** |
||
241 | * Get hubiC getAllLinks. |
||
242 | * |
||
243 | * @see https://api.hubic.com/console/ |
||
244 | * |
||
245 | * @return ResponseInterface |
||
246 | */ |
||
247 | public function getAllLinks() |
||
251 | |||
252 | /** |
||
253 | * @param RequestFactory $requestFactory |
||
254 | */ |
||
255 | public function injectRequestFactory(RequestFactory $requestFactory): void |
||
259 | |||
260 | /** |
||
261 | * @param PersistenceManager $persistenceManager |
||
262 | */ |
||
263 | public function injectPersistenceManager(PersistenceManager $persistenceManager): void |
||
267 | } |
||
268 |