Team Ai
Apppublic

Underground-Digital/Workflow-Engine

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
source.py56 linesDownload Raw Back to models
1import json2 3from sqlalchemy.dialects.postgresql import JSONB4 5from extensions.ext_database import db6 7from .types import StringUUID8 9 10class DataSourceOauthBinding(db.Model):11    __tablename__ = "data_source_oauth_bindings"12    __table_args__ = (13        db.PrimaryKeyConstraint("id", name="source_binding_pkey"),14        db.Index("source_binding_tenant_id_idx", "tenant_id"),15        db.Index("source_info_idx", "source_info", postgresql_using="gin"),16    )17 18    id = db.Column(StringUUID, server_default=db.text("uuid_generate_v4()"))19    tenant_id = db.Column(StringUUID, nullable=False)20    access_token = db.Column(db.String(255), nullable=False)21    provider = db.Column(db.String(255), nullable=False)22    source_info = db.Column(JSONB, nullable=False)23    created_at = db.Column(db.DateTime, nullable=False, server_default=db.text("CURRENT_TIMESTAMP(0)"))24    updated_at = db.Column(db.DateTime, nullable=False, server_default=db.text("CURRENT_TIMESTAMP(0)"))25    disabled = db.Column(db.Boolean, nullable=True, server_default=db.text("false"))26 27 28class DataSourceApiKeyAuthBinding(db.Model):29    __tablename__ = "data_source_api_key_auth_bindings"30    __table_args__ = (31        db.PrimaryKeyConstraint("id", name="data_source_api_key_auth_binding_pkey"),32        db.Index("data_source_api_key_auth_binding_tenant_id_idx", "tenant_id"),33        db.Index("data_source_api_key_auth_binding_provider_idx", "provider"),34    )35 36    id = db.Column(StringUUID, server_default=db.text("uuid_generate_v4()"))37    tenant_id = db.Column(StringUUID, nullable=False)38    category = db.Column(db.String(255), nullable=False)39    provider = db.Column(db.String(255), nullable=False)40    credentials = db.Column(db.Text, nullable=True)  # JSON41    created_at = db.Column(db.DateTime, nullable=False, server_default=db.text("CURRENT_TIMESTAMP(0)"))42    updated_at = db.Column(db.DateTime, nullable=False, server_default=db.text("CURRENT_TIMESTAMP(0)"))43    disabled = db.Column(db.Boolean, nullable=True, server_default=db.text("false"))44 45    def to_dict(self):46        return {47            "id": self.id,48            "tenant_id": self.tenant_id,49            "category": self.category,50            "provider": self.provider,51            "credentials": json.loads(self.credentials),52            "created_at": self.created_at.timestamp(),53            "updated_at": self.updated_at.timestamp(),54            "disabled": self.disabled,55        }56