mirror of
				https://github.com/pelican-dev/panel.git
				synced 2025-10-26 08:06:52 +01:00 
			
		
		
		
	Fix all transaction try/catches, closes #57
This commit is contained in:
		
							parent
							
								
									e7436aab2b
								
							
						
					
					
						commit
						84a7eec2e1
					
				| @ -122,6 +122,7 @@ class APIRepository | |||||||
| 
 | 
 | ||||||
|         DB::beginTransaction(); |         DB::beginTransaction(); | ||||||
| 
 | 
 | ||||||
|  |         try { | ||||||
|             $secretKey = str_random(16) . '.' . str_random(15); |             $secretKey = str_random(16) . '.' . str_random(15); | ||||||
|             $key = new Models\APIKey; |             $key = new Models\APIKey; | ||||||
|             $key->fill([ |             $key->fill([ | ||||||
| @ -142,7 +143,6 @@ class APIRepository | |||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|         try { |  | ||||||
|             DB::commit(); |             DB::commit(); | ||||||
|             return $secretKey; |             return $secretKey; | ||||||
|         } catch (\Exception $ex) { |         } catch (\Exception $ex) { | ||||||
| @ -164,11 +164,16 @@ class APIRepository | |||||||
|     { |     { | ||||||
|         DB::beginTransaction(); |         DB::beginTransaction(); | ||||||
| 
 | 
 | ||||||
|  |         try { | ||||||
|             $model = Models\APIKey::where('public', $key)->firstOrFail(); |             $model = Models\APIKey::where('public', $key)->firstOrFail(); | ||||||
|             $permissions = Models\APIPermission::where('key_id', $model->id)->delete(); |             $permissions = Models\APIPermission::where('key_id', $model->id)->delete(); | ||||||
|             $model->delete(); |             $model->delete(); | ||||||
| 
 | 
 | ||||||
|             DB::commit(); |             DB::commit(); | ||||||
|  |         } catch (\Exception $ex) { | ||||||
|  |             DB::rollBack(); | ||||||
|  |             throw $ex; | ||||||
|  |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
|  | |||||||
| @ -151,6 +151,8 @@ class NodeRepository { | |||||||
|         $node = Models\Node::findOrFail($id); |         $node = Models\Node::findOrFail($id); | ||||||
| 
 | 
 | ||||||
|         DB::beginTransaction(); |         DB::beginTransaction(); | ||||||
|  | 
 | ||||||
|  |         try { | ||||||
|             foreach($allocations as $rawIP => $ports) { |             foreach($allocations as $rawIP => $ports) { | ||||||
|                 $parsedIP = Network::parse($rawIP); |                 $parsedIP = Network::parse($rawIP); | ||||||
|                 foreach($parsedIP as $ip) { |                 foreach($parsedIP as $ip) { | ||||||
| @ -195,7 +197,6 @@ class NodeRepository { | |||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|         try { |  | ||||||
|             DB::commit(); |             DB::commit(); | ||||||
|             return true; |             return true; | ||||||
|         } catch (\Exception $ex) { |         } catch (\Exception $ex) { | ||||||
|  | |||||||
| @ -194,6 +194,7 @@ class ServerRepository | |||||||
| 
 | 
 | ||||||
|         DB::beginTransaction(); |         DB::beginTransaction(); | ||||||
| 
 | 
 | ||||||
|  |         try { | ||||||
|             $uuid = new UuidService; |             $uuid = new UuidService; | ||||||
| 
 | 
 | ||||||
|             // Add Server to the Database
 |             // Add Server to the Database
 | ||||||
| @ -242,8 +243,6 @@ class ServerRepository | |||||||
|                 ]); |                 ]); | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|         try { |  | ||||||
| 
 |  | ||||||
|             $client = Models\Node::guzzleRequest($node->id); |             $client = Models\Node::guzzleRequest($node->id); | ||||||
|             $client->request('POST', '/servers', [ |             $client->request('POST', '/servers', [ | ||||||
|                 'headers' => [ |                 'headers' => [ | ||||||
| @ -317,6 +316,8 @@ class ServerRepository | |||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         DB::beginTransaction(); |         DB::beginTransaction(); | ||||||
|  | 
 | ||||||
|  |         try { | ||||||
|             $server = Models\Server::findOrFail($id); |             $server = Models\Server::findOrFail($id); | ||||||
|             $owner = Models\User::findOrFail($server->owner); |             $owner = Models\User::findOrFail($server->owner); | ||||||
| 
 | 
 | ||||||
| @ -348,8 +349,6 @@ class ServerRepository | |||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             // If we need to update do it here.
 |             // If we need to update do it here.
 | ||||||
|         try { |  | ||||||
| 
 |  | ||||||
|             $node = Models\Node::getByID($server->node); |             $node = Models\Node::getByID($server->node); | ||||||
|             $client = Models\Node::guzzleRequest($server->node); |             $client = Models\Node::guzzleRequest($server->node); | ||||||
| 
 | 
 | ||||||
| @ -411,6 +410,8 @@ class ServerRepository | |||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         DB::beginTransaction(); |         DB::beginTransaction(); | ||||||
|  | 
 | ||||||
|  |         try { | ||||||
|             $server = Models\Server::findOrFail($id); |             $server = Models\Server::findOrFail($id); | ||||||
| 
 | 
 | ||||||
|             if (isset($data['default'])) { |             if (isset($data['default'])) { | ||||||
| @ -501,8 +502,6 @@ class ServerRepository | |||||||
|                 $server->io = $data['io']; |                 $server->io = $data['io']; | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|         try { |  | ||||||
| 
 |  | ||||||
|             $node = Models\Node::getByID($server->node); |             $node = Models\Node::getByID($server->node); | ||||||
|             $client = Models\Node::guzzleRequest($server->node); |             $client = Models\Node::guzzleRequest($server->node); | ||||||
| 
 | 
 | ||||||
| @ -534,7 +533,6 @@ class ServerRepository | |||||||
|             throw new DisplayException('An error occured while attempting to update the configuration: ' . $ex->getMessage()); |             throw new DisplayException('An error occured while attempting to update the configuration: ' . $ex->getMessage()); | ||||||
|         } catch (\Exception $ex) { |         } catch (\Exception $ex) { | ||||||
|             DB::rollBack(); |             DB::rollBack(); | ||||||
|             Log::error($ex); |  | ||||||
|             throw $ex; |             throw $ex; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
| @ -547,6 +545,7 @@ class ServerRepository | |||||||
| 
 | 
 | ||||||
|         DB::beginTransaction(); |         DB::beginTransaction(); | ||||||
| 
 | 
 | ||||||
|  |         try { | ||||||
|             // Check the startup
 |             // Check the startup
 | ||||||
|             if (isset($data['startup'])) { |             if (isset($data['startup'])) { | ||||||
|                 $server->startup = $data['startup']; |                 $server->startup = $data['startup']; | ||||||
| @ -561,8 +560,6 @@ class ServerRepository | |||||||
|                 ->where('option_id', $server->option) |                 ->where('option_id', $server->option) | ||||||
|                 ->get(); |                 ->get(); | ||||||
| 
 | 
 | ||||||
|         try { |  | ||||||
| 
 |  | ||||||
|             $variableList = []; |             $variableList = []; | ||||||
|             if ($variables) { |             if ($variables) { | ||||||
|                 foreach($variables as &$variable) { |                 foreach($variables as &$variable) { | ||||||
| @ -664,6 +661,7 @@ class ServerRepository | |||||||
|         $node = Models\Node::findOrFail($server->node); |         $node = Models\Node::findOrFail($server->node); | ||||||
|         DB::beginTransaction(); |         DB::beginTransaction(); | ||||||
| 
 | 
 | ||||||
|  |         try { | ||||||
|             // Delete Allocations
 |             // Delete Allocations
 | ||||||
|             Models\Allocation::where('assigned_to', $server->id)->update([ |             Models\Allocation::where('assigned_to', $server->id)->update([ | ||||||
|                 'assigned_to' => null |                 'assigned_to' => null | ||||||
| @ -681,7 +679,6 @@ class ServerRepository | |||||||
|             // Remove Downloads
 |             // Remove Downloads
 | ||||||
|             Models\Download::where('server', $server->uuid)->delete(); |             Models\Download::where('server', $server->uuid)->delete(); | ||||||
| 
 | 
 | ||||||
|         try { |  | ||||||
|             $client = Models\Node::guzzleRequest($server->node); |             $client = Models\Node::guzzleRequest($server->node); | ||||||
|             $client->request('DELETE', '/servers', [ |             $client->request('DELETE', '/servers', [ | ||||||
|                 'headers' => [ |                 'headers' => [ | ||||||
|  | |||||||
| @ -69,11 +69,12 @@ class UserRepository | |||||||
|             throw new DisplayValidationException($validator->errors()); |             throw new DisplayValidationException($validator->errors()); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         DB::beginTransaction(); | ||||||
|  | 
 | ||||||
|  |         try { | ||||||
|             $user = new Models\User; |             $user = new Models\User; | ||||||
|             $uuid = new UuidService; |             $uuid = new UuidService; | ||||||
| 
 | 
 | ||||||
|         DB::beginTransaction(); |  | ||||||
| 
 |  | ||||||
|             $user->uuid = $uuid->generate('users', 'uuid'); |             $user->uuid = $uuid->generate('users', 'uuid'); | ||||||
|             $user->email = $email; |             $user->email = $email; | ||||||
|             $user->password = Hash::make($password); |             $user->password = Hash::make($password); | ||||||
| @ -81,7 +82,6 @@ class UserRepository | |||||||
|             $user->root_admin = ($admin) ? 1 : 0; |             $user->root_admin = ($admin) ? 1 : 0; | ||||||
|             $user->save(); |             $user->save(); | ||||||
| 
 | 
 | ||||||
|         try { |  | ||||||
|             Mail::queue('emails.new-account', [ |             Mail::queue('emails.new-account', [ | ||||||
|                 'email' => $user->email, |                 'email' => $user->email, | ||||||
|                 'forgot' => route('auth.password'), |                 'forgot' => route('auth.password'), | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Dane Everitt
						Dane Everitt