VORKOUT-19 #17
@@ -1,7 +0,0 @@
|
|||||||
from sqlalchemy import MetaData
|
|
||||||
|
|
||||||
metadata = MetaData()
|
|
||||||
|
|
||||||
__all__ = [
|
|
||||||
"metadata",
|
|
||||||
]
|
|
||||||
|
@@ -7,7 +7,7 @@ from sqlalchemy import pool
|
|||||||
|
|
||||||
from alembic import context
|
from alembic import context
|
||||||
|
|
||||||
from api.db import metadata, tables
|
from orm import metadata, tables
|
||||||
|
|
||||||
# this is the Alembic Config object, which provides
|
# this is the Alembic Config object, which provides
|
||||||
# access to the values within the .ini file in use.
|
# access to the values within the .ini file in use.
|
||||||
|
@@ -6,7 +6,7 @@ from typing import Optional
|
|||||||
from sqlalchemy import insert, select, func, or_, and_, asc, desc
|
from sqlalchemy import insert, select, func, or_, and_, asc, desc
|
||||||
from sqlalchemy.ext.asyncio import AsyncConnection
|
from sqlalchemy.ext.asyncio import AsyncConnection
|
||||||
|
|
||||||
from api.db.tables.account import account_table
|
from orm.tables.account import account_table
|
||||||
from api.schemas.account.account import User
|
from api.schemas.account.account import User
|
||||||
from api.schemas.endpoints.account import all_user_adapter, AllUser, AllUserResponse, UserCreate, UserFilterDTO
|
from api.schemas.endpoints.account import all_user_adapter, AllUser, AllUserResponse, UserCreate, UserFilterDTO
|
||||||
|
|
||||||
|
@@ -4,7 +4,7 @@ from sqlalchemy import select, update
|
|||||||
from sqlalchemy.ext.asyncio import AsyncConnection
|
from sqlalchemy.ext.asyncio import AsyncConnection
|
||||||
from enum import Enum
|
from enum import Enum
|
||||||
|
|
||||||
from api.db.tables.account import account_table, account_keyring_table, KeyType, KeyStatus
|
from orm.tables.account import account_table, account_keyring_table, KeyType, KeyStatus
|
||||||
|
|
||||||
from api.schemas.account.account import User
|
from api.schemas.account.account import User
|
||||||
from api.schemas.account.account_keyring import AccountKeyring
|
from api.schemas.account.account_keyring import AccountKeyring
|
||||||
|
@@ -6,7 +6,7 @@ from sqlalchemy import insert, select, update
|
|||||||
from sqlalchemy.dialects.mysql import insert as mysql_insert
|
from sqlalchemy.dialects.mysql import insert as mysql_insert
|
||||||
from sqlalchemy.ext.asyncio import AsyncConnection
|
from sqlalchemy.ext.asyncio import AsyncConnection
|
||||||
|
|
||||||
from api.db.tables.account import account_keyring_table, KeyStatus, KeyType
|
from orm.tables.account import account_keyring_table, KeyStatus, KeyType
|
||||||
from api.schemas.account.account_keyring import AccountKeyring
|
from api.schemas.account.account_keyring import AccountKeyring
|
||||||
from api.utils.hasher import hasher
|
from api.utils.hasher import hasher
|
||||||
|
|
||||||
|
@@ -7,7 +7,7 @@ from datetime import datetime, timezone
|
|||||||
from sqlalchemy import insert, select, func, or_, and_, asc, desc
|
from sqlalchemy import insert, select, func, or_, and_, asc, desc
|
||||||
from sqlalchemy.ext.asyncio import AsyncConnection
|
from sqlalchemy.ext.asyncio import AsyncConnection
|
||||||
|
|
||||||
from api.db.tables.events import list_events_table
|
from orm.tables.events import list_events_table
|
||||||
|
|
||||||
from api.schemas.events.list_events import ListEvent
|
from api.schemas.events.list_events import ListEvent
|
||||||
|
|
||||||
|
@@ -6,7 +6,7 @@ from datetime import datetime, timezone
|
|||||||
from sqlalchemy import insert, select, func, or_, and_, asc, desc
|
from sqlalchemy import insert, select, func, or_, and_, asc, desc
|
||||||
from sqlalchemy.ext.asyncio import AsyncConnection
|
from sqlalchemy.ext.asyncio import AsyncConnection
|
||||||
|
|
||||||
from api.db.tables.process import process_schema_table
|
from orm.tables.process import process_schema_table
|
||||||
|
|
||||||
from api.schemas.process.process_schema import ProcessSchema
|
from api.schemas.process.process_schema import ProcessSchema
|
||||||
|
|
||||||
|
@@ -1,18 +0,0 @@
|
|||||||
__all__ = ["BigIntegerPK", "SAEnum", "UnsignedInt"]
|
|
||||||
|
|
||||||
from typing import Any
|
|
||||||
|
|
||||||
from sqlalchemy import BigInteger, Enum, Integer
|
|
||||||
from sqlalchemy.dialects import mysql
|
|
||||||
|
|
||||||
|
|
||||||
# class SAEnum(Enum):
|
|
||||||
# def __init__(self, *enums: object, **kw: Any):
|
|
||||||
# validate_strings = kw.pop("validate_strings", True)
|
|
||||||
# super().__init__(*enums, **kw, validate_strings=validate_strings)
|
|
||||||
|
|
||||||
|
|
||||||
# # https://docs.sqlalchemy.org/en/20/dialects/sqlite.html#allowing-autoincrement-behavior-sqlalchemy-types-other-than-integer-integer
|
|
||||||
|
|
||||||
# BigIntegerPK = BigInteger().with_variant(Integer, "sqlite")
|
|
||||||
UnsignedInt = Integer().with_variant(mysql.INTEGER(unsigned=True), "mysql")
|
|
@@ -1 +0,0 @@
|
|||||||
from . import account, events, process
|
|
@@ -1,65 +0,0 @@
|
|||||||
import enum
|
|
||||||
|
|
||||||
from sqlalchemy import Table, Column, String, Enum as SQLAEnum, JSON, ForeignKey, DateTime, Index
|
|
||||||
from sqlalchemy.sql import func
|
|
||||||
|
|
||||||
from api.db.sql_types import UnsignedInt
|
|
||||||
from api.db import metadata
|
|
||||||
|
|
||||||
|
|
||||||
class AccountRole(enum.StrEnum):
|
|
||||||
OWNER = "OWNER"
|
|
||||||
ADMIN = "ADMIN"
|
|
||||||
EDITOR = "EDITOR"
|
|
||||||
VIEWER = "VIEWER"
|
|
||||||
|
|
||||||
|
|
||||||
class AccountStatus(enum.StrEnum):
|
|
||||||
ACTIVE = "ACTIVE"
|
|
||||||
DISABLED = "DISABLED"
|
|
||||||
BLOCKED = "BLOCKED"
|
|
||||||
DELETED = "DELETED"
|
|
||||||
|
|
||||||
|
|
||||||
account_table = Table(
|
|
||||||
"account",
|
|
||||||
metadata,
|
|
||||||
Column("id", UnsignedInt, primary_key=True, autoincrement=True),
|
|
||||||
Column("name", String(100), nullable=False),
|
|
||||||
Column("login", String(100), nullable=False),
|
|
||||||
Column("email", String(100), nullable=True),
|
|
||||||
Column("bind_tenant_id", String(40), nullable=True),
|
|
||||||
Column("role", SQLAEnum(AccountRole), nullable=False),
|
|
||||||
Column("meta", JSON, default={}),
|
|
||||||
Column("creator_id", UnsignedInt, ForeignKey("account.id"), nullable=True),
|
|
||||||
Column("created_at", DateTime(timezone=True), server_default=func.now()),
|
|
||||||
Column("status", SQLAEnum(AccountStatus), nullable=False),
|
|
||||||
Index("idx_login", "login"),
|
|
||||||
Index("idx_name", "name"),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class KeyType(enum.StrEnum):
|
|
||||||
PASSWORD = "PASSWORD"
|
|
||||||
ACCESS_TOKEN = "ACCESS_TOKEN"
|
|
||||||
REFRESH_TOKEN = "REFRESH_TOKEN"
|
|
||||||
API_KEY = "API_KEY"
|
|
||||||
|
|
||||||
|
|
||||||
class KeyStatus(enum.StrEnum):
|
|
||||||
ACTIVE = "ACTIVE"
|
|
||||||
EXPIRED = "EXPIRED"
|
|
||||||
DELETED = "DELETED"
|
|
||||||
|
|
||||||
|
|
||||||
account_keyring_table = Table(
|
|
||||||
"account_keyring",
|
|
||||||
metadata,
|
|
||||||
Column("owner_id", UnsignedInt, ForeignKey("account.id"), primary_key=True, nullable=False),
|
|
||||||
Column("key_type", SQLAEnum(KeyType), primary_key=True, nullable=False),
|
|
||||||
Column("key_id", String(40), primary_key=True, default=None),
|
|
||||||
Column("key_value", String(512), nullable=False),
|
|
||||||
Column("created_at", DateTime(timezone=True), server_default=func.now()),
|
|
||||||
Column("expiry", DateTime(timezone=True), nullable=True),
|
|
||||||
Column("status", SQLAEnum(KeyStatus), nullable=False),
|
|
||||||
)
|
|
@@ -1,33 +0,0 @@
|
|||||||
import enum
|
|
||||||
|
|
||||||
from sqlalchemy import Table, Column, String, Enum as SQLAEnum, JSON, ForeignKey, DateTime
|
|
||||||
from sqlalchemy.sql import func
|
|
||||||
|
|
||||||
from api.db.sql_types import UnsignedInt
|
|
||||||
|
|
||||||
from api.db import metadata
|
|
||||||
|
|
||||||
|
|
||||||
class EventState(enum.StrEnum):
|
|
||||||
AUTO = "AUTO"
|
|
||||||
DESCRIPTED = "DESCRIPTED"
|
|
||||||
|
|
||||||
|
|
||||||
class EventStatus(enum.StrEnum):
|
|
||||||
ACTIVE = "ACTIVE"
|
|
||||||
DISABLED = "DISABLED"
|
|
||||||
DELETED = "DELETED"
|
|
||||||
|
|
||||||
|
|
||||||
list_events_table = Table(
|
|
||||||
"list_events",
|
|
||||||
metadata,
|
|
||||||
Column("id", UnsignedInt, primary_key=True, autoincrement=True),
|
|
||||||
Column("name", String(40, collation="latin1_bin"), nullable=False, unique=True),
|
|
||||||
Column("title", String(64), nullable=False),
|
|
||||||
Column("creator_id", UnsignedInt, ForeignKey("account.id"), nullable=False),
|
|
||||||
Column("created_at", DateTime(timezone=True), server_default=func.now()),
|
|
||||||
Column("schema", JSON, default={}),
|
|
||||||
Column("state", SQLAEnum(EventState), nullable=False),
|
|
||||||
Column("status", SQLAEnum(EventStatus), nullable=False),
|
|
||||||
)
|
|
@@ -1,107 +0,0 @@
|
|||||||
import enum
|
|
||||||
|
|
||||||
from sqlalchemy import (
|
|
||||||
Table,
|
|
||||||
Column,
|
|
||||||
String,
|
|
||||||
Text,
|
|
||||||
Enum as SQLAEnum,
|
|
||||||
JSON,
|
|
||||||
ForeignKey,
|
|
||||||
DateTime,
|
|
||||||
Index,
|
|
||||||
PrimaryKeyConstraint,
|
|
||||||
)
|
|
||||||
from sqlalchemy.sql import func
|
|
||||||
from enum import Enum
|
|
||||||
|
|
||||||
from api.db.sql_types import UnsignedInt
|
|
||||||
|
|
||||||
from api.db import metadata
|
|
||||||
|
|
||||||
|
|
||||||
class ProcessStatus(enum.StrEnum):
|
|
||||||
ACTIVE = "ACTIVE"
|
|
||||||
STOPPING = "STOPPING"
|
|
||||||
STOPPED = "STOPPED"
|
|
||||||
DELETED = "DELETED"
|
|
||||||
|
|
||||||
|
|
||||||
process_schema_table = Table(
|
|
||||||
"process_schema",
|
|
||||||
metadata,
|
|
||||||
Column("id", UnsignedInt, primary_key=True, autoincrement=True),
|
|
||||||
Column("title", String(100), nullable=False),
|
|
||||||
Column("description", Text, nullable=False),
|
|
||||||
Column("owner_id", UnsignedInt, ForeignKey("account.id"), nullable=False),
|
|
||||||
Column("creator_id", UnsignedInt, ForeignKey("account.id"), nullable=False),
|
|
||||||
Column("created_at", DateTime(timezone=True), server_default=func.now()),
|
|
||||||
Column("settings", JSON, default={}),
|
|
||||||
Column("status", SQLAEnum(ProcessStatus), nullable=False),
|
|
||||||
Index(
|
|
||||||
"idx_owner_id",
|
|
||||||
"owner_id",
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
process_version_archive_table = Table(
|
|
||||||
"process_version_archive",
|
|
||||||
metadata,
|
|
||||||
Column("id", UnsignedInt, autoincrement=True, nullable=False),
|
|
||||||
Column("ps_id", UnsignedInt, ForeignKey("process_schema.id"), nullable=False),
|
|
||||||
Column("version", UnsignedInt, default=1, nullable=False),
|
|
||||||
Column("snapshot", JSON, default={}),
|
|
||||||
Column("owner_id", UnsignedInt, ForeignKey("account.id"), nullable=False),
|
|
||||||
Column("created_at", DateTime(timezone=True), server_default=func.now()),
|
|
||||||
Column("is_last", UnsignedInt, default=0),
|
|
||||||
PrimaryKeyConstraint("id", "version"),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class NodeStatus(enum.StrEnum):
|
|
||||||
ACTIVE = "ACTIVE"
|
|
||||||
DISABLED = "DISABLED"
|
|
||||||
DELETED = "DELETED"
|
|
||||||
|
|
||||||
|
|
||||||
class NodeType(Enum):
|
|
||||||
TYPE1 = "Type1"
|
|
||||||
TYPE2 = "Type2"
|
|
||||||
TYPE3 = "Type3"
|
|
||||||
|
|
||||||
|
|
||||||
ps_node_table = Table(
|
|
||||||
"ps_node",
|
|
||||||
metadata,
|
|
||||||
Column("id", UnsignedInt, autoincrement=True, primary_key=True, nullable=False),
|
|
||||||
Column("ps_id", UnsignedInt, ForeignKey("process_schema.id"), nullable=False),
|
|
||||||
Column("node_type", SQLAEnum(NodeType), nullable=False),
|
|
||||||
Column("settings", JSON, default={}),
|
|
||||||
Column("creator_id", UnsignedInt, ForeignKey("account.id"), nullable=False),
|
|
||||||
Column("created_at", DateTime(timezone=True), server_default=func.now()),
|
|
||||||
Column("status", SQLAEnum(NodeStatus), nullable=False),
|
|
||||||
Index("idx_ps_id", "ps_id"),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class NodeLinkStatus(enum.StrEnum):
|
|
||||||
ACTIVE = "ACTIVE"
|
|
||||||
STOPPING = "STOPPING"
|
|
||||||
STOPPED = "STOPPED"
|
|
||||||
DELETED = "DELETED"
|
|
||||||
|
|
||||||
|
|
||||||
node_link_table = Table(
|
|
||||||
"node_link",
|
|
||||||
metadata,
|
|
||||||
Column("id", UnsignedInt, autoincrement=True, primary_key=True, nullable=False),
|
|
||||||
Column("link_name", String(20), nullable=False),
|
|
||||||
Column("node_id", UnsignedInt, ForeignKey("ps_node.id"), nullable=False),
|
|
||||||
Column("next_node_id", UnsignedInt, ForeignKey("ps_node.id"), nullable=False),
|
|
||||||
Column("settings", JSON, default={}),
|
|
||||||
Column("creator_id", UnsignedInt, ForeignKey("account.id"), nullable=False),
|
|
||||||
Column("created_at", DateTime(timezone=True), server_default=func.now()),
|
|
||||||
Column("status", SQLAEnum(NodeLinkStatus), nullable=False),
|
|
||||||
Index("idx_node_id", "node_id"),
|
|
||||||
Index("idx_next_node_id", "next_node_id"),
|
|
||||||
)
|
|
@@ -12,7 +12,7 @@ from api.db.logic.account import (
|
|||||||
update_user_by_id,
|
update_user_by_id,
|
||||||
)
|
)
|
||||||
from api.db.logic.keyring import create_password_key, update_password_key
|
from api.db.logic.keyring import create_password_key, update_password_key
|
||||||
from api.db.tables.account import AccountStatus
|
from orm.tables.account import AccountStatus
|
||||||
from api.schemas.account.account import User
|
from api.schemas.account.account import User
|
||||||
from api.schemas.base import bearer_schema
|
from api.schemas.base import bearer_schema
|
||||||
from api.schemas.endpoints.account import AllUserResponse, UserCreate, UserUpdate, UserFilterDTO
|
from api.schemas.endpoints.account import AllUserResponse, UserCreate, UserUpdate, UserFilterDTO
|
||||||
|
@@ -16,7 +16,7 @@ from api.db.connection.session import get_connection_dep
|
|||||||
from api.db.logic.keyring import get_key_by_id, create_key, update_key_by_id
|
from api.db.logic.keyring import get_key_by_id, create_key, update_key_by_id
|
||||||
|
|
||||||
|
|
||||||
from api.db.tables.account import KeyStatus
|
from orm.tables.account import KeyStatus
|
||||||
from api.schemas.base import bearer_schema
|
from api.schemas.base import bearer_schema
|
||||||
from api.schemas.endpoints.account_keyring import AccountKeyringUpdate
|
from api.schemas.endpoints.account_keyring import AccountKeyringUpdate
|
||||||
|
|
||||||
|
@@ -18,7 +18,7 @@ from api.db.logic.list_events import (
|
|||||||
|
|
||||||
|
|
||||||
from api.schemas.events.list_events import ListEvent
|
from api.schemas.events.list_events import ListEvent
|
||||||
from api.db.tables.events import EventStatus
|
from orm.tables.events import EventStatus
|
||||||
|
|
||||||
from api.schemas.base import bearer_schema
|
from api.schemas.base import bearer_schema
|
||||||
|
|
||||||
|
@@ -17,7 +17,7 @@ from api.db.logic.process_schema import (
|
|||||||
|
|
||||||
from api.schemas.process.process_schema import ProcessSchema
|
from api.schemas.process.process_schema import ProcessSchema
|
||||||
|
|
||||||
from api.db.tables.process import ProcessStatus
|
from orm.tables.process import ProcessStatus
|
||||||
|
|
||||||
from api.schemas.base import bearer_schema
|
from api.schemas.base import bearer_schema
|
||||||
|
|
||||||
|
@@ -2,7 +2,7 @@ import datetime
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
from pydantic import EmailStr, Field
|
from pydantic import EmailStr, Field
|
||||||
from api.db.tables.account import AccountRole, AccountStatus
|
from orm.tables.account import AccountRole, AccountStatus
|
||||||
|
|
||||||
from api.schemas.base import Base
|
from api.schemas.base import Base
|
||||||
|
|
||||||
|
@@ -2,7 +2,7 @@ import datetime
|
|||||||
from typing import Optional
|
from typing import Optional
|
||||||
from pydantic import Field
|
from pydantic import Field
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from api.db.tables.account import KeyType, KeyStatus
|
from orm.tables.account import KeyType, KeyStatus
|
||||||
|
|
||||||
from api.schemas.base import Base
|
from api.schemas.base import Base
|
||||||
|
|
||||||
|
@@ -3,7 +3,7 @@ from typing import List, Optional, Dict
|
|||||||
|
|
||||||
from pydantic import EmailStr, Field, TypeAdapter
|
from pydantic import EmailStr, Field, TypeAdapter
|
||||||
|
|
||||||
from api.db.tables.account import AccountRole, AccountStatus
|
from orm.tables.account import AccountRole, AccountStatus
|
||||||
from api.schemas.base import Base
|
from api.schemas.base import Base
|
||||||
|
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
from typing import Optional
|
from typing import Optional
|
||||||
from pydantic import Field
|
from pydantic import Field
|
||||||
from api.db.tables.account import KeyType, KeyStatus
|
from orm.tables.account import KeyType, KeyStatus
|
||||||
from api.schemas.base import Base
|
from api.schemas.base import Base
|
||||||
|
|
||||||
|
|
||||||
|
@@ -4,7 +4,7 @@ from datetime import datetime
|
|||||||
|
|
||||||
|
|
||||||
from api.schemas.base import Base
|
from api.schemas.base import Base
|
||||||
from api.db.tables.events import EventState, EventStatus
|
from orm.tables.events import EventState, EventStatus
|
||||||
|
|
||||||
|
|
||||||
class ListEventUpdate(Base):
|
class ListEventUpdate(Base):
|
||||||
|
@@ -4,7 +4,7 @@ from datetime import datetime
|
|||||||
|
|
||||||
|
|
||||||
from api.schemas.base import Base
|
from api.schemas.base import Base
|
||||||
from api.db.tables.process import ProcessStatus
|
from orm.tables.process import ProcessStatus
|
||||||
|
|
||||||
|
|
||||||
class ProcessSchemaUpdate(Base):
|
class ProcessSchemaUpdate(Base):
|
||||||
|
@@ -3,7 +3,7 @@ from typing import Dict, Any
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
from api.schemas.base import Base
|
from api.schemas.base import Base
|
||||||
from api.db.tables.events import EventState, EventStatus
|
from orm.tables.events import EventState, EventStatus
|
||||||
|
|
||||||
|
|
||||||
class ListEvent(Base):
|
class ListEvent(Base):
|
||||||
|
@@ -3,7 +3,7 @@ from typing import Dict, Any
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
from api.schemas.base import Base
|
from api.schemas.base import Base
|
||||||
from api.db.tables.process import NodeStatus
|
from orm.tables.process import NodeStatus
|
||||||
|
|
||||||
|
|
||||||
class MyModel(Base):
|
class MyModel(Base):
|
||||||
|
@@ -3,7 +3,7 @@ from typing import Dict, Any
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
from api.schemas.base import Base
|
from api.schemas.base import Base
|
||||||
from api.db.tables.process import ProcessStatus
|
from orm.tables.process import ProcessStatus
|
||||||
|
|
||||||
|
|
||||||
class ProcessSchema(Base):
|
class ProcessSchema(Base):
|
||||||
|
@@ -2,7 +2,7 @@ from datetime import datetime
|
|||||||
from typing import Dict, Any
|
from typing import Dict, Any
|
||||||
|
|
||||||
from api.schemas.base import Base
|
from api.schemas.base import Base
|
||||||
from api.db.tables.process import NodeType, NodeStatus
|
from orm.tables.process import NodeType, NodeStatus
|
||||||
|
|
||||||
|
|
||||||
class Ps_Node(Base):
|
class Ps_Node(Base):
|
||||||
|
@@ -4,7 +4,7 @@ from fastapi import HTTPException, Request
|
|||||||
from sqlalchemy.ext.asyncio import AsyncConnection
|
from sqlalchemy.ext.asyncio import AsyncConnection
|
||||||
|
|
||||||
from api.db.logic.auth import get_user
|
from api.db.logic.auth import get_user
|
||||||
from api.db.tables.account import AccountStatus
|
from orm.tables.account import AccountStatus
|
||||||
from api.schemas.endpoints.account import AllUser
|
from api.schemas.endpoints.account import AllUser
|
||||||
from api.utils.hasher import hasher
|
from api.utils.hasher import hasher
|
||||||
|
|
||||||
|
@@ -3,7 +3,7 @@ from fastapi import (
|
|||||||
status,
|
status,
|
||||||
)
|
)
|
||||||
from api.db.logic.account import get_user_by_login
|
from api.db.logic.account import get_user_by_login
|
||||||
from api.db.tables.account import AccountRole
|
from orm.tables.account import AccountRole
|
||||||
|
|
||||||
|
|
||||||
async def db_user_role_validation(connection, current_user):
|
async def db_user_role_validation(connection, current_user):
|
||||||
|
@@ -2,7 +2,7 @@ import asyncio
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
from api.db.connection.session import get_connection
|
from api.db.connection.session import get_connection
|
||||||
from api.db.tables.account import account_keyring_table, account_table, AccountRole, KeyStatus, KeyType
|
from orm.tables.account import account_keyring_table, account_table, AccountRole, KeyStatus, KeyType
|
||||||
from api.utils.hasher import hasher
|
from api.utils.hasher import hasher
|
||||||
from api.utils.key_id_gen import KeyIdGenerator
|
from api.utils.key_id_gen import KeyIdGenerator
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user