quivr/backend/modules/brain/entity/integration_brain.py
Stan Girard 82e0dd9342
feat: optimization calls (#2417)
# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
2024-04-10 02:45:16 -07:00

47 lines
1.1 KiB
Python

from enum import Enum
from typing import Optional
from uuid import UUID
from pydantic import BaseModel
class IntegrationType(str, Enum):
CUSTOM = "custom"
SYNC = "sync"
DOC = "doc"
class IntegrationBrainTag(str, Enum):
NEW = "new"
RECOMMENDED = "recommended"
MOST_POPULAR = "most_popular"
PREMIUM = "premium"
COMING_SOON = "coming_soon"
COMMUNITY = "community"
DEPRECATED = "deprecated"
class IntegrationDescriptionEntity(BaseModel):
id: UUID
integration_name: str
integration_logo_url: Optional[str] = None
connection_settings: Optional[dict] = None
integration_type: IntegrationType
tags: Optional[list[IntegrationBrainTag]] = []
information: Optional[str] = None
description: str
max_files: int
allow_model_change: bool
integration_display_name: str
onboarding_brain: bool
class IntegrationEntity(BaseModel):
id: int
user_id: str
brain_id: str
integration_id: str
settings: Optional[dict] = None
credentials: Optional[dict] = None
last_synced: str