Skip to content

Commit 3266f22

Browse files
committed
should close pterodactyl#42; references pterodactyl#57
1 parent cb85557 commit 3266f22

File tree

1 file changed

+61
-60
lines changed

1 file changed

+61
-60
lines changed

app/Repositories/SubuserRepository.php

Lines changed: 61 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -114,50 +114,50 @@ public function create($sid, array $data)
114114

115115
DB::beginTransaction();
116116

117-
// Determine if this user exists or if we need to make them an account.
118-
$user = Models\User::where('email', $data['email'])->first();
119-
if (!$user) {
120-
$password = str_random(16);
121-
try {
122-
$repo = new UserRepository;
123-
$uid = $repo->create($data['email'], $password);
124-
$user = Models\User::findOrFail($uid);
125-
} catch (\Exception $ex) {
126-
throw $ex;
117+
try {
118+
// Determine if this user exists or if we need to make them an account.
119+
$user = Models\User::where('email', $data['email'])->first();
120+
if (!$user) {
121+
$password = str_random(16);
122+
try {
123+
$repo = new UserRepository;
124+
$uid = $repo->create($data['email'], $password);
125+
$user = Models\User::findOrFail($uid);
126+
} catch (\Exception $ex) {
127+
throw $ex;
128+
}
127129
}
128-
}
129130

130-
$uuid = new UuidService;
131+
$uuid = new UuidService;
131132

132-
$subuser = new Models\Subuser;
133-
$subuser->fill([
134-
'user_id' => $user->id,
135-
'server_id' => $server->id,
136-
'daemonSecret' => (string) $uuid->generate('servers', 'uuid')
137-
]);
138-
$subuser->save();
139-
140-
$daemonPermissions = $this->coreDaemonPermissions;
141-
foreach($data['permissions'] as $permission) {
142-
if (array_key_exists($permission, $this->permissions)) {
143-
// Build the daemon permissions array for sending.
144-
if (!is_null($this->permissions[$permission])) {
145-
array_push($daemonPermissions, $this->permissions[$permission]);
133+
$subuser = new Models\Subuser;
134+
$subuser->fill([
135+
'user_id' => $user->id,
136+
'server_id' => $server->id,
137+
'daemonSecret' => (string) $uuid->generate('servers', 'uuid')
138+
]);
139+
$subuser->save();
140+
141+
$daemonPermissions = $this->coreDaemonPermissions;
142+
foreach($data['permissions'] as $permission) {
143+
if (array_key_exists($permission, $this->permissions)) {
144+
// Build the daemon permissions array for sending.
145+
if (!is_null($this->permissions[$permission])) {
146+
array_push($daemonPermissions, $this->permissions[$permission]);
147+
}
148+
$model = new Models\Permission;
149+
$model->fill([
150+
'user_id' => $user->id,
151+
'server_id' => $server->id,
152+
'permission' => $permission
153+
]);
154+
$model->save();
146155
}
147-
$model = new Models\Permission;
148-
$model->fill([
149-
'user_id' => $user->id,
150-
'server_id' => $server->id,
151-
'permission' => $permission
152-
]);
153-
$model->save();
154156
}
155-
}
156157

157-
// Contact Daemon
158-
// We contact even if they don't have any daemon permissions to overwrite
159-
// if they did have them previously.
160-
try {
158+
// Contact Daemon
159+
// We contact even if they don't have any daemon permissions to overwrite
160+
// if they did have them previously.
161161

162162
$node = Models\Node::getByID($server->node);
163163
$client = Models\Node::guzzleRequest($server->node);
@@ -210,9 +210,9 @@ public function delete($id)
210210

211211
DB::beginTransaction();
212212

213-
Models\Permission::where('user_id', $subuser->user_id)->where('server_id', $subuser->server_id)->delete();
214-
215213
try {
214+
Models\Permission::where('user_id', $subuser->user_id)->where('server_id', $subuser->server_id)->delete();
215+
216216
$node = Models\Node::getByID($server->node);
217217
$client = Models\Node::guzzleRequest($server->node);
218218

@@ -265,29 +265,30 @@ public function update($id, array $data)
265265
$server = Models\Server::findOrFail($data['server']);
266266

267267
DB::beginTransaction();
268-
Models\Permission::where('user_id', $subuser->user_id)->where('server_id', $subuser->server_id)->delete();
269-
270-
$daemonPermissions = $this->coreDaemonPermissions;
271-
foreach($data['permissions'] as $permission) {
272-
if (array_key_exists($permission, $this->permissions)) {
273-
// Build the daemon permissions array for sending.
274-
if (!is_null($this->permissions[$permission])) {
275-
array_push($daemonPermissions, $this->permissions[$permission]);
268+
269+
try {
270+
Models\Permission::where('user_id', $subuser->user_id)->where('server_id', $subuser->server_id)->delete();
271+
272+
$daemonPermissions = $this->coreDaemonPermissions;
273+
foreach($data['permissions'] as $permission) {
274+
if (array_key_exists($permission, $this->permissions)) {
275+
// Build the daemon permissions array for sending.
276+
if (!is_null($this->permissions[$permission])) {
277+
array_push($daemonPermissions, $this->permissions[$permission]);
278+
}
279+
$model = new Models\Permission;
280+
$model->fill([
281+
'user_id' => $data['user'],
282+
'server_id' => $data['server'],
283+
'permission' => $permission
284+
]);
285+
$model->save();
276286
}
277-
$model = new Models\Permission;
278-
$model->fill([
279-
'user_id' => $data['user'],
280-
'server_id' => $data['server'],
281-
'permission' => $permission
282-
]);
283-
$model->save();
284287
}
285-
}
286288

287-
// Contact Daemon
288-
// We contact even if they don't have any daemon permissions to overwrite
289-
// if they did have them previously.
290-
try {
289+
// Contact Daemon
290+
// We contact even if they don't have any daemon permissions to overwrite
291+
// if they did have them previously.
291292
$node = Models\Node::getByID($server->node);
292293
$client = Models\Node::guzzleRequest($server->node);
293294

0 commit comments

Comments
 (0)