Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(reports): NASS-1481: Default date ranges to use strings and end/start of day fixes #7229

Open
wants to merge 16 commits into
base: main
Choose a base branch
from

Conversation

dannash100
Copy link
Contributor

@dannash100 dannash100 commented Feb 17, 2025

Changes

  • Use date_time_strings for default date ranges ( we are comparing with date_time_string fields
  • Flip filterDateRangeAsStrings default to true
  • Fix issue with fromDate and toDate not using startOfDay and endOfDay
  • Fix next thirty days to start at start of next day and then end of day at 30 days ahead.

Doing some testing with Juliana ✅ given the LGTM

table of all possible behaviors see comment
Screenshot 2025-02-18 at 2 27 21 PM

Deploys

  • Deploy to Tamanu Internal

Remember to...

  • ...write or update tests
  • ...add UI screenshots and testing notes to the Linear issue
  • ...add any manual upgrade steps to the Linear issue
  • ...update the config reference, settings reference, or any relevant runbook(s)
  • ...call out additions or changes to config files for the deployment team to take note of

Copy link

github-actions bot commented Feb 18, 2025

Android builds 📱

Copy link

github-actions bot commented Feb 18, 2025

🍹 destroy on tamanu-on-k8s/bes/tamanu-on-k8s/fix-nass-1481-report-date-fixes

Pulumi report
   Destroying (bes/fix-nass-1481-report-date-fixes)

View Live: https://app.pulumi.com/bes/tamanu-on-k8s/fix-nass-1481-report-date-fixes/updates/2

@ Destroying....

-  kubernetes:apps/v1:Deployment facility-2-tasks deleting (0s) 
-  kubernetes:apps/v1:Deployment facility-2-api deleting (0s) 
-  kubernetes:apps/v1:Deployment facility-2-sync deleting (0s) 
@ Destroying......
-  kubernetes:apps/v1:Deployment facility-2-tasks deleting (3s) Resource scheduled for deletion
@ Destroying....
-  kubernetes:apps/v1:Deployment facility-2-api deleting (3s) Resource scheduled for deletion
-  kubernetes:apps/v1:Deployment facility-2-sync deleting (3s) Resource scheduled for deletion
-  kubernetes:apps/v1:Deployment facility-2-api deleting (4s) 
-  kubernetes:apps/v1:Deployment facility-2-api deleted (4s) 
@ Destroying.................................
-  kubernetes:apps/v1:Deployment facility-2-tasks deleting (34s) 
-  kubernetes:apps/v1:Deployment facility-2-tasks deleted (34s) 
-  kubernetes:apps/v1:Deployment facility-2-sync deleting (34s) 
-  kubernetes:apps/v1:Deployment facility-2-sync deleted (34s) 
@ Destroying....
-  kubernetes:networking.k8s.io/v1:Ingress facility-2 deleting (0s) 
-  kubernetes:networking.k8s.io/v1:Ingress central deleting (0s) 
-  kubernetes:networking.k8s.io/v1:Ingress facility-1 deleting (0s) 
-  kubernetes:batch/v1:Job facility-2-migrator deleting (0s) 
@ Destroying....
-  kubernetes:networking.k8s.io/v1:Ingress central deleting (1s) 
-  kubernetes:networking.k8s.io/v1:Ingress central deleted (1s) 
-  kubernetes:networking.k8s.io/v1:Ingress facility-1 deleting (1s) 
-  kubernetes:networking.k8s.io/v1:Ingress facility-1 deleted (1s) 
@ Destroying....
-  kubernetes:batch/v1:Job facility-2-migrator deleting (2s) 
-  kubernetes:batch/v1:Job facility-2-migrator deleted (2s) 
@ Destroying..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
-  kubernetes:networking.k8s.io/v1:Ingress facility-2 deleting (600s) 
-  kubernetes:networking.k8s.io/v1:Ingress facility-2 deleted (600s) 
-  kubernetes:core/v1:Service facility-2-web deleting (0s) 
-  kubernetes:core/v1:Service central-web deleting (0s) 
-  kubernetes:apps/v1:Deployment facility-1-web deleting (0s) 
-  kubernetes:apps/v1:Deployment central-web deleting (0s) 
-  kubernetes:core/v1:Service facility-1-web deleting (0s) 
-  kubernetes:apps/v1:Deployment facility-2-web deleting (0s) 
@ Destroying....
-  kubernetes:core/v1:Service facility-2-web deleting (0s) 
-  kubernetes:core/v1:Service facility-2-web deleted (0.74s) 
-  kubernetes:core/v1:Service central-web deleting (1s) 
-  kubernetes:core/v1:Service central-web deleted (1s) 
-  kubernetes:apps/v1:Deployment facility-1-web deleting (1s) Resource scheduled for deletion
-  kubernetes:core/v1:Service facility-1-web deleting (1s) Resource scheduled for deletion
-  kubernetes:apps/v1:Deployment facility-2-web deleting (1s) Resource scheduled for deletion
@ Destroying....
-  kubernetes:apps/v1:Deployment central-web deleting (1s) Resource scheduled for deletion
-  kubernetes:core/v1:Service facility-1-web deleting (2s) 
-  kubernetes:core/v1:Service facility-1-web deleted (2s) 
-  kubernetes:apps/v1:Deployment facility-1-web deleting (2s) 
-  kubernetes:apps/v1:Deployment facility-1-web deleted (2s) 
@ Destroying.....
-  kubernetes:apps/v1:Deployment central-web deleting (3s) 
-  kubernetes:apps/v1:Deployment central-web deleted (3s) 
-  kubernetes:apps/v1:Deployment facility-2-web deleting (3s) 
-  kubernetes:apps/v1:Deployment facility-2-web deleted (3s) 
-  bes:tamanu:WebFrontend facility-1 deleting (0s) 
-  kubernetes:core/v1:ServiceAccount app-sa deleting (0s) 
-  kubernetes:core/v1:ConfigMap central deleting (0s) 
-  kubernetes:core/v1:ConfigMap provisioning deleting (0s) 
-  kubernetes:core/v1:Secret mailgun deleting (0s) 
-  kubernetes:core/v1:ConfigMap facility-1 deleting (0s) 
-  kubernetes:hnc.x-k8s.io/v1alpha2:HierarchyConfiguration parent-ns deleting (0s) 
-  kubernetes:core/v1:ConfigMap facility-2 deleting (0s) 
-  kubernetes:networking.k8s.io/v1:Ingress bare-domain deleting (0s) 
-  kubernetes:core/v1:Secret facility-2-db-url deleting (0s) 
-  bes:tamanu:WebFrontend facility-2 deleting (0s) 
-  kubernetes:core/v1:Service facility-2-sync deleting (0s) 
-  kubernetes:postgresql.cnpg.io/v1:Cluster facility-1-db deleting (0s) 
-  kubernetes:core/v1:Service facility-1-api deleting (0s) 
-  kubernetes:core/v1:Service central-api deleting (0s) 
-  kubernetes:postgresql.cnpg.io/v1:Cluster facility-2-db deleting (0s) 
@ Destroying....
-  kubernetes:core/v1:Service facility-1-api deleting (0s) 
-  kubernetes:core/v1:Service facility-1-api deleted (0.83s) 
-  kubernetes:core/v1:ServiceAccount app-sa deleting (1s) 
-  kubernetes:core/v1:ServiceAccount app-sa deleted (1s) 
-  kubernetes:core/v1:ConfigMap central deleting (1s) 
-  kubernetes:core/v1:ConfigMap central deleted (1s) 
-  kubernetes:core/v1:ConfigMap provisioning deleting (1s) 
-  kubernetes:core/v1:ConfigMap provisioning deleted (1s) 
@ Destroying....
-  kubernetes:core/v1:Service central-api deleting (1s) 
-  kubernetes:core/v1:Service central-api deleted (1s) 
-  kubernetes:core/v1:Secret mailgun deleting (1s) 
-  kubernetes:core/v1:Secret mailgun deleted (1s) 
-  kubernetes:core/v1:Secret facility-2-db-url deleting (2s) 
-  kubernetes:core/v1:Secret facility-2-db-url deleted (2s) 
-  kubernetes:core/v1:ConfigMap facility-1 deleting (2s) 
-  kubernetes:core/v1:ConfigMap facility-1 deleted (2s) 
-  kubernetes:core/v1:Service facility-2-sync deleting (2s) 
-  kubernetes:core/v1:Service facility-2-sync deleted (2s) 
@ Destroying....
-  kubernetes:hnc.x-k8s.io/v1alpha2:HierarchyConfiguration parent-ns deleting (2s) 
-  kubernetes:hnc.x-k8s.io/v1alpha2:HierarchyConfiguration parent-ns deleted (2s) 
-  kubernetes:postgresql.cnpg.io/v1:Cluster facility-1-db deleting (3s) Resource scheduled for deletion
-  kubernetes:core/v1:Service facility-2-api deleting (0s) 
-  kubernetes:networking.k8s.io/v1:Ingress bare-domain deleting (3s) Resource scheduled for deletion
-  kubernetes:core/v1:Service facility-1-sync deleting (0s) 
-  kubernetes:core/v1:ConfigMap facility-2 deleting (3s) Resource scheduled for deletion
-  kubernetes:postgresql.cnpg.io/v1:Cluster central-db deleting (0s) 
@ Destroying....
-  kubernetes:core/v1:ConfigMap facility-2 deleting (3s) 
-  kubernetes:core/v1:ConfigMap facility-2 deleted (3s) 
-  kubernetes:core/v1:Secret tupaia deleting (0s) 
-  kubernetes:postgresql.cnpg.io/v1:Cluster facility-2-db deleting (3s) Resource scheduled for deletion
-  kubernetes:core/v1:Secret pullsecret-github deleting (0s) 
-  kubernetes:networking.k8s.io/v1:Ingress bare-domain deleting (4s) 
-  kubernetes:networking.k8s.io/v1:Ingress bare-domain deleted (4s) 
-  kubernetes:core/v1:Secret bugsnag deleting (0s) 
-  bes:tamanu:WebFrontend central deleting (0s) 
@ Destroying.....
-  kubernetes:core/v1:Service facility-2-api deleting (2s) Resource scheduled for deletion
-  kubernetes:core/v1:Service facility-1-sync deleting (2s) Resource scheduled for deletion
-  kubernetes:postgresql.cnpg.io/v1:Cluster central-db deleting (2s) Resource scheduled for deletion
-  kubernetes:core/v1:Secret pullsecret-github deleting (2s) Resource scheduled for deletion
@ Destroying....
-  kubernetes:core/v1:Secret tupaia deleting (2s) Resource scheduled for deletion
-  kubernetes:postgresql.cnpg.io/v1:Cluster facility-1-db deleting (7s) 
-  kubernetes:postgresql.cnpg.io/v1:Cluster facility-1-db deleted (7s) 
-  kubernetes:core/v1:Secret bugsnag deleting (3s) Resource scheduled for deletion
@ Destroying....
-  kubernetes:core/v1:Service facility-2-api deleting (4s) 
-  kubernetes:core/v1:Service facility-2-api deleted (4s) 
-  kubernetes:core/v1:Service facility-1-sync deleting (4s) 
-  kubernetes:core/v1:Service facility-1-sync deleted (4s) 
-  kubernetes:core/v1:Secret tupaia deleting (4s) 
-  kubernetes:core/v1:Secret tupaia deleted (4s) 
-  kubernetes:postgresql.cnpg.io/v1:Cluster facility-2-db deleting (8s) 
-  kubernetes:postgresql.cnpg.io/v1:Cluster facility-2-db deleted (8s) 
-  kubernetes:core/v1:Secret pullsecret-github deleting (4s) 
-  kubernetes:core/v1:Secret pullsecret-github deleted (4s) 
-  kubernetes:core/v1:Secret bugsnag deleting (4s) 
-  kubernetes:core/v1:Secret bugsnag deleted (4s) 
@ Destroying.....
-  kubernetes:postgresql.cnpg.io/v1:Cluster central-db deleting (6s) 
-  kubernetes:postgresql.cnpg.io/v1:Cluster central-db deleted (6s) 
-  bes:tamanu:FacilityServer 2 deleting (0s) 
-  bes:tamanu:CentralServer central deleting (0s) 
-  bes:tamanu:FacilityServer 1 deleting (0s) 
-  kubernetes:core/v1:Namespace tamanu-fix-nass-1481-report-date-fixes deleting (0s) 
@ Destroying.....
-  kubernetes:core/v1:Namespace tamanu-fix-nass-1481-report-date-fixes deleting (1s) Resource scheduled for deletion
@ Destroying........
-  kubernetes:core/v1:Namespace tamanu-fix-nass-1481-report-date-fixes deleting (7s) 
-  kubernetes:core/v1:Namespace tamanu-fix-nass-1481-report-date-fixes deleted (7s) 
@ Destroying....
-  pulumi:pulumi:Stack tamanu-on-k8s-fix-nass-1481-report-date-fixes deleting (0s) 
@ Destroying....
-  pulumi:pulumi:Stack tamanu-on-k8s-fix-nass-1481-report-date-fixes deleted (0.42s) 
Outputs:
 - urls: {
     - Central    : "https://central.fix-nass-1481-report-date-fixes.internal.tamanu.io"
     - Facility- 1: "https://facility-1.fix-nass-1481-report-date-fixes.internal.tamanu.io"
     - Facility- 2: "https://facility-2.fix-nass-1481-report-date-fixes.internal.tamanu.io"
   }

Resources:
   - 41 deleted

Duration: 10m59s

The resources in the stack have been deleted, but the history and configuration associated with the stack are still maintained. 
If you want to remove the stack completely, run `pulumi stack rm bes/fix-nass-1481-report-date-fixes`.
   

Copy link

github-actions bot commented Feb 19, 2025

🍹 up on tamanu-on-k8s/bes/tamanu-on-k8s/fix-nass-1481-report-date-fixes

Pulumi report
  Updating (bes/fix-nass-1481-report-date-fixes)

View Live: https://app.pulumi.com/bes/tamanu-on-k8s/fix-nass-1481-report-date-fixes/updates/2

@ Updating.....

@ Updating.......
  pulumi:pulumi:Stack tamanu-on-k8s-fix-nass-1481-report-date-fixes running read pulumi:pulumi:StackReference bes/k8s-core/tamanu-internal-main
@ Updating......
  pulumi:pulumi:Stack tamanu-on-k8s-fix-nass-1481-report-date-fixes running read pulumi:pulumi:StackReference bes/k8s-core/tamanu-internal-main
@ Updating....
  pulumi:pulumi:Stack tamanu-on-k8s-fix-nass-1481-report-date-fixes running Using tailscale proxy https://k8s-operator-tamanu-internal-main.tail53aef.ts.net
  pulumi:pulumi:Stack tamanu-on-k8s-fix-nass-1481-report-date-fixes running read pulumi:pulumi:StackReference bes/core/tamanu-internal
  pulumi:pulumi:Stack tamanu-on-k8s-fix-nass-1481-report-date-fixes running Waiting for central-db...
  pulumi:pulumi:Stack tamanu-on-k8s-fix-nass-1481-report-date-fixes running Waiting for facility-1-db...
  pulumi:pulumi:Stack tamanu-on-k8s-fix-nass-1481-report-date-fixes running Waiting for facility-2-db...
@ Updating....
  pulumi:pulumi:Stack tamanu-on-k8s-fix-nass-1481-report-date-fixes running read pulumi:pulumi:StackReference bes/core/tamanu-internal
  pulumi:pulumi:Stack tamanu-on-k8s-fix-nass-1481-report-date-fixes running read kubernetes:core/v1:ConfigMap actual-provisioning
@ Updating....
  pulumi:pulumi:Stack tamanu-on-k8s-fix-nass-1481-report-date-fixes running Secret facility-1-db-superuser not found or not ready: Error: HTTP-Code: 404
  pulumi:pulumi:Stack tamanu-on-k8s-fix-nass-1481-report-date-fixes running Message: Unknown API Status Code!
  pulumi:pulumi:Stack tamanu-on-k8s-fix-nass-1481-report-date-fixes running Body: "{\"kind\":\"Status\",\"apiVersion\":\"v1\",\"metadata\":{},\"status\":\"Failure\",\"message\":\"secrets \\\"facility-1-db-superuser\\\" not found\",\"reason\":\"NotFound\",\"details\":{\"name\":\"facility-1-db-superuser\",\"kind\":\"secrets\"},\"code\":404}
"
  pulumi:pulumi:Stack tamanu-on-k8s-fix-nass-1481-report-date-fixes running Headers: {"audit-id":"2b4b9d0a-c421-4f87-8fb1-85f9c134a26c","cache-control":"no-cache, private","connection":"close","content-length":"220","content-type":"application/json","date":"Thu, 20 Feb 2025 00:12:04 GMT","x-kubernetes-pf-flowschema-uid":"7d46608e-fb55-48cf-90aa-981c856b1d54","x-kubernetes-pf-prioritylevel-uid":"ed197318-138c-44ea-825e-1d4df495928e"}
  pulumi:pulumi:Stack tamanu-on-k8s-fix-nass-1481-report-date-fixes running read kubernetes:core/v1:ConfigMap actual-provisioning
  pulumi:pulumi:Stack tamanu-on-k8s-fix-nass-1481-report-date-fixes running Secret facility-2-db-superuser not found or not ready: Error: HTTP-Code: 404
  pulumi:pulumi:Stack tamanu-on-k8s-fix-nass-1481-report-date-fixes running Message: Unknown API Status Code!
  pulumi:pulumi:Stack tamanu-on-k8s-fix-nass-1481-report-date-fixes running Body: "{\"kind\":\"Status\",\"apiVersion\":\"v1\",\"metadata\":{},\"status\":\"Failure\",\"message\":\"secrets \\\"facility-2-db-superuser\\\" not found\",\"reason\":\"NotFound\",\"details\":{\"name\":\"facility-2-db-superuser\",\"kind\":\"secrets\"},\"code\":404}
"
  pulumi:pulumi:Stack tamanu-on-k8s-fix-nass-1481-report-date-fixes running Headers: {"audit-id":"443283f4-a702-45f7-ae6a-94a55a383d57","cache-control":"no-cache, private","connection":"close","content-length":"220","content-type":"application/json","date":"Thu, 20 Feb 2025 00:12:05 GMT","x-kubernetes-pf-flowschema-uid":"7d46608e-fb55-48cf-90aa-981c856b1d54","x-kubernetes-pf-prioritylevel-uid":"ed197318-138c-44ea-825e-1d4df495928e"}
  pulumi:pulumi:Stack tamanu-on-k8s-fix-nass-1481-report-date-fixes running Secret central-db-superuser not found or not ready: Error: HTTP-Code: 404
  pulumi:pulumi:Stack tamanu-on-k8s-fix-nass-1481-report-date-fixes running Message: Unknown API Status Code!
  pulumi:pulumi:Stack tamanu-on-k8s-fix-nass-1481-report-date-fixes running Body: "{\"kind\":\"Status\",\"apiVersion\":\"v1\",\"metadata\":{},\"status\":\"Failure\",\"message\":\"secrets \\\"central-db-superuser\\\" not found\",\"reason\":\"NotFound\",\"details\":{\"name\":\"central-db-superuser\",\"kind\":\"secrets\"},\"code\":404}
"
  pulumi:pulumi:Stack tamanu-on-k8s-fix-nass-1481-report-date-fixes running Headers: {"audit-id":"49bf83b1-847f-43ab-a9cb-33415a436528","cache-control":"no-cache, private","connection":"close","content-length":"214","content-type":"application/json","date":"Thu, 20 Feb 2025 00:12:05 GMT","x-kubernetes-pf-flowschema-uid":"7d46608e-fb55-48cf-90aa-981c856b1d54","x-kubernetes-pf-prioritylevel-uid":"ed197318-138c-44ea-825e-1d4df495928e"}
@ Updating....
  pulumi:pulumi:Stack tamanu-on-k8s-fix-nass-1481-report-date-fixes  16 messages
Diagnostics:
pulumi:pulumi:Stack (tamanu-on-k8s-fix-nass-1481-report-date-fixes):
  Waiting for central-db...
  Waiting for facility-1-db...
  Waiting for facility-2-db...

  Using tailscale proxy https://k8s-operator-tamanu-internal-main.tail53aef.ts.net

  Secret facility-1-db-superuser not found or not ready: Error: HTTP-Code: 404
  Message: Unknown API Status Code!
  Body: "{\"kind\":\"Status\",\"apiVersion\":\"v1\",\"metadata\":{},\"status\":\"Failure\",\"message\":\"secrets \\\"facility-1-db-superuser\\\" not found\",\"reason\":\"NotFound\",\"details\":{\"name\":\"facility-1-db-superuser\",\"kind\":\"secrets\"},\"code\":404}
"
  Headers: {"audit-id":"2b4b9d0a-c421-4f87-8fb1-85f9c134a26c","cache-control":"no-cache, private","connection":"close","content-length":"220","content-type":"application/json","date":"Thu, 20 Feb 2025 00:12:04 GMT","x-kubernetes-pf-flowschema-uid":"7d46608e-fb55-48cf-90aa-981c856b1d54","x-kubernetes-pf-prioritylevel-uid":"ed197318-138c-44ea-825e-1d4df495928e"}
  Secret facility-2-db-superuser not found or not ready: Error: HTTP-Code: 404
  Message: Unknown API Status Code!
  Body: "{\"kind\":\"Status\",\"apiVersion\":\"v1\",\"metadata\":{},\"status\":\"Failure\",\"message\":\"secrets \\\"facility-2-db-superuser\\\" not found\",\"reason\":\"NotFound\",\"details\":{\"name\":\"facility-2-db-superuser\",\"kind\":\"secrets\"},\"code\":404}
"
  Headers: {"audit-id":"443283f4-a702-45f7-ae6a-94a55a383d57","cache-control":"no-cache, private","connection":"close","content-length":"220","content-type":"application/json","date":"Thu, 20 Feb 2025 00:12:05 GMT","x-kubernetes-pf-flowschema-uid":"7d46608e-fb55-48cf-90aa-981c856b1d54","x-kubernetes-pf-prioritylevel-uid":"ed197318-138c-44ea-825e-1d4df495928e"}
  Secret central-db-superuser not found or not ready: Error: HTTP-Code: 404
  Message: Unknown API Status Code!
  Body: "{\"kind\":\"Status\",\"apiVersion\":\"v1\",\"metadata\":{},\"status\":\"Failure\",\"message\":\"secrets \\\"central-db-superuser\\\" not found\",\"reason\":\"NotFound\",\"details\":{\"name\":\"central-db-superuser\",\"kind\":\"secrets\"},\"code\":404}
"
  Headers: {"audit-id":"49bf83b1-847f-43ab-a9cb-33415a436528","cache-control":"no-cache, private","connection":"close","content-length":"214","content-type":"application/json","date":"Thu, 20 Feb 2025 00:12:05 GMT","x-kubernetes-pf-flowschema-uid":"7d46608e-fb55-48cf-90aa-981c856b1d54","x-kubernetes-pf-prioritylevel-uid":"ed197318-138c-44ea-825e-1d4df495928e"}

Outputs:
  urls: {
      Central    : "https://central.fix-nass-1481-report-date-fixes.internal.tamanu.io"
      Facility- 1: "https://facility-1.fix-nass-1481-report-date-fixes.internal.tamanu.io"
      Facility- 2: "https://facility-2.fix-nass-1481-report-date-fixes.internal.tamanu.io"
  }

Resources:
  53 unchanged

Duration: 11s

  

Copy link
Contributor

@tcodling tcodling left a comment

Choose a reason for hiding this comment

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

Great job with this and super thorough testing! Although man its annoying how verbose we gotta get with the date strings sometimes

@dannash100
Copy link
Contributor Author

Y3ah fr we could probably abstract basic actions to clean up in alot of places it's pretty similar stuff

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