Skip to content

Commit

Permalink
should close #42; references #57
Browse files Browse the repository at this point in the history
  • Loading branch information
DaneEveritt committed Feb 15, 2016
1 parent cb85557 commit 3266f22
Showing 1 changed file with 61 additions and 60 deletions.
121 changes: 61 additions & 60 deletions app/Repositories/SubuserRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -114,50 +114,50 @@ public function create($sid, array $data)

DB::beginTransaction();

// Determine if this user exists or if we need to make them an account.
$user = Models\User::where('email', $data['email'])->first();
if (!$user) {
$password = str_random(16);
try {
$repo = new UserRepository;
$uid = $repo->create($data['email'], $password);
$user = Models\User::findOrFail($uid);
} catch (\Exception $ex) {
throw $ex;
try {
// Determine if this user exists or if we need to make them an account.
$user = Models\User::where('email', $data['email'])->first();
if (!$user) {
$password = str_random(16);
try {
$repo = new UserRepository;
$uid = $repo->create($data['email'], $password);
$user = Models\User::findOrFail($uid);
} catch (\Exception $ex) {
throw $ex;
}
}
}

$uuid = new UuidService;
$uuid = new UuidService;

$subuser = new Models\Subuser;
$subuser->fill([
'user_id' => $user->id,
'server_id' => $server->id,
'daemonSecret' => (string) $uuid->generate('servers', 'uuid')
]);
$subuser->save();

$daemonPermissions = $this->coreDaemonPermissions;
foreach($data['permissions'] as $permission) {
if (array_key_exists($permission, $this->permissions)) {
// Build the daemon permissions array for sending.
if (!is_null($this->permissions[$permission])) {
array_push($daemonPermissions, $this->permissions[$permission]);
$subuser = new Models\Subuser;
$subuser->fill([
'user_id' => $user->id,
'server_id' => $server->id,
'daemonSecret' => (string) $uuid->generate('servers', 'uuid')
]);
$subuser->save();

$daemonPermissions = $this->coreDaemonPermissions;
foreach($data['permissions'] as $permission) {
if (array_key_exists($permission, $this->permissions)) {
// Build the daemon permissions array for sending.
if (!is_null($this->permissions[$permission])) {
array_push($daemonPermissions, $this->permissions[$permission]);
}
$model = new Models\Permission;
$model->fill([
'user_id' => $user->id,
'server_id' => $server->id,
'permission' => $permission
]);
$model->save();
}
$model = new Models\Permission;
$model->fill([
'user_id' => $user->id,
'server_id' => $server->id,
'permission' => $permission
]);
$model->save();
}
}

// Contact Daemon
// We contact even if they don't have any daemon permissions to overwrite
// if they did have them previously.
try {
// Contact Daemon
// We contact even if they don't have any daemon permissions to overwrite
// if they did have them previously.

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

DB::beginTransaction();

Models\Permission::where('user_id', $subuser->user_id)->where('server_id', $subuser->server_id)->delete();

try {
Models\Permission::where('user_id', $subuser->user_id)->where('server_id', $subuser->server_id)->delete();

$node = Models\Node::getByID($server->node);
$client = Models\Node::guzzleRequest($server->node);

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

DB::beginTransaction();
Models\Permission::where('user_id', $subuser->user_id)->where('server_id', $subuser->server_id)->delete();

$daemonPermissions = $this->coreDaemonPermissions;
foreach($data['permissions'] as $permission) {
if (array_key_exists($permission, $this->permissions)) {
// Build the daemon permissions array for sending.
if (!is_null($this->permissions[$permission])) {
array_push($daemonPermissions, $this->permissions[$permission]);

try {
Models\Permission::where('user_id', $subuser->user_id)->where('server_id', $subuser->server_id)->delete();

$daemonPermissions = $this->coreDaemonPermissions;
foreach($data['permissions'] as $permission) {
if (array_key_exists($permission, $this->permissions)) {
// Build the daemon permissions array for sending.
if (!is_null($this->permissions[$permission])) {
array_push($daemonPermissions, $this->permissions[$permission]);
}
$model = new Models\Permission;
$model->fill([
'user_id' => $data['user'],
'server_id' => $data['server'],
'permission' => $permission
]);
$model->save();
}
$model = new Models\Permission;
$model->fill([
'user_id' => $data['user'],
'server_id' => $data['server'],
'permission' => $permission
]);
$model->save();
}
}

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

Expand Down

0 comments on commit 3266f22

Please sign in to comment.