fix: install remaining issues

This commit is contained in:
swve 2023-07-14 11:35:41 +01:00
parent 99890a950b
commit 72c5d13028
2 changed files with 9 additions and 64 deletions

View file

@ -33,7 +33,7 @@ export async function createDefaultElements() {
export async function isInstallModeEnabled() { export async function isInstallModeEnabled() {
const result = await fetch(`${getAPIUrl()}install/latest`, RequestBody("GET", null, null)); const result = await fetch(`${getAPIUrl()}install/latest`, RequestBody("GET", null, null));
if (result.status === 200) { if (result.status === 200 || result.status === 404) {
return true; return true;
} }
else { else {

View file

@ -125,8 +125,8 @@ async def install_default_elements(request: Request, data: dict):
roles = request.app.db["roles"] roles = request.app.db["roles"]
# check if default roles ADMIN_ROLE and USER_ROLE already exist # check if default roles ADMIN_ROLE and USER_ROLE already exist
admin_role = await roles.find_one({"role_id": "role_super_admin"}) admin_role = await roles.find_one({"role_id": "role_admin"})
user_role = await roles.find_one({"role_id": "role_user"}) user_role = await roles.find_one({"role_id": "role_member"})
if admin_role is not None or user_role is not None: if admin_role is not None or user_role is not None:
raise HTTPException( raise HTTPException(
@ -135,61 +135,8 @@ async def install_default_elements(request: Request, data: dict):
) )
# get default roles # get default roles
SUPER_ADMIN_ROLE = RoleInDB(
name="SuperAdmin Role",
description="This role grants all permissions to the user",
elements=Elements(
courses=Permission(
action_create=True,
action_read=True,
action_update=True,
action_delete=True,
),
users=Permission(
action_create=True,
action_read=True,
action_update=True,
action_delete=True,
),
houses=Permission(
action_create=True,
action_read=True,
action_update=True,
action_delete=True,
),
collections=Permission(
action_create=True,
action_read=True,
action_update=True,
action_delete=True,
),
organizations=Permission(
action_create=True,
action_read=True,
action_update=True,
action_delete=True,
),
coursechapters=Permission(
action_create=True,
action_read=True,
action_update=True,
action_delete=True,
),
activities=Permission(
action_create=True,
action_read=True,
action_update=True,
action_delete=True,
),
),
org_id="*",
role_id="role_super_admin",
created_at=str(datetime.now()),
updated_at=str(datetime.now()),
)
ADMIN_ROLE = RoleInDB( ADMIN_ROLE = RoleInDB(
name="SuperAdmin Role", name="Admin Role",
description="This role grants all permissions to the user", description="This role grants all permissions to the user",
elements=Elements( elements=Elements(
courses=Permission( courses=Permission(
@ -236,13 +183,13 @@ async def install_default_elements(request: Request, data: dict):
), ),
), ),
org_id="*", org_id="*",
role_id="role_super_admin", role_id="role_admin",
created_at=str(datetime.now()), created_at=str(datetime.now()),
updated_at=str(datetime.now()), updated_at=str(datetime.now()),
) )
USER_ROLE = RoleInDB( USER_ROLE = RoleInDB(
name="User role", name="Member Role",
description="This role grants read-only permissions to the user", description="This role grants read-only permissions to the user",
elements=Elements( elements=Elements(
courses=Permission( courses=Permission(
@ -289,16 +236,14 @@ async def install_default_elements(request: Request, data: dict):
), ),
), ),
org_id="*", org_id="*",
role_id="role_user", role_id="role_member",
created_at=str(datetime.now()), created_at=str(datetime.now()),
updated_at=str(datetime.now()), updated_at=str(datetime.now()),
) )
try: try:
# insert default roles # insert default roles
await roles.insert_many( await roles.insert_many([USER_ROLE.dict(), ADMIN_ROLE.dict()])
[ADMIN_ROLE.dict(), USER_ROLE.dict(), SUPER_ADMIN_ROLE.dict()]
)
return True return True
except Exception: except Exception:
@ -386,7 +331,7 @@ async def install_create_organization_user(
orgs = [UserOrganization(org_id=org_id, org_role="owner")] orgs = [UserOrganization(org_id=org_id, org_role="owner")]
# Give role # Give role
roles = [UserRolesInOrganization(role_id="role_super_admin", org_id=org_id)] roles = [UserRolesInOrganization(role_id="role_admin", org_id=org_id)]
# Create the user # Create the user
user = UserInDB( user = UserInDB(