Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
feat: TT-169 add endpoint namespaces
  • Loading branch information
Angeluz-07 committed Mar 2, 2021
commit 0e5e7054a21d9dd6b324a06452c4941b6802daed
60 changes: 49 additions & 11 deletions time_tracker_api/users/users_namespace.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,19 +51,16 @@
},
)

group_name_field = fields.String(
title='group_name',
max_length=50,
description='Name of the Group',
example=Faker().word(['time-tracker-admin', 'time-tracker-tester']),
)

# Data to check if a user is in the group
user_in_group_input = ns.model(
'UserInGroupInput',
{
'group_name': fields.String(
title='group_name',
max_length=50,
description='Name of the Group to verify',
example=Faker().word(
['time-tracker-admin', 'time-tracker-tester']
),
),
},
'UserInGroupInput', {'group_name': group_name_field},
)

user_in_group_response = ns.model(
Expand Down Expand Up @@ -146,3 +143,44 @@ class UserInGroup(Resource):
def post(self, user_id):
"""Check if user belongs to group"""
return AzureConnection().is_user_in_group(user_id, ns.payload)


add_user_to_group_input = ns.model(
'AddUserToGroupInput', {'group_name': group_name_field},
)


@ns.route('/<string:user_id>/groups/add')
@ns.param('user_id', 'The user identifier')
class AddToGroup(Resource):
@ns.doc('add_to_group')
@ns.expect(add_user_to_group_input)
@ns.marshal_with(user_response_fields)
def post(self, user_id):
"""
Add user to an EXISTING group in the Azure Tenant directory.
Available options for `group_name`:
```
- time-tracker-admin
- time-tracker-tester
```
"""
return []


remove_user_from_group_input = ns.model(
'RemoveUserFromGroupInput', {'group_name': group_name_field},
)


@ns.route('/<string:user_id>/groups/remove')
@ns.param('user_id', 'The user identifier')
class RemoveFromGroup(Resource):
@ns.doc('remove_from_group')
@ns.expect(remove_user_from_group_input)
@ns.marshal_with(user_response_fields)
def post(self, user_id):
"""
Remove user from an EXISTING group in the Azure Tenant directory.
"""
return []