X-Git-Url: https://ruin.nu/git/?p=ndwebbie.git;a=blobdiff_plain;f=lib%2FNDWeb%2FController%2FAlliances.pm;fp=lib%2FNDWeb%2FController%2FAlliances.pm;h=6c9731cc087f94b599f2841e5203694dff49a2e2;hp=70c6340419e077844d1f4fd531e6d9eeabc0d37d;hb=1c1d02cdc0bc44f244597b84ebc79fd2f1523db8;hpb=1d5acf5ba24af54ebce139cddd4aa720847357f5 diff --git a/lib/NDWeb/Controller/Alliances.pm b/lib/NDWeb/Controller/Alliances.pm index 70c6340..6c9731c 100644 --- a/lib/NDWeb/Controller/Alliances.pm +++ b/lib/NDWeb/Controller/Alliances.pm @@ -124,6 +124,32 @@ sub pscans : Local { } +sub fleet : Local { + my ( $self, $c, $id ) = @_; + my $dbh = $c->model; + + my $query = $dbh->prepare(q{SELECT ship, id FROM ship_stats WHERE id >= 0 ORDER BY id ASC;}); + $query->execute; + $c->stash(ships => $query->fetchall_arrayref({})); + + my $members = $dbh->prepare(q{ +WITH +aus AS (SELECT DISTINCT ON (pid) pid, fid, name,tick + FROM fleets f join fleet_scans fs using (fid) + WHERE mission = 'Full fleet' and name = 'Advanced Unit' + ORDER BY pid,tick DESC) +,ships AS (SELECT pid, tick, ship, amount, id AS ship_id + FROM fleet_ships fs JOIN aus USING(fid) JOIN ship_stats USING(ship)) +SELECT pid, coords(x,y,z), p.race, tick, jsonb_object_agg(ship_id, amount) AS ships + FROM ships JOIN current_planet_stats p USING (pid) + WHERE p.aid = $1 + GROUP BY x,y,z,pid,race,tick; + }); + $members->execute($id); + $c->stash(members => $members->fetchall_arrayref({}) ); + +} + sub postallianceupdate : Local { my ( $self, $c, $id, $order ) = @_; my $dbh = $c->model;