Example #1
0
 public function store(EntryCrypt $entryCrypt)
 {
     $validator = Validator::make(['team_id' => Input::get('team_id'), 'project_id' => Input::get('project_id')], ProjectTeam::$rules);
     if ($validator->fails()) {
         return Response::make($validator->messages()->first(), 419);
     }
     if (ProjectTeam::where('team_id', Input::get('team_id'))->where('project_id', Input::get('project_id'))->count() > 0) {
         return Response::make('This team already has access.', 419);
     }
     $project = Project::findOrFail(Input::get('project_id'));
     $model = new ProjectTeam();
     $model->user_by_id = Auth::user()->id;
     $model->project_id = Input::get('project_id');
     $model->team_id = Input::get('team_id');
     DB::transaction(function () use($model, $entryCrypt, $project) {
         if (!$model->save()) {
             abort(403);
         }
         foreach ($project->keys as $key) {
             $entryCrypt->reencrypt($key);
         }
     });
     return $model;
 }