From 9a1a4876f013ecc93e7d9a7541e8c088a4dc0d0d Mon Sep 17 00:00:00 2001 From: alexandrelefourner Date: Fri, 30 Dec 2022 17:28:45 +0100 Subject: [PATCH] Rename of person to user --- backend/oasst_backend/journal_writer.py | 14 +++--- backend/oasst_backend/models/__init__.py | 8 ++-- backend/oasst_backend/models/journal.py | 2 +- backend/oasst_backend/models/post.py | 2 +- backend/oasst_backend/models/post_reaction.py | 4 +- .../models/{person.py => user.py} | 6 +-- .../models/{person_stats.py => user_stats.py} | 8 ++-- backend/oasst_backend/models/work_package.py | 2 +- backend/oasst_backend/prompt_repository.py | 44 +++++++++---------- 9 files changed, 45 insertions(+), 45 deletions(-) rename backend/oasst_backend/models/{person.py => user.py} (82%) rename backend/oasst_backend/models/{person_stats.py => user_stats.py} (85%) diff --git a/backend/oasst_backend/journal_writer.py b/backend/oasst_backend/journal_writer.py index 897e2dda..8583979a 100644 --- a/backend/oasst_backend/journal_writer.py +++ b/backend/oasst_backend/journal_writer.py @@ -22,7 +22,7 @@ class JournalEventType(str, enum.Enum): @payload_type class JournalEvent(BaseModel): type: str - person_id: Optional[UUID] + user_id: Optional[UUID] post_id: Optional[UUID] workpackage_id: Optional[UUID] task_type: Optional[str] @@ -48,11 +48,11 @@ class RankingEvent(JournalEvent): class JournalWriter: - def __init__(self, db: Session, api_client: ApiClient, person: Person): + def __init__(self, db: Session, api_client: ApiClient, user: User): self.db = db self.api_client = api_client - self.person = person - self.person_id = self.person.id if self.person else None + self.user = user + self.user_id = self.user.id if self.user else None def log_text_reply(self, work_package: WorkPackage, post_id: UUID, role: str, length: int) -> Journal: return self.log( @@ -97,8 +97,8 @@ class JournalWriter: else: event_type = type(payload).__name__ - if payload.person_id is None: - payload.person_id = self.person_id + if payload.user_id is None: + payload.user_id = self.user_id if payload.post_id is None: payload.post_id = post_id if payload.workpackage_id is None: @@ -107,7 +107,7 @@ class JournalWriter: payload.task_type = task_type entry = Journal( - person_id=self.person_id, + user_id=self.user_id, api_client_id=self.api_client.id, created_date=utcnow(), event_type=event_type, diff --git a/backend/oasst_backend/models/__init__.py b/backend/oasst_backend/models/__init__.py index 0acc242c..9bc9d872 100644 --- a/backend/oasst_backend/models/__init__.py +++ b/backend/oasst_backend/models/__init__.py @@ -1,8 +1,8 @@ # -*- coding: utf-8 -*- from .api_client import ApiClient from .journal import Journal, JournalIntegration -from .person import Person -from .person_stats import PersonStats +from .user import User +from .user_stats import UserStats from .post import Post from .post_reaction import PostReaction from .text_labels import TextLabels @@ -10,8 +10,8 @@ from .work_package import WorkPackage __all__ = [ "ApiClient", - "Person", - "PersonStats", + "User", + "UserStats", "Post", "PostReaction", "WorkPackage", diff --git a/backend/oasst_backend/models/journal.py b/backend/oasst_backend/models/journal.py index 4cec1e99..13218108 100644 --- a/backend/oasst_backend/models/journal.py +++ b/backend/oasst_backend/models/journal.py @@ -33,7 +33,7 @@ class Journal(SQLModel, table=True): created_date: Optional[datetime] = Field( sa_column=sa.Column(sa.DateTime(timezone=True), nullable=False, server_default=sa.func.current_timestamp()) ) - person_id: UUID = Field(nullable=True, foreign_key="person.id", index=True) + user_id: UUID = Field(nullable=True, foreign_key="user.id", index=True) post_id: Optional[UUID] = Field(foreign_key="post.id", nullable=True) api_client_id: UUID = Field(foreign_key="api_client.id") diff --git a/backend/oasst_backend/models/post.py b/backend/oasst_backend/models/post.py index 51fa067e..0c14a65a 100644 --- a/backend/oasst_backend/models/post.py +++ b/backend/oasst_backend/models/post.py @@ -22,7 +22,7 @@ class Post(SQLModel, table=True): parent_id: UUID = Field(nullable=True) thread_id: UUID = Field(nullable=False, index=True) workpackage_id: UUID = Field(nullable=True, index=True) - person_id: UUID = Field(nullable=True, foreign_key="person.id", index=True) + user_id: UUID = Field(nullable=True, foreign_key="user.id", index=True) role: str = Field(nullable=False, max_length=128) api_client_id: UUID = Field(nullable=False, foreign_key="api_client.id") frontend_post_id: str = Field(max_length=200, nullable=False) diff --git a/backend/oasst_backend/models/post_reaction.py b/backend/oasst_backend/models/post_reaction.py index f6141e56..b35a8714 100644 --- a/backend/oasst_backend/models/post_reaction.py +++ b/backend/oasst_backend/models/post_reaction.py @@ -16,8 +16,8 @@ class PostReaction(SQLModel, table=True): work_package_id: Optional[UUID] = Field( sa_column=sa.Column(pg.UUID(as_uuid=True), sa.ForeignKey("work_package.id"), nullable=False, primary_key=True) ) - person_id: UUID = Field( - sa_column=sa.Column(pg.UUID(as_uuid=True), sa.ForeignKey("person.id"), nullable=False, primary_key=True) + user_id: UUID = Field( + sa_column=sa.Column(pg.UUID(as_uuid=True), sa.ForeignKey("user.id"), nullable=False, primary_key=True) ) created_date: Optional[datetime] = Field( sa_column=sa.Column(sa.DateTime(), nullable=False, server_default=sa.func.current_timestamp()) diff --git a/backend/oasst_backend/models/person.py b/backend/oasst_backend/models/user.py similarity index 82% rename from backend/oasst_backend/models/person.py rename to backend/oasst_backend/models/user.py index f01f85f0..ec5efa66 100644 --- a/backend/oasst_backend/models/person.py +++ b/backend/oasst_backend/models/user.py @@ -8,9 +8,9 @@ import sqlalchemy.dialects.postgresql as pg from sqlmodel import Field, Index, SQLModel -class Person(SQLModel, table=True): - __tablename__ = "person" - __table_args__ = (Index("ix_person_username", "api_client_id", "username", "auth_method", unique=True),) +class User(SQLModel, table=True): + __tablename__ = "user" + __table_args__ = (Index("ix_user_username", "api_client_id", "username", "auth_method", unique=True),) id: Optional[UUID] = Field( sa_column=sa.Column( diff --git a/backend/oasst_backend/models/person_stats.py b/backend/oasst_backend/models/user_stats.py similarity index 85% rename from backend/oasst_backend/models/person_stats.py rename to backend/oasst_backend/models/user_stats.py index d05e0047..6d8a8795 100644 --- a/backend/oasst_backend/models/person_stats.py +++ b/backend/oasst_backend/models/user_stats.py @@ -8,11 +8,11 @@ import sqlalchemy.dialects.postgresql as pg from sqlmodel import Field, SQLModel -class PersonStats(SQLModel, table=True): - __tablename__ = "person_stats" +class UserStats(SQLModel, table=True): + __tablename__ = "user_stats" - person_id: Optional[UUID] = Field( - sa_column=sa.Column(pg.UUID(as_uuid=True), sa.ForeignKey("person.id"), primary_key=True) + user_id: Optional[UUID] = Field( + sa_column=sa.Column(pg.UUID(as_uuid=True), sa.ForeignKey("user.id"), primary_key=True) ) leader_score: int = 0 modified_date: Optional[datetime] = Field( diff --git a/backend/oasst_backend/models/work_package.py b/backend/oasst_backend/models/work_package.py index 7e568cf7..2d80c1fc 100644 --- a/backend/oasst_backend/models/work_package.py +++ b/backend/oasst_backend/models/work_package.py @@ -23,7 +23,7 @@ class WorkPackage(SQLModel, table=True): sa_column=sa.Column(sa.DateTime(), nullable=False, server_default=sa.func.current_timestamp()), ) expiry_date: Optional[datetime] = Field(sa_column=sa.Column(sa.DateTime(), nullable=True)) - person_id: UUID = Field(nullable=True, foreign_key="person.id", index=True) + user_id: UUID = Field(nullable=True, foreign_key="user.id", index=True) payload_type: str = Field(nullable=False, max_length=200) payload: PayloadContainer = Field(sa_column=sa.Column(payload_column_type(PayloadContainer), nullable=False)) api_client_id: UUID = Field(nullable=False, foreign_key="api_client.id") diff --git a/backend/oasst_backend/prompt_repository.py b/backend/oasst_backend/prompt_repository.py index 13c6cd23..dba92bf0 100644 --- a/backend/oasst_backend/prompt_repository.py +++ b/backend/oasst_backend/prompt_repository.py @@ -7,7 +7,7 @@ import oasst_backend.models.db_payload as db_payload from loguru import logger from oasst_backend.exceptions import OasstError, OasstErrorCode from oasst_backend.journal_writer import JournalWriter -from oasst_backend.models import ApiClient, Person, Post, PostReaction, TextLabels, WorkPackage +from oasst_backend.models import ApiClient, User, Post, PostReaction, TextLabels, WorkPackage from oasst_backend.models.payload_column_type import PayloadContainer from oasst_shared.schemas import protocol as protocol_schema from sqlmodel import Session, func @@ -17,39 +17,39 @@ class PromptRepository: def __init__(self, db: Session, api_client: ApiClient, user: Optional[protocol_schema.User]): self.db = db self.api_client = api_client - self.person = self.lookup_person(user) - self.person_id = self.person.id if self.person else None - self.journal = JournalWriter(db, api_client, self.person) + self.user = self.lookup_user(user) + self.user_id = self.user.id if self.user else None + self.journal = JournalWriter(db, api_client, self.user) - def lookup_person(self, user: protocol_schema.User) -> Person: + def lookup_user(self, user: protocol_schema.User) -> User: if not user: return None - person: Person = ( - self.db.query(Person) + user: User = ( + self.db.query(User) .filter( - Person.api_client_id == self.api_client.id, - Person.username == user.id, - Person.auth_method == user.auth_method, + User.api_client_id == self.api_client.id, + User.username == user.id, + User.auth_method == user.auth_method, ) .first() ) - if person is None: + if user is None: # user is unknown, create new record - person = Person( + user = User( username=user.id, display_name=user.display_name, api_client_id=self.api_client.id, auth_method=user.auth_method, ) - self.db.add(person) + self.db.add(user) self.db.commit() - self.db.refresh(person) - elif user.display_name and user.display_name != person.display_name: + self.db.refresh(user) + elif user.display_name and user.display_name != user.display_name: # we found the user but the display name changed - person.display_name = user.display_name - self.db.add(person) + user.display_name = user.display_name + self.db.add(user) self.db.commit() - return person + return user def validate_post_id(self, post_id: str) -> None: if not isinstance(post_id, str): @@ -310,7 +310,7 @@ class PromptRepository: c = PayloadContainer(payload=payload) wp = WorkPackage( id=id, - person_id=self.person_id, + user_id=self.user_id, payload_type=type(payload).__name__, payload=c, api_client_id=self.api_client.id, @@ -347,7 +347,7 @@ class PromptRepository: parent_id=parent_id, thread_id=thread_id, workpackage_id=workpackage_id, - person_id=self.person_id, + user_id=self.user_id, role=role, frontend_post_id=frontend_post_id, api_client_id=self.api_client.id, @@ -361,13 +361,13 @@ class PromptRepository: return post def insert_reaction(self, work_package_id: UUID, payload: db_payload.ReactionPayload) -> PostReaction: - if self.person_id is None: + if self.user_id is None: raise OasstError("User required", OasstErrorCode.USER_NOT_SPECIFIED) container = PayloadContainer(payload=payload) reaction = PostReaction( work_package_id=work_package_id, - person_id=self.person_id, + user_id=self.user_id, payload=container, api_client_id=self.api_client.id, payload_type=type(payload).__name__,