forked from ISPsystem/isp-maintenance
Update: models now follow PEP, add connection func, example app for show all vm6 users
This commit is contained in:
parent
867cd1c022
commit
f9a213fe3e
@ -1,12 +1,24 @@
|
||||
import click
|
||||
|
||||
from db.vm6.databases import isp_database
|
||||
from db.vm6.models import AuthUser
|
||||
|
||||
|
||||
@click.group(help='access command for lazy example')
|
||||
@click.option('--debug/--no-debug', default=False)
|
||||
def cli(debug):
|
||||
click.echo(f"Debug mode is {'on' if debug else 'off'}")
|
||||
def cli():
|
||||
pass
|
||||
|
||||
|
||||
@cli.command()
|
||||
def enable():
|
||||
click.echo('Access granted')
|
||||
@cli.command(help='show all users and their roles on platform (DEMO EXAMPLE)')
|
||||
def users():
|
||||
# check and init connection to db:
|
||||
isp_database.connect()
|
||||
# get all fields from auth_user table
|
||||
# SELECT * FROM auth_user;
|
||||
all_users = AuthUser.select()
|
||||
# Iterate fields and print to console users' email and role
|
||||
for user in all_users:
|
||||
result = f'{user.email} | {user.roles[0]}'
|
||||
click.echo(result)
|
||||
# Close connection
|
||||
isp_database.close()
|
||||
|
@ -1,6 +0,0 @@
|
||||
class UnknownField(object):
|
||||
def __init__(self, *_, **__): pass
|
||||
|
||||
class BaseModel(Model):
|
||||
class Meta:
|
||||
database = db
|
20
isp_maintenance/db/common.py
Normal file
20
isp_maintenance/db/common.py
Normal file
@ -0,0 +1,20 @@
|
||||
import json
|
||||
from peewee import TextField
|
||||
|
||||
|
||||
class JSONField(TextField):
|
||||
"""
|
||||
Class to "fake" a JSON field with a text field.
|
||||
Not efficient but works nicely
|
||||
"""
|
||||
def db_value(self, value):
|
||||
"""Convert the python value for storage in the database."""
|
||||
return value if value is None else json.dumps(value)
|
||||
|
||||
def python_value(self, value):
|
||||
"""Convert the database value to a pythonic value."""
|
||||
return value if value is None else json.loads(value)
|
||||
|
||||
|
||||
class UnknownField(object):
|
||||
def __init__(self, *_, **__): pass
|
46
isp_maintenance/db/connection.py
Normal file
46
isp_maintenance/db/connection.py
Normal file
@ -0,0 +1,46 @@
|
||||
from peewee import MySQLDatabase, PostgresqlDatabase
|
||||
from settings.db import (
|
||||
DB_ENGINE,
|
||||
DB_HOST,
|
||||
DB_PORT,
|
||||
DB_USER,
|
||||
DB_PASSWORD
|
||||
)
|
||||
|
||||
|
||||
def guess_database(db_name):
|
||||
"""
|
||||
function checks DB_ENGINE and set correct connection class
|
||||
with connection params. Expected database name in input.
|
||||
|
||||
Args:
|
||||
db_name (_str_): database name
|
||||
|
||||
Returns:
|
||||
(_MySQLDatabase_or_PostgresqlDatabase_ class):
|
||||
contains db connection params
|
||||
"""
|
||||
if DB_ENGINE == 'mysql':
|
||||
return MySQLDatabase(
|
||||
db_name, **{
|
||||
'charset': 'utf8',
|
||||
'sql_mode': 'PIPES_AS_CONCAT',
|
||||
'use_unicode': True,
|
||||
'host': DB_HOST,
|
||||
'port': DB_PORT,
|
||||
'user': DB_USER,
|
||||
'password': DB_PASSWORD
|
||||
}
|
||||
)
|
||||
if DB_ENGINE == 'psql':
|
||||
return PostgresqlDatabase(
|
||||
db_name, **{
|
||||
'charset': 'utf8',
|
||||
'sql_mode': 'PIPES_AS_CONCAT',
|
||||
'use_unicode': True,
|
||||
'host': DB_HOST,
|
||||
'port': DB_PORT,
|
||||
'user': DB_USER,
|
||||
'password': DB_PASSWORD
|
||||
}
|
||||
)
|
9
isp_maintenance/db/dci6/databases.py
Normal file
9
isp_maintenance/db/dci6/databases.py
Normal file
@ -0,0 +1,9 @@
|
||||
from db.connection import guess_database
|
||||
|
||||
|
||||
# The variable will contain an object of
|
||||
# the MySQLDatabase or PostgresqlDatabase class as well as all connection data
|
||||
# If in the future there will be more databases in the platform,
|
||||
# they should be added here
|
||||
auth_database = guess_database('auth')
|
||||
dci_1_database = guess_database('dci_1')
|
@ -1,11 +1,24 @@
|
||||
from peewee import *
|
||||
from peewee import (
|
||||
AutoField,
|
||||
BigIntegerField,
|
||||
CharField,
|
||||
CompositeKey,
|
||||
DateTimeField,
|
||||
FloatField,
|
||||
ForeignKeyField,
|
||||
IntegerField,
|
||||
Model,
|
||||
TextField,
|
||||
SQL
|
||||
)
|
||||
from db.common import UnknownField
|
||||
from db.dci6.databases import auth_database
|
||||
|
||||
class UnknownField(object):
|
||||
def __init__(self, *_, **__): pass
|
||||
|
||||
class BaseModel(Model):
|
||||
class Meta:
|
||||
database = database
|
||||
database = auth_database
|
||||
|
||||
|
||||
class AlertSetting(BaseModel):
|
||||
channel = UnknownField(null=True) # json
|
||||
@ -17,6 +30,7 @@ class AlertSetting(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'alert_setting'
|
||||
|
||||
|
||||
class AuthAcl(BaseModel):
|
||||
ip_list = UnknownField() # json
|
||||
name = CharField(constraints=[SQL("DEFAULT ''")], unique=True)
|
||||
@ -24,6 +38,7 @@ class AuthAcl(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'auth_acl'
|
||||
|
||||
|
||||
class AuthUser(BaseModel):
|
||||
auth_source = CharField(constraints=[SQL("DEFAULT 'local'")])
|
||||
avatar = TextField(null=True)
|
||||
@ -50,15 +65,23 @@ class AuthUser(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'auth_user'
|
||||
|
||||
|
||||
class AuthConfirmToken(BaseModel):
|
||||
expires_at = DateTimeField(null=True)
|
||||
resend_token_after = DateTimeField(null=True)
|
||||
token = CharField(null=True, unique=True)
|
||||
user = ForeignKeyField(column_name='user', field='id', model=AuthUser, null=True, unique=True)
|
||||
user = ForeignKeyField(
|
||||
column_name='user',
|
||||
field='id',
|
||||
model=AuthUser,
|
||||
null=True,
|
||||
unique=True
|
||||
)
|
||||
|
||||
class Meta:
|
||||
table_name = 'auth_confirm_token'
|
||||
|
||||
|
||||
class AuthGdprDoc(BaseModel):
|
||||
change_date = DateTimeField(null=True)
|
||||
desc_condition = CharField(null=True)
|
||||
@ -72,16 +95,23 @@ class AuthGdprDoc(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'auth_gdpr_doc'
|
||||
|
||||
|
||||
class AuthGdprJournal(BaseModel):
|
||||
action_date = DateTimeField(null=True)
|
||||
action_type = CharField()
|
||||
doc = ForeignKeyField(column_name='doc', field='id', model=AuthGdprDoc, null=True)
|
||||
doc = ForeignKeyField(
|
||||
column_name='doc',
|
||||
field='id',
|
||||
model=AuthGdprDoc,
|
||||
null=True
|
||||
)
|
||||
ip = CharField(null=True)
|
||||
user_email = CharField()
|
||||
|
||||
class Meta:
|
||||
table_name = 'auth_gdpr_journal'
|
||||
|
||||
|
||||
class AuthGeneratedSshkey(BaseModel):
|
||||
generation_date = DateTimeField(null=True)
|
||||
privkey = TextField(null=True)
|
||||
@ -90,6 +120,7 @@ class AuthGeneratedSshkey(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'auth_generated_sshkey'
|
||||
|
||||
|
||||
class AuthProduct(BaseModel):
|
||||
docker_compose_file = TextField(null=True)
|
||||
name = CharField(null=True)
|
||||
@ -102,6 +133,7 @@ class AuthProduct(BaseModel):
|
||||
(('name', 'version'), True),
|
||||
)
|
||||
|
||||
|
||||
class AuthInstance(BaseModel):
|
||||
conn_params = UnknownField(null=True) # json
|
||||
dbkey = TextField(null=True)
|
||||
@ -109,8 +141,18 @@ class AuthInstance(BaseModel):
|
||||
failure_reason = UnknownField(null=True) # json
|
||||
limits = UnknownField(null=True) # json
|
||||
name = CharField(null=True)
|
||||
owner = ForeignKeyField(column_name='owner', field='id', model=AuthUser, null=True)
|
||||
product = ForeignKeyField(column_name='product', field='id', model=AuthProduct, null=True)
|
||||
owner = ForeignKeyField(
|
||||
column_name='owner',
|
||||
field='id',
|
||||
model=AuthUser,
|
||||
null=True
|
||||
)
|
||||
product = ForeignKeyField(
|
||||
column_name='product',
|
||||
field='id',
|
||||
model=AuthProduct,
|
||||
null=True
|
||||
)
|
||||
roles = UnknownField(null=True) # json
|
||||
started = DateTimeField(null=True)
|
||||
status = CharField()
|
||||
@ -118,12 +160,18 @@ class AuthInstance(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'auth_instance'
|
||||
|
||||
|
||||
class AuthInstanceHistory(BaseModel):
|
||||
create_time = DateTimeField(constraints=[SQL("DEFAULT CURRENT_TIMESTAMP")])
|
||||
event_info = UnknownField(null=True) # json
|
||||
event_type = CharField(null=True)
|
||||
prev_time = DateTimeField(null=True)
|
||||
ref = ForeignKeyField(column_name='ref', field='id', model=AuthInstance, null=True)
|
||||
ref = ForeignKeyField(
|
||||
column_name='ref',
|
||||
field='id',
|
||||
model=AuthInstance,
|
||||
null=True
|
||||
)
|
||||
request_id = CharField(null=True)
|
||||
request_ip = CharField(null=True)
|
||||
request_owner = CharField(null=True)
|
||||
@ -132,6 +180,7 @@ class AuthInstanceHistory(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'auth_instance_history'
|
||||
|
||||
|
||||
class AuthKey(BaseModel):
|
||||
expires_at = DateTimeField(null=True)
|
||||
name = CharField(constraints=[SQL("DEFAULT ''")], unique=True)
|
||||
@ -140,8 +189,15 @@ class AuthKey(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'auth_key'
|
||||
|
||||
|
||||
class AuthLicense(BaseModel):
|
||||
instance = ForeignKeyField(column_name='instance', field='id', model=AuthInstance, null=True, unique=True)
|
||||
instance = ForeignKeyField(
|
||||
column_name='instance',
|
||||
field='id',
|
||||
model=AuthInstance,
|
||||
null=True,
|
||||
unique=True
|
||||
)
|
||||
last_update = DateTimeField(null=True)
|
||||
lic_data = UnknownField(null=True) # json
|
||||
lic_request = UnknownField(null=True) # json
|
||||
@ -152,6 +208,7 @@ class AuthLicense(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'auth_license'
|
||||
|
||||
|
||||
class AuthPermission(BaseModel):
|
||||
data = UnknownField() # json
|
||||
plugin = CharField(constraints=[SQL("DEFAULT ''")])
|
||||
@ -163,6 +220,7 @@ class AuthPermission(BaseModel):
|
||||
(('service', 'plugin'), True),
|
||||
)
|
||||
|
||||
|
||||
class AuthPricelist(BaseModel):
|
||||
bill_id = IntegerField(null=True, unique=True)
|
||||
name = CharField(null=True)
|
||||
@ -171,6 +229,7 @@ class AuthPricelist(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'auth_pricelist'
|
||||
|
||||
|
||||
class AuthRestrictions(BaseModel):
|
||||
attempts_counting_duration = BigIntegerField()
|
||||
attempts_max_count = IntegerField(null=True)
|
||||
@ -181,6 +240,7 @@ class AuthRestrictions(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'auth_restrictions'
|
||||
|
||||
|
||||
class AuthRestrictionsBans(BaseModel):
|
||||
banned_until = DateTimeField()
|
||||
user = ForeignKeyField(column_name='user', field='id', model=AuthUser)
|
||||
@ -192,6 +252,7 @@ class AuthRestrictionsBans(BaseModel):
|
||||
(('user', 'user_ip'), True),
|
||||
)
|
||||
|
||||
|
||||
class AuthRole(BaseModel):
|
||||
data = UnknownField() # json
|
||||
human_descr = CharField(null=True)
|
||||
@ -201,10 +262,17 @@ class AuthRole(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'auth_role'
|
||||
|
||||
|
||||
class AuthServer(BaseModel):
|
||||
demo = IntegerField(constraints=[SQL("DEFAULT 0")])
|
||||
host = CharField(null=True)
|
||||
instance = ForeignKeyField(column_name='instance', field='id', model=AuthInstance, null=True, unique=True)
|
||||
instance = ForeignKeyField(
|
||||
column_name='instance',
|
||||
field='id',
|
||||
model=AuthInstance,
|
||||
null=True,
|
||||
unique=True
|
||||
)
|
||||
login = CharField(null=True)
|
||||
machine_id = CharField(null=True)
|
||||
password = CharField(null=True)
|
||||
@ -216,10 +284,17 @@ class AuthServer(BaseModel):
|
||||
(('host', 'port'), True),
|
||||
)
|
||||
|
||||
|
||||
class AuthService(BaseModel):
|
||||
bill_id = IntegerField(null=True, unique=True)
|
||||
info = UnknownField(null=True) # json
|
||||
instance = ForeignKeyField(column_name='instance', field='id', model=AuthInstance, null=True, unique=True)
|
||||
instance = ForeignKeyField(
|
||||
column_name='instance',
|
||||
field='id',
|
||||
model=AuthInstance,
|
||||
null=True,
|
||||
unique=True
|
||||
)
|
||||
params = UnknownField(null=True) # json
|
||||
payment_form = TextField(null=True)
|
||||
status = CharField(null=True)
|
||||
@ -230,6 +305,7 @@ class AuthService(BaseModel):
|
||||
(('instance', 'bill_id'), True),
|
||||
)
|
||||
|
||||
|
||||
class AuthServiceDbkey(BaseModel):
|
||||
dbkey = TextField(null=True)
|
||||
name = CharField(null=True, unique=True)
|
||||
@ -237,18 +313,31 @@ class AuthServiceDbkey(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'auth_service_dbkey'
|
||||
|
||||
|
||||
class AuthSession(BaseModel):
|
||||
expires_at = DateTimeField(null=True)
|
||||
is_internal = IntegerField(constraints=[SQL("DEFAULT 0")])
|
||||
name = CharField(null=True, unique=True)
|
||||
owner = ForeignKeyField(column_name='owner', field='id', model=AuthUser, null=True)
|
||||
trustee = ForeignKeyField(backref='auth_user_trustee_set', column_name='trustee', field='id', model=AuthUser, null=True)
|
||||
owner = ForeignKeyField(
|
||||
column_name='owner',
|
||||
field='id',
|
||||
model=AuthUser,
|
||||
null=True
|
||||
)
|
||||
trustee = ForeignKeyField(
|
||||
backref='auth_user_trustee_set',
|
||||
column_name='trustee',
|
||||
field='id',
|
||||
model=AuthUser,
|
||||
null=True
|
||||
)
|
||||
updated_at = DateTimeField(null=True)
|
||||
xsrf_token = CharField(null=True)
|
||||
|
||||
class Meta:
|
||||
table_name = 'auth_session'
|
||||
|
||||
|
||||
class AuthToken(BaseModel):
|
||||
client_ip = CharField(null=True)
|
||||
description = CharField(constraints=[SQL("DEFAULT ''")])
|
||||
@ -257,16 +346,38 @@ class AuthToken(BaseModel):
|
||||
name = CharField(constraints=[SQL("DEFAULT ''")], unique=True)
|
||||
need_2fa = IntegerField(constraints=[SQL("DEFAULT 0")])
|
||||
owner = ForeignKeyField(column_name='owner', field='id', model=AuthUser)
|
||||
trustee = ForeignKeyField(backref='auth_user_trustee_set', column_name='trustee', field='id', model=AuthUser)
|
||||
trustee = ForeignKeyField(
|
||||
backref='auth_user_trustee_set',
|
||||
column_name='trustee',
|
||||
field='id',
|
||||
model=AuthUser
|
||||
)
|
||||
|
||||
class Meta:
|
||||
table_name = 'auth_token'
|
||||
|
||||
|
||||
class AuthTrusteeUser(BaseModel):
|
||||
instance = ForeignKeyField(column_name='instance', field='id', model=AuthInstance, null=True)
|
||||
instance = ForeignKeyField(
|
||||
column_name='instance',
|
||||
field='id',
|
||||
model=AuthInstance,
|
||||
null=True
|
||||
)
|
||||
role = CharField(null=True)
|
||||
trustee = ForeignKeyField(column_name='trustee', field='id', model=AuthUser, null=True)
|
||||
user = ForeignKeyField(backref='auth_user_user_set', column_name='user', field='id', model=AuthUser, null=True)
|
||||
trustee = ForeignKeyField(
|
||||
column_name='trustee',
|
||||
field='id',
|
||||
model=AuthUser,
|
||||
null=True
|
||||
)
|
||||
user = ForeignKeyField(
|
||||
backref='auth_user_user_set',
|
||||
column_name='user',
|
||||
field='id',
|
||||
model=AuthUser,
|
||||
null=True
|
||||
)
|
||||
|
||||
class Meta:
|
||||
table_name = 'auth_trustee_user'
|
||||
@ -274,6 +385,7 @@ class AuthTrusteeUser(BaseModel):
|
||||
(('user', 'trustee', 'instance'), True),
|
||||
)
|
||||
|
||||
|
||||
class AuthUser2Acl(BaseModel):
|
||||
acl = ForeignKeyField(column_name='acl', field='id', model=AuthAcl)
|
||||
user = ForeignKeyField(column_name='user', field='id', model=AuthUser)
|
||||
@ -284,12 +396,27 @@ class AuthUser2Acl(BaseModel):
|
||||
(('user', 'acl'), True),
|
||||
)
|
||||
|
||||
|
||||
class AuthUserRole(BaseModel):
|
||||
instance = ForeignKeyField(column_name='instance', field='id', model=AuthInstance, null=True)
|
||||
instance = ForeignKeyField(
|
||||
column_name='instance',
|
||||
field='id',
|
||||
model=AuthInstance,
|
||||
null=True
|
||||
)
|
||||
roles = UnknownField() # json
|
||||
state = CharField(constraints=[SQL("DEFAULT 'active'")])
|
||||
trustee = ForeignKeyField(column_name='trustee', field='id', model=AuthUser)
|
||||
user = ForeignKeyField(backref='auth_user_user_set', column_name='user', field='id', model=AuthUser)
|
||||
trustee = ForeignKeyField(
|
||||
column_name='trustee',
|
||||
field='id',
|
||||
model=AuthUser
|
||||
)
|
||||
user = ForeignKeyField(
|
||||
backref='auth_user_user_set',
|
||||
column_name='user',
|
||||
field='id',
|
||||
model=AuthUser
|
||||
)
|
||||
|
||||
class Meta:
|
||||
table_name = 'auth_user_role'
|
||||
@ -297,11 +424,21 @@ class AuthUserRole(BaseModel):
|
||||
(('user', 'trustee', 'instance'), True),
|
||||
)
|
||||
|
||||
|
||||
class AuthUserSetting(BaseModel):
|
||||
data = UnknownField(null=True) # json
|
||||
instance = ForeignKeyField(column_name='instance', field='id', model=AuthInstance, null=True)
|
||||
instance = ForeignKeyField(
|
||||
column_name='instance',
|
||||
field='id',
|
||||
model=AuthInstance,
|
||||
null=True
|
||||
)
|
||||
name = CharField(null=True)
|
||||
user = ForeignKeyField(column_name='user', field='id', model=AuthUser)
|
||||
user = ForeignKeyField(
|
||||
column_name='user',
|
||||
field='id',
|
||||
model=AuthUser
|
||||
)
|
||||
|
||||
class Meta:
|
||||
table_name = 'auth_user_setting'
|
||||
@ -309,9 +446,15 @@ class AuthUserSetting(BaseModel):
|
||||
(('user', 'name', 'instance'), True),
|
||||
)
|
||||
|
||||
|
||||
class AuthUserSshkey(BaseModel):
|
||||
name = CharField(constraints=[SQL("DEFAULT ''")])
|
||||
owner = ForeignKeyField(column_name='owner', field='id', model=AuthUser, null=True)
|
||||
owner = ForeignKeyField(
|
||||
column_name='owner',
|
||||
field='id',
|
||||
model=AuthUser,
|
||||
null=True
|
||||
)
|
||||
ssh_pub_key = TextField()
|
||||
|
||||
class Meta:
|
||||
@ -320,6 +463,7 @@ class AuthUserSshkey(BaseModel):
|
||||
(('name', 'owner'), True),
|
||||
)
|
||||
|
||||
|
||||
class AuthUsersLocks(BaseModel):
|
||||
description = CharField(constraints=[SQL("DEFAULT ''")])
|
||||
service_name = CharField()
|
||||
@ -332,12 +476,14 @@ class AuthUsersLocks(BaseModel):
|
||||
)
|
||||
primary_key = CompositeKey('service_name', 'user')
|
||||
|
||||
|
||||
class BackupAlembicVersion(BaseModel):
|
||||
version_num = CharField(primary_key=True)
|
||||
|
||||
class Meta:
|
||||
table_name = 'backup_alembic_version'
|
||||
|
||||
|
||||
class BackupTask(BaseModel):
|
||||
connection_params = TextField()
|
||||
cron_expression = CharField()
|
||||
@ -352,17 +498,24 @@ class BackupTask(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'backup_task'
|
||||
|
||||
|
||||
class BackupFile(BaseModel):
|
||||
date = DateTimeField()
|
||||
downloadable = IntegerField()
|
||||
name = CharField()
|
||||
size = FloatField()
|
||||
storage_type = CharField()
|
||||
task = ForeignKeyField(column_name='task', field='id', model=BackupTask, null=True)
|
||||
task = ForeignKeyField(
|
||||
column_name='task',
|
||||
field='id',
|
||||
model=BackupTask,
|
||||
null=True
|
||||
)
|
||||
|
||||
class Meta:
|
||||
table_name = 'backup_file'
|
||||
|
||||
|
||||
class CsDocuments(BaseModel):
|
||||
lang = CharField(constraints=[SQL("DEFAULT ''")])
|
||||
name = CharField(constraints=[SQL("DEFAULT ''")])
|
||||
@ -376,6 +529,7 @@ class CsDocuments(BaseModel):
|
||||
(('product', 'lang', 'name'), True),
|
||||
)
|
||||
|
||||
|
||||
class CsSettings(BaseModel):
|
||||
lang = CharField(constraints=[SQL("DEFAULT ''")])
|
||||
product = CharField(constraints=[SQL("DEFAULT ''")])
|
||||
@ -388,12 +542,14 @@ class CsSettings(BaseModel):
|
||||
(('product', 'lang', 'prop_key'), True),
|
||||
)
|
||||
|
||||
|
||||
class EserviceAlembicVersion(BaseModel):
|
||||
version_num = CharField(primary_key=True)
|
||||
|
||||
class Meta:
|
||||
table_name = 'eservice_alembic_version'
|
||||
|
||||
|
||||
class EserviceCustomEquipment(BaseModel):
|
||||
data = TextField(null=True)
|
||||
device_type = CharField()
|
||||
@ -408,6 +564,7 @@ class EserviceCustomEquipment(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'eservice_custom_equipment'
|
||||
|
||||
|
||||
class EserviceIpmiFru(BaseModel):
|
||||
fru_info = UnknownField(null=True) # json
|
||||
ipmi_id = AutoField()
|
||||
@ -416,6 +573,7 @@ class EserviceIpmiFru(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'eservice_ipmi_fru'
|
||||
|
||||
|
||||
class EserviceIpmiInfo(BaseModel):
|
||||
ipmi_id = AutoField()
|
||||
model = CharField()
|
||||
@ -423,6 +581,7 @@ class EserviceIpmiInfo(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'eservice_ipmi_info'
|
||||
|
||||
|
||||
class EserviceIpmiSensors(BaseModel):
|
||||
ipmi_id = AutoField()
|
||||
sensors_info = UnknownField(null=True) # json
|
||||
@ -431,6 +590,7 @@ class EserviceIpmiSensors(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'eservice_ipmi_sensors'
|
||||
|
||||
|
||||
class IpmiProxyLocation(BaseModel):
|
||||
docker_compose = TextField(null=True)
|
||||
instance = IntegerField(null=True)
|
||||
@ -445,6 +605,7 @@ class IpmiProxyLocation(BaseModel):
|
||||
(('instance', 'location'), True),
|
||||
)
|
||||
|
||||
|
||||
class IpmiProxyConnection(BaseModel):
|
||||
close_time = DateTimeField(null=True)
|
||||
connection_data = UnknownField(null=True) # json
|
||||
@ -452,7 +613,11 @@ class IpmiProxyConnection(BaseModel):
|
||||
intel_amt = IntegerField(null=True)
|
||||
ipmi = IntegerField(null=True)
|
||||
listen_web_port = IntegerField(null=True, unique=True)
|
||||
location = ForeignKeyField(column_name='location_id', field='id', model=IpmiProxyLocation)
|
||||
location = ForeignKeyField(
|
||||
column_name='location_id',
|
||||
field='id',
|
||||
model=IpmiProxyLocation
|
||||
)
|
||||
type = CharField(constraints=[SQL("DEFAULT 'web'")])
|
||||
user = IntegerField(null=True)
|
||||
vnc_port = IntegerField(null=True)
|
||||
@ -460,6 +625,7 @@ class IpmiProxyConnection(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'ipmi_proxy_connection'
|
||||
|
||||
|
||||
class IpmiProxyJavaAgreement(BaseModel):
|
||||
instance = IntegerField(null=True, unique=True)
|
||||
java_agree = IntegerField(constraints=[SQL("DEFAULT 1")])
|
||||
@ -467,12 +633,14 @@ class IpmiProxyJavaAgreement(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'ipmi_proxy_java_agreement'
|
||||
|
||||
|
||||
class IpmiProxyPlugin(BaseModel):
|
||||
instance = IntegerField(null=True, unique=True)
|
||||
|
||||
class Meta:
|
||||
table_name = 'ipmi_proxy_plugin'
|
||||
|
||||
|
||||
class IspSettings(BaseModel):
|
||||
name = CharField(primary_key=True)
|
||||
value = TextField()
|
||||
@ -480,15 +648,19 @@ class IspSettings(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'isp_settings'
|
||||
|
||||
|
||||
class JournalAlembicVersion(BaseModel):
|
||||
version_num = CharField(primary_key=True)
|
||||
|
||||
class Meta:
|
||||
table_name = 'journal_alembic_version'
|
||||
|
||||
|
||||
class JournalEvents(BaseModel):
|
||||
data = UnknownField(null=True) # json
|
||||
date_time = DateTimeField(constraints=[SQL("DEFAULT CURRENT_TIMESTAMP(3)")])
|
||||
date_time = DateTimeField(
|
||||
constraints=[SQL("DEFAULT CURRENT_TIMESTAMP(3)")]
|
||||
)
|
||||
entity_id = IntegerField()
|
||||
entity_name = CharField()
|
||||
entity_owner = IntegerField()
|
||||
@ -504,6 +676,7 @@ class JournalEvents(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'journal_events'
|
||||
|
||||
|
||||
class MsgsChannel(BaseModel):
|
||||
comment = TextField(null=True)
|
||||
creation_date = DateTimeField(null=True)
|
||||
@ -517,6 +690,7 @@ class MsgsChannel(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'msgs_channel'
|
||||
|
||||
|
||||
class MsgsDeliveryMethod(BaseModel):
|
||||
delivery_method = CharField(primary_key=True)
|
||||
dm_params = UnknownField(null=True) # json
|
||||
@ -524,12 +698,14 @@ class MsgsDeliveryMethod(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'msgs_delivery_method'
|
||||
|
||||
|
||||
class MsgsMessageDesign(BaseModel):
|
||||
design = CharField(primary_key=True)
|
||||
|
||||
class Meta:
|
||||
table_name = 'msgs_message_design'
|
||||
|
||||
|
||||
class MsgsMessageDesignVariant(BaseModel):
|
||||
delivery_method = CharField()
|
||||
design = CharField()
|
||||
@ -544,6 +720,7 @@ class MsgsMessageDesignVariant(BaseModel):
|
||||
)
|
||||
primary_key = CompositeKey('delivery_method', 'design', 'language')
|
||||
|
||||
|
||||
class MsgsNoticeReceiver(BaseModel):
|
||||
delivery_method = CharField()
|
||||
receivers = UnknownField(null=True) # json
|
||||
@ -555,6 +732,7 @@ class MsgsNoticeReceiver(BaseModel):
|
||||
(('user', 'delivery_method'), True),
|
||||
)
|
||||
|
||||
|
||||
class MsgsTemplate(BaseModel):
|
||||
priority = CharField()
|
||||
template = CharField(primary_key=True)
|
||||
@ -562,6 +740,7 @@ class MsgsTemplate(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'msgs_template'
|
||||
|
||||
|
||||
class MsgsTemplate2Category(BaseModel):
|
||||
category = CharField()
|
||||
template = CharField()
|
||||
@ -574,6 +753,7 @@ class MsgsTemplate2Category(BaseModel):
|
||||
)
|
||||
primary_key = CompositeKey('category', 'template')
|
||||
|
||||
|
||||
class MsgsTemplateVariant(BaseModel):
|
||||
delivery_method = CharField()
|
||||
language = CharField()
|
||||
@ -588,6 +768,7 @@ class MsgsTemplateVariant(BaseModel):
|
||||
)
|
||||
primary_key = CompositeKey('delivery_method', 'language', 'template')
|
||||
|
||||
|
||||
class MsgsUser(BaseModel):
|
||||
language = CharField()
|
||||
user = AutoField()
|
||||
@ -595,6 +776,7 @@ class MsgsUser(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'msgs_user'
|
||||
|
||||
|
||||
class MsgsUser2DeliveryMethod(BaseModel):
|
||||
delivery_method = CharField()
|
||||
u2dm_params = UnknownField(null=True) # json
|
||||
@ -608,6 +790,7 @@ class MsgsUser2DeliveryMethod(BaseModel):
|
||||
)
|
||||
primary_key = CompositeKey('delivery_method', 'user')
|
||||
|
||||
|
||||
class MsgsUserSubscription(BaseModel):
|
||||
category = CharField()
|
||||
delivery_method = CharField()
|
||||
@ -620,6 +803,7 @@ class MsgsUserSubscription(BaseModel):
|
||||
)
|
||||
primary_key = CompositeKey('category', 'delivery_method', 'user')
|
||||
|
||||
|
||||
class NcNotice(BaseModel):
|
||||
create_timestamp = IntegerField(null=True)
|
||||
entity = UnknownField(null=True) # json
|
||||
@ -631,6 +815,7 @@ class NcNotice(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'nc_notice'
|
||||
|
||||
|
||||
class NcUser(BaseModel):
|
||||
last_notice_timestamp = IntegerField(constraints=[SQL("DEFAULT 0")])
|
||||
read_timestamp = IntegerField(constraints=[SQL("DEFAULT 0")])
|
||||
@ -638,10 +823,21 @@ class NcUser(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'nc_user'
|
||||
|
||||
|
||||
class NcNotice2User(BaseModel):
|
||||
notice = ForeignKeyField(column_name='notice', field='id', model=NcNotice, null=True)
|
||||
notice = ForeignKeyField(
|
||||
column_name='notice',
|
||||
field='id',
|
||||
model=NcNotice,
|
||||
null=True
|
||||
)
|
||||
read_timestamp = IntegerField(constraints=[SQL("DEFAULT 0")])
|
||||
user = ForeignKeyField(column_name='user', field='id', model=NcUser, null=True)
|
||||
user = ForeignKeyField(
|
||||
column_name='user',
|
||||
field='id',
|
||||
model=NcUser,
|
||||
null=True
|
||||
)
|
||||
|
||||
class Meta:
|
||||
table_name = 'nc_notice2user'
|
||||
@ -649,6 +845,7 @@ class NcNotice2User(BaseModel):
|
||||
(('user', 'notice'), True),
|
||||
)
|
||||
|
||||
|
||||
class NotifierNotify(BaseModel):
|
||||
additional_info = UnknownField() # json
|
||||
description = UnknownField() # json
|
||||
@ -659,12 +856,16 @@ class NotifierNotify(BaseModel):
|
||||
owner = IntegerField(null=True)
|
||||
request_id = CharField(null=True)
|
||||
request_ip = CharField(null=True)
|
||||
time = DateTimeField(constraints=[SQL("DEFAULT CURRENT_TIMESTAMP")], index=True)
|
||||
time = DateTimeField(
|
||||
constraints=[SQL("DEFAULT CURRENT_TIMESTAMP")],
|
||||
index=True
|
||||
)
|
||||
trustee = IntegerField(null=True)
|
||||
|
||||
class Meta:
|
||||
table_name = 'notifier_notify'
|
||||
|
||||
|
||||
class PsPlugin(BaseModel):
|
||||
content = TextField()
|
||||
current_version = CharField(null=True)
|
||||
@ -683,6 +884,7 @@ class PsPlugin(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'ps_plugin'
|
||||
|
||||
|
||||
class PsPluginLicense(BaseModel):
|
||||
instance = IntegerField(null=True)
|
||||
license = UnknownField(null=True) # json
|
||||
@ -694,12 +896,14 @@ class PsPluginLicense(BaseModel):
|
||||
(('instance', 'plugin'), True),
|
||||
)
|
||||
|
||||
|
||||
class ReportAlembicVersion(BaseModel):
|
||||
version_num = CharField(primary_key=True)
|
||||
|
||||
class Meta:
|
||||
table_name = 'report_alembic_version'
|
||||
|
||||
|
||||
class ReportFile(BaseModel):
|
||||
additional_info = UnknownField(null=True) # json
|
||||
content = TextField(null=True)
|
||||
@ -715,6 +919,7 @@ class ReportFile(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'report_file'
|
||||
|
||||
|
||||
class TaskmgrTask(BaseModel):
|
||||
before_execute = UnknownField(null=True) # json
|
||||
bin_args = UnknownField(null=True) # json
|
||||
@ -731,7 +936,9 @@ class TaskmgrTask(BaseModel):
|
||||
on_start = UnknownField(null=True) # json
|
||||
output = TextField()
|
||||
queue = UnknownField(null=True) # json
|
||||
registration_time = DateTimeField(constraints=[SQL("DEFAULT CURRENT_TIMESTAMP")])
|
||||
registration_time = DateTimeField(
|
||||
constraints=[SQL("DEFAULT CURRENT_TIMESTAMP")]
|
||||
)
|
||||
request_info = UnknownField(null=True) # json
|
||||
return_code = IntegerField()
|
||||
service = CharField(constraints=[SQL("DEFAULT ''")])
|
||||
@ -744,6 +951,7 @@ class TaskmgrTask(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'taskmgr_task'
|
||||
|
||||
|
||||
class Vault(BaseModel):
|
||||
key = CharField(unique=True)
|
||||
value = TextField()
|
||||
@ -751,12 +959,14 @@ class Vault(BaseModel):
|
||||
class Meta:
|
||||
table_name = 'vault'
|
||||
|
||||
|
||||
class VaultAlembicVersion(BaseModel):
|
||||
version_num = CharField(primary_key=True)
|
||||
|
||||
class Meta:
|
||||
table_name = 'vault_alembic_version'
|
||||
|
||||
|
||||
class VaultQueryLog(BaseModel):
|
||||
date = DateTimeField()
|
||||
owner_email = CharField()
|
||||
@ -768,5 +978,3 @@ class VaultQueryLog(BaseModel):
|
||||
|
||||
class Meta:
|
||||
table_name = 'vault_query_log'
|
||||
|
||||
|
||||
|
8
isp_maintenance/db/vm6/databases.py
Normal file
8
isp_maintenance/db/vm6/databases.py
Normal file
@ -0,0 +1,8 @@
|
||||
from db.connection import guess_database
|
||||
|
||||
|
||||
# The variable will contain an object of
|
||||
# the MySQLDatabase or PostgresqlDatabase class as well as all connection data
|
||||
# If in the future there will be more databases in the platform,
|
||||
# they should be added here
|
||||
isp_database = guess_database('isp')
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user