Skip to content

Commit

Permalink
added get memebers for org
Browse files Browse the repository at this point in the history
  • Loading branch information
cophilot committed Dec 22, 2023
1 parent e8c314b commit bedbd48
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 1 deletion.
37 changes: 37 additions & 0 deletions ROUTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,43 @@ http://localhost:8000/creatOrganisation
}
```

**GET**

getOrganisationMembers

```
http://localhost:8000/getOrganisationMembers/<id>
```
### Header
```json
{
"authorization": "---"
}
```

### Response

- 404: Organisation **not found**:
```json
{
"error": "Organisation not found."
}
```
- 401: User **not authorized**:
```json
{
"error": "User not authorized."
}
```
- 200: **success**:
```json
{
"members": ["username1", "username2", "username3"]
}
```

**POST**

leaveOrganisation
Expand Down
19 changes: 18 additions & 1 deletion flask_app/user.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from flask import Blueprint, request, make_response

from config import Token, tokenEncode, tokenDecode
from postgres.queries import (checkPassword,
from postgres.queries import (checkPassword, getMembersOfOrganisation,
getOrganisationIDsFromUserId, getOrganisationName, getOrganisationFromUserId)
from postgres.transactions import addUser, addOrganisation, addUserToOrganisation, deleteUser, leaveOrganisation

Expand Down Expand Up @@ -159,3 +159,20 @@ def add_user_to_organisation():
if error:
return make_response({"error": error}, 409)
return make_response({'organisation_id': organisation_id}, 200)

@user_management.route('/getOrganisationMembers/<_id>', methods=['GET'])
def get_organisation_members(_id):
authorization = request.headers.get("authorization")
token = tokenDecode(authorization)
if token is None:
return make_response({'error': 'no authorization'}, 401)

members_raw = getMembersOfOrganisation(_id)
if members_raw is None:
return make_response({'error':'organisation '+_id+' not found'}, 404)

members = []
for member in members_raw:
members.append(member[0])

return make_response({"members": members}, 200)
3 changes: 3 additions & 0 deletions postgres/queries.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ def getOrganisationName(organisation_id: int):
return -1
return str(response[0])

def getMembersOfOrganisation(organisation_id: int):
select_query = sql.SQL("SELECT username FROM users WHERE id IN (SELECT userid FROM membership WHERE organisationid = %s);")
return execute_query(select_query, (organisation_id,))

def getMemberIDsFromOrganisationID(organisationID: int):
select_query = sql.SQL("SELECT userid FROM membership WHERE organisationid = %s;")
Expand Down

0 comments on commit bedbd48

Please sign in to comment.