fix: safecheck code

This commit is contained in:
swve 2022-10-12 22:06:19 +02:00
parent 4b623ae1b8
commit 977008f0ae
21 changed files with 234 additions and 151 deletions

View file

@ -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"]