Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hotfix: reset changes #130

Merged
merged 1 commit into from
Sep 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ def upgrade() -> None:
sa.Integer(),
nullable=False,
),
sa.Column("is_current", sa.Boolean(), nullable=False),
sa.ForeignKeyConstraint(
["document_set_id"],
["document_set.id"],
Expand All @@ -80,7 +79,6 @@ def upgrade() -> None:
sa.Integer(),
nullable=False,
),
sa.Column("is_current", sa.Boolean(), nullable=False),
sa.ForeignKeyConstraint(
["assistant_id"],
["assistant.id"],
Expand Down

This file was deleted.

91 changes: 2 additions & 89 deletions backend/ee/enmedd/db/teamspace.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,9 @@

from ee.enmedd.server.teamspace.models import TeamspaceCreate
from ee.enmedd.server.teamspace.models import TeamspaceUpdate
from enmedd.db.models import Assistant__Teamspace
from enmedd.db.models import ConnectorCredentialPair
from enmedd.db.models import Document
from enmedd.db.models import DocumentByConnectorCredentialPair
from enmedd.db.models import DocumentSet__Teamspace
from enmedd.db.models import Teamspace
from enmedd.db.models import Teamspace__ConnectorCredentialPair
from enmedd.db.models import TokenRateLimit__Teamspace
Expand Down Expand Up @@ -165,32 +163,6 @@ def _add_teamspace__cc_pair_relationships__no_commit(
return relationships


def _add_teamspace__document_set_relationships__no_commit(
db_session: Session, teamspace_id: int, document_set_ids: list[int]
) -> list[DocumentSet__Teamspace]:
"""NOTE: does not commit the transaction."""
relationships = [
DocumentSet__Teamspace(
teamspace_id=teamspace_id, document_set_id=document_set_id
)
for document_set_id in document_set_ids
]
db_session.add_all(relationships)
return relationships


def _add_teamspace__assistant_relationships__no_commit(
db_session: Session, teamspace_id: int, assistant_ids: list[int]
) -> list[Assistant__Teamspace]:
"""NOTE: does not commit the transaction."""
relationships = [
Assistant__Teamspace(teamspace_id=teamspace_id, assistant_id=assistant_id)
for assistant_id in assistant_ids
]
db_session.add_all(relationships)
return relationships


def insert_teamspace(db_session: Session, teamspace: TeamspaceCreate) -> Teamspace:
db_teamspace = Teamspace(name=teamspace.name)
db_session.add(db_teamspace)
Expand All @@ -201,16 +173,6 @@ def insert_teamspace(db_session: Session, teamspace: TeamspaceCreate) -> Teamspa
teamspace_id=db_teamspace.id,
user_ids=teamspace.user_ids,
)
_add_teamspace__document_set_relationships__no_commit(
db_session=db_session,
teamspace_id=db_teamspace.id,
document_set_ids=teamspace.document_set_ids,
)
_add_teamspace__assistant_relationships__no_commit(
db_session=db_session,
teamspace_id=db_teamspace.id,
assistant_ids=teamspace.assistant_ids,
)
_add_teamspace__cc_pair_relationships__no_commit(
db_session=db_session,
teamspace_id=db_teamspace.id,
Expand Down Expand Up @@ -245,32 +207,6 @@ def _mark_teamspace__cc_pair_relationships_outdated__no_commit(
teamspace__cc_pair_relationship.is_current = False


def _mark_teamspace__document_set_relationships_outdated__no_commit(
db_session: Session, teamspace_id: int
) -> None:
"""NOTE: does not commit the transaction."""
teamspace__document_set_relationships = db_session.scalars(
select(DocumentSet__Teamspace).where(
DocumentSet__Teamspace.teamspace_id == teamspace_id
)
)
for teamspace__document_set_relationship in teamspace__document_set_relationships:
teamspace__document_set_relationship.is_current = False


def _mark_teamspace__assistant_relationships_outdated__no_commit(
db_session: Session, teamspace_id: int
) -> None:
"""NOTE: does not commit the transaction."""
teamspace__assistant_relationships = db_session.scalars(
select(Assistant__Teamspace).where(
Assistant__Teamspace.teamspace_id == teamspace_id
)
)
for teamspace__assistant_relationship in teamspace__assistant_relationships:
teamspace__assistant_relationship.is_current = False


def update_teamspace(
db_session: Session, teamspace_id: int, teamspace: TeamspaceUpdate
) -> Teamspace:
Expand All @@ -281,15 +217,10 @@ def update_teamspace(

_check_teamspace_is_modifiable(db_teamspace)

cc_pairs_updated = set([cc_pair.id for cc_pair in db_teamspace.cc_pairs]) != set(
existing_cc_pairs = db_teamspace.cc_pairs
cc_pairs_updated = set([cc_pair.id for cc_pair in existing_cc_pairs]) != set(
teamspace.cc_pair_ids
)
document_set_updated = set(
[document_set.id for document_set in db_teamspace.document_sets]
) != set(teamspace.document_set_ids)
assistant_updated = set(
[assistant.id for assistant in db_teamspace.assistants]
) != set(teamspace.assistant_ids)
users_updated = set([user.id for user in db_teamspace.users]) != set(
teamspace.user_ids
)
Expand All @@ -312,24 +243,6 @@ def update_teamspace(
teamspace_id=db_teamspace.id,
cc_pair_ids=teamspace.cc_pair_ids,
)
if document_set_updated:
_mark_teamspace__document_set_relationships_outdated__no_commit(
db_session=db_session, teamspace_id=teamspace_id
)
_add_teamspace__document_set_relationships__no_commit(
db_session=db_session,
teamspace_id=db_teamspace.id,
document_set_id=teamspace.document_set_ids,
)
if assistant_updated:
_mark_teamspace__assistant_relationships_outdated__no_commit(
db_session=db_session, teamspace_id=teamspace_id
)
_add_teamspace__assistant_relationships__no_commit(
db_session=db_session,
teamspace_id=db_teamspace.id,
assistant_id=teamspace.assistant_ids,
)

# only needs to sync with Vespa if the cc_pairs have been updated
if cc_pairs_updated:
Expand Down
13 changes: 0 additions & 13 deletions backend/ee/enmedd/server/query_and_chat/models.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
from pydantic import BaseModel

from enmedd.configs.constants import DocumentSource
from enmedd.db.enums import ChatSessionSharedStatus
from enmedd.search.enums import SearchType
from enmedd.search.models import ChunkContext
from enmedd.search.models import RetrievalDetails
from enmedd.server.models import MinimalTeamspaceSnapshot


class DocumentSearchRequest(ChunkContext):
Expand Down Expand Up @@ -50,14 +48,3 @@ class ChatBasicResponse(BaseModel):
simple_search_docs: list[SimpleDoc] | None = None
error_msg: str | None = None
message_id: int | None = None


class ChatSessionDetails(BaseModel):
id: int
description: str
assistant_id: int
time_created: str
shared_status: ChatSessionSharedStatus
folder_id: int | None
current_alternate_model: str | None = None
groups: list[MinimalTeamspaceSnapshot] | None
3 changes: 0 additions & 3 deletions backend/ee/enmedd/server/query_history/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
from enmedd.db.engine import get_session
from enmedd.db.models import ChatMessage
from enmedd.db.models import ChatSession
from enmedd.server.models import MinimalTeamspaceSnapshot


router = APIRouter()
Expand Down Expand Up @@ -92,7 +91,6 @@ class ChatSessionMinimal(BaseModel):
assistant_name: str
time_created: datetime
feedback_type: QAFeedbackType | Literal["mixed"] | None
groups: list[MinimalTeamspaceSnapshot] | None


class ChatSessionSnapshot(BaseModel):
Expand All @@ -102,7 +100,6 @@ class ChatSessionSnapshot(BaseModel):
messages: list[MessageSnapshot]
assistant_name: str
time_created: datetime
groups: list[MinimalTeamspaceSnapshot] | None


class QuestionAnswerPairSnapshot(BaseModel):
Expand Down
28 changes: 0 additions & 28 deletions backend/ee/enmedd/server/teamspace/models.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
from typing import List
from typing import Optional
from uuid import UUID

from pydantic import BaseModel
Expand All @@ -12,8 +10,6 @@
from enmedd.server.features.document_set.models import DocumentSet
from enmedd.server.manage.models import UserInfo
from enmedd.server.manage.models import UserPreferences
from enmedd.server.models import MinimalWorkspaceSnapshot
from enmedd.server.query_and_chat.models import ChatSessionDetails


class Teamspace(BaseModel):
Expand All @@ -23,10 +19,8 @@ class Teamspace(BaseModel):
cc_pairs: list[ConnectorCredentialPairDescriptor]
document_sets: list[DocumentSet]
assistants: list[AssistantSnapshot]
chat_sessions: list[ChatSessionDetails]
is_up_to_date: bool
is_up_for_deletion: bool
workspace: list[MinimalWorkspaceSnapshot]

@classmethod
def from_model(cls, teamspace_model: TeamspaceModel) -> "Teamspace":
Expand Down Expand Up @@ -74,39 +68,17 @@ def from_model(cls, teamspace_model: TeamspaceModel) -> "Teamspace":
AssistantSnapshot.from_model(assistant)
for assistant in teamspace_model.assistants
],
chat_sessions=[
ChatSessionDetails(
id=chat_session.id,
description=chat_session.description,
assistant_id=chat_session.assistant_id,
time_created=chat_session.time_created,
shared_status=chat_session.shared_status,
folder_id=chat_session.folder_id,
current_alternate_model=chat_session.current_alternate_model,
)
for chat_session in teamspace_model.chat_sessions
],
is_up_to_date=teamspace_model.is_up_to_date,
is_up_for_deletion=teamspace_model.is_up_for_deletion,
workspace=[
MinimalWorkspaceSnapshot(
id=workspace.id, workspace_name=workspace.workspace_name
)
for workspace in teamspace_model.workspace
],
)


class TeamspaceCreate(BaseModel):
name: str
user_ids: list[UUID]
cc_pair_ids: list[int]
document_set_ids: Optional[List[int]] = []
assistant_ids: Optional[List[int]] = []


class TeamspaceUpdate(BaseModel):
user_ids: list[UUID]
cc_pair_ids: list[int]
document_set_ids: Optional[List[int]] = []
assistant_ids: Optional[List[int]] = []
6 changes: 0 additions & 6 deletions backend/ee/enmedd/server/workspace/models.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from pydantic import BaseModel

from ee.enmedd.server.teamspace.models import Teamspace
from enmedd.db.models import Workspace as WorkspaceModel


Expand All @@ -17,7 +16,6 @@ class Workspaces(BaseModel):
custom_logo: str | None = None
custom_header_logo: str | None = None
custom_header_content: str | None = None
groups: list[Teamspace]

@classmethod
def from_model(cls, workspace_model: WorkspaceModel) -> "Workspaces":
Expand All @@ -30,10 +28,6 @@ def from_model(cls, workspace_model: WorkspaceModel) -> "Workspaces":
custom_logo=workspace_model.custom_logo,
custom_header_logo=workspace_model.custom_header_logo,
custom_header_content=workspace_model.custom_header_content,
groups=[
Teamspace.from_model(teamspace_model)
for teamspace_model in workspace_model.groups
],
)

def check_validity(self) -> None:
Expand Down
Loading
Loading