Skip to content

Conversation

@lukaskett
Copy link
Collaborator

@lukaskett lukaskett commented Apr 28, 2025

The service features:

  • manually upload data - start list, results
  • regular results data upload (according to the set interval)
  • send changes - edited competitor, new competitor, read out data

TODO:

  • Process changes that come from start/OChecklist app (origin=START) - changed status, card number or note
  • Add a more sophisticated way to distinguish between new and edited competitors (compares competitor id and actual sequence value at this moment) because both actions invokes the same db event.
  • Add delete competitor endpoint call

without compression, with fake filename that must be present
working upload (regular and after edit db event), readout event have to be tested
todo: download data from OF
add a new competitor (onfly is start time is inserted)
fix error eith running time that wasn't converted to seconds from miliseconds
iof status fix for time initial value -1 that caused OK status that was wrong for a new or updated competitor
Copy link
Collaborator

@fvacek fvacek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please fix indentation and read also QE coding style https://github.com/Quick-Box/quickevent/wiki/Code-style

// qf::core::utils::ConfigCLIOptions
// cliOptions()->eventName()
qf::core::sql::Query q_schema;
q_schema.exec("select current_schema", qf::core::Exception::Throw);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is too cumbersome way to find out if competitor was edited or inserted, we should better add this flag to DB_EVENT payload data

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This also will not work with SQLite

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agree, a new db event will solve it in much better way, but adding a new db event was too big task for me to be honest.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll add one

running_time = running_time_variant.toInt();
}

// Status
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a RunStatus utility class in libquickevent for this already

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RunStatus is not operating with Inactive status which is important as initial state for the platform

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What Inactive exactly means?

innactive ==  RunStatus WHERE all fields are false

in my understanding

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From IOF.xsd, link

<xsd:enumeration value="Inactive">
        <xsd:annotation>
          <xsd:documentation>
            Has not yet started.
          </xsd:documentation>
        </xsd:annotation>
</xsd:enumeration>

so it makes sense that all fields are false

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then RunStatus can be used, we can introduce RunStatus::isInactive()

@fvacek
Copy link
Collaborator

fvacek commented May 8, 2025

moved to #1009

@fvacek fvacek closed this May 8, 2025
@lukaskett lukaskett mentioned this pull request Oct 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants