|
@@ 140-160 (lines=21) @@
|
| 137 |
|
* |
| 138 |
|
* @return DataResponse |
| 139 |
|
*/ |
| 140 |
|
public function initFederatedDelivery($apiVersion, $circleId, $frameId) { |
| 141 |
|
|
| 142 |
|
if ($frameId === '' || !$this->configService->isFederatedCirclesAllowed()) { |
| 143 |
|
return $this->federatedFail('federated_not_allowed'); |
| 144 |
|
} |
| 145 |
|
|
| 146 |
|
try { |
| 147 |
|
Circles::compareVersion($apiVersion); |
| 148 |
|
$frame = $this->sharesService->getFrameFromUniqueId($circleId, $frameId); |
| 149 |
|
} catch (Exception $e) { |
| 150 |
|
return $this->federatedFail($e->getMessage()); |
| 151 |
|
} |
| 152 |
|
|
| 153 |
|
// We don't want to keep the connection up |
| 154 |
|
$this->asyncAndLeaveClientOutOfThis('done'); |
| 155 |
|
|
| 156 |
|
$this->federatedService->updateFrameWithCloudId($frame); |
| 157 |
|
$this->federatedService->sendRemoteShare($frame); |
| 158 |
|
|
| 159 |
|
exit(); |
| 160 |
|
} |
| 161 |
|
|
| 162 |
|
|
| 163 |
|
/** |
|
@@ 182-201 (lines=20) @@
|
| 179 |
|
* |
| 180 |
|
* @return DataResponse |
| 181 |
|
*/ |
| 182 |
|
public function receiveFederatedDelivery($apiVersion, $token, $uniqueId, $item) { |
| 183 |
|
|
| 184 |
|
if ($uniqueId === '' || !$this->configService->isFederatedCirclesAllowed()) { |
| 185 |
|
return $this->federatedFail('federated_not_allowed'); |
| 186 |
|
} |
| 187 |
|
|
| 188 |
|
try { |
| 189 |
|
Circles::compareVersion($apiVersion); |
| 190 |
|
$frame = SharingFrame::fromJSON($item); |
| 191 |
|
$this->federatedService->receiveFrame($token, $uniqueId, $frame); |
| 192 |
|
} catch (SharingFrameAlreadyExistException $e) { |
| 193 |
|
return $this->federatedSuccess(); |
| 194 |
|
} catch (Exception $e) { |
| 195 |
|
return $this->federatedFail($e->getMessage()); |
| 196 |
|
} |
| 197 |
|
|
| 198 |
|
$this->asyncAndLeaveClientOutOfThis('done'); |
| 199 |
|
$this->federatedService->sendRemoteShare($frame); |
| 200 |
|
exit(); |
| 201 |
|
} |
| 202 |
|
|
| 203 |
|
|
| 204 |
|
/** |