From c54cdd3eb48a445798f054e759e7556b68a1b0fe Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Tue, 23 May 2023 00:46:57 -0600 Subject: [PATCH] Update ApiV1Controller, add idempotency-key support to /api/v1/statuses endpoint --- app/Http/Controllers/Api/ApiV1Controller.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/Http/Controllers/Api/ApiV1Controller.php b/app/Http/Controllers/Api/ApiV1Controller.php index 9ac03a675..80657f64d 100644 --- a/app/Http/Controllers/Api/ApiV1Controller.php +++ b/app/Http/Controllers/Api/ApiV1Controller.php @@ -2786,6 +2786,13 @@ class ApiV1Controller extends Controller 'comments_disabled' => 'sometimes|boolean', ]); + if($request->hasHeader('idempotency-key')) { + $key = 'pf:api:v1:status:idempotency-key:' . $request->user()->id . ':' . hash('sha1', $request->header('idempotency-key')); + $exists = Cache::has($key); + abort_if($exists, 400, 'Duplicate idempotency key.'); + Cache::put($key, 1, 3600); + } + if(config('costar.enabled') == true) { $blockedKeywords = config('costar.keyword.block'); if($blockedKeywords !== null && $request->status) {