Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
C
caosdb-pylib
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
caosdb
Software
caosdb-pylib
Commits
794f67a1
Commit
794f67a1
authored
5 months ago
by
I. Nüske
Browse files
Options
Downloads
Patches
Plain Diff
MNT: Added error messages for all user and role updates, unified message layout.
parent
dbfc4bf5
No related branches found
Branches containing commit
No related tags found
Tags containing commit
2 merge requests
!159
Release 0.16.o
,
!153
Error message for missing users and roles in linkahead_admin.py
Pipeline
#56637
passed with warnings
5 months ago
Stage: code_style
Stage: linting
Stage: test
Stage: deploy
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
src/linkahead/utils/linkahead_admin.py
+115
-34
115 additions, 34 deletions
src/linkahead/utils/linkahead_admin.py
with
115 additions
and
34 deletions
src/linkahead/utils/linkahead_admin.py
+
115
−
34
View file @
794f67a1
...
...
@@ -33,7 +33,7 @@ from argparse import ArgumentParser, RawDescriptionHelpFormatter
import
linkahead
as
db
from
linkahead
import
administration
as
admin
from
linkahead.exceptions
import
HTTPClientError
,
HTTPResourceNotFoundError
from
linkahead.exceptions
import
HTTPClientError
,
HTTPResourceNotFoundError
,
HTTPForbiddenError
__all__
=
[]
__version__
=
0.3
...
...
@@ -42,22 +42,35 @@ __updated__ = '2018-12-11'
def
do_update_role
(
args
):
admin
.
_update_role
(
name
=
args
.
role_name
,
description
=
args
.
role_description
)
try
:
admin
.
_update_role
(
name
=
args
.
role_name
,
description
=
args
.
role_description
)
except
(
HTTPResourceNotFoundError
,
HTTPForbiddenError
)
as
e
:
print
(
f
"
Error: Cannot update role
'
{
args
.
role_name
}
'
,
"
f
"
reason:
'
{
e
.
msg
}
'"
)
def
do_create_role
(
args
):
admin
.
_insert_role
(
name
=
args
.
role_name
,
description
=
args
.
role_description
)
try
:
admin
.
_insert_role
(
name
=
args
.
role_name
,
description
=
args
.
role_description
)
except
(
HTTPClientError
,
HTTPForbiddenError
)
as
e
:
print
(
f
"
Error: Cannot create role
'
{
args
.
role_name
}
'
,
"
f
"
reason:
'
{
e
.
msg
}
'"
)
def
do_retrieve_role
(
args
):
try
:
print
(
admin
.
_retrieve_role
(
name
=
args
.
role_name
))
except
HTTPResourceNotFoundError
:
print
(
f
"
Error: Role
'
{
args
.
role_name
}
'
does not exist.
"
)
except
(
HTTPResourceNotFoundError
,
HTTPForbiddenError
)
as
e
:
print
(
f
"
Error: Cannot retrieve role
'
{
args
.
role_name
}
'
,
"
f
"
reason:
'
{
e
.
msg
}
'"
)
def
do_delete_role
(
args
):
admin
.
_delete_role
(
name
=
args
.
role_name
)
try
:
admin
.
_delete_role
(
name
=
args
.
role_name
)
except
(
HTTPResourceNotFoundError
,
HTTPForbiddenError
)
as
e
:
print
(
f
"
Error: Cannot delete role
'
{
args
.
role_name
}
'
,
"
f
"
reason:
'
{
e
.
msg
}
'"
)
def
do_retrieve
(
args
):
...
...
@@ -129,22 +142,25 @@ def do_create_user(args):
if
args
.
activate_user
:
do_activate_user
(
args
)
except
HTTPClientError
as
e
:
print
(
e
.
msg
)
except
(
HTTPForbiddenError
,
HTTPClientError
)
as
e
:
print
(
f
"
Error: Cannot create user
'
{
args
.
user_name
}
'
,
"
f
"
reason:
'
{
e
.
msg
}
'"
)
def
do_activate_user
(
args
):
try
:
admin
.
_update_user
(
name
=
args
.
user_name
,
status
=
"
ACTIVE
"
)
except
HTTPClientError
as
e
:
print
(
e
.
msg
)
except
(
HTTPResourceNotFoundError
,
HTTPForbiddenError
,
HTTPClientError
)
as
e
:
print
(
f
"
Error: Cannot activate user
'
{
args
.
user_name
}
'
,
"
f
"
reason:
'
{
e
.
msg
}
'"
)
def
do_deactivate_user
(
args
):
try
:
admin
.
_update_user
(
name
=
args
.
user_name
,
status
=
"
INACTIVE
"
)
except
HTTPClientError
as
e
:
print
(
e
.
msg
)
except
(
HTTPResourceNotFoundError
,
HTTPForbiddenError
,
HTTPClientError
)
as
e
:
print
(
f
"
Error: Cannot deactivate user
'
{
args
.
user_name
}
'
,
"
f
"
reason:
'
{
e
.
msg
}
'"
)
def
do_set_user_password
(
args
):
...
...
@@ -154,66 +170,109 @@ def do_set_user_password(args):
password
=
args
.
user_password
try
:
admin
.
_update_user
(
name
=
args
.
user_name
,
password
=
password
)
except
HTTPClientError
as
e
:
print
(
e
.
msg
)
except
(
HTTPResourceNotFoundError
,
HTTPForbiddenError
,
HTTPClientError
)
as
e
:
print
(
f
"
Error: Cannot set password for user
'
{
args
.
user_name
}
'
,
"
f
"
reason:
'
{
e
.
msg
}
'"
)
def
do_add_user_roles
(
args
):
roles
=
admin
.
_get_roles
(
username
=
args
.
user_name
,
realm
=
None
)
try
:
roles
=
admin
.
_get_roles
(
username
=
args
.
user_name
,
realm
=
None
)
except
(
HTTPForbiddenError
,
HTTPResourceNotFoundError
)
as
e
:
print
(
f
"
Error: Cannot access roles for user
'
{
args
.
user_name
}
'
,
"
f
"
reason:
'
{
e
.
msg
}
'"
)
return
for
r
in
args
.
user_roles
:
roles
.
add
(
r
)
admin
.
_set_roles
(
username
=
args
.
user_name
,
roles
=
roles
)
try
:
admin
.
_set_roles
(
username
=
args
.
user_name
,
roles
=
roles
)
except
(
HTTPResourceNotFoundError
,
HTTPForbiddenError
,
HTTPClientError
)
as
e
:
print
(
f
"
Error: Cannot add new roles for user
'
{
args
.
user_name
}
'
,
"
f
"
reason:
'
{
e
.
msg
}
'"
)
def
do_remove_user_roles
(
args
):
roles
=
admin
.
_get_roles
(
username
=
args
.
user_name
,
realm
=
None
)
try
:
roles
=
admin
.
_get_roles
(
username
=
args
.
user_name
,
realm
=
None
)
except
(
HTTPForbiddenError
,
HTTPResourceNotFoundError
)
as
e
:
print
(
f
"
Error: Cannot access roles for user
'
{
args
.
user_name
}
'
,
"
f
"
reason:
'
{
e
.
msg
}
'"
)
return
for
r
in
args
.
user_roles
:
if
r
in
roles
:
roles
.
remove
(
r
)
admin
.
_set_roles
(
username
=
args
.
user_name
,
roles
=
roles
)
try
:
admin
.
_set_roles
(
username
=
args
.
user_name
,
roles
=
roles
)
except
(
HTTPResourceNotFoundError
,
HTTPForbiddenError
,
HTTPClientError
)
as
e
:
print
(
f
"
Error: Cannot remove roles from user
'
{
args
.
user_name
}
'
,
"
f
"
reason:
'
{
e
.
msg
}
'"
)
def
do_set_user_entity
(
args
):
admin
.
_update_user
(
name
=
args
.
user_name
,
entity
=
args
.
user_entity
)
try
:
admin
.
_update_user
(
name
=
args
.
user_name
,
entity
=
args
.
user_entity
)
except
(
HTTPResourceNotFoundError
,
HTTPForbiddenError
,
HTTPClientError
)
as
e
:
print
(
f
"
Error: Cannot set entity for user
'
{
args
.
user_name
}
'
,
"
f
"
reason:
'
{
e
.
msg
}
'"
)
def
do_reset_user_entity
(
args
):
admin
.
_update_user
(
name
=
args
.
user_name
,
entity
=
""
)
try
:
admin
.
_update_user
(
name
=
args
.
user_name
,
entity
=
""
)
except
(
HTTPResourceNotFoundError
,
HTTPForbiddenError
,
HTTPClientError
)
as
e
:
print
(
f
"
Error: Cannot remove entity for user
'
{
args
.
user_name
}
'
,
"
f
"
reason:
'
{
e
.
msg
}
'"
)
def
do_set_user_email
(
args
):
admin
.
_update_user
(
name
=
args
.
user_name
,
email
=
args
.
user_email
)
try
:
admin
.
_update_user
(
name
=
args
.
user_name
,
email
=
args
.
user_email
)
except
(
HTTPResourceNotFoundError
,
HTTPForbiddenError
,
HTTPClientError
)
as
e
:
print
(
f
"
Error: Cannot set email for user
'
{
args
.
user_name
}
'
,
"
f
"
reason:
'
{
e
.
msg
}
'"
)
def
do_retrieve_user
(
args
):
try
:
print
(
admin
.
_retrieve_user
(
name
=
args
.
user_name
))
except
HTTPResourceNotFoundError
:
print
(
f
"
Error: User
'
{
args
.
user_name
}
'
does not exist.
"
)
except
(
HTTPResourceNotFoundError
,
HTTPForbiddenError
)
as
e
:
print
(
f
"
Error: Cannot retrieve user
'
{
args
.
user_name
}
'
,
"
f
"
reason:
'
{
e
.
msg
}
'"
)
def
do_delete_user
(
args
):
admin
.
_delete_user
(
name
=
args
.
user_name
)
try
:
admin
.
_delete_user
(
name
=
args
.
user_name
)
except
(
HTTPResourceNotFoundError
,
HTTPForbiddenError
)
as
e
:
print
(
f
"
Error: Cannot delete user
'
{
args
.
user_name
}
'
,
"
f
"
reason:
'
{
e
.
msg
}
'"
)
def
do_retrieve_user_roles
(
args
):
try
:
print
(
admin
.
_get_roles
(
username
=
args
.
user_name
))
except
HTTPResourceNotFoundError
:
print
(
f
"
Error: User
'
{
args
.
user_name
}
'
does not exist.
"
)
except
(
HTTPResourceNotFoundError
,
HTTPForbiddenError
)
as
e
:
print
(
f
"
Error: Cannot retrieve roles for user
'
{
args
.
user_name
}
'
,
"
f
"
reason:
'
{
e
.
msg
}
'"
)
def
do_retrieve_role_permissions
(
args
):
try
:
print
(
admin
.
_get_permissions
(
role
=
args
.
role_name
))
except
HTTPResourceNotFoundError
:
print
(
f
"
Error: Role
'
{
args
.
role_name
}
'
does not exist.
"
)
except
(
HTTPResourceNotFoundError
,
HTTPForbiddenError
)
as
e
:
print
(
f
"
Error: Cannot retrieve permissions for role
'
{
args
.
role_name
}
'
,
"
f
"
reason:
'
{
e
.
msg
}
'"
)
def
do_grant_role_permissions
(
args
):
perms
=
admin
.
_get_permissions
(
args
.
role_name
)
try
:
perms
=
admin
.
_get_permissions
(
role
=
args
.
role_name
)
except
(
HTTPResourceNotFoundError
,
HTTPForbiddenError
)
as
e
:
print
(
f
"
Error: Cannot access permissions for role
'
{
args
.
role_name
}
'
,
"
f
"
reason:
'
{
e
.
msg
}
'"
)
return
for
p
in
args
.
role_permissions
:
g
=
admin
.
PermissionRule
(
...
...
@@ -227,11 +286,20 @@ def do_grant_role_permissions(args):
if
d
in
perms
:
perms
.
remove
(
d
)
perms
.
add
(
g
)
admin
.
_set_permissions
(
role
=
args
.
role_name
,
permission_rules
=
perms
)
try
:
admin
.
_set_permissions
(
role
=
args
.
role_name
,
permission_rules
=
perms
)
except
(
HTTPResourceNotFoundError
,
HTTPForbiddenError
)
as
e
:
print
(
f
"
Error: Cannot set permissions for role
'
{
args
.
role_name
}
'
,
"
f
"
reason:
'
{
e
.
msg
}
'"
)
def
do_revoke_role_permissions
(
args
):
perms
=
admin
.
_get_permissions
(
args
.
role_name
)
try
:
perms
=
admin
.
_get_permissions
(
role
=
args
.
role_name
)
except
(
HTTPResourceNotFoundError
,
HTTPForbiddenError
)
as
e
:
print
(
f
"
Error: Cannot access permissions for role
'
{
args
.
role_name
}
'
,
"
f
"
reason:
'
{
e
.
msg
}
'"
)
return
for
p
in
args
.
role_permissions
:
g
=
admin
.
PermissionRule
(
...
...
@@ -244,11 +312,20 @@ def do_revoke_role_permissions(args):
if
d
in
perms
:
perms
.
remove
(
d
)
admin
.
_set_permissions
(
role
=
args
.
role_name
,
permission_rules
=
perms
)
try
:
admin
.
_set_permissions
(
role
=
args
.
role_name
,
permission_rules
=
perms
)
except
(
HTTPResourceNotFoundError
,
HTTPForbiddenError
)
as
e
:
print
(
f
"
Error: Cannot revoke permissions for role
'
{
args
.
role_name
}
'
,
"
f
"
reason:
'
{
e
.
msg
}
'"
)
def
do_deny_role_permissions
(
args
):
perms
=
admin
.
_get_permissions
(
args
.
role_name
)
try
:
perms
=
admin
.
_get_permissions
(
role
=
args
.
role_name
)
except
(
HTTPResourceNotFoundError
,
HTTPForbiddenError
)
as
e
:
print
(
f
"
Error: Cannot access permissions for role
'
{
args
.
role_name
}
'
,
"
f
"
reason:
'
{
e
.
msg
}
'"
)
return
for
p
in
args
.
role_permissions
:
g
=
admin
.
PermissionRule
(
...
...
@@ -262,7 +339,11 @@ def do_deny_role_permissions(args):
if
d
in
perms
:
perms
.
remove
(
d
)
perms
.
add
(
d
)
admin
.
_set_permissions
(
role
=
args
.
role_name
,
permission_rules
=
perms
)
try
:
admin
.
_set_permissions
(
role
=
args
.
role_name
,
permission_rules
=
perms
)
except
(
HTTPResourceNotFoundError
,
HTTPForbiddenError
)
as
e
:
print
(
f
"
Error: Cannot deny permissions for role
'
{
args
.
role_name
}
'
,
"
f
"
reason:
'
{
e
.
msg
}
'"
)
def
do_retrieve_entity_acl
(
args
):
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment