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 | import click | ||||||
| 
 | 
 | ||||||
|  | from db.vm6.databases import isp_database | ||||||
|  | from db.vm6.models import AuthUser | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| @click.group(help='access command for lazy example') | @click.group(help='access command for lazy example') | ||||||
| @click.option('--debug/--no-debug', default=False) | def cli(): | ||||||
| def cli(debug): |     pass | ||||||
|     click.echo(f"Debug mode is {'on' if debug else 'off'}") |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @cli.command() | @cli.command(help='show all users and their roles on platform (DEMO EXAMPLE)') | ||||||
| def enable(): | def users(): | ||||||
|     click.echo('Access granted') |     # 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 BaseModel(Model): | ||||||
|     class Meta: |     class Meta: | ||||||
|         database = database |         database = auth_database | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| class AlertSetting(BaseModel): | class AlertSetting(BaseModel): | ||||||
|     channel = UnknownField(null=True)  # json |     channel = UnknownField(null=True)  # json | ||||||
| @ -17,6 +30,7 @@ class AlertSetting(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'alert_setting' |         table_name = 'alert_setting' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class AuthAcl(BaseModel): | class AuthAcl(BaseModel): | ||||||
|     ip_list = UnknownField()  # json |     ip_list = UnknownField()  # json | ||||||
|     name = CharField(constraints=[SQL("DEFAULT ''")], unique=True) |     name = CharField(constraints=[SQL("DEFAULT ''")], unique=True) | ||||||
| @ -24,6 +38,7 @@ class AuthAcl(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'auth_acl' |         table_name = 'auth_acl' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class AuthUser(BaseModel): | class AuthUser(BaseModel): | ||||||
|     auth_source = CharField(constraints=[SQL("DEFAULT 'local'")]) |     auth_source = CharField(constraints=[SQL("DEFAULT 'local'")]) | ||||||
|     avatar = TextField(null=True) |     avatar = TextField(null=True) | ||||||
| @ -50,15 +65,23 @@ class AuthUser(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'auth_user' |         table_name = 'auth_user' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class AuthConfirmToken(BaseModel): | class AuthConfirmToken(BaseModel): | ||||||
|     expires_at = DateTimeField(null=True) |     expires_at = DateTimeField(null=True) | ||||||
|     resend_token_after = DateTimeField(null=True) |     resend_token_after = DateTimeField(null=True) | ||||||
|     token = CharField(null=True, unique=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: |     class Meta: | ||||||
|         table_name = 'auth_confirm_token' |         table_name = 'auth_confirm_token' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class AuthGdprDoc(BaseModel): | class AuthGdprDoc(BaseModel): | ||||||
|     change_date = DateTimeField(null=True) |     change_date = DateTimeField(null=True) | ||||||
|     desc_condition = CharField(null=True) |     desc_condition = CharField(null=True) | ||||||
| @ -72,16 +95,23 @@ class AuthGdprDoc(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'auth_gdpr_doc' |         table_name = 'auth_gdpr_doc' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class AuthGdprJournal(BaseModel): | class AuthGdprJournal(BaseModel): | ||||||
|     action_date = DateTimeField(null=True) |     action_date = DateTimeField(null=True) | ||||||
|     action_type = CharField() |     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) |     ip = CharField(null=True) | ||||||
|     user_email = CharField() |     user_email = CharField() | ||||||
| 
 | 
 | ||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'auth_gdpr_journal' |         table_name = 'auth_gdpr_journal' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class AuthGeneratedSshkey(BaseModel): | class AuthGeneratedSshkey(BaseModel): | ||||||
|     generation_date = DateTimeField(null=True) |     generation_date = DateTimeField(null=True) | ||||||
|     privkey = TextField(null=True) |     privkey = TextField(null=True) | ||||||
| @ -90,6 +120,7 @@ class AuthGeneratedSshkey(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'auth_generated_sshkey' |         table_name = 'auth_generated_sshkey' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class AuthProduct(BaseModel): | class AuthProduct(BaseModel): | ||||||
|     docker_compose_file = TextField(null=True) |     docker_compose_file = TextField(null=True) | ||||||
|     name = CharField(null=True) |     name = CharField(null=True) | ||||||
| @ -102,6 +133,7 @@ class AuthProduct(BaseModel): | |||||||
|             (('name', 'version'), True), |             (('name', 'version'), True), | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class AuthInstance(BaseModel): | class AuthInstance(BaseModel): | ||||||
|     conn_params = UnknownField(null=True)  # json |     conn_params = UnknownField(null=True)  # json | ||||||
|     dbkey = TextField(null=True) |     dbkey = TextField(null=True) | ||||||
| @ -109,8 +141,18 @@ class AuthInstance(BaseModel): | |||||||
|     failure_reason = UnknownField(null=True)  # json |     failure_reason = UnknownField(null=True)  # json | ||||||
|     limits = UnknownField(null=True)  # json |     limits = UnknownField(null=True)  # json | ||||||
|     name = CharField(null=True) |     name = CharField(null=True) | ||||||
|     owner = ForeignKeyField(column_name='owner', field='id', model=AuthUser, null=True) |     owner = ForeignKeyField( | ||||||
|     product = ForeignKeyField(column_name='product', field='id', model=AuthProduct, null=True) |         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 |     roles = UnknownField(null=True)  # json | ||||||
|     started = DateTimeField(null=True) |     started = DateTimeField(null=True) | ||||||
|     status = CharField() |     status = CharField() | ||||||
| @ -118,12 +160,18 @@ class AuthInstance(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'auth_instance' |         table_name = 'auth_instance' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class AuthInstanceHistory(BaseModel): | class AuthInstanceHistory(BaseModel): | ||||||
|     create_time = DateTimeField(constraints=[SQL("DEFAULT CURRENT_TIMESTAMP")]) |     create_time = DateTimeField(constraints=[SQL("DEFAULT CURRENT_TIMESTAMP")]) | ||||||
|     event_info = UnknownField(null=True)  # json |     event_info = UnknownField(null=True)  # json | ||||||
|     event_type = CharField(null=True) |     event_type = CharField(null=True) | ||||||
|     prev_time = DateTimeField(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_id = CharField(null=True) | ||||||
|     request_ip = CharField(null=True) |     request_ip = CharField(null=True) | ||||||
|     request_owner = CharField(null=True) |     request_owner = CharField(null=True) | ||||||
| @ -132,6 +180,7 @@ class AuthInstanceHistory(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'auth_instance_history' |         table_name = 'auth_instance_history' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class AuthKey(BaseModel): | class AuthKey(BaseModel): | ||||||
|     expires_at = DateTimeField(null=True) |     expires_at = DateTimeField(null=True) | ||||||
|     name = CharField(constraints=[SQL("DEFAULT ''")], unique=True) |     name = CharField(constraints=[SQL("DEFAULT ''")], unique=True) | ||||||
| @ -140,8 +189,15 @@ class AuthKey(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'auth_key' |         table_name = 'auth_key' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class AuthLicense(BaseModel): | 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) |     last_update = DateTimeField(null=True) | ||||||
|     lic_data = UnknownField(null=True)  # json |     lic_data = UnknownField(null=True)  # json | ||||||
|     lic_request = UnknownField(null=True)  # json |     lic_request = UnknownField(null=True)  # json | ||||||
| @ -152,6 +208,7 @@ class AuthLicense(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'auth_license' |         table_name = 'auth_license' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class AuthPermission(BaseModel): | class AuthPermission(BaseModel): | ||||||
|     data = UnknownField()  # json |     data = UnknownField()  # json | ||||||
|     plugin = CharField(constraints=[SQL("DEFAULT ''")]) |     plugin = CharField(constraints=[SQL("DEFAULT ''")]) | ||||||
| @ -163,6 +220,7 @@ class AuthPermission(BaseModel): | |||||||
|             (('service', 'plugin'), True), |             (('service', 'plugin'), True), | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class AuthPricelist(BaseModel): | class AuthPricelist(BaseModel): | ||||||
|     bill_id = IntegerField(null=True, unique=True) |     bill_id = IntegerField(null=True, unique=True) | ||||||
|     name = CharField(null=True) |     name = CharField(null=True) | ||||||
| @ -171,6 +229,7 @@ class AuthPricelist(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'auth_pricelist' |         table_name = 'auth_pricelist' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class AuthRestrictions(BaseModel): | class AuthRestrictions(BaseModel): | ||||||
|     attempts_counting_duration = BigIntegerField() |     attempts_counting_duration = BigIntegerField() | ||||||
|     attempts_max_count = IntegerField(null=True) |     attempts_max_count = IntegerField(null=True) | ||||||
| @ -181,6 +240,7 @@ class AuthRestrictions(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'auth_restrictions' |         table_name = 'auth_restrictions' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class AuthRestrictionsBans(BaseModel): | class AuthRestrictionsBans(BaseModel): | ||||||
|     banned_until = DateTimeField() |     banned_until = DateTimeField() | ||||||
|     user = ForeignKeyField(column_name='user', field='id', model=AuthUser) |     user = ForeignKeyField(column_name='user', field='id', model=AuthUser) | ||||||
| @ -192,6 +252,7 @@ class AuthRestrictionsBans(BaseModel): | |||||||
|             (('user', 'user_ip'), True), |             (('user', 'user_ip'), True), | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class AuthRole(BaseModel): | class AuthRole(BaseModel): | ||||||
|     data = UnknownField()  # json |     data = UnknownField()  # json | ||||||
|     human_descr = CharField(null=True) |     human_descr = CharField(null=True) | ||||||
| @ -201,10 +262,17 @@ class AuthRole(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'auth_role' |         table_name = 'auth_role' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class AuthServer(BaseModel): | class AuthServer(BaseModel): | ||||||
|     demo = IntegerField(constraints=[SQL("DEFAULT 0")]) |     demo = IntegerField(constraints=[SQL("DEFAULT 0")]) | ||||||
|     host = CharField(null=True) |     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) |     login = CharField(null=True) | ||||||
|     machine_id = CharField(null=True) |     machine_id = CharField(null=True) | ||||||
|     password = CharField(null=True) |     password = CharField(null=True) | ||||||
| @ -216,10 +284,17 @@ class AuthServer(BaseModel): | |||||||
|             (('host', 'port'), True), |             (('host', 'port'), True), | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class AuthService(BaseModel): | class AuthService(BaseModel): | ||||||
|     bill_id = IntegerField(null=True, unique=True) |     bill_id = IntegerField(null=True, unique=True) | ||||||
|     info = UnknownField(null=True)  # json |     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 |     params = UnknownField(null=True)  # json | ||||||
|     payment_form = TextField(null=True) |     payment_form = TextField(null=True) | ||||||
|     status = CharField(null=True) |     status = CharField(null=True) | ||||||
| @ -230,6 +305,7 @@ class AuthService(BaseModel): | |||||||
|             (('instance', 'bill_id'), True), |             (('instance', 'bill_id'), True), | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class AuthServiceDbkey(BaseModel): | class AuthServiceDbkey(BaseModel): | ||||||
|     dbkey = TextField(null=True) |     dbkey = TextField(null=True) | ||||||
|     name = CharField(null=True, unique=True) |     name = CharField(null=True, unique=True) | ||||||
| @ -237,18 +313,31 @@ class AuthServiceDbkey(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'auth_service_dbkey' |         table_name = 'auth_service_dbkey' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class AuthSession(BaseModel): | class AuthSession(BaseModel): | ||||||
|     expires_at = DateTimeField(null=True) |     expires_at = DateTimeField(null=True) | ||||||
|     is_internal = IntegerField(constraints=[SQL("DEFAULT 0")]) |     is_internal = IntegerField(constraints=[SQL("DEFAULT 0")]) | ||||||
|     name = CharField(null=True, unique=True) |     name = CharField(null=True, unique=True) | ||||||
|     owner = ForeignKeyField(column_name='owner', field='id', model=AuthUser, null=True) |     owner = ForeignKeyField( | ||||||
|     trustee = ForeignKeyField(backref='auth_user_trustee_set', column_name='trustee', field='id', model=AuthUser, null=True) |         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) |     updated_at = DateTimeField(null=True) | ||||||
|     xsrf_token = CharField(null=True) |     xsrf_token = CharField(null=True) | ||||||
| 
 | 
 | ||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'auth_session' |         table_name = 'auth_session' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class AuthToken(BaseModel): | class AuthToken(BaseModel): | ||||||
|     client_ip = CharField(null=True) |     client_ip = CharField(null=True) | ||||||
|     description = CharField(constraints=[SQL("DEFAULT ''")]) |     description = CharField(constraints=[SQL("DEFAULT ''")]) | ||||||
| @ -257,16 +346,38 @@ class AuthToken(BaseModel): | |||||||
|     name = CharField(constraints=[SQL("DEFAULT ''")], unique=True) |     name = CharField(constraints=[SQL("DEFAULT ''")], unique=True) | ||||||
|     need_2fa = IntegerField(constraints=[SQL("DEFAULT 0")]) |     need_2fa = IntegerField(constraints=[SQL("DEFAULT 0")]) | ||||||
|     owner = ForeignKeyField(column_name='owner', field='id', model=AuthUser) |     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: |     class Meta: | ||||||
|         table_name = 'auth_token' |         table_name = 'auth_token' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class AuthTrusteeUser(BaseModel): | 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) |     role = CharField(null=True) | ||||||
|     trustee = ForeignKeyField(column_name='trustee', field='id', model=AuthUser, null=True) |     trustee = ForeignKeyField( | ||||||
|     user = ForeignKeyField(backref='auth_user_user_set', column_name='user', field='id', model=AuthUser, null=True) |         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: |     class Meta: | ||||||
|         table_name = 'auth_trustee_user' |         table_name = 'auth_trustee_user' | ||||||
| @ -274,6 +385,7 @@ class AuthTrusteeUser(BaseModel): | |||||||
|             (('user', 'trustee', 'instance'), True), |             (('user', 'trustee', 'instance'), True), | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class AuthUser2Acl(BaseModel): | class AuthUser2Acl(BaseModel): | ||||||
|     acl = ForeignKeyField(column_name='acl', field='id', model=AuthAcl) |     acl = ForeignKeyField(column_name='acl', field='id', model=AuthAcl) | ||||||
|     user = ForeignKeyField(column_name='user', field='id', model=AuthUser) |     user = ForeignKeyField(column_name='user', field='id', model=AuthUser) | ||||||
| @ -284,12 +396,27 @@ class AuthUser2Acl(BaseModel): | |||||||
|             (('user', 'acl'), True), |             (('user', 'acl'), True), | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class AuthUserRole(BaseModel): | 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 |     roles = UnknownField()  # json | ||||||
|     state = CharField(constraints=[SQL("DEFAULT 'active'")]) |     state = CharField(constraints=[SQL("DEFAULT 'active'")]) | ||||||
|     trustee = ForeignKeyField(column_name='trustee', field='id', model=AuthUser) |     trustee = ForeignKeyField( | ||||||
|     user = ForeignKeyField(backref='auth_user_user_set', column_name='user', field='id', model=AuthUser) |         column_name='trustee', | ||||||
|  |         field='id', | ||||||
|  |         model=AuthUser | ||||||
|  |     ) | ||||||
|  |     user = ForeignKeyField( | ||||||
|  |         backref='auth_user_user_set', | ||||||
|  |         column_name='user', | ||||||
|  |         field='id', | ||||||
|  |         model=AuthUser | ||||||
|  |     ) | ||||||
| 
 | 
 | ||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'auth_user_role' |         table_name = 'auth_user_role' | ||||||
| @ -297,11 +424,21 @@ class AuthUserRole(BaseModel): | |||||||
|             (('user', 'trustee', 'instance'), True), |             (('user', 'trustee', 'instance'), True), | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class AuthUserSetting(BaseModel): | class AuthUserSetting(BaseModel): | ||||||
|     data = UnknownField(null=True)  # json |     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) |     name = CharField(null=True) | ||||||
|     user = ForeignKeyField(column_name='user', field='id', model=AuthUser) |     user = ForeignKeyField( | ||||||
|  |         column_name='user', | ||||||
|  |         field='id', | ||||||
|  |         model=AuthUser | ||||||
|  |     ) | ||||||
| 
 | 
 | ||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'auth_user_setting' |         table_name = 'auth_user_setting' | ||||||
| @ -309,9 +446,15 @@ class AuthUserSetting(BaseModel): | |||||||
|             (('user', 'name', 'instance'), True), |             (('user', 'name', 'instance'), True), | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class AuthUserSshkey(BaseModel): | class AuthUserSshkey(BaseModel): | ||||||
|     name = CharField(constraints=[SQL("DEFAULT ''")]) |     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() |     ssh_pub_key = TextField() | ||||||
| 
 | 
 | ||||||
|     class Meta: |     class Meta: | ||||||
| @ -320,6 +463,7 @@ class AuthUserSshkey(BaseModel): | |||||||
|             (('name', 'owner'), True), |             (('name', 'owner'), True), | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class AuthUsersLocks(BaseModel): | class AuthUsersLocks(BaseModel): | ||||||
|     description = CharField(constraints=[SQL("DEFAULT ''")]) |     description = CharField(constraints=[SQL("DEFAULT ''")]) | ||||||
|     service_name = CharField() |     service_name = CharField() | ||||||
| @ -332,12 +476,14 @@ class AuthUsersLocks(BaseModel): | |||||||
|         ) |         ) | ||||||
|         primary_key = CompositeKey('service_name', 'user') |         primary_key = CompositeKey('service_name', 'user') | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class BackupAlembicVersion(BaseModel): | class BackupAlembicVersion(BaseModel): | ||||||
|     version_num = CharField(primary_key=True) |     version_num = CharField(primary_key=True) | ||||||
| 
 | 
 | ||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'backup_alembic_version' |         table_name = 'backup_alembic_version' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class BackupTask(BaseModel): | class BackupTask(BaseModel): | ||||||
|     connection_params = TextField() |     connection_params = TextField() | ||||||
|     cron_expression = CharField() |     cron_expression = CharField() | ||||||
| @ -352,17 +498,24 @@ class BackupTask(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'backup_task' |         table_name = 'backup_task' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class BackupFile(BaseModel): | class BackupFile(BaseModel): | ||||||
|     date = DateTimeField() |     date = DateTimeField() | ||||||
|     downloadable = IntegerField() |     downloadable = IntegerField() | ||||||
|     name = CharField() |     name = CharField() | ||||||
|     size = FloatField() |     size = FloatField() | ||||||
|     storage_type = CharField() |     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: |     class Meta: | ||||||
|         table_name = 'backup_file' |         table_name = 'backup_file' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class CsDocuments(BaseModel): | class CsDocuments(BaseModel): | ||||||
|     lang = CharField(constraints=[SQL("DEFAULT ''")]) |     lang = CharField(constraints=[SQL("DEFAULT ''")]) | ||||||
|     name = CharField(constraints=[SQL("DEFAULT ''")]) |     name = CharField(constraints=[SQL("DEFAULT ''")]) | ||||||
| @ -376,6 +529,7 @@ class CsDocuments(BaseModel): | |||||||
|             (('product', 'lang', 'name'), True), |             (('product', 'lang', 'name'), True), | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class CsSettings(BaseModel): | class CsSettings(BaseModel): | ||||||
|     lang = CharField(constraints=[SQL("DEFAULT ''")]) |     lang = CharField(constraints=[SQL("DEFAULT ''")]) | ||||||
|     product = CharField(constraints=[SQL("DEFAULT ''")]) |     product = CharField(constraints=[SQL("DEFAULT ''")]) | ||||||
| @ -388,12 +542,14 @@ class CsSettings(BaseModel): | |||||||
|             (('product', 'lang', 'prop_key'), True), |             (('product', 'lang', 'prop_key'), True), | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class EserviceAlembicVersion(BaseModel): | class EserviceAlembicVersion(BaseModel): | ||||||
|     version_num = CharField(primary_key=True) |     version_num = CharField(primary_key=True) | ||||||
| 
 | 
 | ||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'eservice_alembic_version' |         table_name = 'eservice_alembic_version' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class EserviceCustomEquipment(BaseModel): | class EserviceCustomEquipment(BaseModel): | ||||||
|     data = TextField(null=True) |     data = TextField(null=True) | ||||||
|     device_type = CharField() |     device_type = CharField() | ||||||
| @ -408,6 +564,7 @@ class EserviceCustomEquipment(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'eservice_custom_equipment' |         table_name = 'eservice_custom_equipment' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class EserviceIpmiFru(BaseModel): | class EserviceIpmiFru(BaseModel): | ||||||
|     fru_info = UnknownField(null=True)  # json |     fru_info = UnknownField(null=True)  # json | ||||||
|     ipmi_id = AutoField() |     ipmi_id = AutoField() | ||||||
| @ -416,6 +573,7 @@ class EserviceIpmiFru(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'eservice_ipmi_fru' |         table_name = 'eservice_ipmi_fru' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class EserviceIpmiInfo(BaseModel): | class EserviceIpmiInfo(BaseModel): | ||||||
|     ipmi_id = AutoField() |     ipmi_id = AutoField() | ||||||
|     model = CharField() |     model = CharField() | ||||||
| @ -423,6 +581,7 @@ class EserviceIpmiInfo(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'eservice_ipmi_info' |         table_name = 'eservice_ipmi_info' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class EserviceIpmiSensors(BaseModel): | class EserviceIpmiSensors(BaseModel): | ||||||
|     ipmi_id = AutoField() |     ipmi_id = AutoField() | ||||||
|     sensors_info = UnknownField(null=True)  # json |     sensors_info = UnknownField(null=True)  # json | ||||||
| @ -431,6 +590,7 @@ class EserviceIpmiSensors(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'eservice_ipmi_sensors' |         table_name = 'eservice_ipmi_sensors' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class IpmiProxyLocation(BaseModel): | class IpmiProxyLocation(BaseModel): | ||||||
|     docker_compose = TextField(null=True) |     docker_compose = TextField(null=True) | ||||||
|     instance = IntegerField(null=True) |     instance = IntegerField(null=True) | ||||||
| @ -445,6 +605,7 @@ class IpmiProxyLocation(BaseModel): | |||||||
|             (('instance', 'location'), True), |             (('instance', 'location'), True), | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class IpmiProxyConnection(BaseModel): | class IpmiProxyConnection(BaseModel): | ||||||
|     close_time = DateTimeField(null=True) |     close_time = DateTimeField(null=True) | ||||||
|     connection_data = UnknownField(null=True)  # json |     connection_data = UnknownField(null=True)  # json | ||||||
| @ -452,7 +613,11 @@ class IpmiProxyConnection(BaseModel): | |||||||
|     intel_amt = IntegerField(null=True) |     intel_amt = IntegerField(null=True) | ||||||
|     ipmi = IntegerField(null=True) |     ipmi = IntegerField(null=True) | ||||||
|     listen_web_port = IntegerField(null=True, unique=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'")]) |     type = CharField(constraints=[SQL("DEFAULT 'web'")]) | ||||||
|     user = IntegerField(null=True) |     user = IntegerField(null=True) | ||||||
|     vnc_port = IntegerField(null=True) |     vnc_port = IntegerField(null=True) | ||||||
| @ -460,6 +625,7 @@ class IpmiProxyConnection(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'ipmi_proxy_connection' |         table_name = 'ipmi_proxy_connection' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class IpmiProxyJavaAgreement(BaseModel): | class IpmiProxyJavaAgreement(BaseModel): | ||||||
|     instance = IntegerField(null=True, unique=True) |     instance = IntegerField(null=True, unique=True) | ||||||
|     java_agree = IntegerField(constraints=[SQL("DEFAULT 1")]) |     java_agree = IntegerField(constraints=[SQL("DEFAULT 1")]) | ||||||
| @ -467,12 +633,14 @@ class IpmiProxyJavaAgreement(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'ipmi_proxy_java_agreement' |         table_name = 'ipmi_proxy_java_agreement' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class IpmiProxyPlugin(BaseModel): | class IpmiProxyPlugin(BaseModel): | ||||||
|     instance = IntegerField(null=True, unique=True) |     instance = IntegerField(null=True, unique=True) | ||||||
| 
 | 
 | ||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'ipmi_proxy_plugin' |         table_name = 'ipmi_proxy_plugin' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class IspSettings(BaseModel): | class IspSettings(BaseModel): | ||||||
|     name = CharField(primary_key=True) |     name = CharField(primary_key=True) | ||||||
|     value = TextField() |     value = TextField() | ||||||
| @ -480,15 +648,19 @@ class IspSettings(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'isp_settings' |         table_name = 'isp_settings' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class JournalAlembicVersion(BaseModel): | class JournalAlembicVersion(BaseModel): | ||||||
|     version_num = CharField(primary_key=True) |     version_num = CharField(primary_key=True) | ||||||
| 
 | 
 | ||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'journal_alembic_version' |         table_name = 'journal_alembic_version' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class JournalEvents(BaseModel): | class JournalEvents(BaseModel): | ||||||
|     data = UnknownField(null=True)  # json |     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_id = IntegerField() | ||||||
|     entity_name = CharField() |     entity_name = CharField() | ||||||
|     entity_owner = IntegerField() |     entity_owner = IntegerField() | ||||||
| @ -504,6 +676,7 @@ class JournalEvents(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'journal_events' |         table_name = 'journal_events' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class MsgsChannel(BaseModel): | class MsgsChannel(BaseModel): | ||||||
|     comment = TextField(null=True) |     comment = TextField(null=True) | ||||||
|     creation_date = DateTimeField(null=True) |     creation_date = DateTimeField(null=True) | ||||||
| @ -517,6 +690,7 @@ class MsgsChannel(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'msgs_channel' |         table_name = 'msgs_channel' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class MsgsDeliveryMethod(BaseModel): | class MsgsDeliveryMethod(BaseModel): | ||||||
|     delivery_method = CharField(primary_key=True) |     delivery_method = CharField(primary_key=True) | ||||||
|     dm_params = UnknownField(null=True)  # json |     dm_params = UnknownField(null=True)  # json | ||||||
| @ -524,12 +698,14 @@ class MsgsDeliveryMethod(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'msgs_delivery_method' |         table_name = 'msgs_delivery_method' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class MsgsMessageDesign(BaseModel): | class MsgsMessageDesign(BaseModel): | ||||||
|     design = CharField(primary_key=True) |     design = CharField(primary_key=True) | ||||||
| 
 | 
 | ||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'msgs_message_design' |         table_name = 'msgs_message_design' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class MsgsMessageDesignVariant(BaseModel): | class MsgsMessageDesignVariant(BaseModel): | ||||||
|     delivery_method = CharField() |     delivery_method = CharField() | ||||||
|     design = CharField() |     design = CharField() | ||||||
| @ -544,6 +720,7 @@ class MsgsMessageDesignVariant(BaseModel): | |||||||
|         ) |         ) | ||||||
|         primary_key = CompositeKey('delivery_method', 'design', 'language') |         primary_key = CompositeKey('delivery_method', 'design', 'language') | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class MsgsNoticeReceiver(BaseModel): | class MsgsNoticeReceiver(BaseModel): | ||||||
|     delivery_method = CharField() |     delivery_method = CharField() | ||||||
|     receivers = UnknownField(null=True)  # json |     receivers = UnknownField(null=True)  # json | ||||||
| @ -555,6 +732,7 @@ class MsgsNoticeReceiver(BaseModel): | |||||||
|             (('user', 'delivery_method'), True), |             (('user', 'delivery_method'), True), | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class MsgsTemplate(BaseModel): | class MsgsTemplate(BaseModel): | ||||||
|     priority = CharField() |     priority = CharField() | ||||||
|     template = CharField(primary_key=True) |     template = CharField(primary_key=True) | ||||||
| @ -562,6 +740,7 @@ class MsgsTemplate(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'msgs_template' |         table_name = 'msgs_template' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class MsgsTemplate2Category(BaseModel): | class MsgsTemplate2Category(BaseModel): | ||||||
|     category = CharField() |     category = CharField() | ||||||
|     template = CharField() |     template = CharField() | ||||||
| @ -574,6 +753,7 @@ class MsgsTemplate2Category(BaseModel): | |||||||
|         ) |         ) | ||||||
|         primary_key = CompositeKey('category', 'template') |         primary_key = CompositeKey('category', 'template') | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class MsgsTemplateVariant(BaseModel): | class MsgsTemplateVariant(BaseModel): | ||||||
|     delivery_method = CharField() |     delivery_method = CharField() | ||||||
|     language = CharField() |     language = CharField() | ||||||
| @ -588,6 +768,7 @@ class MsgsTemplateVariant(BaseModel): | |||||||
|         ) |         ) | ||||||
|         primary_key = CompositeKey('delivery_method', 'language', 'template') |         primary_key = CompositeKey('delivery_method', 'language', 'template') | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class MsgsUser(BaseModel): | class MsgsUser(BaseModel): | ||||||
|     language = CharField() |     language = CharField() | ||||||
|     user = AutoField() |     user = AutoField() | ||||||
| @ -595,6 +776,7 @@ class MsgsUser(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'msgs_user' |         table_name = 'msgs_user' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class MsgsUser2DeliveryMethod(BaseModel): | class MsgsUser2DeliveryMethod(BaseModel): | ||||||
|     delivery_method = CharField() |     delivery_method = CharField() | ||||||
|     u2dm_params = UnknownField(null=True)  # json |     u2dm_params = UnknownField(null=True)  # json | ||||||
| @ -608,6 +790,7 @@ class MsgsUser2DeliveryMethod(BaseModel): | |||||||
|         ) |         ) | ||||||
|         primary_key = CompositeKey('delivery_method', 'user') |         primary_key = CompositeKey('delivery_method', 'user') | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class MsgsUserSubscription(BaseModel): | class MsgsUserSubscription(BaseModel): | ||||||
|     category = CharField() |     category = CharField() | ||||||
|     delivery_method = CharField() |     delivery_method = CharField() | ||||||
| @ -620,6 +803,7 @@ class MsgsUserSubscription(BaseModel): | |||||||
|         ) |         ) | ||||||
|         primary_key = CompositeKey('category', 'delivery_method', 'user') |         primary_key = CompositeKey('category', 'delivery_method', 'user') | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class NcNotice(BaseModel): | class NcNotice(BaseModel): | ||||||
|     create_timestamp = IntegerField(null=True) |     create_timestamp = IntegerField(null=True) | ||||||
|     entity = UnknownField(null=True)  # json |     entity = UnknownField(null=True)  # json | ||||||
| @ -631,6 +815,7 @@ class NcNotice(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'nc_notice' |         table_name = 'nc_notice' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class NcUser(BaseModel): | class NcUser(BaseModel): | ||||||
|     last_notice_timestamp = IntegerField(constraints=[SQL("DEFAULT 0")]) |     last_notice_timestamp = IntegerField(constraints=[SQL("DEFAULT 0")]) | ||||||
|     read_timestamp = IntegerField(constraints=[SQL("DEFAULT 0")]) |     read_timestamp = IntegerField(constraints=[SQL("DEFAULT 0")]) | ||||||
| @ -638,10 +823,21 @@ class NcUser(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'nc_user' |         table_name = 'nc_user' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class NcNotice2User(BaseModel): | 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")]) |     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: |     class Meta: | ||||||
|         table_name = 'nc_notice2user' |         table_name = 'nc_notice2user' | ||||||
| @ -649,6 +845,7 @@ class NcNotice2User(BaseModel): | |||||||
|             (('user', 'notice'), True), |             (('user', 'notice'), True), | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class NotifierNotify(BaseModel): | class NotifierNotify(BaseModel): | ||||||
|     additional_info = UnknownField()  # json |     additional_info = UnknownField()  # json | ||||||
|     description = UnknownField()  # json |     description = UnknownField()  # json | ||||||
| @ -659,12 +856,16 @@ class NotifierNotify(BaseModel): | |||||||
|     owner = IntegerField(null=True) |     owner = IntegerField(null=True) | ||||||
|     request_id = CharField(null=True) |     request_id = CharField(null=True) | ||||||
|     request_ip = 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) |     trustee = IntegerField(null=True) | ||||||
| 
 | 
 | ||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'notifier_notify' |         table_name = 'notifier_notify' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class PsPlugin(BaseModel): | class PsPlugin(BaseModel): | ||||||
|     content = TextField() |     content = TextField() | ||||||
|     current_version = CharField(null=True) |     current_version = CharField(null=True) | ||||||
| @ -683,6 +884,7 @@ class PsPlugin(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'ps_plugin' |         table_name = 'ps_plugin' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class PsPluginLicense(BaseModel): | class PsPluginLicense(BaseModel): | ||||||
|     instance = IntegerField(null=True) |     instance = IntegerField(null=True) | ||||||
|     license = UnknownField(null=True)  # json |     license = UnknownField(null=True)  # json | ||||||
| @ -694,12 +896,14 @@ class PsPluginLicense(BaseModel): | |||||||
|             (('instance', 'plugin'), True), |             (('instance', 'plugin'), True), | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class ReportAlembicVersion(BaseModel): | class ReportAlembicVersion(BaseModel): | ||||||
|     version_num = CharField(primary_key=True) |     version_num = CharField(primary_key=True) | ||||||
| 
 | 
 | ||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'report_alembic_version' |         table_name = 'report_alembic_version' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class ReportFile(BaseModel): | class ReportFile(BaseModel): | ||||||
|     additional_info = UnknownField(null=True)  # json |     additional_info = UnknownField(null=True)  # json | ||||||
|     content = TextField(null=True) |     content = TextField(null=True) | ||||||
| @ -715,6 +919,7 @@ class ReportFile(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'report_file' |         table_name = 'report_file' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class TaskmgrTask(BaseModel): | class TaskmgrTask(BaseModel): | ||||||
|     before_execute = UnknownField(null=True)  # json |     before_execute = UnknownField(null=True)  # json | ||||||
|     bin_args = UnknownField(null=True)  # json |     bin_args = UnknownField(null=True)  # json | ||||||
| @ -731,7 +936,9 @@ class TaskmgrTask(BaseModel): | |||||||
|     on_start = UnknownField(null=True)  # json |     on_start = UnknownField(null=True)  # json | ||||||
|     output = TextField() |     output = TextField() | ||||||
|     queue = UnknownField(null=True)  # json |     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 |     request_info = UnknownField(null=True)  # json | ||||||
|     return_code = IntegerField() |     return_code = IntegerField() | ||||||
|     service = CharField(constraints=[SQL("DEFAULT ''")]) |     service = CharField(constraints=[SQL("DEFAULT ''")]) | ||||||
| @ -744,6 +951,7 @@ class TaskmgrTask(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'taskmgr_task' |         table_name = 'taskmgr_task' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class Vault(BaseModel): | class Vault(BaseModel): | ||||||
|     key = CharField(unique=True) |     key = CharField(unique=True) | ||||||
|     value = TextField() |     value = TextField() | ||||||
| @ -751,12 +959,14 @@ class Vault(BaseModel): | |||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'vault' |         table_name = 'vault' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class VaultAlembicVersion(BaseModel): | class VaultAlembicVersion(BaseModel): | ||||||
|     version_num = CharField(primary_key=True) |     version_num = CharField(primary_key=True) | ||||||
| 
 | 
 | ||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'vault_alembic_version' |         table_name = 'vault_alembic_version' | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class VaultQueryLog(BaseModel): | class VaultQueryLog(BaseModel): | ||||||
|     date = DateTimeField() |     date = DateTimeField() | ||||||
|     owner_email = CharField() |     owner_email = CharField() | ||||||
| @ -768,5 +978,3 @@ class VaultQueryLog(BaseModel): | |||||||
| 
 | 
 | ||||||
|     class Meta: |     class Meta: | ||||||
|         table_name = 'vault_query_log' |         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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user