sugizakikun / docker-laravel

ポートフォリオ
https://sakopi.site
1 stars 0 forks source link

【開発】エロ画像ブロック機能 #25

Closed sugizakikun closed 1 month ago

sugizakikun commented 1 month ago

対応Issue

エロ画像がアップロードされないようにしたい

やったこと

nsfw apiによりエロ画像と判定された画像がアップロードされたら以下の処理を走らせる。

updateメソッド本体

        $nsfwApiResponse = $this->sendNsfwApiRequest($s3Path);

        # サーバーエラーの場合はアップロードされたS3オブジェクトを削除し早期リターン
        if(isset($nsfwApiResponse['error_code'])){
            $this->deleteUploadedImage($fileName);

            return new NsfwErrorResponseDomain(
                $nsfwApiResponse['error_code'],
                $nsfwApiResponse['error_reason'],
                $nsfwApiResponse['url']
            );
        }

fargateにデプロイされたコンテナにAPIリクエストを送る処理

    public function sendNsfwApiRequest(string $s3Path) :array
    {
        $prefix = 'http://'.config('fargate.task_ip_address').':5000';
        $suffix = '/?url='. urlencode($s3Path);
        $endPoint = $prefix.$suffix;

        $jsonString = $this->httpClient->get($endPoint);
        return  json_decode($jsonString, true);
    }

その他考慮したこと