Completed
Pull Request — master (#93)
by Janis
13:30
created

JobController::getAllJobs()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
dl 0
loc 5
rs 9.4285
c 1
b 0
f 0
cc 1
eloc 3
nc 1
nop 0
1
<?php
2
3
/**
4
 * Nextcloud - OCR
5
 *
6
 * This file is licensed under the Affero General Public License version 3 or
7
 * later. See the COPYING file.
8
 *
9
 * @author Janis Koehr <[email protected]>
10
 * @copyright Janis Koehr 2017
11
 */
12
namespace OCA\Ocr\Controller;
13
14
use OCA\Ocr\Service\JobService;
15
use OCP\AppFramework\Http\DataResponse;
16
use OCP\IRequest;
17
use OCP\AppFramework\Controller;
18
19
/**
20
 * Class JobController
21
 *
22
 * @package OCA\Ocr\Controller
23
 */
24
class JobController extends Controller {
25
	
26
	/**
27
	 *
28
	 * @var string
29
	 */
30
	private $userId;
31
	
32
	/**
33
	 *
34
	 * @var OcrService
35
	 */
36
	private $service;
37
	
38
	use Errors;
39
	
40
	/**
41
	 * JobController constructor.
42
	 *
43
	 * @param string $AppName        	
44
	 * @param IRequest $request        	
45
	 * @param JobService $service        	
46
	 * @param
47
	 *        	$UserId
48
	 */
49
	public function __construct($AppName, IRequest $request, JobService $service, $UserId) {
50
		parent::__construct ( $AppName, $request );
51
		$this->userId = $UserId;
52
		$this->service = $service;
0 ignored issues
show
Documentation Bug introduced by
It seems like $service of type object<OCA\Ocr\Service\JobService> is incompatible with the declared type object<OCA\Ocr\Controller\OcrService> of property $service.

Our type inference engine has found an assignment to a property that is incompatible with the declared type of that property.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property..

Loading history...
53
	}
54
	
55
	/**
56
	 * Processing the srcFile(s)
57
	 * @NoAdminRequired
58
	 * 
59
	 * @param string[] $languages
60
	 *        	- deu, eng...
61
	 * @param array $files        	
62
	 * @return DataResponse
63
	 */
64
	public function process($languages, $files) {
65
		return $this->handleNotFound ( function () use ($languages, $files) {
66
			return $this->service->process ( $languages, $files );
67
		} );
68
	}
69
	
70
	/**
71
	 * @NoAdminRequired
72
	 *
73
	 * @return \OCP\AppFramework\Http\DataResponse
74
	 */
75
	public function getAllJobs() {
76
		return $this->handleNotFound ( function () {
77
			return $this->service->getAllJobsForUser ( $this->userId );
78
		} );
79
	}
80
	
81
	/**
82
	 * @NoAdminRequired
83
	 *
84
	 * @param integer $id
85
	 * @return \OCP\AppFramework\Http\DataResponse
86
	 */
87
	public function deleteJob($id) {
88
		return $this->handleNotFound ( function () use ($id) {
89
			return $this->service->deleteJob ( $id, $this->userId );
90
		} );
91
	}
92
	
93
	/**
94
	 * TODO: maybe get the response over redis.. this would make sense because no additional http call is necessary then.
95
	 * @NoAdminRequired
96
	 * @NoCSRFRequired
97
	 *
98
	 * @param integer $id
99
	 * @param boolean $failed
100
	 * @param string $error
101
	 * @return \OCP\AppFramework\Http\DataResponse
102
	 */
103
	public function finish($id, $failed, $error) {
104
		return $this->handleNotFound ( function () use ($id, $failed, $error) {
105
			return $this->service->jobFinished ( $id, $failed, $error );
106
		} );
107
	}
108
}