🔧 fix(schemas.py): import ApiKeyRead from api_key module to fix missing import error

🔧 fix(models/__init__.py): add ApiKey to __all__ list to fix missing import error
✨ feat(models/api_key.py): add ApiKey model and its related classes to support API key functionality
This commit is contained in:
Gabriel Luiz Freitas Almeida 2023-08-23 21:12:11 -03:00
commit 130dc7ead6
3 changed files with 37 additions and 1 deletions

View file

@ -1,6 +1,7 @@
from enum import Enum from enum import Enum
from pathlib import Path from pathlib import Path
from typing import Any, Dict, List, Optional, Union from typing import Any, Dict, List, Optional, Union
from langflow.services.database.models.api_key import ApiKeyRead
from langflow.services.database.models.flow import FlowCreate, FlowRead from langflow.services.database.models.flow import FlowCreate, FlowRead
from pydantic import BaseModel, Field, validator from pydantic import BaseModel, Field, validator
import json import json
@ -134,3 +135,9 @@ class ComponentListCreate(BaseModel):
class ComponentListRead(BaseModel): class ComponentListRead(BaseModel):
flows: List[FlowRead] flows: List[FlowRead]
class ApiKeyResponse(BaseModel):
total_count: int
user_id: str
api_keys: List[ApiKeyRead]

View file

@ -1,5 +1,6 @@
from .flow import Flow from .flow import Flow
from .user import User from .user import User
from .token import Token from .token import Token
from .api_key import ApiKey
__all__ = ["Flow", "User", "Token"] __all__ = ["Flow", "User", "Token", "ApiKey"]

View file

@ -0,0 +1,28 @@
from sqlmodel import Field
from uuid import UUID, uuid4
from typing import Optional
from datetime import datetime
from langflow.services.database.models.base import SQLModelSerializable, SQLModel
class ApiKeyBase(SQLModelSerializable):
api_key: str = Field(index=True, unique=True)
name: str = Field()
create_at: datetime = Field(default_factory=datetime.utcnow)
last_used_at: Optional[datetime] = Field()
class ApiKey(ApiKeyBase, table=True):
id: UUID = Field(default_factory=uuid4, primary_key=True, unique=True)
class ApiKeyCreate(SQLModel):
name: str = Field()
class ApiKeyRead(SQLModel):
id: UUID = Field(default_factory=uuid4, primary_key=True, unique=True)
api_key: str = Field(index=True, unique=True)
name: str = Field()
create_at: datetime = Field(default_factory=datetime.utcnow)
last_used_at: Optional[datetime] = Field()