aboutsummaryrefslogtreecommitdiffstats
path: root/src/py/tojauth.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/py/tojauth.py')
-rwxr-xr-xsrc/py/tojauth.py28
1 files changed, 26 insertions, 2 deletions
diff --git a/src/py/tojauth.py b/src/py/tojauth.py
index 0f775a6..2e44ad5 100755
--- a/src/py/tojauth.py
+++ b/src/py/tojauth.py
@@ -10,6 +10,8 @@ class TOJAuth(Auth):
ACCESS_SETPER = 0x10
ACCESS_EXECUTE = 0x20
+ ACCESS_ALL = -1
+
ROLETYPE_USER = 1
ROLETYPE_3RD = 2
ROLETYPE_MOD = 3
@@ -17,6 +19,12 @@ class TOJAuth(Auth):
ROLETYPE_GROUP = 5
ROLETYPE_GUEST = 6
+ ROLEID_TOJ = 1
+ ROLEID_MOD = 2
+ ROLEID_GUEST = 99
+
+ ROLEID_SQUARE_ADMIN_GROUP = 101
+
_accessid = 1
def __init__(self, pubkey, privkey = None):
@@ -92,6 +100,10 @@ class TOJAuth(Auth):
return wrapper
+ @staticmethod
+ def check_access_func(accessid, access_mask):
+ TOJAuth.check_access(accessid, access_mask)(lambda x:x)(0)
+
def create_access(self, owner_idenid):
self.check_access(
self._accessid, self.ACCESS_EXECUTE)(lambda x:x)(0)
@@ -105,6 +117,18 @@ class TOJAuth(Auth):
for data in cur:
accessid = data[0]
return accessid
+
+ def del_access(self, accessid):
+ self.check_access(accessid, self.ACCESS_SETPER)(lambda x:x)(0)
+
+ cur = self.db.cursor()
+ sqlstr = ('DELETE FROM "ACCESS_ROLE" WHERE "accessid" = %s;')
+ sqlarr = (accessid, )
+ cur.execute()
+
+ sqlstr = ('DELETE FROM "ACCESS" WHERE "accessid" = %s;')
+ sqlarr = (accessid, )
+ cur.execute()
def set_access_list(self, accessid, roleid, permission):
self.check_access(accessid, self.ACCESS_SETPER)(lambda x:x)(0)
@@ -124,8 +148,8 @@ class TOJAuth(Auth):
self.check_access(accessid, self.ACCESS_SETPER)(lambda x:x)(0)
cur = self.db.cursor()
- sqlstr = ('DELETE FROM "ACCESS_ROLE" WHERE "accessid"=%s '
- 'AND "roleid"=%s;')
+ sqlstr = ('DELETE FROM "ACCESS_ROLE" WHERE "accessid" = %s '
+ 'AND "roleid" = %s;')
sqlarr = (accessid, roleid)
cur.execute(sqlstr, sqlarr)