Skip to content
This repository was archived by the owner on Apr 21, 2025. It is now read-only.
This repository was archived by the owner on Apr 21, 2025. It is now read-only.

v2 backend: generate and serve case stats #1972

@rjhuijsman

Description

@rjhuijsman

Summary

Currently, the case stats being served by the v2 backend are...

  1. Static, out-of-date, not-localized stats, useful only as an example.
  2. Served by the old v1 API (getCaseStats) instead of using Firestore-based "API-less" access.

Desired Solution

We'd like to...

  1. Determine a good data layout in which to store case stats in Firestore Native.
  2. Periodically generate actual case stats (via scheduled Cloud Function)
  3. Modify the clients to read the case stats directly from Firestore, instead of going through the v1 API.

Additional Context

There is existing AppEngine code to generate case stats in RefreshCaseStatsServlet.java. We're looking to replace this code with our new Cloud Functions approach - its logic can likely be mostly maintained.

To allow for direct access from the client to Firestore, we will need to update our Firestore security rules in firestore.rules. Please also update the unit tests in firestore_rules.spec.ts to demonstrate which parts of the database should and should not be accessible directly to clients.

Metadata

Metadata

Assignees

Labels

needs:triageNew issue that needs triageresolved:staleNo recent activity on the issue or PRsource:publicIssues created by the public

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions