Sha256: 833a9d3ff036dd3feae6a3b7b055703e8fec179ead2c269f8cca3785302f32c6
Contents?: true
Size: 1.24 KB
Versions: 1
Compression:
Stored size: 1.24 KB
Contents
# frozen_string_literal: true module V1 module Endpoints class Users include Praxis::EndpointDefinition # include AuthenticatedEndpoint media_type MediaTypes::User version '1' description 'Endpoints that allow the listing and manipulation of users' action :index do description 'List users' routing { get '' } params do attribute :fields, Praxis::Types::FieldSelector.for(MediaTypes::User), description: 'Fields with which to render the result.' attribute :filters, Praxis::Types::FilteringParams.for(MediaTypes::User) do filter 'state', using: ['=', '!='] filter 'first_name', using: ['=', '!='], fuzzy: true filter 'last_name', using: ['=', '!='], fuzzy: true end attribute :pagination, Praxis::Types::PaginationParams.for(MediaTypes::User) do by_fields :uid, :first_name, :last_name end attribute :order, Praxis::Extensions::Pagination::OrderingParams.for(MediaTypes::User) do by_fields :uid, :last_name, :first_name end end response :ok, media_type: Praxis::Collection.of(MediaTypes::User) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
praxis-2.0.pre.10 | tasks/thor/templates/generator/example_app/design/v1/endpoints/users.rb |