public function storeReferralCode($code, $user_id, $timestamp) { $data = ['code' => $code, 'user_id' => $user_id, 'timestamp' => $timestamp]; // TODO error handling $response = $this->client->GetItem(['TableName' => 'tr_referralcodes', 'Key' => ['code' => ['S' => $code]]]); if (!empty($response['Item'])) { throw new \Exception('Code already exists'); } $this->client->PutItem(['TableName' => 'tr_referralcodes', 'Item' => $this->marshaler->marshalItem($data)]); }