users Package¶
models
Module¶
-
class
lemur.users.models.
User
(**kwargs) Bases:
sqlalchemy.ext.declarative.api.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
-
property
is_admin
Determine if the current user has the ‘admin’ role associated with it.
- Returns
-
keys
-
logs
-
password
-
pending_certificates
-
profile_picture
-
role
-
roles
-
sensitive_fields
= ('password',)
-
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
()
-
methods
= {'GET'} A list of methods this view can handle.
-
-
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
()
-
methods
= {'GET'} A list of methods this view can handle.
-
-
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
()
-
methods
= {'GET'} A list of methods this view can handle.
-
-
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
()
-
methods
= {'GET', 'PUT'} A list of methods this view can handle.
-
put
(user_id, data=None) -
PUT
/users/1
¶ Update a user
Example request with ID:
PUT /users/1 HTTP/1.1 Host: example.com Accept: application/json, text/javascript Content-Type: application/json;charset=UTF-8 { "username": "user1", "email": "user1@example.com", "active": false, "roles": [ {"id": 1} ] }
Example request with name:
PUT /users/1 HTTP/1.1 Host: example.com Accept: application/json, text/javascript Content-Type: application/json;charset=UTF-8 { "username": "user1", "email": "user1@example.com", "active": false, "roles": [ {"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
()
-
methods
= {'GET', 'POST'} A list of methods this view can handle.
-
post
(data=None) -
POST
/users
¶ Creates a new user
Example request with ID:
POST /users HTTP/1.1 Host: example.com Accept: application/json, text/javascript Content-Type: application/json;charset=UTF-8 { "username": "user3", "email": "user3@example.com", "active": true, "roles": [ {"id": 1} ] }
Example request with name:
POST /users HTTP/1.1 Host: example.com Accept: application/json, text/javascript Content-Type: application/json;charset=UTF-8 { "username": "user3", "email": "user3@example.com", "active": true, "roles": [ {"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
-
-