Code Duplication    Length = 31-34 lines in 4 locations

src/Controller/Metrics/MapMetricsEndpoint.php 1 location

@@ 10-40 (lines=31) @@
7
use Symfony\Component\HttpFoundation\Request;
8
use League\Route\Http\JsonResponse as Response;
9
10
class MapMetricsEndpoint extends EndpointBaseController
11
{
12
    /**
13
     * Construct
14
     *
15
     * @param \Ps2alerts\Api\Loader\Metrics\MapMetricsLoader $loader
16
     */
17
    public function __construct(MapMetricsLoader $loader)
18
    {
19
        $this->loader = $loader;
20
    }
21
22
    /**
23
     * Reads latest map result for an alert
24
     *
25
     * @param  \Symfony\Component\HttpFoundation\Request $request
26
     * @param  array                                     $args
27
     *
28
     * @return \League\Route\Http\JsonResponse
29
     */
30
    public function readLatest(Request $request, array $args)
31
    {
32
        $return = $this->loader->readLatest($args['resultID']);
33
34
        if (empty($return)) {
35
            return new Response\NoContent();
36
        }
37
38
        return new Response\Ok($return);
39
    }
40
}
41

src/Controller/Statistics/AlertStatisticsEndpoint.php 1 location

@@ 10-41 (lines=32) @@
7
use Ps2alerts\Api\Loader\Statistics\AlertStatisticsLoader;
8
use Symfony\Component\HttpFoundation\Request;
9
10
class AlertStatisticsEndpoint extends EndpointBaseController
11
{
12
    /**
13
     * Construct
14
     *
15
     * @param \Ps2alerts\Api\Loader\Statistics\AlertStatisticsLoader $loader
16
     */
17
    public function __construct(AlertStatisticsLoader $loader)
18
    {
19
        $this->loader = $loader;
20
    }
21
22
    /**
23
     * Gets total alerts based on provided parameters
24
     *
25
     * @param  \Symfony\Component\HttpFoundation\Request $request
26
     *
27
     * @return \League\Route\Http\JsonResponse
28
     */
29
    public function readTotals(Request $request)
30
    {
31
        $post = $request->request->all();
32
33
        $return = $this->loader->readTotals($post);
34
35
        if (empty($return)) {
36
            return new Response\NoContent();
37
        }
38
39
        return new Response\Ok($return);
40
    }
41
}
42

src/Controller/Statistics/OutfitTotalsStatisticsEndpoint.php 1 location

@@ 10-43 (lines=34) @@
7
use Ps2alerts\Api\Loader\Statistics\OutfitTotalsStatisticsLoader;
8
use Symfony\Component\HttpFoundation\Request;
9
10
class OutfitTotalsStatisticsEndpoint extends EndpointBaseController
11
{
12
    /**
13
     * Construct
14
     *
15
     * @param \Ps2alerts\Api\Loader\Metrics\OutfitTotalsStatisticsLoader $loader
16
     */
17
    public function __construct(OutfitTotalsStatisticsLoader $loader)
18
    {
19
        $this->loader = $loader;
20
    }
21
22
    /**
23
     * Returns top X entries
24
     *
25
     * @param  \Symfony\Component\HttpFoundation\Request $request
26
     * @param  array                                     $args
27
     *
28
     * @return \League\Route\Http\JsonResponse
29
     */
30
    public function readStatistics(Request $request)
31
    {
32
        // Collect any POST variables
33
        $post = $request->request->all();
34
35
        $return = $this->loader->readStatistics($post);
36
37
        if (empty($return)) {
38
            return new Response\NoContent();
39
        }
40
41
        return new Response\Ok($return);
42
    }
43
}
44

src/Controller/Statistics/PlayerStatisticsEndpoint.php 1 location

@@ 10-41 (lines=32) @@
7
use Ps2alerts\Api\Loader\Statistics\PlayerStatisticsLoader;
8
use Symfony\Component\HttpFoundation\Request;
9
10
class PlayerStatisticsEndpoint extends EndpointBaseController
11
{
12
    /**
13
     * Construct
14
     *
15
     * @param \Ps2alerts\Api\Loader\Metrics\PlayerStatisticsLoader $loader
16
     */
17
    public function __construct(PlayerStatisticsLoader $loader)
18
    {
19
        $this->loader = $loader;
20
    }
21
22
    /**
23
     * Gets top players
24
     *
25
     * @param  \Symfony\Component\HttpFoundation\Request $request
26
     *
27
     * @return \League\Route\Http\JsonResponse
28
     */
29
    public function readLeaderboard(Request $request)
30
    {
31
        $post = $request->request->all();
32
33
        $return = $this->loader->readLeaderboard($post);
34
35
        if (empty($return)) {
36
            return new Response\NoContent();
37
        }
38
39
        return new Response\Ok($return);
40
    }
41
}
42