diff --git a/backend/alembic/versions/2023_01_10_1733-846cc08ac79f_add_enabled_deleted_notes_fields_to_user.py b/backend/alembic/versions/2023_01_10_1733-846cc08ac79f_add_enabled_deleted_notes_fields_to_user.py index a6895f3a..2f25263b 100644 --- a/backend/alembic/versions/2023_01_10_1733-846cc08ac79f_add_enabled_deleted_notes_fields_to_user.py +++ b/backend/alembic/versions/2023_01_10_1733-846cc08ac79f_add_enabled_deleted_notes_fields_to_user.py @@ -22,7 +22,7 @@ def upgrade() -> None: op.add_column("user", sa.Column("deleted", sa.Boolean(), server_default=sa.text("false"), nullable=False)) op.add_column( "user", - sa.Column("notes", sqlmodel.sql.sqltypes.AutoString(length=1024), server_default=sa.text("''"), nullable=False), + sa.Column("notes", sqlmodel.sql.sqltypes.AutoString(length=1024), server_default="", nullable=False), ) # ### end Alembic commands ### diff --git a/backend/oasst_backend/api/v1/frontend_users.py b/backend/oasst_backend/api/v1/frontend_users.py index 8865ea0c..714a3e24 100644 --- a/backend/oasst_backend/api/v1/frontend_users.py +++ b/backend/oasst_backend/api/v1/frontend_users.py @@ -15,10 +15,10 @@ from starlette.status import HTTP_204_NO_CONTENT router = APIRouter() -@router.get("/", response_model=list[protocol.User]) +@router.get("/", response_model=list[protocol.FrontEndUser]) def get_users( api_client_id: UUID = None, - max_count: int = Query(10, gt=0, le=20), # TODO: refine bounds + max_count: int = Query(100, gt=0, le=10000), gte: str = None, lt: str = None, auth_method: str = None, @@ -27,7 +27,7 @@ def get_users( ): pr = UserRepository(db, api_client) users = pr.query_users(api_client_id=api_client_id, limit=max_count, gte=gte, lt=lt, auth_method=auth_method) - return [u.to_protocol_user() for u in users] + return [u.to_protocol_frontend_user() for u in users] @router.get("/{auth_method}/{username}", response_model=protocol.FrontEndUser) @@ -43,9 +43,7 @@ def query_frontend_user( """ ur = UserRepository(db, api_client) user = ur.query_frontend_user(auth_method, username, api_client_id) - return protocol.FrontEndUser( - id=user.username, display_name=user.display_name, auth_method=user.auth_method, user_id=user.id - ) + return user.to_protocol_frontend_user() @router.get("/{auth_method}/{username}/messages", response_model=list[protocol.Message]) diff --git a/backend/oasst_backend/models/user.py b/backend/oasst_backend/models/user.py index 8c49eaee..f827c0f1 100644 --- a/backend/oasst_backend/models/user.py +++ b/backend/oasst_backend/models/user.py @@ -25,8 +25,16 @@ class User(SQLModel, table=True): ) api_client_id: UUID = Field(foreign_key="api_client.id") enabled: bool = Field(sa_column=sa.Column(sa.Boolean, nullable=False, server_default=sa.true())) - notes: str = Field(sa_column=sa.Column(AutoString(length=1024), nullable=False, server_default="''")) + notes: str = Field(sa_column=sa.Column(AutoString(length=1024), nullable=False, server_default="")) deleted: bool = Field(sa_column=sa.Column(sa.Boolean, nullable=False, server_default=sa.false())) - def to_protocol_user(self): - return protocol.User(id=self.username, display_name=self.display_name, auth_method=self.auth_method) + def to_protocol_frontend_user(self): + return protocol.FrontEndUser( + user_id=self.id, + id=self.username, + display_name=self.display_name, + auth_method=self.auth_method, + enabled=self.enabled, + deleted=self.deleted, + notes=self.notes, + ) diff --git a/oasst-shared/oasst_shared/schemas/protocol.py b/oasst-shared/oasst_shared/schemas/protocol.py index eec852d7..bdc8d643 100644 --- a/oasst-shared/oasst_shared/schemas/protocol.py +++ b/oasst-shared/oasst_shared/schemas/protocol.py @@ -31,6 +31,9 @@ class User(BaseModel): class FrontEndUser(User): user_id: UUID + enabled: bool + deleted: bool + notes: str class ConversationMessage(BaseModel):