users Package¶
models
Module¶
-
class
lemur.users.models.
User
(**kwargs) Bases:
flask_sqlalchemy.Model
-
active
-
authorities
-
certificates
-
check_password
(password) Hash a given password and check it against the stored value to determine it’s validity.
Parameters: password – Returns:
-
confirmed_at
-
email
-
hash_password
() Generate the secure hash for the password.
Returns:
-
id
-
is_admin
Determine if the current user has the ‘admin’ role associated with it.
Returns:
-
logs
-
password
-
profile_picture
-
roles
-
username
-
-
lemur.users.models.
hash_password
(mapper, connect, target) Helper function that is a listener and hashes passwords before insertion into the database.
Parameters: - mapper –
- connect –
- target –
service
Module¶
-
lemur.users.service.
create
(username, password, email, active, profile_picture, roles) Create a new user
Parameters: - username –
- password –
- email –
- active –
- profile_picture –
- roles –
Returns:
-
lemur.users.service.
get
(user_id) Retrieve a user from the database
Parameters: user_id – Returns:
-
lemur.users.service.
get_all
() Retrieve all users from the database.
Returns:
-
lemur.users.service.
get_by_email
(email) Retrieve a user from the database by their email address
Parameters: email – Returns:
-
lemur.users.service.
get_by_username
(username) Retrieve a user from the database by their username
Parameters: username – Returns:
-
lemur.users.service.
render
(args) Helper that paginates and filters data when requested through the REST Api
Parameters: args – Returns:
-
lemur.users.service.
update
(user_id, username, email, active, profile_picture, roles) Updates an existing user
Parameters: - user_id –
- username –
- email –
- active –
- profile_picture –
- roles –
Returns:
-
lemur.users.service.
update_roles
(user, roles) Replaces the roles with new ones. This will detect when are roles added as well as when there are roles removed.
Parameters: - user –
- roles –
views
Module¶
-
class
lemur.users.views.
CertificateUsers
Bases:
lemur.auth.service.AuthenticatedResource
-
endpoint
= 'certificateCreator'
-
get
(certificate_id) -
GET
/certificates/1/creator
¶ Get a certificate’s creator
Example request:
GET /certificates/1/creator HTTP/1.1 Host: example.com Accept: application/json, text/javascript
Example response:
HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "id": 1, "active": false, "email": "user1@example.com", "username": "user1", "profileImage": null }
Request Headers: - Authorization – OAuth token to authenticate
Status Codes: - 200 OK – no error
-
-
mediatypes
(resource_cls)
-
methods
= ['GET']
-
-
class
lemur.users.views.
Me
Bases:
lemur.auth.service.AuthenticatedResource
-
endpoint
= 'me'
-
get
() -
GET
/auth/me
¶ Get the currently authenticated user
Example request:
GET /auth/me HTTP/1.1 Host: example.com Accept: application/json, text/javascript
Example response:
HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "id": 1, "active": false, "email": "user1@example.com", "username": "user1", "profileImage": null }
Request Headers: - Authorization – OAuth token to authenticate
Status Codes: - 200 OK – no error
-
-
mediatypes
(resource_cls)
-
methods
= ['GET']
-
-
class
lemur.users.views.
RoleUsers
Bases:
lemur.auth.service.AuthenticatedResource
-
endpoint
= 'roleUsers'
-
get
(role_id) -
GET
/roles/1/users
¶ Get all users associated with a role
Example request:
GET /roles/1/users HTTP/1.1 Host: example.com Accept: application/json, text/javascript
Example response:
HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "items": [ { "id": 2, "active": True, "email": "user2@example.com", "username": "user2", "profileImage": null }, { "id": 1, "active": False, "email": "user1@example.com", "username": "user1", "profileImage": null } ] "total": 2 }
Request Headers: - Authorization – OAuth token to authenticate
Status Codes: - 200 OK – no error
-
-
mediatypes
(resource_cls)
-
methods
= ['GET']
-
-
class
lemur.users.views.
Users
Bases:
lemur.auth.service.AuthenticatedResource
-
endpoint
= 'user'
-
get
(user_id) -
GET
/users/1
¶ Get a specific user
Example request:
GET /users/1 HTTP/1.1 Host: example.com Accept: application/json, text/javascript
Example response:
HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "id": 1, "active": false, "email": "user1@example.com", "username": "user1", "profileImage": null }
Request Headers: - Authorization – OAuth token to authenticate
Status Codes: - 200 OK – no error
-
-
mediatypes
(resource_cls)
-
methods
= ['GET', 'PUT']
-
put
(user_id, data=None) -
PUT
/users/1
¶ Update a user
Example request:
PUT /users/1 HTTP/1.1 Host: example.com Accept: application/json, text/javascript { "username": "user1", "email": "user1@example.com", "active": false, "roles": [ {'id': 1} - or - {'name': 'myRole'} ] }
Example response:
HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "id": 1, "username": "user1", "email": "user1@example.com", "active": false, "profileImage": null }
Request Headers: - Authorization – OAuth token to authenticate
Status Codes: - 200 OK – no error
-
-
-
class
lemur.users.views.
UsersList
Bases:
lemur.auth.service.AuthenticatedResource
Defines the ‘users’ endpoint
-
endpoint
= 'users'
-
get
() -
GET
/users
¶ The current user list
Example request:
GET /users HTTP/1.1 Host: example.com Accept: application/json, text/javascript
Example response:
HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "items": [ { "id": 2, "active": True, "email": "user2@example.com", "username": "user2", "profileImage": null }, { "id": 1, "active": False, "email": "user1@example.com", "username": "user1", "profileImage": null } ] "total": 2 }
Query Parameters: - sortBy – field to sort on
- sortDir – asc or desc
- page – int default is 1
- filter – key value pair format is k;v
- count – count number default is 10
Request Headers: - Authorization – OAuth token to authenticate
Status Codes: - 200 OK – no error
-
-
mediatypes
(resource_cls)
-
methods
= ['GET', 'POST']
-
post
(data=None) -
POST
/users
¶ Creates a new user
Example request:
POST /users HTTP/1.1 Host: example.com Accept: application/json, text/javascript { "username": "user3", "email": "user3@example.com", "active": true, "roles": [ {'id': 1} - or - {'name': 'myRole'} ] }
Example response:
HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "id": 3, "active": True, "email": "user3@example.com, "username": "user3", "profileImage": null }
Parameters: - username – username for new user
- email – email address for new user
- password – password for new user
- active – boolean, if the user is currently active
- roles – list, roles that the user should be apart of
Request Headers: - Authorization – OAuth token to authenticate
Status Codes: - 200 OK – no error
-
-