http = new Client([ 'base_uri' => 'https://data.riksdagen.se/', ]); } public function searchPerson( string $mp_id = '', string $firstName = '', string $lastName = '', string $party = '' ): JsonResponse { $response = $this->http->get('personlista/', [ 'query' => [ 'iid' => $mp_id, 'parti' => $party, 'fnamn' => $firstName, 'enamn' => $lastName, 'utformat' => 'json', 'sort' => 'sorteringsnamn', 'sortorder' => 'asc', ], ])->getBody()->getContents(); $data = json_decode($response); return response()->json($data); } public function searchVotes( string $mp_id = '', string $party = '', string $date = '', ): JsonResponse { $response = $this->http->get('voteringlista/', [ 'query' => [ 'iid' => $mp_id, 'rm' => $date, 'parti' => $party, 'utformat' => 'json', 'sz' => '3000', ], ])->getBody()->getContents(); $data = json_decode($response); return response()->json($data); } public function getPersonMotions( string $mp_id, string $date = '', ): JsonResponse { $response = $this->http->get('dokumentlista/', [ 'query' => [ 'iid' => $mp_id, 'rm' => $date, 'doktyp' => 'mot', 'utformat' => 'json', ], ])->getBody()->getContents(); $data = json_decode($response); return response()->json($data); } public function getPartyMotions( string $party, string $date = '', ): JsonResponse { $response = $this->http->get('dokumentlista/', [ 'query' => [ 'parti' => $party, 'rm' => $date, 'doktyp' => 'mot', 'utformat' => 'json', ], ])->getBody()->getContents(); $data = json_decode($response); return response()->json($data); } public function searchMotions( string $query = '', string $party = '', string $dateInterval = '', int $page = 1 ): JsonResponse { $response = $this->http->get('dokumentlista/', [ 'query' => array_filter([ 'sok' => $query, 'parti' => $party, 'rm' => $dateInterval, 'doktyp' => 'mot', 'utformat' => 'json', 'p' => $page, ]), ])->getBody()->getContents(); $data = json_decode($response); return response()->json($data); } public function getMotion( string $bet, string $tempbet, string $nr, ): JsonResponse { $response = $this->http->get('dokumentlista/', [ 'query' => [ 'bet' => $bet, 'tempbet' => $tempbet, 'nr' => $nr, 'utformat' => 'json', ], ])->getBody()->getContents(); $data = json_decode($response); return response()->json($data); } }