summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2017-05-25 15:14:07 +0200
committerYorhel <git@yorhel.nl>2017-05-25 15:14:07 +0200
commit6628460dccdd0c551e4cf451d7f86d5c9dc761e6 (patch)
treeafa80614d7c5fbfc469ea195f18b03b6358df1c8
parent21cb8873efeee2f833137ea9a242894686389be8 (diff)
API: Add some hidden checks to staff stuff
-rw-r--r--lib/Multi/API.pm15
1 files changed, 11 insertions, 4 deletions
diff --git a/lib/Multi/API.pm b/lib/Multi/API.pm
index 610cb3a0..a898a7d8 100644
--- a/lib/Multi/API.pm
+++ b/lib/Multi/API.pm
@@ -498,7 +498,8 @@ my %GET_VN = (
},
staff => {
fetch => [[ 'id', 'SELECT vs.id, vs.aid, vs.role, vs.note, sa.id AS sid, sa.name, sa.original
- FROM vn_staff vs JOIN staff_alias sa ON sa.aid = vs.aid WHERE vs.id IN(%s)',
+ FROM vn_staff vs JOIN staff_alias sa ON sa.aid = vs.aid JOIN staff s ON s.id = sa.id
+ WHERE vs.id IN(%s) AND NOT s.hidden',
sub { my($r, $n) = @_;
for my $i (@$r) {
$i->{staff} = [ grep $i->{id} == $_->{id}, @$n ];
@@ -823,7 +824,9 @@ my %GET_CHARACTER = (
]],
},
voiced => {
- fetch => [[ 'id', 'SELECT vs.cid, sa.id, sa.aid, vs.id AS vid, vs.note FROM vn_seiyuu vs JOIN staff_alias sa ON sa.aid = vs.aid WHERE vs.cid IN(%s)',
+ fetch => [[ 'id', 'SELECT vs.cid, sa.id, sa.aid, vs.id AS vid, vs.note
+ FROM vn_seiyuu vs JOIN staff_alias sa ON sa.aid = vs.aid JOIN vn v ON v.id = vs.id JOIN staff s ON s.id = sa.id
+ WHERE vs.cid IN(%s) AND NOT v.hidden AND NOT s.hidden',
sub { my($n, $r) = @_;
for my $i (@$n) {
$i->{voiced} = [ grep $i->{id} == $_->{cid}, @$r ];
@@ -912,7 +915,9 @@ my %GET_STAFF = (
]],
},
vns => {
- fetch => [[ 'id', 'SELECT sa.id AS sid, sa.aid, vs.id, vs.role, vs.note FROM staff_alias sa JOIN vn_staff vs ON vs.aid = sa.aid WHERE sa.id IN(%s)',
+ fetch => [[ 'id', 'SELECT sa.id AS sid, sa.aid, vs.id, vs.role, vs.note
+ FROM staff_alias sa JOIN vn_staff vs ON vs.aid = sa.aid JOIN vn v ON v.id = vs.id
+ WHERE sa.id IN(%s) AND NOT v.hidden',
sub { my($n, $r) = @_;
for my $i (@$n) {
$i->{vns} = [ grep $i->{id} == $_->{sid}, @$r ];
@@ -927,7 +932,9 @@ my %GET_STAFF = (
]]
},
voiced => {
- fetch => [[ 'id', 'SELECT sa.id AS sid, sa.aid, vs.id, vs.cid, vs.note FROM staff_alias sa JOIN vn_seiyuu vs ON vs.aid = sa.aid WHERE sa.id IN(%s)',
+ fetch => [[ 'id', 'SELECT sa.id AS sid, sa.aid, vs.id, vs.cid, vs.note
+ FROM staff_alias sa JOIN vn_seiyuu vs ON vs.aid = sa.aid JOIN vn v ON v.id = vs.id
+ WHERE sa.id IN(%s) AND NOT v.hidden',
sub { my($n, $r) = @_;
for my $i (@$n) {
$i->{voiced} = [ grep $i->{id} == $_->{sid}, @$r ];