• Full name: \App\Shared\Services\Security\ComposerAuditService
  • This class is marked as final and can't be subclassed
  • This class is a Final class

Constants

Constant Visibility Type Value
OPTION_RESULT private 'security_audit_result'
OPTION_EMAIL_ENABLED private 'security_audit_email_enabled'
OPTION_EMAIL_RECIPIENTS private 'security_audit_email_recipients'
OPTION_LAST_NOTIFIED_HASH private 'security_audit_last_notified_hash'

Properties

basePath

private string $basePath

timeoutSeconds

private int $timeoutSeconds

auditDevDependencies

private bool $auditDevDependencies

Methods

__construct

public __construct(string $basePath, int $timeoutSeconds = 20, bool $auditDevDependencies = false): mixed

Parameters:

Parameter Type Description
$basePath string
$timeoutSeconds int
$auditDevDependencies bool

run

public run(): \App\Shared\Services\Security\ComposerAuditResult

Throws:


latest

public latest(): \App\Shared\Services\Security\ComposerAuditResult|null

Throws:


saveResult

private saveResult(\App\Shared\Services\Security\ComposerAuditResult $result): void

Parameters:

Parameter Type Description
$result \App\Shared\Services\Security\ComposerAuditResult

Throws:


normalizePackages

private normalizePackages(array $json): array

Parameters:

Parameter Type Description
$json array

countAdvisories

private countAdvisories(array $packages): int

Parameters:

Parameter Type Description
$packages array

fingerprint

private fingerprint(array $packages): string

Parameters:

Parameter Type Description
$packages array

maybeNotifyAdmins

private maybeNotifyAdmins(\App\Shared\Services\Security\ComposerAuditResult $result): void

Parameters:

Parameter Type Description
$result \App\Shared\Services\Security\ComposerAuditResult

Throws:


buildEmailBody

private buildEmailBody(\App\Shared\Services\Security\ComposerAuditResult $result): string

Parameters:

Parameter Type Description
$result \App\Shared\Services\Security\ComposerAuditResult