Class: Intigriti::Programs
- Inherits:
-
Object
- Object
- Intigriti::Programs
- Defined in:
- lib/scopes_extractor/platforms/intigriti/programs.rb
Overview
Intigrit Sync Programs
Class Method Summary collapse
- .parse_programs(programs, options, results, token) ⇒ Object
- .program_info(program) ⇒ Object
- .sync(results, options, token) ⇒ Object
Class Method Details
.parse_programs(programs, options, results, token) ⇒ Object
16 17 18 19 20 21 22 23 24 25 |
# File 'lib/scopes_extractor/platforms/intigriti/programs.rb', line 16 def self.parse_programs(programs, , results, token) programs.each do |program| next if [:skip_vdp] && !program['maxBounty']['value'].positive? next if program['status'] == 4 # Suspended results[program['name']] = program_info(program) results[program['name']]['scopes'] = Scopes.sync({ handle: program['handle'], company: program['companyHandle'] }, token) end end |
.program_info(program) ⇒ Object
27 28 29 30 31 32 33 |
# File 'lib/scopes_extractor/platforms/intigriti/programs.rb', line 27 def self.program_info(program) { slug: program['handle'], enabled: true, private: program['confidentialityLevel'] != 4 # == public } end |
.sync(results, options, token) ⇒ Object
8 9 10 11 12 13 14 |
# File 'lib/scopes_extractor/platforms/intigriti/programs.rb', line 8 def self.sync(results, , token) response = HttpClient.get('https://api.intigriti.com/core/researcher/programs', token) return unless response&.code == 200 programs = JSON.parse(response.body) parse_programs(programs, , results, token) end |