diff options
Diffstat (limited to 'lib/VNWeb/Releases/Elm.pm')
-rw-r--r-- | lib/VNWeb/Releases/Elm.pm | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/VNWeb/Releases/Elm.pm b/lib/VNWeb/Releases/Elm.pm new file mode 100644 index 00000000..32dd89ca --- /dev/null +++ b/lib/VNWeb/Releases/Elm.pm @@ -0,0 +1,22 @@ +package VNWeb::Releases::Elm; + +use VNWeb::Prelude; + + +# Used by UList.Opt to fetch releases from a VN id. +elm_api Release => undef, { vid => { id => 1 } }, sub { + my($data) = @_; + my $l = tuwf->dbAlli( + 'SELECT r.id, r.title, r.original, r.type AS rtype, r.released + FROM releases r + JOIN releases_vn rv ON rv.id = r.id + WHERE NOT r.hidden + AND rv.vid =', \$data->{vid}, + 'ORDER BY r.released, r.title, r.id' + ); + enrich_flatten lang => id => id => sub { sql('SELECT id, lang FROM releases_lang WHERE id IN', $_, 'ORDER BY lang') }, $l; + enrich_flatten platforms => id => id => sub { sql('SELECT id, platform FROM releases_platforms WHERE id IN', $_, 'ORDER BY platform') }, $l; + elm_Releases $l; +}; + +1; |