lastupdate field on events

This commit is contained in:
cquest 2016-04-20 07:48:58 +02:00
parent 4b08890fa5
commit 7f95f8b4d8
2 changed files with 49 additions and 4 deletions

View file

@ -10,19 +10,32 @@ class StatsResource(object):
def on_get(self, req, resp):
db = psycopg2.connect("dbname=oedb")
cur = db.cursor()
cur.execute("SELECT count(*) from events;")
cur.execute("SELECT count(*) as events_count, max(createdate) as last_created, max(lastupdate) as last_updated from events;")
stat = cur.fetchone()
count_events = stat[0]
cur.close()
db.close()
resp.body = """{"events_count":%s}""" % (count_events)
resp.body = """{"events_count": %s, "last_created": "%s", "last_updated": "%s"}""" % (stat[0], stat[1],stat[2])
resp.set_header('X-Powered-By', 'OpenEventDatabase')
resp.set_header('Access-Control-Allow-Origin', '*')
resp.set_header('Access-Control-Allow-Headers', 'X-Requested-With')
resp.status = falcon.HTTP_200
class EventResource(object):
def on_get(self, req, resp):
db = psycopg2.connect("dbname=oedb")
cur = db.cursor()
print(req.params['id'])
# get data to display activity graphs
cur.execute("""select * from events where events_id='%s';""", req.params['id'])
e = cur.fetchone(e['events_tags'])
resp.body = e
resp.status = falcon.HTTP_200
resp.set_header('X-Powered-By', 'OpenEventDatabase')
resp.set_header('Access-Control-Allow-Origin', '*')
resp.set_header('Access-Control-Allow-Headers', 'X-Requested-With')
db.close()
def on_post(self, req, resp):
# get request body payload (json)
body = req.stream.read().decode('utf-8')

View file

@ -73,6 +73,15 @@ CREATE DOMAIN wgs84_lon AS double precision
CONSTRAINT wgs84_lon_check CHECK (((VALUE >= ('-180'::integer)::double precision) AND (VALUE <= (180)::double precision)));
--
-- Name: events_lastupdate(); Type: FUNCTION; Schema: public; Owner: -
--
CREATE FUNCTION events_lastupdate() RETURNS trigger
LANGUAGE plpgsql
AS $$ BEGIN NEW.lastupdate = now(); RETURN NEW; END; $$;
SET default_tablespace = '';
SET default_with_oids = false;
@ -88,10 +97,19 @@ CREATE TABLE events (
events_type text,
events_tags json,
events_id uuid DEFAULT uuid_generate_v4(),
createdate timestamp without time zone DEFAULT now()
createdate timestamp without time zone DEFAULT now(),
events_geom geometry,
lastupdate timestamp without time zone
);
--
-- Name: events_idx_geom; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX events_idx_geom ON events USING gist (events_geom);
--
-- Name: events_idx_id; Type: INDEX; Schema: public; Owner: -
--
@ -99,6 +117,13 @@ CREATE TABLE events (
CREATE UNIQUE INDEX events_idx_id ON events USING btree (events_id);
--
-- Name: events_idx_lastupdate; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX events_idx_lastupdate ON events USING btree (lastupdate);
--
-- Name: events_idx_what; Type: INDEX; Schema: public; Owner: -
--
@ -120,6 +145,13 @@ CREATE INDEX events_idx_when ON events USING btree (events_when);
CREATE INDEX events_idx_where ON events USING gist (events_where);
--
-- Name: events_lastupdate_trigger; Type: TRIGGER; Schema: public; Owner: -
--
CREATE TRIGGER events_lastupdate_trigger BEFORE UPDATE ON events FOR EACH ROW EXECUTE PROCEDURE events_lastupdate();
--
-- Name: public; Type: ACL; Schema: -; Owner: -
--