summaryrefslogtreecommitdiff
path: root/lib/VNWeb/Releases/Elm.pm
blob: 40e6bfad7e7b00a06cb11b4ce2093b0607fb44e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package VNWeb::Releases::Elm;

use VNWeb::Prelude;
use VNWeb::Releases::Lib;


# Used by UList.Opt and CharEdit to fetch releases from a VN id.
elm_api Release => undef, { vid => { id => 1 } }, sub {
    my($data) = @_;
    elm_Releases releases_by_vn $data->{vid};
};


elm_api Resolutions => undef, {}, sub {
    elm_Resolutions [ map +{ resolution => resolution($_), count => $_->{count} }, tuwf->dbAlli(q{
        SELECT reso_x, reso_y, count(*) AS count FROM releases WHERE NOT hidden AND NOT (reso_x = 0 AND reso_y = 0)
         GROUP BY reso_x, reso_y ORDER BY count(*) DESC
    })->@* ];
};


elm_api Engines => undef, {}, sub {
    elm_Engines tuwf->dbAlli(q{
        SELECT engine, count(*) AS count FROM releases WHERE NOT hidden AND engine <> ''
         GROUP BY engine ORDER BY count(*) DESC, engine
    });
};

1;