49 lines
1.2 KiB
Ruby
49 lines
1.2 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module API::V2
|
|
module Entities
|
|
class Restriction < API::V2::Entities::Base
|
|
expose :id,
|
|
documentation: {
|
|
type: 'Integer',
|
|
desc: 'Restriction id'
|
|
}
|
|
|
|
expose :category,
|
|
documentation: {
|
|
type: 'String',
|
|
desc: 'Restriction categories: blacklist, maintenance, whitelist, blocklogin'
|
|
}
|
|
|
|
expose :scope,
|
|
documentation: {
|
|
type: 'String',
|
|
desc: 'Restriction scopes: continent, country, ip, ip_subnet, all'
|
|
}
|
|
|
|
expose :value,
|
|
documentation: {
|
|
type: 'String',
|
|
desc: 'Restriction value: IP address, country abbreviation, all'
|
|
}
|
|
|
|
expose :code,
|
|
documentation: {
|
|
type: 'Integer',
|
|
desc: "Restriction codes: #{::Restriction::DEFAULT_CODES}"
|
|
}
|
|
|
|
expose :state,
|
|
documentation: {
|
|
type: 'String',
|
|
desc: 'Restriction states: disabled, enabled'
|
|
}
|
|
|
|
with_options(format_with: :iso_timestamp) do
|
|
expose :created_at
|
|
expose :updated_at
|
|
end
|
|
end
|
|
end
|
|
end
|