mirror of
https://github.com/nikdoof/test-auth.git
synced 2025-12-14 14:52:15 +00:00
Reworked DB accessing plugins to use a common API class
This commit is contained in:
@@ -57,3 +57,33 @@ class BaseService():
|
||||
def login(uid):
|
||||
""" Login the user and provide cookies back """
|
||||
pass
|
||||
|
||||
|
||||
class BaseDBService(BaseService):
|
||||
|
||||
@property
|
||||
def _db(self):
|
||||
if not hasattr(self, '_db'):
|
||||
# Use the master DB settings, bar the database name
|
||||
backend = load_backend(settings.DATABASE_ENGINE)
|
||||
self._db = backend.DatabaseWrapper({
|
||||
'DATABASE_HOST': settings.DATABASE_HOST,
|
||||
'DATABASE_NAME': self.settings['database_name'],
|
||||
'DATABASE_OPTIONS': {},
|
||||
'DATABASE_PASSWORD': settings.DATABASE_PASSWORD,
|
||||
'DATABASE_PORT': settings.DATABASE_PORT,
|
||||
'DATABASE_USER': settings.DATABASE_USER,
|
||||
'TIME_ZONE': settings.TIME_ZONE,})
|
||||
|
||||
return self._db
|
||||
|
||||
@property
|
||||
def _dbcursor(self):
|
||||
return self._db.dbcursor()
|
||||
|
||||
def __del__(self):
|
||||
if hasattr(self, '_db'):
|
||||
self._db.connection.commit()
|
||||
self._db.close()
|
||||
self._db = None
|
||||
|
||||
|
||||
@@ -2,10 +2,10 @@ import crypt
|
||||
import random
|
||||
import time
|
||||
from django.db import load_backend, transaction
|
||||
from sso.services import BaseService
|
||||
from sso.services import BaseDBService
|
||||
import settings
|
||||
|
||||
class MiningBuddyService(BaseService):
|
||||
class MiningBuddyService(BaseDBService):
|
||||
"""
|
||||
Mining Buddy Class, allows registration and sign-in
|
||||
|
||||
@@ -25,25 +25,6 @@ class MiningBuddyService(BaseService):
|
||||
SQL_CHECK_USER = r"SELECT username from users WHERE username = %s and deleted = 0"
|
||||
SQL_DEL_USER = r"UPDATE users set deleted = 1 WHERE username = %s"
|
||||
|
||||
def __init__(self):
|
||||
|
||||
# Use the master DB settings, bar the database name
|
||||
backend = load_backend(settings.DATABASE_ENGINE)
|
||||
self._db = backend.DatabaseWrapper({
|
||||
'DATABASE_HOST': settings.DATABASE_HOST,
|
||||
'DATABASE_NAME': self.settings['database_name'],
|
||||
'DATABASE_OPTIONS': {},
|
||||
'DATABASE_PASSWORD': settings.DATABASE_PASSWORD,
|
||||
'DATABASE_PORT': settings.DATABASE_PORT,
|
||||
'DATABASE_USER': settings.DATABASE_USER,
|
||||
'TIME_ZONE': settings.TIME_ZONE,})
|
||||
|
||||
self._dbcursor = self._db.cursor()
|
||||
|
||||
def __del__(self):
|
||||
self._db.close()
|
||||
self._db = None
|
||||
|
||||
def _gen_salt(self):
|
||||
return self.settings['password_salt']
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ from django.db import load_backend, transaction, IntegrityError
|
||||
from sso.services import BaseService
|
||||
import settings
|
||||
|
||||
class PhpBBService(BaseService):
|
||||
class PhpBBService(BaseDBService):
|
||||
"""
|
||||
PHPBB Class, allows registration and sign-in
|
||||
|
||||
@@ -22,26 +22,6 @@ class PhpBBService(BaseService):
|
||||
SQL_GET_GROUP = r"SELECT group_id from phpbb_groups WHERE group_name = %s"
|
||||
SQL_ADD_GROUP = r"INSERT INTO phpbb_groups (group_name) VALUES (%s)"
|
||||
|
||||
|
||||
def __init__(self):
|
||||
|
||||
# Use the master DB settings, bar the database name
|
||||
backend = load_backend(settings.DATABASE_ENGINE)
|
||||
self._db = backend.DatabaseWrapper({
|
||||
'DATABASE_HOST': settings.DATABASE_HOST,
|
||||
'DATABASE_NAME': settings.PHPBB_DATABASE,
|
||||
'DATABASE_OPTIONS': {},
|
||||
'DATABASE_PASSWORD': settings.DATABASE_PASSWORD,
|
||||
'DATABASE_PORT': settings.DATABASE_PORT,
|
||||
'DATABASE_USER': settings.DATABASE_USER,
|
||||
'TIME_ZONE': settings.TIME_ZONE,})
|
||||
|
||||
self._dbcursor = self._db.cursor()
|
||||
|
||||
def __del__(self):
|
||||
self._db.close()
|
||||
self._db = None
|
||||
|
||||
def _gen_salt(self):
|
||||
return "%x" % random.randint(0, 2147483647)
|
||||
|
||||
|
||||
@@ -20,25 +20,6 @@ class QMSService(BaseService):
|
||||
SQL_ENABLE_USER = r"UPDATE users SET passhash = %s, salt = %s, certificate = %s WHERE ssoid = %s"
|
||||
SQL_CHECK_USER = r"SELECT ssoid from users WHERE ssoid = %s"
|
||||
|
||||
def __init__(self):
|
||||
|
||||
# Use the master DB settings, bar the database name
|
||||
backend = load_backend(settings.DATABASE_ENGINE)
|
||||
self._db = backend.DatabaseWrapper({
|
||||
'DATABASE_HOST': settings.DATABASE_HOST,
|
||||
'DATABASE_NAME': self.settings['database_name'],
|
||||
'DATABASE_OPTIONS': {},
|
||||
'DATABASE_PASSWORD': settings.DATABASE_PASSWORD,
|
||||
'DATABASE_PORT': settings.DATABASE_PORT,
|
||||
'DATABASE_USER': settings.DATABASE_USER,
|
||||
'TIME_ZONE': settings.TIME_ZONE,})
|
||||
|
||||
self._dbcursor = self._db.cursor()
|
||||
|
||||
def __del__(self):
|
||||
self._db.close()
|
||||
self._db = None
|
||||
|
||||
def _gen_salt(self):
|
||||
return hashlib.md5("%x" % random.randint(0, 2147483647)).hexdigest()[:6]
|
||||
|
||||
|
||||
@@ -25,25 +25,6 @@ class MediawikiService(BaseService):
|
||||
SQL_DEL_REV = r"UPDATE revision SET rev_user = (SELECT user_id FROM user WHERE user_name = 'DeletedUser'), rev_user_text = 'DeletedUser' WHERE rev_user = (SELECT user_id FROM user WHERE user_name = %s)"
|
||||
SQL_DEL_USER = r"DELETE FROM user WHERE user_name = %s"
|
||||
|
||||
def __init__(self):
|
||||
|
||||
# Use the master DB settings, bar the database name
|
||||
backend = load_backend(settings.DATABASE_ENGINE)
|
||||
self._db = backend.DatabaseWrapper({
|
||||
'DATABASE_HOST': settings.DATABASE_HOST,
|
||||
'DATABASE_NAME': self.settings['database_name'],
|
||||
'DATABASE_OPTIONS': {},
|
||||
'DATABASE_PASSWORD': settings.DATABASE_PASSWORD,
|
||||
'DATABASE_PORT': settings.DATABASE_PORT,
|
||||
'DATABASE_USER': settings.DATABASE_USER,
|
||||
'TIME_ZONE': settings.TIME_ZONE,})
|
||||
|
||||
self._dbcursor = self._db.cursor()
|
||||
|
||||
def __del__(self):
|
||||
self._db.close()
|
||||
self._db = None
|
||||
|
||||
def _gen_salt(self):
|
||||
return "%x" % random.randint(0, 2147483647)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user