· 7 years ago · Oct 21, 2018, 07:00 PM
1 public function getMiningLedger($character_id) {
2
3 try {
4
5
6 // Disable all caching by setting the NullCache as the
7 // preferred cache handler. By default, Eseye will use the
8 // FileCache.
9 $configuration = Configuration::getInstance();
10 $configuration->cache = NullCache::class;
11
12
13 // Get Character Information for Character ID including refresh_token
14 $Character = Characters::where('characterid', $character_id)
15 ->first();
16
17 // Prepare an authentication container for ESI
18 $client_id = config('eve.client_id');
19 $secret_key = config('eve.secret_key');
20 $refresh_token = $Character->refresh_token;
21
22 $authentication = new EsiAuthentication([
23 'client_id' => $client_id,
24 'secret' => $secret_key,
25 'refresh_token' => $refresh_token,
26 ]);;
27
28 // Instantiate a new ESI instance.
29 $esi = new Eseye($authentication);
30
31
32 // Get character information. This is a public call to the EVE
33 // Swagger Interface
34
35 $response = $esi->invoke('get', '/characters/{character_id}/mining/', [
36 'character_id' => $character_id,
37 ]);
38
39 foreach ($response as $ledger) {
40
41 $ledger_id = md5($character_id . "+" . $ledger->date . "+" . $ledger->solar_system_id . "+" . $ledger->type_id);
42
43 $ledger = CharacterMiningLedger::updateOrCreate([
44 'ledger_id' => $ledger_id
45 ],[
46 'character_id' => $character_id,
47 'date' => $ledger->date,
48 'quantity' => $ledger->quantity,
49 'solar_system_id' => $ledger->solar_system_id,
50 'type_id' => $ledger->type_id
51
52 ]);
53
54 }
55
56 } catch (EsiScopeAccessDeniedException $e) {
57
58 return ('Its fucked Jim: DENIED');
59
60 } catch (RequestFailedException $e) {
61
62 return ('Its fucked Jim: FAILED');
63
64 } catch (Exception $e) {
65
66 return ('Its fucked Jim: COMPLETELY FUCKED');
67
68 }
69
70 }