Module: QTimetrap::Services::TimetrapGatewayUpdateTimeHelpers

Included in:
TimetrapGateway
Defined in:
app/services/timetrap_gateway_update_time_helpers.rb

Overview

Time bounds update workflow for Timetrap API/CLI adapters.

Instance Method Summary collapse

Instance Method Details

#update_time(entry_id, start_time:, end_time:) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'app/services/timetrap_gateway_update_time_helpers.rb', line 7

def update_time(entry_id, start_time:, end_time:)
  normalized_id = entry_id.to_i
  return if normalized_id.zero?

  if api_available?
    logger.log_api(
      operation: 'update_time',
      input: {
        entry_id: normalized_id,
        start_time: start_time&.iso8601,
        end_time: end_time&.iso8601
      },
      output: 'requested'
    )
    result = update_time_via_api(normalized_id, start_time: start_time, end_time: end_time)
    logger.log_api(operation: 'update_time', input: {}, output: result.to_s)
    return result
  end

  update_time_via_cli(normalized_id, start_time: start_time, end_time: end_time)
end