mirror of
				https://github.com/fspc/BikeShed-1.git
				synced 2025-10-31 00:45:35 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			34 lines
		
	
	
		
			1001 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1001 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| class Api::V1::TimeEntriesController < Api::V1::BaseController
 | |
|   EXPECTED_TIME_ENTRY = "Expected time entry in submitted data"
 | |
|   NOT_FOUND = "Time entry not found"
 | |
| 
 | |
|   def create
 | |
|     if params[:time_entries] && time_entry = params[:time_entries].first
 | |
|       time_entry.merge!({ loggable_id: current_user.id,
 | |
|                           logger_id: current_user.id  })
 | |
|       bike_id = time_entry[:bike_id].to_i
 | |
| 
 | |
|       @time_entry = TimeEntry.new(time_entry.except(:bike_id))
 | |
| 
 | |
|       if bike_id > 0
 | |
|         @time_entry.copy_to_bike_history(bike_id)
 | |
|       end
 | |
| 
 | |
|       if !@time_entry.save
 | |
|         render json: { errors: @time_entry.errors }, status: 422 and return
 | |
|       end
 | |
|     else
 | |
|       render json: { errors: [EXPECTED_TIME_ENTRY]}, status: 422 and return
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   def delete
 | |
|     if time_entry = TimeEntry.find_by_id(params[:id])
 | |
|       time_entry.delete
 | |
|       render nothing: true, status: 204 and return
 | |
|     else
 | |
|       render json: { errors: [NOT_FOUND]}, status: 404 and return
 | |
|     end
 | |
|   end
 | |
| end
 |