Example icon indicating copy to clipboard operation
Example copied to clipboard

Fix error in bus.worldTime.currentTime

Open KLarpen opened this issue 6 months ago • 0 comments

Way to reproduce an error

  1. Enable execution of domain.time.start hook by switching config.examples.bus value to true
  2. node server.js
  3. There is a log message in a console that means something works not properly but without explicit error
20:40:18  W1   log     undefined - undefined

originated from https://github.com/metarhia/Example/blob/2435b8e643af3fc4a62fea1f3f20bdedc1e1d9c1/application/domain/time/start.js#L9 4. Check the whole time value by adding console.debug(time); line and restarting the server. 5. time contains an Error: Invalid result type: Field "dst_from" not of expected type: string; Field "dst_until" not of expected type: string that is returned error but not thrown exception. That's why it cannot be catched and actually happens during processing of successful remote service answer.

Resolving

Direct request to the remote service reveals that dst_from and day until might has null as a value.

{
  abbreviation: 'CET',
  client_ip: '176.36.183.159',
  datetime: '2023-12-15T21:44:59.632338+01:00',
  day_of_week: 5,
  day_of_year: 349,
  dst: false,
  dst_from: null,
  dst_offset: 0,
  dst_until: null,
  raw_offset: 3600,
  timezone: 'Europe/Rome',
  unixtime: 1702673099,
  utc_datetime: '2023-12-15T20:44:59.632338+00:00',
  utc_offset: '+01:00',
  week_number: 50
}

Which wasn't expected by returning schema https://github.com/metarhia/Example/blob/2435b8e643af3fc4a62fea1f3f20bdedc1e1d9c1/application/bus/worldTime/currentTime.js#L19-L21

Expected test result after fix approval

20:44:59  W1   log     Europe/Rome - 2023-12-15T21:44:59.632338+01:00

KLarpen avatar Dec 15 '23 21:12 KLarpen