Class: Api::V2::PlateConversionResource

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

Overview

Note:

This resource cannot be modified after creation: its endpoint will not accept PATCH requests.

Note:

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

Provides a JSON:API representation of PlateConversion for converting a plate to a new purpose. The converted target becomes linked as a child of the specified parent. Creation of this resource via a POST request will initiate the conversion. The converted plate is returned by this endpoint under the #target relationship.

For more information about JSON:API see the JSON:API Specifications or look at the JSONAPI::Resources package for Sequencescape’s implementation of the JSON:API standard.

Examples:

POST request with arguments specified by UUID (deprecated)

POST /api/v2/plate_conversions/
{
  "data": {
    "type": "plate_conversions",
    "attributes": {
      "parent_uuid": "11111111-2222-3333-4444-555555666666",
      "purpose_uuid": "22222222-3333-4444-5555-666666777777",
      "target_uuid": "33333333-4444-5555-6666-777777888888",
      "user_uuid": "44444444-5555-6666-7777-888888999999"
    }
  }
}

POST request with arguments specified by relationship

POST /api/v2/plate_conversions/
{
  "data": {
    "type": "plate_conversions",
    "attributes": {},
    "relationships": {
      "parent": {
        "data": { "type": "plates", "id": "123" }
      },
      "purpose": {
        "data": { "type": "plate_purposes", "id": "234" }
      },
      "target": {
        "data": { "type": "plates", "id": "345" }
      },
      "user": {
        "data": { "type": "users", "id": "456" }
      }
    }
  }
}

GET request for all PlateConversion resources

GET /api/v2/plate_conversions/

GET request for a PlateConversion with ID 123

GET /api/v2/plate_conversions/123/

Instance Attribute Summary collapse

Method Summary

Methods inherited from BaseResource

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

Instance Attribute Details

#parentApi::V2::PlateResource

Setting this relationship alongside the parent_uuid attribute will override the attribute value.

Returns:



128
# File 'app/resources/api/v2/plate_conversion_resource.rb', line 128

has_one :parent, class_name: 'Plate'

#parent_uuid=(value) ⇒ Void (writeonly)

Deprecated.

Use the parent relationship instead.

This is declared for convenience where the parent Plate is not available to set as a relationship. Setting this attribute alongside the parent relationship will prefer the relationship value.

Parameters:

  • value (String)

    The UUID of the Plate to be linked as the parent of the target plate.

Returns:

  • (Void)

See Also:



71
# File 'app/resources/api/v2/plate_conversion_resource.rb', line 71

attribute :parent_uuid, writeonly: true

#purposeApi::V2::PlatePurposeResource

Note:

This relationship is required.

Setting this relationship alongside the purpose_uuid attribute will override the attribute value. The purpose which the target plate should be converted to.



135
# File 'app/resources/api/v2/plate_conversion_resource.rb', line 135

has_one :purpose, class_name: 'PlatePurpose'

#purpose_uuid=(value) ⇒ Void (writeonly)

Deprecated.

Use the purpose relationship instead.

This is declared for convenience where the PlatePurpose is not available to set as a relationship. Setting this attribute alongside the purpose relationship will prefer the relationship value.

Parameters:

  • value (String)

    The UUID of the PlatePurpose to convert the target plate to.

Returns:

  • (Void)

See Also:



84
# File 'app/resources/api/v2/plate_conversion_resource.rb', line 84

attribute :purpose_uuid, writeonly: true

#targetApi::V2::PlateResource

Note:

This relationship is required.

Setting this relationship alongside the target_uuid attribute will override the attribute value. The target of the plate conversion. This plate will be converted to the given purpose and made a child of the parent plate, if given.



143
# File 'app/resources/api/v2/plate_conversion_resource.rb', line 143

has_one :target, class_name: 'Plate'

#target_uuid=(value) ⇒ Void (writeonly)

Deprecated.

Use the target relationship instead.

This is declared for convenience where the target Plate is not available to set as a relationship. Setting this attribute alongside the target relationship will prefer the relationship value.

Parameters:

  • value (String)

    The UUID of the Plate to be converted to the specified purpose and linked as a child of the parent plate, if specified.

Returns:

  • (Void)

See Also:



98
# File 'app/resources/api/v2/plate_conversion_resource.rb', line 98

attribute :target_uuid, writeonly: true

#userApi::V2::UserResource

Note:

This relationship is required.

Setting this relationship alongside the user_uuid attribute will override the attribute value.

Returns:



149
# File 'app/resources/api/v2/plate_conversion_resource.rb', line 149

has_one :user

#user_uuid=(value) ⇒ Void (writeonly)

Deprecated.

Use the user relationship instead.

This is declared for convenience where the User is not available to set as a relationship. Setting this attribute alongside the user relationship will prefer the relationship value.

Parameters:

  • value (String)

    The UUID of the User who initiated this plate conversion.

Returns:

  • (Void)

See Also:



111
# File 'app/resources/api/v2/plate_conversion_resource.rb', line 111

attribute :user_uuid, writeonly: true

#uuidString (readonly)

Returns The UUID of the plate conversion.

Returns:

  • (String)

    The UUID of the plate conversion.



119
# File 'app/resources/api/v2/plate_conversion_resource.rb', line 119

attribute :uuid, readonly: true