mirror of
https://github.com/rzmk/learnhouse.git
synced 2025-12-19 04:19:25 +00:00
Merge pull request #195 from learnhouse/feat/collaboration-server
Init Collaborative Edition
This commit is contained in:
commit
28c7def56a
25 changed files with 5882 additions and 14273 deletions
|
|
@ -18,11 +18,9 @@ class AIEnabledFeatures(BaseModel):
|
|||
|
||||
|
||||
class AIConfig(BaseModel):
|
||||
enabled : bool = True
|
||||
enabled: bool = True
|
||||
limits: AILimitsSettings = AILimitsSettings()
|
||||
embeddings: Literal[
|
||||
"text-embedding-ada-002",
|
||||
] = "text-embedding-ada-002"
|
||||
embeddings: Literal["text-embedding-ada-002",] = "text-embedding-ada-002"
|
||||
ai_model: Literal["gpt-3.5-turbo", "gpt-4-1106-preview"] = "gpt-3.5-turbo"
|
||||
features: AIEnabledFeatures = AIEnabledFeatures()
|
||||
|
||||
|
|
@ -44,13 +42,15 @@ class GeneralConfig(BaseModel):
|
|||
color: str = ""
|
||||
limits: LimitSettings = LimitSettings()
|
||||
users: OrgUserConfig = OrgUserConfig()
|
||||
collaboration: bool = False
|
||||
active: bool = True
|
||||
|
||||
|
||||
class OrganizationConfigBase(SQLModel):
|
||||
GeneralConfig: GeneralConfig
|
||||
AIConfig: AIConfig
|
||||
|
||||
|
||||
|
||||
class OrganizationConfig(SQLModel, table=True):
|
||||
id: Optional[int] = Field(default=None, primary_key=True)
|
||||
org_id: int = Field(
|
||||
|
|
@ -60,7 +60,3 @@ class OrganizationConfig(SQLModel, table=True):
|
|||
config: dict = Field(default={}, sa_column=Column(JSON))
|
||||
creation_date: Optional[str]
|
||||
update_date: Optional[str]
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ async def get_image_block(
|
|||
|
||||
if block:
|
||||
|
||||
block = BlockRead.model_validate(block)
|
||||
block = BlockRead.from_orm(block)
|
||||
|
||||
return block
|
||||
else:
|
||||
|
|
|
|||
|
|
@ -1,14 +1,16 @@
|
|||
from datetime import datetime
|
||||
import json
|
||||
from uuid import uuid4
|
||||
from fastapi import HTTPException, Request
|
||||
from sqlalchemy import desc
|
||||
from sqlmodel import Session, select
|
||||
from src.db.install import Install, InstallRead
|
||||
from src.db.organization_config import AIEnabledFeatures, AILimitsSettings, LimitSettings, OrgUserConfig, OrganizationConfig, OrganizationConfigBase, GeneralConfig, AIConfig
|
||||
from src.db.organizations import Organization, OrganizationCreate
|
||||
from src.db.roles import Permission, Rights, Role, RoleTypeEnum
|
||||
from src.db.user_organizations import UserOrganization
|
||||
from src.db.users import User, UserCreate, UserRead
|
||||
from config.config import get_learnhouse_config
|
||||
from config.config import get_learnhouse_config
|
||||
from src.security.security import security_hash_password
|
||||
|
||||
|
||||
|
|
@ -312,6 +314,53 @@ async def install_create_organization(
|
|||
db_session.commit()
|
||||
db_session.refresh(org)
|
||||
|
||||
# Org Config
|
||||
org_config = OrganizationConfigBase(
|
||||
GeneralConfig=GeneralConfig(
|
||||
color="#000000",
|
||||
limits=LimitSettings(
|
||||
limits_enabled=False,
|
||||
max_users=0,
|
||||
max_storage=0,
|
||||
max_staff=0,
|
||||
),
|
||||
collaboration=False,
|
||||
users=OrgUserConfig(
|
||||
signup_mechanism="open",
|
||||
),
|
||||
active=True,
|
||||
),
|
||||
AIConfig=AIConfig(
|
||||
enabled=True,
|
||||
limits=AILimitsSettings(
|
||||
limits_enabled=False,
|
||||
max_asks=0,
|
||||
),
|
||||
embeddings="text-embedding-ada-002",
|
||||
ai_model="gpt-3.5-turbo",
|
||||
features=AIEnabledFeatures(
|
||||
editor=True,
|
||||
activity_ask=True,
|
||||
course_ask=True,
|
||||
global_ai_ask=True,
|
||||
),
|
||||
),
|
||||
)
|
||||
|
||||
org_config = json.loads(org_config.json())
|
||||
|
||||
# OrgSettings
|
||||
org_settings = OrganizationConfig(
|
||||
org_id=int(org.id if org.id else 0),
|
||||
config=org_config,
|
||||
creation_date=str(datetime.now()),
|
||||
update_date=str(datetime.now()),
|
||||
)
|
||||
|
||||
db_session.add(org_settings)
|
||||
db_session.commit()
|
||||
db_session.refresh(org_settings)
|
||||
|
||||
return org
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -158,6 +158,7 @@ async def create_org(
|
|||
max_storage=0,
|
||||
max_staff=0,
|
||||
),
|
||||
collaboration=False,
|
||||
users=OrgUserConfig(
|
||||
signup_mechanism="open",
|
||||
),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue