add display for MetaData
This commit is contained in:
@@ -27,6 +27,9 @@ class Profile(Base, BaseMixin):
|
||||
full_name += self.last_name
|
||||
return full_name
|
||||
|
||||
def __str__(self):
|
||||
return f"Profile({self.id} {self.user_name}, {self.email})"
|
||||
|
||||
|
||||
class Token(Base, BaseMixin):
|
||||
__tablename__ = "token"
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
import json
|
||||
import logging
|
||||
import uuid
|
||||
from datetime import datetime
|
||||
from enum import Enum, auto
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
from typing import Any, List
|
||||
|
||||
from sqlalchemy import select
|
||||
from sqlalchemy.exc import IntegrityError
|
||||
@@ -360,7 +359,7 @@ class KontorDB:
|
||||
update_list[link.id] = link.title
|
||||
return update_list
|
||||
|
||||
def get_download_list(self) -> list[uuid.UUID]:
|
||||
def get_download_list(self) -> List[str]:
|
||||
download_list = []
|
||||
__session__ = sessionmaker(self.engine)
|
||||
_filter = { 'should_download': True}
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
from typing import AnyStr
|
||||
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from src.db.models.admin import Profile
|
||||
|
||||
|
||||
def get_profile(username: AnyStr, db: Session):
|
||||
profile = db.query(Profile).filter(Profile.email == username).first()
|
||||
return profile
|
||||
@@ -0,0 +1,32 @@
|
||||
from typing import List
|
||||
|
||||
from src.db.models.metadata import MetaDataTable, MetaDataColumn
|
||||
from src.schema.admin import MetaDataTableResponse, MetaDataColumnResponse
|
||||
|
||||
|
||||
def get_tables(tables: List[MetaDataTable]) -> List[MetaDataTableResponse]:
|
||||
results: List[MetaDataTableResponse] = []
|
||||
for table in tables:
|
||||
result = MetaDataTableResponse(id=table.id, name=table.table_name)
|
||||
results.append(result)
|
||||
return results
|
||||
|
||||
def get_columns(columns: List[MetaDataColumn]) -> List[MetaDataColumnResponse]:
|
||||
results: List[MetaDataColumnResponse] = []
|
||||
for column in columns:
|
||||
result = MetaDataColumnResponse(
|
||||
id=column.id,
|
||||
table_name=column.table.table_name,
|
||||
column_name=column.column_name,
|
||||
column_sync_name=column.column_sync_name,
|
||||
column_type=column.column_type,
|
||||
column_modifier=column.column_modifier,
|
||||
column_order=column.column_order,
|
||||
is_shown=column.is_shown,
|
||||
column_label=column.column_label,
|
||||
show_filter=column.show_filter,
|
||||
filter_label=column.filter_label,
|
||||
ref_column=column.ref_column
|
||||
)
|
||||
results.append(result)
|
||||
return results
|
||||
@@ -0,0 +1,28 @@
|
||||
import databases
|
||||
from src.db.session import SQLALCHEMY_DATABASE_URL
|
||||
|
||||
|
||||
async def check_db_connected():
|
||||
try:
|
||||
if not str(SQLALCHEMY_DATABASE_URL).__contains__("sqlite"):
|
||||
database = databases.Database(SQLALCHEMY_DATABASE_URL)
|
||||
if not database.is_connected:
|
||||
await database.connect()
|
||||
await database.execute("SELECT 1")
|
||||
print("Database is connected (^_^)")
|
||||
except Exception as e:
|
||||
print(
|
||||
"Looks like db is missing or is there is some problem in connection,see below traceback"
|
||||
)
|
||||
raise e
|
||||
|
||||
|
||||
async def check_db_disconnected():
|
||||
try:
|
||||
if not str(SQLALCHEMY_DATABASE_URL).__contains__("sqlite"):
|
||||
database = databases.Database(SQLALCHEMY_DATABASE_URL)
|
||||
if database.is_connected:
|
||||
await database.disconnect()
|
||||
print("Database is Disconnected (-_-) zZZ")
|
||||
except Exception as e:
|
||||
raise e
|
||||
Reference in New Issue
Block a user