List of commits:
Subject Hash Author Date (UTC)
best year 9c830895cacc9ae9206901d3eabdc6b21488d718 Ivaylo Iliev 2017-08-27 21:57:46
fix docblock 20f563de5a256acde8c4a2335bf5779c670c61a0 Ivaylo Iliev 2017-08-27 21:22:50
strong typing c5314f47704760d3720f0c92bd3da9e3c7299eea Ivaylo Iliev 2017-08-27 21:15:11
change boolean to bool and add /neo/fastest?hazardous=(true|false) aa0b6fc0d2ab78404e4677863aafae1dd27bead0 Ivaylo Iliev 2017-08-27 21:07:44
fix cases 7fd7024355b538de353f032f69f8e4a1ee5f0b6b Ivaylo Iliev 2017-08-27 20:56:14
/neo/hazardous 61f9c4506a8ddf037f6cd670afdaa4f38f44829c Ivaylo Iliev 2017-08-27 20:54:40
cleanup 98f98692a290d3cd6e76b36e48be6610754640db Ivaylo Iliev 2017-08-27 20:54:24
update nasa.start with parameters 4cec4383b574a0ac874e463cacfc006fb001f14c Ivaylo Iliev 2017-08-27 20:32:01
import from api 41affca95695f99674971d59dc3e098ef54a934b Ivaylo Iliev 2017-08-27 19:34:49
initialize on first run a7eb6521e87bf6f7fc8ac746db7241300473b549 Ivaylo Iliev 2017-08-27 17:26:30
update build scripts 0ca23c79e7f0c2e0a2beae8ea676d1bc6c6c237f Ivaylo Iliev 2017-08-27 16:23:17
neo bundle, neo entity, empty command 5df95da9f7d462e891685b5556abeae1abdd28b4 Ivaylo Iliev 2017-08-27 16:11:31
add mysql 798d32267444f4f26ce9215817720217970c5e06 Ivaylo Iliev 2017-08-27 14:33:00
run and build script a91daf3d789ac334eca951731504f1a17e79952d Ivaylo Iliev 2017-08-27 10:52:34
remove security checks 613463e0180c3e812194b0bac40aaef508d99823 Ivaylo Iliev 2017-08-27 10:52:12
add nasa api key a4f8c147880e69994a988a176298ed54dacc53db Ivaylo Iliev 2017-08-27 08:45:17
hello world json 636f0cca5234693152d25e8a6f7f2e812b39fa16 Ivaylo Iliev 2017-08-27 08:29:56
empty symfony app 9c121393c6caf39150b1eeaa274c978edef1425e Ivaylo Iliev 2017-08-26 23:05:32
update default nginx config 87638100759fe5cec69d45fbbcf7bbda3464131a Ivaylo Iliev 2017-08-26 23:03:30
Initial commit f0ac3b6d6f330c3ed2e5c760a30abf15601d0494 Ivaylo Iliev 2017-08-26 22:23:30
Commit 9c830895cacc9ae9206901d3eabdc6b21488d718 - best year
Author: Ivaylo Iliev
Author date (UTC): 2017-08-27 21:57
Committer name: Ivaylo Iliev
Committer date (UTC): 2017-08-27 21:57
Parent(s): 20f563de5a256acde8c4a2335bf5779c670c61a0
Signing key:
Tree: 43ace65f14a0ea9e01448bff73d6c98329cfd537
File Lines added Lines deleted
src/nasa/src/NeoBundle/Controller/DefaultController.php 16 0
src/nasa/src/NeoBundle/Repository/NeoRepository.php 21 0
File src/nasa/src/NeoBundle/Controller/DefaultController.php changed (mode: 100644) (index 1bdd1ab..76b509f)
... ... class DefaultController extends Controller
39 39
40 40 return $this->json($fastest); return $this->json($fastest);
41 41 } }
42
43 /**
44 * Year with most ateroids
45 *
46 * Calculate and return a year with most ateroids
47 *
48 * @Route("/neo/best-year")
49 * @return \Symfony\Component\HttpFoundation\Response
50 */
51 public function bestYearAction(Request $request)
52 {
53 $neoRepository = $this->get('neo.repository');
54 $year = $neoRepository->findYearWithMostRecords($request->get('hazardous', 'false') === 'true');
55
56 return $this->json([ 'year' => $year ]);
57 }
42 58 } }
File src/nasa/src/NeoBundle/Repository/NeoRepository.php changed (mode: 100644) (index a974644..b3f3261)
... ... namespace NeoBundle\Repository;
4 4
5 5 use Doctrine\DBAL\Query\QueryBuilder; use Doctrine\DBAL\Query\QueryBuilder;
6 6 use Doctrine\ORM\EntityRepository; use Doctrine\ORM\EntityRepository;
7 use Doctrine\ORM\Query\ResultSetMapping;
7 8
8 9 use NeoBundle\Entity\Neo; use NeoBundle\Entity\Neo;
9 10
 
... ... class NeoRepository extends EntityRepository
42 43 ->getOneOrNullResult(); ->getOneOrNullResult();
43 44 } }
44 45
46 /**
47 * @param bool $isHazardous
48 * @return mixed
49 */
50 public function findYearWithMostRecords(bool $isHazardous = false)
51 {
52 $sql = "select year(approach_at) year from neo where is_hazardous=:isHazardous group by year(approach_at) order by count(id) desc limit 1";
53 $params = [
54 'isHazardous' => $isHazardous
55 ];
56
57 $em = $this->getEntityManager();
58 $stmt = $em->getConnection()->prepare($sql);
59 $stmt->execute($params);
60
61 $result = $stmt->fetchAll();
62
63 return $result[0]['year'];
64 }
65
45 66 /** /**
46 67 * @param bool $isHazardous * @param bool $isHazardous
47 68 * @return bool * @return bool
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/ranapat/nasa

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/ranapat/nasa

Clone this repository using git:
git clone git://git.rocketgit.com/user/ranapat/nasa

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main