Skip to content
Snippets Groups Projects
Commit aac2b3ed authored by Jakub Maloštík's avatar Jakub Maloštík
Browse files

Store valid, read, debug, write and test for clients and valid for events as boolean values

parent 21c1da3a
No related branches found
No related tags found
No related merge requests found
...@@ -605,7 +605,7 @@ class PostgreSQL: ...@@ -605,7 +605,7 @@ class PostgreSQL:
"(registered, requestor, hostname, note, valid," "(registered, requestor, hostname, note, valid,"
" name, secret, read, debug, write, test) " " name, secret, read, debug, write, test) "
"VALUES(NOW(), 'warden-info@cesnet.cz', 'test.server.warden.cesnet.cz', " "VALUES(NOW(), 'warden-info@cesnet.cz', 'test.server.warden.cesnet.cz', "
"NULL, 1, 'cz.cesnet.warden3test', 'abc', 1, 1, 1, 0)" "NULL, true, 'cz.cesnet.warden3test', 'abc', true, true, true, false)"
) )
conn.commit() conn.commit()
except self.ppg.OperationalError as ex: except self.ppg.OperationalError as ex:
......
...@@ -33,13 +33,13 @@ CREATE TABLE IF NOT EXISTS "clients" ( ...@@ -33,13 +33,13 @@ CREATE TABLE IF NOT EXISTS "clients" (
"requestor" text NOT NULL, "requestor" text NOT NULL,
"hostname" text NOT NULL, "hostname" text NOT NULL,
"note" text NULL, "note" text NULL,
"valid" smallint NOT NULL DEFAULT '1' CHECK ("valid" >= 0), "valid" boolean NOT NULL DEFAULT true,
"name" text NOT NULL, "name" text NOT NULL,
"secret" text NULL, "secret" text NULL,
"read" smallint NOT NULL DEFAULT '1' CHECK ("read" >= 0), "read" boolean NOT NULL DEFAULT true,
"debug" smallint NOT NULL DEFAULT '0' CHECK ("debug" >= 0), "debug" boolean NOT NULL DEFAULT false,
"write" smallint NOT NULL DEFAULT '0' CHECK ("write" >= 0), "write" boolean NOT NULL DEFAULT false,
"test" smallint NOT NULL DEFAULT '0' CHECK ("test" >= 0) "test" boolean NOT NULL DEFAULT false
); );
CREATE INDEX IF NOT EXISTS "clients_1" ON "clients" ("valid", "secret", "hostname"); CREATE INDEX IF NOT EXISTS "clients_1" ON "clients" ("valid", "secret", "hostname");
...@@ -56,7 +56,7 @@ CREATE TABLE IF NOT EXISTS "events" ( ...@@ -56,7 +56,7 @@ CREATE TABLE IF NOT EXISTS "events" (
"received" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, "received" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
"client_id" int NOT NULL REFERENCES "clients" ("id"), "client_id" int NOT NULL REFERENCES "clients" ("id"),
"data" bytea NOT NULL, "data" bytea NOT NULL,
"valid" smallint NOT NULL DEFAULT '1' CHECK ("valid" >= 0) "valid" boolean NOT NULL DEFAULT true
); );
CREATE INDEX IF NOT EXISTS "id" ON "events" ("id", "client_id"); CREATE INDEX IF NOT EXISTS "id" ON "events" ("id", "client_id");
......
...@@ -1210,7 +1210,7 @@ class PostgreSQL(DataBaseAPIv2): ...@@ -1210,7 +1210,7 @@ class PostgreSQL(DataBaseAPIv2):
def _build_get_client_by_name(self, cert_names=None, name=None, secret=None): def _build_get_client_by_name(self, cert_names=None, name=None, secret=None):
"""Build query and params for client lookup""" """Build query and params for client lookup"""
query = ["SELECT * FROM clients WHERE valid = 1"] query = ["SELECT * FROM clients WHERE valid"]
params = [] params = []
if name: if name:
query.append(" AND name = %s") query.append(" AND name = %s")
...@@ -1360,7 +1360,7 @@ class PostgreSQL(DataBaseAPIv2): ...@@ -1360,7 +1360,7 @@ class PostgreSQL(DataBaseAPIv2):
query.append(" AND %s (%s)" % (self._get_not(group), " OR ".join(subquery))) query.append(" AND %s (%s)" % (self._get_not(group), " OR ".join(subquery)))
query.append(" AND e.valid = 1 LIMIT %s") query.append(" AND e.valid LIMIT %s")
params.append(count) params.append(count)
return ["".join(query)], [params], 0 return ["".join(query)], [params], 0
...@@ -1478,7 +1478,7 @@ class PostgreSQL(DataBaseAPIv2): ...@@ -1478,7 +1478,7 @@ class PostgreSQL(DataBaseAPIv2):
return ["DELETE FROM events WHERE id <= %s"], [(id_,)], 0 return ["DELETE FROM events WHERE id <= %s"], [(id_,)], 0
def expose(read=1, write=0, debug=0): def expose(read=True, write=False, debug=False):
def expose_deco(meth): def expose_deco(meth):
meth.exposed = True meth.exposed = True
...@@ -1641,7 +1641,7 @@ class WardenHandler(ObjectBase): ...@@ -1641,7 +1641,7 @@ class WardenHandler(ObjectBase):
self.get_events_limit = get_events_limit self.get_events_limit = get_events_limit
self.description = description self.description = description
@expose(read=1, debug=1) @expose(read=True, debug=True)
@json_wrapper @json_wrapper
def getDebug(self): def getDebug(self):
return { return {
...@@ -1665,7 +1665,7 @@ class WardenHandler(ObjectBase): ...@@ -1665,7 +1665,7 @@ class WardenHandler(ObjectBase):
} }
} }
@expose(read=1) @expose(read=True)
@json_wrapper @json_wrapper
def getInfo(self): def getInfo(self):
info = { info = {
...@@ -1677,7 +1677,7 @@ class WardenHandler(ObjectBase): ...@@ -1677,7 +1677,7 @@ class WardenHandler(ObjectBase):
info["description"] = self.description info["description"] = self.description
return info return info
@expose(read=1) @expose(read=True)
@json_wrapper @json_wrapper
def getEvents( def getEvents(
self, id=None, count=None, self, id=None, count=None,
...@@ -1751,7 +1751,7 @@ class WardenHandler(ObjectBase): ...@@ -1751,7 +1751,7 @@ class WardenHandler(ObjectBase):
ev_ids.append(id) ev_ids.append(id)
return errlist return errlist
@expose(write=1) @expose(write=True)
@json_wrapper @json_wrapper
def sendEvents(self, events=[]): def sendEvents(self, events=[]):
if not isinstance(events, list): if not isinstance(events, list):
...@@ -2089,11 +2089,11 @@ def list_clients(id=None): ...@@ -2089,11 +2089,11 @@ def list_clients(id=None):
def register_client(**kwargs): def register_client(**kwargs):
# argparse does _always_ return something, so we cannot rely on missing arguments # argparse does _always_ return something, so we cannot rely on missing arguments
if kwargs["valid"] is None: kwargs["valid"] = 1 if kwargs["valid"] is None: kwargs["valid"] = True
if kwargs["read"] is None: kwargs["read"] = 1 if kwargs["read"] is None: kwargs["read"] = True
if kwargs["write"] is None: kwargs["write"] = 0 if kwargs["write"] is None: kwargs["write"] = False
if kwargs["debug"] is None: kwargs["debug"] = 0 if kwargs["debug"] is None: kwargs["debug"] = False
if kwargs["test"] is None: kwargs["test"] = 1 if kwargs["test"] is None: kwargs["test"] = True
return modify_client(id=None, **kwargs) return modify_client(id=None, **kwargs)
...@@ -2198,33 +2198,33 @@ def add_client_args(subargp, mod=False): ...@@ -2198,33 +2198,33 @@ def add_client_args(subargp, mod=False):
reg_valid = subargp.add_mutually_exclusive_group(required=False) reg_valid = subargp.add_mutually_exclusive_group(required=False)
reg_valid.add_argument( reg_valid.add_argument(
"--valid", action="store_const", const=1, default=None, "--valid", action="store_const", const=True, default=None,
help="valid client (default)") help="valid client (default)")
reg_valid.add_argument("--novalid", action="store_const", const=0, dest="valid", default=None) reg_valid.add_argument("--novalid", action="store_const", const=False, dest="valid", default=None)
reg_read = subargp.add_mutually_exclusive_group(required=False) reg_read = subargp.add_mutually_exclusive_group(required=False)
reg_read.add_argument( reg_read.add_argument(
"--read", action="store_const", const=1, default=None, "--read", action="store_const", const=True, default=None,
help="client is allowed to read (default)") help="client is allowed to read (default)")
reg_read.add_argument("--noread", action="store_const", const=0, dest="read", default=None) reg_read.add_argument("--noread", action="store_const", const=False, dest="read", default=None)
reg_write = subargp.add_mutually_exclusive_group(required=False) reg_write = subargp.add_mutually_exclusive_group(required=False)
reg_write.add_argument( reg_write.add_argument(
"--nowrite", action="store_const", const=0, dest="write", default=None, "--nowrite", action="store_const", const=False, dest="write", default=None,
help="client is allowed to send (default - no)") help="client is allowed to send (default - no)")
reg_write.add_argument("--write", action="store_const", const=1, default=None) reg_write.add_argument("--write", action="store_const", const=True, default=None)
reg_debug = subargp.add_mutually_exclusive_group(required=False) reg_debug = subargp.add_mutually_exclusive_group(required=False)
reg_debug.add_argument( reg_debug.add_argument(
"--nodebug", action="store_const", const=0, dest="debug", default=None, "--nodebug", action="store_const", const=False, dest="debug", default=None,
help="client is allowed receive debug output (default - no)") help="client is allowed receive debug output (default - no)")
reg_debug.add_argument("--debug", action="store_const", const=1, default=None) reg_debug.add_argument("--debug", action="store_const", const=True, default=None)
reg_test = subargp.add_mutually_exclusive_group(required=False) reg_test = subargp.add_mutually_exclusive_group(required=False)
reg_test.add_argument( reg_test.add_argument(
"--test", action="store_const", const=1, default=None, "--test", action="store_const", const=True, default=None,
help="client is yet in testing phase (default - yes)") help="client is yet in testing phase (default - yes)")
reg_test.add_argument("--notest", action="store_const", const=0, dest="test", default=None) reg_test.add_argument("--notest", action="store_const", const=False, dest="test", default=None)
def get_args(): def get_args():
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment