original_string: public function handle(CreateIncidentCommand $command)
      {
          $data = [
              'user_id'  => $this->auth->user()->id,
              'name'     => $command->name,
              'status'   => $command->status,
              'visible'  => $command->visible,
              'stickied' => $command->stickied,
          ];
  
          if ($template = IncidentTemplate::where('slug', '=', $command->template)->first()) {
              $data['message'] = $this->parseTemplate($template, $command);
          } else {
              $data['message'] = $command->message;
          }
  
          // Link with the component.
          if ($command->component_id) {
              $data['component_id'] = $command->component_id;
          }
  
          // The incident occurred at a different time.
          if ($occurredAt = $command->occurred_at) {
              if ($date = $this->dates->create('Y-m-d H:i', $occurredAt)) {
                  $data['occurred_at'] = $date;
              } else {
                  throw new InvalidIncidentTimestampException("Unable to pass timestamp {$occurredAt}");
              }
          } else {
              $data['occurred_at'] = Carbon::now();
          }
  
          // Create the incident
          $incident = Incident::create($data);
  
          // Store any meta?
          if ($meta = $command->meta) {
              $this->storeMeta($command->meta, 'incidents', $incident->id);
          }
  
          // Update the component.
          if ($component = Component::find($command->component_id)) {
              execute(new UpdateComponentCommand(
                  Component::find($command->component_id),
                  null,
                  null,
                  $command->component_status,
                  null,
                  null,
                  null,
                  null,
                  null,
                  false
              ));
          }
  
          event(new IncidentWasCreatedEvent($this->auth->user(), $incident, (bool) $command->notify));
  
          return $incident;
      }
code: public function handle(CreateIncidentCommand $command)
      {
          $data = [
              'user_id'  => $this->auth->user()->id,
              'name'     => $command->name,
              'status'   => $command->status,
              'visible'  => $command->visible,
              'stickied' => $command->stickied,
          ];
  
          if ($template = IncidentTemplate::where('slug', '=', $command->template)->first()) {
              $data['message'] = $this->parseTemplate($template, $command);
          } else {
              $data['message'] = $command->message;
          }
  
          // Link with the component.
          if ($command->component_id) {
              $data['component_id'] = $command->component_id;
          }
  
          // The incident occurred at a different time.
          if ($occurredAt = $command->occurred_at) {
              if ($date = $this->dates->create('Y-m-d H:i', $occurredAt)) {
                  $data['occurred_at'] = $date;
              } else {
                  throw new InvalidIncidentTimestampException("Unable to pass timestamp {$occurredAt}");
              }
          } else {
              $data['occurred_at'] = Carbon::now();
          }
  
          // Create the incident
          $incident = Incident::create($data);
  
          // Store any meta?
          if ($meta = $command->meta) {
              $this->storeMeta($command->meta, 'incidents', $incident->id);
          }
  
          // Update the component.
          if ($component = Component::find($command->component_id)) {
              execute(new UpdateComponentCommand(
                  Component::find($command->component_id),
                  null,
                  null,
                  $command->component_status,
                  null,
                  null,
                  null,
                  null,
                  null,
                  false
              ));
          }
  
          event(new IncidentWasCreatedEvent($this->auth->user(), $incident, (bool) $command->notify));
  
          return $incident;
      }
code_tokens: public function handle ( CreateIncidentCommand $ command ) { $ data = [ 'user_id' => $ this -> auth -> user ( ) -> id , 'name' => $ command -> name , 'status' => $ command -> status , 'visible' => $ command -> visible , 'stickied' => $ command -> stickied , ] ; if ( $ template = IncidentTemplate :: where ( 'slug' , '=' , $ command -> template ) -> first ( ) ) { $ data [ 'message' ] = $ this -> parseTemplate ( $ template , $ command ) ; } else { $ data [ 'message' ] = $ command -> message ; } // Link with the component. if ( $ command -> component_id ) { $ data [ 'component_id' ] = $ command -> component_id ; } // The incident occurred at a different time. if ( $ occurredAt = $ command -> occurred_at ) { if ( $ date = $ this -> dates -> create ( 'Y-m-d H:i' , $ occurredAt ) ) { $ data [ 'occurred_at' ] = $ date ; } else { throw new InvalidIncidentTimestampException ( "Unable to pass timestamp {$occurredAt}" ) ; } } else { $ data [ 'occurred_at' ] = Carbon :: now ( ) ; } // Create the incident $ incident = Incident :: create ( $ data ) ; // Store any meta? if ( $ meta = $ command -> meta ) { $ this -> storeMeta ( $ command -> meta , 'incidents' , $ incident -> id ) ; } // Update the component. if ( $ component = Component :: find ( $ command -> component_id ) ) { execute ( new UpdateComponentCommand ( Component :: find ( $ command -> component_id ) , null , null , $ command -> component_status , null , null , null , null , null , false ) ) ; } event ( new IncidentWasCreatedEvent ( $ this -> auth -> user ( ) , $ incident , ( bool ) $ command -> notify ) ) ; return $ incident ; }
docstring: Handle the create incident command.
  
  @param \CachetHQ\Cachet\Bus\Commands\Incident\CreateIncidentCommand $command
  
  @return \CachetHQ\Cachet\Models\Incident
docstring_tokens: Handle the create incident command .