Class: Api::V2::UserResource

Inherits:
BaseResource
  • Object
show all
Defined in:
app/resources/api/v2/user_resource.rb

Overview

Note:

This resource is immutable: its endpoint will not accept POST, PATCH, or DELETE requests.

Note:

Access this resource via the /api/v2/users/ endpoint.

Provides a JSON:API representation of User.

User Represents Sequencescape users, used to regulate login as well as provide tracking of who did what. While most users are internal, some are external.

For more information about JSON:API, refer to the JSON:API Specifications or look at the JSONAPI::Resources package for Sequencescape's implementation of the JSON:API standard.

Examples:

GET request for all users

GET /api/v2/users/

GET request for a user with ID 123

GET /api/v2/users/123/

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from BaseResource

apply_includes, creatable_fields, default_includes, #fetchable_fields, inclusions, resolve_relationship_names_to_relations, updatable_fields

Instance Attribute Details

#first_nameString (readonly)

The user's first or given name.

Returns:

  • (String)

    the user's first name.



42
# File 'app/resources/api/v2/user_resource.rb', line 42

attribute :first_name, readonly: true

#last_nameString (readonly)

The user's last or surname.

Returns:

  • (String)

    the user's last name.



47
# File 'app/resources/api/v2/user_resource.rb', line 47

attribute :last_name, readonly: true

#loginString (readonly)

The login identifier of the user, used to authenticate and identify the user.

Returns:

  • (String)

    the user's login identifier.



37
# File 'app/resources/api/v2/user_resource.rb', line 37

attribute :login, readonly: true

#uuidObject (readonly)

A filter to return only users with the given UUID.

Examples:

Filtering users by UUID

GET /api/v2/users?filter[uuid]=11111111-2222-3333-4444-555555666666


32
# File 'app/resources/api/v2/user_resource.rb', line 32

attribute :uuid, readonly: true

Instance Method Details

#user_codeObject

A filter to return only users with the given user code. The user code will be compared with swipecodes and barcodes for users until matches are found.

Examples:

Filtering users by user code

GET /api/v2/users?filter[user_code]=12345


58
# File 'app/resources/api/v2/user_resource.rb', line 58

filter :user_code, apply: lambda { |records, value, _options| records.with_user_code(*value) }