Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 7 |
CRAP | |
0.00% |
0 / 43 |
DomainController | |
0.00% |
0 / 1 |
|
0.00% |
0 / 7 |
110 | |
0.00% |
0 / 43 |
__construct | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 3 |
|||
getZones | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
getRecords | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 6 |
|||
getRecord | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 3 |
|||
store | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 11 |
|||
update | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 12 |
|||
destroy | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 6 |
1 | <?php |
2 | |
3 | namespace Qmp\Laravel\Ovh\Controllers; |
4 | |
5 | use App\Http\Controllers\Controller; |
6 | use Illuminate\Http\Response; |
7 | use Illuminate\Support\Facades\Log; |
8 | use Qmp\Laravel\Acls\Models\RoleGroup; |
9 | use Qmp\Laravel\Acls\Facades\Role; |
10 | use Illuminate\Http\Request; |
11 | use Qmp\Laravel\MicroService\Controllers\AbstractMicroServiceController; |
12 | use Qmp\Laravel\Ovh\Ovh\Manager as OvhManager; |
13 | |
14 | class DomainController extends AbstractMicroServiceController |
15 | { |
16 | protected $ovh; |
17 | |
18 | public function __construct(Request $request) |
19 | { |
20 | $this->ovh = OvhManager::create(OvhManager::TYPE_DOMAIN); |
21 | |
22 | parent::__construct($request); |
23 | } |
24 | |
25 | public function getZones() |
26 | { |
27 | $zones = $this->ovh->getAll(); |
28 | |
29 | return response()->json($zones); |
30 | } |
31 | |
32 | public function getRecords($zone, Request $request) |
33 | { |
34 | $body = $request->all(); |
35 | unset($body['auth_user_id']); |
36 | unset($body['auth_type']); |
37 | |
38 | $this->ovh->zone($zone); |
39 | $records = $this->ovh->records($body); |
40 | |
41 | return response()->json($records); |
42 | } |
43 | |
44 | public function getRecord($zone, $id) |
45 | { |
46 | $this->ovh->zone($zone); |
47 | $record = $this->ovh->record($id); |
48 | |
49 | return response()->json($record); |
50 | } |
51 | |
52 | public function store($zone, Request $request) |
53 | { |
54 | $request->validate([ |
55 | 'fieldType' => 'required|max:255', |
56 | 'subDomain' => 'nullable', |
57 | 'target' => 'required|max:255', |
58 | 'ttl' => 'nullable', |
59 | ]); |
60 | |
61 | try { |
62 | $body = $request->all(); |
63 | unset($body['auth_user_id']); |
64 | unset($body['auth_type']); |
65 | |
66 | $this->ovh->zone($zone); |
67 | $this->ovh->add($body); |
68 | } catch(\Exception $e) { |
69 | Log::debug('Unable to store entity:' . var_export(['message' => $e->getMessage(), 'line' => $e->getLine(), 'file' => $e->getFile()], true)); |
70 | return response()->json(['error' => $e->getMessage()], Response::HTTP_UNPROCESSABLE_ENTITY); |
71 | } |
72 | |
73 | return response(['status' => 'ok'], Response::HTTP_CREATED); |
74 | } |
75 | |
76 | public function update($zone, $id, Request $request) |
77 | { |
78 | $request->validate([ |
79 | 'fieldType' => 'required|max:255', |
80 | 'subDomain' => 'nullable', |
81 | 'target' => 'required|max:255', |
82 | 'ttl' => 'nullable', |
83 | ]); |
84 | |
85 | try { |
86 | $body = $request->all(); |
87 | unset($body['auth_user_id']); |
88 | unset($body['auth_type']); |
89 | |
90 | $this->ovh->zone($zone); |
91 | $this->ovh->delete($id); |
92 | $this->ovh->add($body); |
93 | } catch(\Exception $e) { |
94 | Log::debug('Unable to update entity:' . var_export(['message' => $e->getMessage(), 'line' => $e->getLine(), 'file' => $e->getFile()], true)); |
95 | return response()->json(['error' => $e->getMessage()], Response::HTTP_UNPROCESSABLE_ENTITY); |
96 | } |
97 | |
98 | return response(['status' => 'ok'], Response::HTTP_OK); |
99 | } |
100 | |
101 | public function destroy($zone, $id) |
102 | { |
103 | try { |
104 | $this->ovh->zone($zone); |
105 | $this->ovh->delete($id); |
106 | } catch(\Exception $e) { |
107 | Log::debug('Unable to destroy entity:' . var_export(['message' => $e->getMessage(), 'line' => $e->getLine(), 'file' => $e->getFile()], true)); |
108 | return response()->json(['error' => $e->getMessage()], Response::HTTP_UNPROCESSABLE_ENTITY); |
109 | } |
110 | |
111 | return response(['status' => 'ok'], Response::HTTP_OK); |
112 | } |
113 | } |