bastien-wink / okazeo-alert

0 stars 0 forks source link

Sweep: In MainCommand.php, make the nextUpdate trigger at 6am after the first update #1

Open bastien-wink opened 1 year ago

sweep-ai[bot] commented 1 year ago

Here's the PR! https://github.com/bastien-wink/okazeo-alert/pull/3.

⚡ Sweep Free Trial: I used GPT-4 to create this ticket. You have 5 GPT-4 tickets left. For more GPT-4 tickets, visit our payment portal.


Step 1: 🔍 Code Search

I found the following snippets in your repository. I will now analyze these snippets and come up with a plan.

Some code snippets I looked at (click to expand). If some file is missing from here, you can mention the path in the ticket description. https://github.com/bastien-wink/okazeo-alert/blob/7f893a236c9f893c58154804f046f64ba743b54c/src/Command/MainCommand.php#L1-L129 https://github.com/bastien-wink/okazeo-alert/blob/7f893a236c9f893c58154804f046f64ba743b54c/src/Entity/Subscription.php#L95-L217 https://github.com/bastien-wink/okazeo-alert/blob/7f893a236c9f893c58154804f046f64ba743b54c/migrations/Version20230605080814.php#L1-L45 https://github.com/bastien-wink/okazeo-alert/blob/7f893a236c9f893c58154804f046f64ba743b54c/src/Entity/Game.php#L123-L170 https://github.com/bastien-wink/okazeo-alert/blob/7f893a236c9f893c58154804f046f64ba743b54c/src/Entity/Subscription.php#L1-L165

Step 2: 🧐 Snippet Analysis

From looking through the relevant snippets, I decided to make the following modifications:

File Path Proposed Changes
src/Command/MainCommand.php In the execute function, replace the current calculation of nextUpdate with a new DateTime object for the next day and set the time to 6am. Specifically, replace the line $nextUpdate = $previousUpdate->add(new \DateInterval('PT'.$subscription->getFrequency().'H'))->sub(new \DateInterval('PT1M')); with the following code:
```
$nextUpdate = (clone $previousUpdate)->setTime(6, 0);
if ($nextUpdate <= $previousUpdate) {
$nextUpdate->add(new \DateInterval('P1D'));
}
```

Step 3: 📝 Planning

I have created a plan for writing the pull request. I am now working my plan and coding the required changes to address this issue. Here is the planned pull request:

Fix nextUpdate trigger time in MainCommand.php sweep/fix-nextupdate-trigger-time

Description

This PR fixes the calculation of the nextUpdate trigger time in the MainCommand.php file. Currently, the nextUpdate time is calculated by adding the subscription frequency to the previousUpdate time. However, this does not consider the specific time for the next update. This PR modifies the calculation to ensure that the next update is triggered at 6am after the first update.

Summary of Changes

  • Modified the calculation of the nextUpdate variable in the execute function of MainCommand.php.
  • Replaced the previous calculation with a new DateTime object for the next day and set the time to 6am.
  • Added a check to ensure that the nextUpdate time is always after the previousUpdate time.
  • Created a new branch "fix-nextupdate-trigger-time" for these changes.

Step 4: ⌨️ Coding

I have finished coding the issue. I am now reviewing it for completeness.


Step 5: 🔁 Code Review

Success! 🚀


I'm a bot that handles simple bugs and feature requests but I might make mistakes. Please be kind! Join Our Discord