Commit ac23c240 authored by harshavardhan.c's avatar harshavardhan.c

Updated sql_db_utils

parent 4994078b
from scripts.constants.configurations import Service, SqlDB, MongoDB, ApplicationKeys from scripts.constants.configurations import Service, SqlDB, MongoDB, ApplicationKeys, Log
from scripts.constants.mongoconstants import CommonConstants, MongoConstants from scripts.constants.mongoconstants import CommonConstants, MongoConstants
class Conf(SqlDB, Service, MongoDB, ApplicationKeys): class Conf(SqlDB, Service, MongoDB, ApplicationKeys, Log):
pass pass
......
...@@ -44,8 +44,8 @@ class _Configuration(BaseSettings): ...@@ -44,8 +44,8 @@ class _Configuration(BaseSettings):
DB_PORT: int = _config.get('DB', 'port', fallback=2717) DB_PORT: int = _config.get('DB', 'port', fallback=2717)
DB_USERNAME: str = _config.get('DB', 'username', fallback=None) DB_USERNAME: str = _config.get('DB', 'username', fallback=None)
DB_PASSWORD: str = _config.get('DB', 'password', fallback=None) DB_PASSWORD: str = _config.get('DB', 'password', fallback=None)
DB_NAME: str = _config.get('DB', 'name', fallback='ilens_logbook') DB_NAME: str = _config.get('DB', 'db_name', fallback='maintenance_logbook')
SQLITE_DEFAULT_DB_PATH: str = os.path.join(db_folder_path, 'ilens_logbook.db') SQLITE_DEFAULT_DB_PATH: str = os.path.join(db_folder_path, 'maintenance_logbook.db')
class Config: class Config:
env_file = f'{APP_ENV}.env' env_file = f'{APP_ENV}.env'
......
from sqlalchemy import String, JSON, Float, Integer from sqlalchemy import Float, Integer, ForeignKey, Text
from sqlalchemy import create_engine, MetaData, Column, Table from sqlalchemy import create_engine, MetaData, Column, Table
from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.dialects.postgresql import JSON
from sqlalchemy.orm import relationship
from sqlalchemy.orm import sessionmaker from sqlalchemy.orm import sessionmaker
from scripts.logging.logging import logger as LOG from scripts.logging.logging import logger as LOG
...@@ -9,41 +11,102 @@ from scripts.utils.common_utils import CommonUtils ...@@ -9,41 +11,102 @@ from scripts.utils.common_utils import CommonUtils
Base = declarative_base() Base = declarative_base()
class TableAudits(Base): class TableUserEntry(Base):
__tablename__ = "table_user_entry" __tablename__ = "table_user_entry"
template_id = Column(String) template_id = Column(Text)
template_json = Column(JSON) template_json = Column(JSON)
user_id = Column(String) user_id = Column(Text)
last_updated = Column(Float(precision=20, decimal_return_scale=True)) last_updated = Column(Float(precision=20, decimal_return_scale=True))
id = Column(Integer, primary_key=True, autoincrement=True) id = Column(Integer, primary_key=True, autoincrement=True)
template_instance_id = Column(Text)
event_type = Column(Text)
event_status = Column(Text)
event_id = Column(Text)
user_entry_actions = relationship('UserActions', back_populates='user_actions')
@staticmethod @staticmethod
def column_template_id(): def column_template_id():
return 'template_id' return 'template_id'
@staticmethod
def column_event_status():
return 'event_status'
@staticmethod @staticmethod
def column_audit_type(): def column_audit_type():
return 'audit_type' return 'audit_type'
@staticmethod @staticmethod
def column_audit_time(): def column_template_instance_id():
return 'audit_time' return 'template_instance_id'
@staticmethod
def column_event_type():
return 'event_type'
@staticmethod
def column_event_id():
return 'event_id'
@staticmethod
def column_last_updated():
return "last_updated"
@staticmethod @staticmethod
def column_audit_mapping_id(): def column_user_id():
return 'audit_mapping_id' return "user_id"
@staticmethod @staticmethod
def column_audit_message(): def column_template_json():
return 'audit_message' return "template_json"
def table_def_audits(self, meta=MetaData()): @staticmethod
def column_id():
return "id"
def table_def_user_entry(self, meta=MetaData()):
return Table(self.__tablename__, meta, return Table(self.__tablename__, meta,
Column(self.column_audit_id(), String(64), primary_key=True), Column(self.column_template_id(), Text),
Column(self.column_audit_type(), String(64)), Column(self.column_template_json(), JSON),
Column(self.column_audit_time(), BigInteger), Column(self.column_user_id(), Text),
Column(self.column_audit_mapping_id(), String(64)), Column(self.column_last_updated(), Float(precision=20, decimal_return_scale=True)),
Column(self.column_audit_message(), String(2048)), extend_existing=True) Column(self.column_event_status(), Text),
Column(self.column_template_instance_id(), Text),
Column(self.column_event_type(), Text),
Column(self.column_event_id(), Text),
Column(self.column_id(), Integer, primary_key=True, autoincrement=True))
class UserActions(Base):
__tablename__ = "user_action"
template_id = Column(String, ForeignKey('table_user_entry.template_id')),
action = Column(String)
user_id = Column(String)
last_updated = Column(Integer)
id = Column(Integer, primary_key=True, autoincrement=True)
audit_id = Column(String)
user_actions = relationship('TableUserEntry', back_populates='user_entry_actions')
@staticmethod
def column_template_id():
return 'template_id'
@staticmethod
def column_action():
return 'action'
@staticmethod
def column_user_id():
return 'user_id'
@staticmethod
def column_last_updated():
return 'last_updated'
@staticmethod
def column_audit_id():
return 'audit_id'
class SQLDBUtils(CommonUtils): class SQLDBUtils(CommonUtils):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment