5 use Controllers\IDivineController
;
6 use Services\Http\IHttpRequest
;
7 use Services\Http\IHttpResponse
;
8 use Services\Uploads\IUploadManager
;
9 use DataAccess\StepMania\ISimfileRepository
;
11 class SimfileController
implements IDivineController
13 private $_simfileRepository;
16 private $_uploadManager;
18 public function __construct(
19 IHttpRequest
$request,
20 IHttpResponse
$response,
21 IUploadManager
$uploadManager,
22 ISimfileRepository
$repository
24 $this->_request
= $request;
25 $this->_response
= $response;
26 $this->_uploadManager
= $uploadManager;
27 $this->_simfileRepository
= $repository;
30 public function indexAction() {
35 public function listAction()
37 /* @var $simfile Domain\Entities\StepMania\ISimfile */
38 $simfiles = $this->_simfileRepository
->findRange(1, 10);
39 $returnArray = array();
41 foreach($simfiles as $simfile)
43 $returnArray[] = array(
44 'artist' => $simfile->getArtist()->getName(),
45 'title' => $simfile->getTitle()
49 $this->_response
->setHeader('Content-Type', 'application/json')
50 ->setBody(json_encode($returnArray))
54 public function uploadAction()
56 //logic for if pack or individual file
58 //TODO: Put directory in config ?
59 $filenames = $this->_uploadManager
->setDestination('../files/StepMania/')
67 public function testAction($testArg)
69 $this->_response
->setHeader('Content-Type', 'application/json')
70 ->setBody(json_encode(array('testArg' => $testArg)))