Sha256: 1a8d17663d38a72e2b0a532e83ceeca6c90c486a3c50852eb646f2b76ff2851e
Contents?: true
Size: 1.39 KB
Versions: 1
Compression:
Stored size: 1.39 KB
Contents
# frozen_string_literal: true module Hachi module Clients class Artifact < Base def create(case_id, data:, data_type:, message: nil, tlp: nil, tags: nil) artifact = Models::Artifact.new( data: data, data_type: data_type, message: message, tlp: tlp, tags: tags ) post("/api/case/#{case_id}/artifact", artifact.payload) { |json| json } end def get_by_id(id) get("/api/case/artifact/#{id}") { |json| json } end def delete_by_id(id) delete("/api/case/artifact/#{id}") { |json| json } end def search(data:, data_type:, range: "all") validate_range range artifact = Models::Artifact.new(data: data, data_type: data_type) payload = { query: { _and: [ { _field: "data", _value: artifact.data }, { _field: "dataType", _value: artifact.data_type }, { _and: [ { _not: { status: "Deleted" } }, { _not: { _in: { _field: "_type", _values: ["dashboard", "data", "user", "analyzer", "caseTemplate", "reportTemplate", "action"] } } } ] } ] } } post("/api/case/artifact/_search?range=#{range}", payload) { |json| json } end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
hachi-0.1.2 | lib/hachi/clients/artifact.rb |