Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 14
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
SecretsAWS
0.00% covered (danger)
0.00%
0 / 14
0.00% covered (danger)
0.00%
0 / 1
12
0.00% covered (danger)
0.00%
0 / 1
 getSecretValue
0.00% covered (danger)
0.00%
0 / 14
0.00% covered (danger)
0.00%
0 / 1
12
1<?php
2
3namespace App\Services\FlyMsgAI;
4
5use Aws\SecretsManager\SecretsManagerClient;
6use Exception;
7use Illuminate\Support\Facades\Log;
8
9class SecretsAWS
10{
11    public static function getSecretValue()
12    {
13        $client = new SecretsManagerClient([
14            'region' => config('app.aws.region'),
15            'version' => config('app.aws.version'),
16            'credentials' => [
17                'key' => config('app.aws.key'),
18                'secret' => config('app.aws.secret'),
19            ],
20        ]);
21        try {
22            $result = $client->getSecretValue(['SecretId' => config('app.aws.manager_key', 'production/googleai')]);
23            if (isset($result['SecretString'])) {
24                return json_decode($result['SecretString'], true);
25            }
26        } catch (Exception $e) {
27            Log::error("Failed to retrieve secret: " . $e->getMessage());
28        }
29
30        return null;
31    }
32}