mirror of
https://github.com/rzmk/learnhouse.git
synced 2025-12-19 04:19:25 +00:00
fix: safecheck code
This commit is contained in:
parent
4b623ae1b8
commit
977008f0ae
21 changed files with 234 additions and 151 deletions
|
|
@ -2,7 +2,7 @@ import json
|
|||
from typing import List
|
||||
from uuid import uuid4
|
||||
from pydantic import BaseModel
|
||||
from src.services.users import User
|
||||
from src.services.users import PublicUser, User
|
||||
from src.services.database import create_config_collection, check_database, create_database, learnhouseDB, learnhouseDB
|
||||
from src.services.security import *
|
||||
from fastapi import FastAPI, HTTPException, status, Request, Response, BackgroundTasks
|
||||
|
|
@ -61,7 +61,7 @@ async def get_organization_by_slug(org_slug: str):
|
|||
return org
|
||||
|
||||
|
||||
async def create_org(org_object: Organization, current_user: User):
|
||||
async def create_org(org_object: Organization, current_user: PublicUser):
|
||||
await check_database()
|
||||
orgs = learnhouseDB["organizations"]
|
||||
|
||||
|
|
@ -88,21 +88,21 @@ async def create_org(org_object: Organization, current_user: User):
|
|||
return org.dict()
|
||||
|
||||
|
||||
async def update_org(org_object: Organization, org_id: str, current_user: User):
|
||||
async def update_org(org_object: Organization, org_id: str, current_user: PublicUser):
|
||||
await check_database()
|
||||
|
||||
# verify org rights
|
||||
await verify_org_rights(org_id, current_user)
|
||||
await verify_org_rights(org_id, current_user,"update")
|
||||
|
||||
orgs = learnhouseDB["organizations"]
|
||||
|
||||
org = orgs.find_one({"org_id": org_id})
|
||||
|
||||
# get owner & adminds value from org object database
|
||||
owners = org["owners"]
|
||||
admins = org["admins"]
|
||||
if org:
|
||||
owners = org["owners"]
|
||||
admins = org["admins"]
|
||||
|
||||
if not org:
|
||||
else:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_409_CONFLICT, detail="Organization does not exist")
|
||||
|
||||
|
|
@ -114,7 +114,7 @@ async def update_org(org_object: Organization, org_id: str, current_user: User):
|
|||
return Organization(**updated_org.dict())
|
||||
|
||||
|
||||
async def delete_org(org_id: str, current_user: User):
|
||||
async def delete_org(org_id: str, current_user: PublicUser):
|
||||
await check_database()
|
||||
|
||||
await verify_org_rights(org_id, current_user,"delete")
|
||||
|
|
@ -160,7 +160,7 @@ async def get_orgs_by_user(user_id: str, page: int = 1, limit: int = 10):
|
|||
|
||||
#### Security ####################################################
|
||||
|
||||
async def verify_org_rights(org_id: str, current_user: User, action: str,):
|
||||
async def verify_org_rights(org_id: str, current_user: PublicUser, action: str,):
|
||||
await check_database()
|
||||
orgs = learnhouseDB["organizations"]
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue