Sha256: 7574af26ef7e8458d24107471c099f148ce49801b7c5d7a926278bc7b3122105

Contents?: true

Size: 1.74 KB

Versions: 5

Compression:

Stored size: 1.74 KB

Contents

# frozen_string_literal: true

module Mihari
  module Entities
    class Query < Grape::Entity
      expose :analyzer, documentation: { type: String, required: true }
      expose :query, documentation: { type: String, required: true }
      expose :interval, documentation: { type: Integer, required: false }
    end

    class Rule < Grape::Entity
      expose :id, documentation: { type: String, required: true }

      expose :yaml, documentation: { type: String, required: true }

      expose :title, documentation: { type: String, required: true }
      expose :description, documentation: { type: String, required: true }
      expose :queries, using: Entities::Query, documentation: { type: Entities::Query, is_array: true, required: true }
      expose :tags, documentation: { type: String, is_array: true }
      expose :allowed_data_types, documentation: { type: String, is_array: true }, as: :allowedDtaTypes
      expose :disallowed_data_values, documentation: { type: String, is_array: true }, as: :disallowedDataValues
      expose :ignore_old_artifacts, documentation: { type: "boolean", required: true }, as: :ignoreOldArtifacts
      expose :ignore_threshold, documentation: { type: Integer, required: true }, as: :ignoreThreshold

      expose :created_at, documentation: { type: DateTime, required: true }, as: :createdAt
    end

    class RulesWithPagination < Grape::Entity
      expose :rules, using: Entities::Rule, documentation: { type: Entities::Rule, is_array: true, required: true }
      expose :total, documentation: { type: Integer, required: true }
      expose :current_page, documentation: { type: Integer, required: true }, as: :currentPage
      expose :page_size, documentation: { type: Integer, required: true }, as: :pageSize
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
mihari-4.2.0 lib/mihari/entities/rule.rb
mihari-4.1.2 lib/mihari/web/entities/rule.rb
mihari-4.1.1 lib/mihari/web/entities/rule.rb
mihari-4.1.0 lib/mihari/web/entities/rule.rb
mihari-4.0.0 lib/mihari/web/entities/rule.rb