MCPcopy Create free account
hub / github.com/Rello/analytics / ApiDataController

Class ApiDataController

lib/Controller/ApiDataController.php:26–415  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

24use OCP\IDateTimeFormatter;
25
26class ApiDataController extends ApiController {
27 const UNKNOWN = 9001;
28 const MISSING_PARAM = 9002;
29 const NOT_FOUND = 9003;
30 const NOT_ALLOWED = 9004;
31
32 protected $errors = [];
33 private $logger;
34 private $DatasetService;
35 private $ReportService;
36 private $StorageService;
37 private $StorageMapper;
38 private $IDateTimeFormatter;
39
40 public function __construct(
41 $appName,
42 IRequest $request,
43 LoggerInterface $logger,
44 DatasetService $DatasetService,
45 ReportService $ReportService,
46 StorageService $StorageService,
47 StorageMapper $StorageMapper,
48 IDateTimeFormatter $IDateTimeFormatter
49 ) {
50 parent::__construct($appName, $request, 'POST');
51 $this->logger = $logger;
52 $this->DatasetService = $DatasetService;
53 $this->ReportService = $ReportService;
54 $this->StorageService = $StorageService;
55 $this->StorageMapper = $StorageMapper;
56 $this->IDateTimeFormatter = $IDateTimeFormatter;
57 }
58
59 /**
60 * add data via there database names
61 * @param int $datasetId
62 * @return DataResponse
63 * @throws \Exception
64 */
65 #[NoAdminRequired]
66 #[NoCSRFRequired]
67 #[CORS]
68 public function addData(int $datasetId) {
69 $datasetId = $this->getDatasetIdFromRoute($datasetId);
70 $params = $this->request->getParams();
71 $datasetMetadata = $this->DatasetService->readOwn($datasetId);
72
73 $response = $this->deriveMaintenancePossible($datasetMetadata);
74 if ($response !== true) return $response;
75
76 if (!isset($params['dimension1'])) {
77 $this->errors[] = 'Dimension 1 required';
78 } elseif (!isset($params['dimension2'])) {
79 $this->errors[] = 'Dimension 2 required';
80 } elseif (!isset($params['dimension3'])) {
81 $this->errors[] = 'Dimension 3 required';
82 }
83 if (!empty($this->errors)) {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected