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

feat: add category of funding activity as search field #2267

Merged
merged 3 commits into from
Dec 13, 2023

Conversation

sanason
Copy link
Contributor

@sanason sanason commented Nov 28, 2023

Ticket #2109

Description

This PR adds "Category of Funding Activity" as a searchable field on grants. I followed the implementation plan in the ticket pretty closely and used the existing eligibility_codes field as a model. I did make one implementation choice that differs from the eligibility_codes implementation, discussed here.

Screenshots / Demo Video

Video demonstrating creating and executing new search, viewing grant details from the grants table, exporting to CSV. One execution path not shown in the video is viewing grant details from the Dashboard tab. I didn't realize at first that that required a different API endpoint (but I did eventually and that path works too now).

Note: The video was made before we switched to using vue-select instead of Multiselect but the PR has been updated to use vue-select. Screenshot:

Screenshot 2023-12-12 at 1 32 20 PM
usdr-gost-2109.demo.mov

UI questions/comments:

  1. On grants.gov, some category names have parenthetical comments (for example, "Arts (see "Cultural Affairs" in CFDA)"). Those comments aren't in our schema and I didn't include them. Should I add them?
  2. I wasn't sure how best to display a grant with multiple categories on the grant details page. I have them with the names joined together with commas but this might be a little confusing since some of the names have commas in them themselves. On grants.gov, multiple category names are stacked vertically but that approach didn't really fit with the layout of our grant details modal. I decided commas are good enough for now since the details page is being redesigned anyway.

Testing

To test locally, migrate and re-seed the database and then click around to see the changes. The demo video shows the parts of the app that have changed.

I could never get the grants-ingest pipeline to run end-to-end locally (it ran successfully through PersistGrantsGovXMLDB but never published anything) so I can't say for sure that ingestion will work correctly. I followed the schema (openapi/openapi.yaml) and I updated the unit tests for grants-ingest.js on the usdr-gost side to include funding activity.

Automated and Unit Tests

  • Added Unit tests

Manual tests for Reviewer

  • Added steps to test feature/functionality manually

Checklist

  • Provided ticket and description
  • Provided screenshots/demo
  • Provided testing information
  • Provided adequate test coverage for all new code
  • Added PR reviewers

@sanason sanason force-pushed the 2109-add-category-of-funding-activity-search-field branch 6 times, most recently from b5b0638 to f2b99aa Compare November 29, 2023 22:39
const viewedByAgencies = viewedBy.filter((viewed) => viewed.grant_id === grant.grant_id);
const agenciesInterested = interestedBy.filter((interested) => interested.grant_id === grant.grant_id);
return {
...grant,
etitle: decodeURIComponent(escape(grant.title)),
viewed_by_agencies: viewedByAgencies,
interested_agencies: agenciesInterested,
funding_activity_categories: (grant.funding_activity_category_codes || '')
.split(' ')
.map((code) => fundingActivityCategoriesByCode[code]?.name)
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I debated whether to put the list of funding activity categories in a database table (like eligibility_codes) or in a file. I decided to put them in a file for the reasons given below but I'm happy to move the list to the database if reviewers would prefer consistency.

Reasons:

  1. Updates to the list of funding categories will probably be a deployment-time change rather than a runtime change and it's easier to edit a file than to write a migration. At least I think this will be a deployment-time change - it looks like the eligibility_codes tables gets updated at runtime by the grantscraper job and I think the funding categories could be updated via the same mechanism if the grantscraper job is still going to be running and hasn't been superseded by the grants-ingest pipeline.
  2. Since we're not representing the grant-to-funding-category relationship with a foreign key relationship, having the funding categories in the database wouldn't help enforce data consistency.
  3. Dave found that joining over eligibility_codes was slow .

Copy link
Contributor

Choose a reason for hiding this comment

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

Updates to the list of funding categories will probably be a deployment-time
My impression was that these came from grants.gov and so we need some capacity to change as they get updated (admittedly this seems infrequent). If we're choosing to change them through a file, we would need to be alerted about the discrepancy, and get someone to update the file, the missing code would be a feature gap for customers until we deployed. To me it sounds like a little more effort now, for a little less manual maintenance and customer pain later, but we should have something to tell us that there's a new one and be resilient to the case we don't have it.

@sanason sanason marked this pull request as ready for review November 30, 2023 16:35
@sanason sanason force-pushed the 2109-add-category-of-funding-activity-search-field branch from f2b99aa to 7e82e9b Compare December 1, 2023 15:20
Copy link

codeclimate bot commented Dec 1, 2023

Code Climate has analyzed commit 7e82e9b and detected 0 issues on this pull request.

The test coverage on the diff in this pull request is 63.4% (50% is the threshold).

This pull request will bring the total coverage in the repository to 57.1% (0.0% change).

View more on Code Climate.

@sanason sanason linked an issue Dec 4, 2023 that may be closed by this pull request
6 tasks
@github-actions github-actions bot added enhancement New feature or request javascript Pull requests that update Javascript code database-changes Includes schema migrations or other critical changes labels Dec 8, 2023
Copy link

github-actions bot commented Dec 8, 2023

QA Summary

QA Check Result
🌐 Client Tests
🔗 Server Tests
🤝 E2E Tests
📏 ESLint
🧹 TFLint

Test Coverage

Coverage report for `packages/client`
St File % Stmts % Branch % Funcs % Lines Uncovered Line #s
🔴 All files 19.1 16.46 24.42 19.49
🟡  ...nents/src/arpa_reporter/components 50.9 26.66 62.16 50.9
🔴   AlertBox.vue 0 0 0 0 20-21
🟡   DownloadButton.vue 50 50 50 50 39,56-59
🟢   DownloadFileButton.vue 100 100 100 100
🟢   DownloadTemplateBtn.vue 100 100 100 100
🟡   Navigation.vue 63.15 100 62.5 63.15 137-143,152-159
🔴   StandardForm.vue 34.78 20 55.55 34.78 86-90,97-119
🟢  arpa_reporter/helpers 84.61 79.48 87.5 84.61
🟢   form-helpers.js 84.21 79.48 85.71 84.21 7,16,25,81-83
🟢   short-uuid.js 100 100 100 100
🔴  arpa_reporter/store 4.85 0 2.17 5.1
🔴   index.js 4.85 0 2.17 5.1 13-16,34-263
🔴  ...rter/views/src/arpa_reporter/views 41.71 39.21 70.58 41.71
🟢   Agencies.vue 100 100 100 100
🔴   Home.vue 26.66 25 60 26.66 ...05-130,137-166
🔴   Upload.vue 48.21 50 78.94 48.21 ...39,345-346,356
🔴   Uploads.vue 43.18 38.88 66.66 43.18 ...65,181,232-256
🔴   User.vue 38.7 28.57 68.75 38.7 73-118
🔴  ...nents/Modals/src/components/Modals 5.69 3.22 16 5.69
🔴   AddOrganization.vue 7.69 0 25 7.69 136-171
🔴   AddTeam.vue 37.5 33.33 60 37.5 178,184-212
🔴   EditOrganization.vue 11.11 0 28.57 11.11 50-76
🔴   EditTeam.vue 2.5 0 16.66 2.5 151-260
🔴   GrantDetails.vue 0 0 0 0 106-275
🔴   ImportTeams.vue 0 0 0 0 44-79
🔴   ProfileSettings.vue 0 0 0 0 49-129
🔴  components/src/components 13.2 13.33 26.92 13.2
🟡   Layout.vue 50 50 53.84 50 133-148
🔴   Uploader.vue 0 0 0 0 47-100
🔴   UserAvatar.vue 0 0 0 0 44-90
🔴  helpers 6.12 3.79 3.33 6.31
🟢   constants.js 100 100 100 100
🔴   fetchApi.js 5.55 12.5 5.55 5.55 10-102
🔴   filters.js 4 0 0 4.54 19-51
🔴   form-helpers.js 0 0 0 0 5-82
🟢  helpers/featureFlags 100 100 100 100
🟢   index.js 100 100 100 100
🟢   utils.js 100 100 100 100
🔴  mixin 23.8 0 28.57 23.8
🔴   resizableTable.js 23.8 0 28.57 23.8 16-31,36-37,42
🟢  store 100 100 100 100
🟢   index.js 100 100 100 100
🔴  store/modules 6.12 0 4.94 6.4
🔴   agencies.js 10 100 8.33 10.52 13-70
🔴   alerts.js 20 100 20 20 10-24
🔴   dashboard.js 4.65 0 4.54 4.65 22-96
🔴   grants.js 2.66 0 1.04 2.79 59-358
🔴   keywords.js 14.28 0 9.09 16.66 13-33
🔴   organization.js 33.33 100 33.33 33.33 21-25
🔴   roles.js 33.33 100 20 40 13-22
🔴   tenants.js 20 100 14.28 22.22 13-32
🔴   users.js 4.65 0 4.76 4.76 17-101
🔴  views/src/views 18.27 0 34.14 18.47
🔴   Dashboard.vue 10.95 0 23.8 11.11 ...67-386,403-468
🔴   Organizations.vue 40 100 40 40 64,74-77,88-92
🟡   Teams.vue 50 100 50 50 108,119-126
Coverage report for `packages/server`
St File % Stmts % Branch % Funcs % Lines Uncovered Line #s
🟡 All files 55.35 46.24 50 55.68
🟢  src 82.35 33.33 60 82.35
🟢   configure.js 82.35 33.33 60 82.35 44,63-70,99-101
🟢  src/arpa_reporter 98.75 66.66 100 98.75
🟢   configure.js 97.36 40 100 97.36 36
🟢   environment.js 100 100 100 100
🟢   use-request.js 100 100 100 100
🔴  src/arpa_reporter/db 40.67 33.76 46.15 42.1
🔴   arpa-subrecipients.js 16.12 5 18.18 17.24 18-69
🔴   reporting-periods.js 36.58 46.66 40 37.5 74-153
🟢   settings.js 100 83.33 100 100 13
🟡   uploads.js 50 28.57 52.38 51.42 18-29,83,98-123,140-149
🔴  src/arpa_reporter/lib 26.21 15.38 24.19 26.66
🟢   arpa-ec-codes.js 100 100 100 100
🔴   audit-report.js 23.48 11.32 25 23.07 ...73-374,414-497,543-562
🟡   ensure-async-context.js 75 100 50 100
🔴   format.js 13.79 0 0 19.04 28-82
🟡   log.js 75 50 50 75 13,25
🟡   preconditions.js 66.66 33.33 100 66.66 3
🔴   spreadsheet.js 9.09 0 0 9.09 15-32
🟢   validation-error.js 85.71 100 50 85.71 16
🔴  src/arpa_reporter/routes 40.13 12.29 14.7 40.76
🔴   agencies.js 22.58 0 0 23.33 13-21,26-53
🟡   application_settings.js 75 100 0 75 10-11
🟡   audit-report.js 69.23 66.66 100 69.23 55-69,90-105
🟢   exports.js 81.42 80 100 81.42 61-75,98-99
🔴   reporting-periods.js 20 0 0 20.43 ...25-137,143-149,154-180
🔴   subrecipients.js 28.12 0 0 28.12 10-11,15-25,29-46
🔴   uploads.js 28.28 7.89 9.09 29.16 ...33-154,164-166,173-180
🔴   users.js 19.6 0 0 20 15-35,39-44,48-81
🔴  src/arpa_reporter/services 43.48 30.63 46.37 43.83
🔴   generate-arpa-report.js 37.62 2.79 50 38.02 ...-944,953-966,1040-1099
🔴   get-template.js 21.62 0 0 21.62 18-79
🟡   persist-upload.js 68.6 90 69.56 68.67 ...58-200,221-235,273-295
🔴   records.js 23.4 0 13.33 23.65 38-197,214-254
🔴   revalidate-uploads.js 37.5 100 0 37.5 5-14
🔴   validate-upload.js 37.93 49.41 32.14 38.83 ...10,329,351,369-657,672
🟢   validation-rules.js 98.18 90 90.9 100 157,173
🟡  src/db 75.55 71.98 70.49 75.66
🟢   connection.js 100 50 100 100 6
🟢   constants.js 100 100 100 100
🟢   helpers.js 83.33 100 50 83.33 21-22
🟢   index.js 83.36 78.34 83.56 83.36 ...08-1574,1756-1757,1764
🟢   saved_search_migration.js 92 88.23 71.42 93.61 5,69,134
🔴   tenant_creation.js 10.58 2.7 0 11.11 15-40,48-210,220
🔴  src/db/arpa_reporter_db_shims 23.68 0 0 23.68
🔴   agencies.js 22.22 100 0 22.22 11-51
🔴   users.js 25 0 0 25 12-62
🟡  src/lib 62.39 59.7 57.6 63.13
🟢   access-helpers.js 92.45 93.1 100 92.45 90-91,96-97
🟢   agencyImporter.js 90.38 88.46 100 90.19 26,29,35,93-94
🔴   batchProcessor.js 2.94 0 0 3.03 35-104
🟢   email.js 94.44 73.68 100 94.23 53,59,80,92,232-233
🔴   gost-aws.js 22.22 12.5 20 20.58 13-58,65-113
🟢   grants-ingest.js 83.05 97.36 90 83.05 ...27-130,137-139,154-158
🔴   grantsgov.js 6.25 6.52 0 6.97 12-220
🟡   logging.js 77.77 85.71 100 77.77 11,13
🔴   pdf.js 21.42 0 0 21.42 9-13,18-42
🟢   redirect_validation.js 100 100 100 100
🟢   userImporter.js 82.27 58.33 88.88 81.57 32,47,53,62,73-81,143-152
🔴  src/lib/annualReports 27.38 0 0 27.38
🔴   doc-builder.js 7.69 0 0 7.69 19-352
🟡   index.js 80 100 0 80 6
🟢   placeholderTextStrings.js 100 100 100 100
🔴   reportBuilder.js 17.24 0 0 17.24 21-33,50-62,86-103
🟢  src/lib/arpa_reporter_shims 100 100 100 100
🟢   email.js 100 100 100 100
🟢  src/lib/email 96.15 100 100 95.83
🟢   constants.js 100 100 100 100
🟢   email-nodemailer.js 93.33 100 100 92.3 33
🟢   service-email.js 100 100 100 100
🟢  src/lib/fieldConfigs 100 100 100 100
🟢   fundingActivityCategories.js 100 100 100 100
🔴  src/lib/grantscraper 11.86 0 0 12.96
🔴   index.js 11.86 0 0 12.96 11-92,98-122
🟡  src/routes 68.09 56.03 62.02 68.05
🔴   agencies.js 45.54 30 40 45.54 ...32-140,144-165,173-179
🔴   annualReports.js 47.05 100 0 47.05 15-27
🔴   dashboard.js 21.42 0 0 21.42 8-53
🟢   eligibilityCodes.js 100 100 100 100
🟡   grants.js 79.03 67.25 78.12 79.32 ...73-376,389-390,443-463
🟡   grantsSavedSearch.js 80 83.33 100 80 38-39,56-57,70-72,78
🟢   health.js 100 100 100 100
🟡   interestedCodes.js 71.42 100 0 71.42 7-8
🟢   keywords.js 86.95 50 100 86.95 26-27,34
🟡   refresh.js 71.42 100 0 71.42 7-8
🟡   roles.js 75 100 0 75 8-9
🟡   searchConfig.js 58.33 100 0 58.33 9-14
🟡   sessions.js 65 39.39 50 65 ...-72,78-79,83-84,97-103
🔴   tenants.js 39.13 0 0 39.13 11-12,16-27,32-35
🟢   users.js 80.41 74.19 85.71 80.41 ...17,134-136,160,169-177

Pusher: @sanason, Action: pull_request_target, Workflow: Continuous Integration

Copy link

github-actions bot commented Dec 8, 2023

Terraform Summary

Step Result
🖌 Terraform Format & Style
⚙️ Terraform Initialization
🤖 Terraform Validation
📖 Terraform Plan

Hint: If "Terraform Format & Style" failed, run terraform fmt -recursive from the terraform/ directory and commit the results.

Output

Validation Output
Success! The configuration is valid.


Plan Output
Note: Objects have changed outside of Terraform

Terraform detected the following changes made outside of Terraform since the
last "terraform apply" which may have affected this plan:

  # module.api.aws_ecs_task_definition.default[0] has changed
  ~ resource "aws_ecs_task_definition" "default" {
        id                       = "gost-staging-api"
+       tags                     = {}
        # (13 unchanged attributes hidden)

+       volume {
+           name = "data"

+           efs_volume_configuration {
+               file_system_id          = "fs-08f95063c1cdbe191"
+               root_directory          = "/"
+               transit_encryption      = "ENABLED"
+               transit_encryption_port = 0

+               authorization_config {
+                   access_point_id = "fsap-03bc0296928aade4f"
                }
            }
        }
-       volume {
-           name = "data" -> null

-           efs_volume_configuration {
-               file_system_id     = "fs-08f95063c1cdbe191" -> null
-               root_directory     = "/" -> null
-               transit_encryption = "ENABLED" -> null

-               authorization_config {
-                   access_point_id = "fsap-03bc0296928aade4f" -> null
                }
            }
        }

        # (1 unchanged block hidden)
    }

  # module.api.aws_iam_role.execution[0] has changed
  ~ resource "aws_iam_role" "execution" {
        id                    = "gost-staging-api-ECSTaskExecution-20230217010414321500000009"
        name                  = "gost-staging-api-ECSTaskExecution-20230217010414321500000009"
      ~ role_last_used        = [
          ~ {
              ~ last_used_date = "2023-12-13T16:37:47Z" -> "2023-12-13T18:53:45Z"
                # (1 unchanged element hidden)
            },
        ]
        tags                  = {}
        # (11 unchanged attributes hidden)

        # (2 unchanged blocks hidden)
    }

  # module.api.aws_iam_role.task[0] has changed
  ~ resource "aws_iam_role" "task" {
        id                    = "gost-staging-api-ECSTask-2023021701041477300000000a"
        name                  = "gost-staging-api-ECSTask-2023021701041477300000000a"
      ~ role_last_used        = [
          ~ {
              ~ last_used_date = "2023-12-13T15:07:16Z" -> "2023-12-13T18:54:07Z"
                # (1 unchanged element hidden)
            },
        ]
        tags                  = {}
        # (11 unchanged attributes hidden)

        # (6 unchanged blocks hidden)
    }


Unless you have made equivalent changes to your configuration, or ignored the
relevant attributes using ignore_changes, the following plan may include
actions to undo or respond to these changes.

─────────────────────────────────────────────────────────────────────────────

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+   create
  ~ update in-place
-   destroy
+/- create replacement and then destroy

Terraform will perform the following actions:

  # module.api.aws_ecs_service.default[0] will be updated in-place
  ~ resource "aws_ecs_service" "default" {
        id                                 = "arn:aws:ecs:us-west-2:357150818708:service/gost-staging/gost-staging-api"
        name                               = "gost-staging-api"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-west-2:357150818708:task-definition/gost-staging-api:67" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (4 unchanged blocks hidden)
    }

  # module.api.aws_ecs_task_definition.default[0] must be replaced
+/- resource "aws_ecs_task_definition" "default" {
      ~ arn                      = "arn:aws:ecs:us-west-2:357150818708:task-definition/gost-staging-api:67" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-west-2:357150818708:task-definition/gost-staging-api" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [ # forces replacement
              ~ {
                  ~ dockerLabels           = {
                      ~ "com.datadoghq.tags.version" = "7d3758bd7e40263f930bf25b43848a7ca71f97bf" -> "0151ae236bc660600540d32a2e2cc4bdb18c2b36"
                        # (2 unchanged elements hidden)
                    }
                  ~ environment            = [
                        # (7 unchanged elements hidden)
                        {
                            name  = "DD_SERVICE"
                            value = "gost"
                        },
                      ~ {
                            name  = "DD_VERSION"
                          ~ value = "7d3758bd7e40263f930bf25b43848a7ca71f97bf" -> "0151ae236bc660600540d32a2e2cc4bdb18c2b36"
                        },
                        {
                            name  = "ENABLE_GRANTS_DIGEST"
                            value = "false"
                        },
                        # (10 unchanged elements hidden)
                    ]
                  ~ image                  = "ghcr.io/usdigitalresponse/usdr-gost-api:7d3758bd7e40263f930bf25b43848a7ca71f97bf@sha256:318c46686bb0236b9af46d5ac4df41070b3420cdde0071bfa2a665c69c5be27e" -> "ghcr.io/usdigitalresponse/usdr-gost-api:0151ae236bc660600540d32a2e2cc4bdb18c2b36@sha256:466f243d106db6009555367a409cb21f0eddb2562d60a83cbe6b41068651769b"
                    name                   = "api"
-                   volumesFrom            = [] -> null
                    # (9 unchanged elements hidden)
                } # forces replacement,
              ~ {
                  ~ dockerLabels           = {
                      ~ "com.datadoghq.tags.version" = "7d3758bd7e40263f930bf25b43848a7ca71f97bf" -> "0151ae236bc660600540d32a2e2cc4bdb18c2b36"
                        # (2 unchanged elements hidden)
                    }
                  ~ environment            = [
                        # (3 unchanged elements hidden)
                        {
                            name  = "DD_SERVICE"
                            value = "gost"
                        },
                      ~ {
                            name  = "DD_VERSION"
                          ~ value = "7d3758bd7e40263f930bf25b43848a7ca71f97bf" -> "0151ae236bc660600540d32a2e2cc4bdb18c2b36"
                        },
                        {
                            name  = "ECS_FARGATE"
                            value = "true"
                        },
                    ]
-                   mountPoints            = [] -> null
                    name                   = "datadog"
-                   portMappings           = [] -> null
-                   volumesFrom            = [] -> null
                    # (6 unchanged elements hidden)
                } # forces replacement,
            ]
        )
      ~ id                       = "gost-staging-api" -> (known after apply)
      ~ revision                 = 67 -> (known after apply)
-       tags                     = {} -> null
        # (9 unchanged attributes hidden)

-       volume {
-           name = "data" -> null

-           efs_volume_configuration {
-               file_system_id          = "fs-08f95063c1cdbe191" -> null
-               root_directory          = "/" -> null
-               transit_encryption      = "ENABLED" -> null
-               transit_encryption_port = 0 -> null

-               authorization_config {
-                   access_point_id = "fsap-03bc0296928aade4f" -> null
                }
            }
        }
+       volume {
+           name = "data"

+           efs_volume_configuration {
+               file_system_id     = "fs-08f95063c1cdbe191"
+               root_directory     = "/"
+               transit_encryption = "ENABLED"

+               authorization_config {
+                   access_point_id = "fsap-03bc0296928aade4f"
                }
            }
        }

        # (1 unchanged block hidden)
    }

  # module.arpa_audit_report.aws_ecs_service.default will be updated in-place
  ~ resource "aws_ecs_service" "default" {
        id                                 = "arn:aws:ecs:us-west-2:357150818708:service/gost-staging/gost-staging-arpa_audit_report"
        name                               = "gost-staging-arpa_audit_report"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-west-2:357150818708:task-definition/gost-staging-arpa_audit_report:36" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (3 unchanged blocks hidden)
    }

  # module.arpa_audit_report.aws_ecs_task_definition.consumer must be replaced
+/- resource "aws_ecs_task_definition" "consumer" {
      ~ arn                      = "arn:aws:ecs:us-west-2:357150818708:task-definition/gost-staging-arpa_audit_report:36" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-west-2:357150818708:task-definition/gost-staging-arpa_audit_report" -> (known after apply)
      ~ container_definitions    = (sensitive value) # forces replacement
      ~ id                       = "gost-staging-arpa_audit_report" -> (known after apply)
-       ipc_mode                 = "" -> null
-       pid_mode                 = "" -> null
      ~ revision                 = 36 -> (known after apply)
-       tags                     = {} -> null
        # (9 unchanged attributes hidden)

-       volume {
-           name = "data" -> null

-           efs_volume_configuration {
-               file_system_id          = "fs-08f95063c1cdbe191" -> null
-               root_directory          = "/" -> null
-               transit_encryption      = "ENABLED" -> null
-               transit_encryption_port = 0 -> null

-               authorization_config {
-                   access_point_id = "fsap-03bc0296928aade4f" -> null
                }
            }
        }
+       volume {
+           name = "data"

+           efs_volume_configuration {
+               file_system_id     = "fs-08f95063c1cdbe191"
+               root_directory     = "/"
+               transit_encryption = "ENABLED"

+               authorization_config {
+                   access_point_id = "fsap-03bc0296928aade4f"
                }
            }
        }

        # (1 unchanged block hidden)
    }

  # module.arpa_treasury_report.aws_ecs_service.default will be updated in-place
  ~ resource "aws_ecs_service" "default" {
        id                                 = "arn:aws:ecs:us-west-2:357150818708:service/gost-staging/gost-staging-treasury_report"
        name                               = "gost-staging-treasury_report"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-west-2:357150818708:task-definition/gost-staging-treasury_report:25" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (3 unchanged blocks hidden)
    }

  # module.arpa_treasury_report.aws_ecs_task_definition.consumer must be replaced
+/- resource "aws_ecs_task_definition" "consumer" {
      ~ arn                      = "arn:aws:ecs:us-west-2:357150818708:task-definition/gost-staging-treasury_report:25" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-west-2:357150818708:task-definition/gost-staging-treasury_report" -> (known after apply)
      ~ container_definitions    = (sensitive value) # forces replacement
      ~ id                       = "gost-staging-treasury_report" -> (known after apply)
-       ipc_mode                 = "" -> null
-       pid_mode                 = "" -> null
      ~ revision                 = 25 -> (known after apply)
-       tags                     = {} -> null
        # (9 unchanged attributes hidden)

-       volume {
-           name = "data" -> null

-           efs_volume_configuration {
-               file_system_id          = "fs-08f95063c1cdbe191" -> null
-               root_directory          = "/" -> null
-               transit_encryption      = "ENABLED" -> null
-               transit_encryption_port = 0 -> null

-               authorization_config {
-                   access_point_id = "fsap-03bc0296928aade4f" -> null
                }
            }
        }
+       volume {
+           name = "data"

+           efs_volume_configuration {
+               file_system_id     = "fs-08f95063c1cdbe191"
+               root_directory     = "/"
+               transit_encryption = "ENABLED"

+               authorization_config {
+                   access_point_id = "fsap-03bc0296928aade4f"
                }
            }
        }

        # (1 unchanged block hidden)
    }

  # module.consume_grants.aws_ecs_service.default will be updated in-place
  ~ resource "aws_ecs_service" "default" {
        id                                 = "arn:aws:ecs:us-west-2:357150818708:service/gost-staging/gost-staging-consume_grants"
        name                               = "gost-staging-consume_grants"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-west-2:357150818708:task-definition/gost-staging-consume_grants:52" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (3 unchanged blocks hidden)
    }

  # module.consume_grants.aws_ecs_task_definition.consume_grants must be replaced
+/- resource "aws_ecs_task_definition" "consume_grants" {
      ~ arn                      = "arn:aws:ecs:us-west-2:357150818708:task-definition/gost-staging-consume_grants:52" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-west-2:357150818708:task-definition/gost-staging-consume_grants" -> (known after apply)
      ~ container_definitions    = (sensitive value) # forces replacement
      ~ id                       = "gost-staging-consume_grants" -> (known after apply)
-       ipc_mode                 = "" -> null
-       pid_mode                 = "" -> null
      ~ revision                 = 52 -> (known after apply)
-       tags                     = {} -> null
        # (9 unchanged attributes hidden)

        # (1 unchanged block hidden)
    }

  # module.website.aws_s3_object.deploy-config[0] will be updated in-place
  ~ resource "aws_s3_object" "deploy-config" {
      ~ content                = <<-EOT
            window.APP_CONFIG = window.APP_CONFIG || {};
            window.APP_CONFIG.apiURLForGOST = 'https://api.staging.grants.usdr.dev/';
            window.apiURLForGOST = window.APP_CONFIG.apiURLForGOST; // Legacy
            
            window.APP_CONFIG.DD_RUM_ENABLED = true;
-           window.APP_CONFIG.DD_RUM_CONFIG = {"allowedTracingUrls":["https://api.staging.grants.usdr.dev"],"applicationId":"15db471e-2ccb-4d3c-a6bf-99b750d748f5","clientToken":"pub50834fcc1999d53e546519b1a0f03934","defaultPrivacyLevel":"mask","env":"staging","service":"gost","sessionReplaySampleRate":1,"sessionSampleRate":10,"site":"datadoghq.com","trackLongTasks":true,"trackResources":true,"trackUserInteractions":true,"version":"7d3758bd7e40263f930bf25b43848a7ca71f97bf"};
+           window.APP_CONFIG.DD_RUM_CONFIG = {"allowedTracingUrls":["https://api.staging.grants.usdr.dev"],"applicationId":"15db471e-2ccb-4d3c-a6bf-99b750d748f5","clientToken":"pub50834fcc1999d53e546519b1a0f03934","defaultPrivacyLevel":"mask","env":"staging","service":"gost","sessionReplaySampleRate":1,"sessionSampleRate":10,"site":"datadoghq.com","trackLongTasks":true,"trackResources":true,"trackUserInteractions":true,"version":"0151ae236bc660600540d32a2e2cc4bdb18c2b36"};
            
            window.APP_CONFIG.featureFlags = {"myProfileEnabled":true,"newTerminologyEnabled":true};
            
            window.APP_CONFIG.overrideFeatureFlag = (flagName, overrideValue) => {
              const storageKey = 'featureFlags';
              let overrides = {};
              try {
                overrides = JSON.parse(window.sessionStorage.getItem(storageKey)) || {};
              } catch (e) {
                console.error(`Error parsing window.sessionStorage.${storageKey} as JSON:`, e);
                console.warn(`window.sessionStorage.${storageKey} will be replaced.`);
              }
              overrides[flagName] = overrideValue;
              window.sessionStorage.setItem(storageKey, JSON.stringify(overrides));
              console.log('New feature flag overrides in page session:',
                window.sessionStorage.getItem(storageKey));
            };
        EOT
      ~ etag                   = "42846af2cbf946076f67f5c4ffb4acdf" -> "f9875690fdf550f08acecfe0fda53ea2"
        id                     = "/config/deploy-config.js"
        tags                   = {}
      ~ version_id             = "_rMLLWD__ifdNa0hhKMNA99mEnCbqOwR" -> (known after apply)
        # (10 unchanged attributes hidden)
    }

  # module.website.aws_s3_object.origin_dist_artifact["arpa_reporter/index.html"] will be updated in-place
  ~ resource "aws_s3_object" "origin_dist_artifact" {
      ~ etag                   = "fc868514cac6d507a179f34491cfd28f" -> "2ec20082ec5c2b4bb0e76c31d267e75f"
        id                     = "dist/arpa_reporter/index.html"
      ~ source_hash            = "fc868514cac6d507a179f34491cfd28f" -> "2ec20082ec5c2b4bb0e76c31d267e75f"
        tags                   = {}
      ~ version_id             = "8kJEmFNLTfWthsTBIkEM5xooUieuNe3h" -> (known after apply)
        # (11 unchanged attributes hidden)
    }

  # module.website.aws_s3_object.origin_dist_artifact["css/145.5dbff179.css"] will be destroyed
  # (because key ["css/145.5dbff179.css"] is not in for_each map)
-   resource "aws_s3_object" "origin_dist_artifact" {
-       acl                    = "private" -> null
-       bucket                 = "gost-staging-origin-357150818708-us-west-2-website" -> null
-       bucket_key_enabled     = false -> null
-       content_type           = "text/css" -> null
-       etag                   = "24d2eb9260e5e87d78ef1b5d5ed79965" -> null
-       force_destroy          = false -> null
-       id                     = "dist/css/145.5dbff179.css" -> null
-       key                    = "dist/css/145.5dbff179.css" -> null
-       metadata               = {} -> null
-       server_side_encryption = "AES256" -> null
-       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/css/145.5dbff179.css" -> null
-       source_hash            = "24d2eb9260e5e87d78ef1b5d5ed79965" -> null
-       storage_class          = "STANDARD" -> null
-       tags                   = {} -> null
-       tags_all               = {
-           "env"        = "staging"
-           "management" = "terraform"
-           "owner"      = "grants"
-           "repo"       = "usdr-gost"
-           "service"    = "gost"
-           "usage"      = "workload"
        } -> null
-       version_id             = "aZI9ZnCulcEn4IkU8dc7stm8e46Thwvd" -> null
    }

  # module.website.aws_s3_object.origin_dist_artifact["css/749.823258ed.css"] will be created
+   resource "aws_s3_object" "origin_dist_artifact" {
+       acl                    = "private"
+       bucket                 = "gost-staging-origin-357150818708-us-west-2-website"
+       bucket_key_enabled     = (known after apply)
+       content_type           = "text/css"
+       etag                   = "6140c31a5942ba122f75f27c1543a23a"
+       force_destroy          = false
+       id                     = (known after apply)
+       key                    = "dist/css/749.823258ed.css"
+       kms_key_id             = (known after apply)
+       server_side_encryption = "AES256"
+       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/css/749.823258ed.css"
+       source_hash            = "6140c31a5942ba122f75f27c1543a23a"
+       storage_class          = (known after apply)
+       tags_all               = {
+           "env"        = "staging"
+           "management" = "terraform"
+           "owner"      = "grants"
+           "repo"       = "usdr-gost"
+           "service"    = "gost"
+           "usage"      = "workload"
        }
+       version_id             = (known after apply)
    }

  # module.website.aws_s3_object.origin_dist_artifact["css/940.823258ed.css"] will be destroyed
  # (because key ["css/940.823258ed.css"] is not in for_each map)
-   resource "aws_s3_object" "origin_dist_artifact" {
-       acl                    = "private" -> null
-       bucket                 = "gost-staging-origin-357150818708-us-west-2-website" -> null
-       bucket_key_enabled     = false -> null
-       content_type           = "text/css" -> null
-       etag                   = "6140c31a5942ba122f75f27c1543a23a" -> null
-       force_destroy          = false -> null
-       id                     = "dist/css/940.823258ed.css" -> null
-       key                    = "dist/css/940.823258ed.css" -> null
-       metadata               = {} -> null
-       server_side_encryption = "AES256" -> null
-       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/css/940.823258ed.css" -> null
-       source_hash            = "6140c31a5942ba122f75f27c1543a23a" -> null
-       storage_class          = "STANDARD" -> null
-       tags                   = {} -> null
-       tags_all               = {
-           "env"        = "staging"
-           "management" = "terraform"
-           "owner"      = "grants"
-           "repo"       = "usdr-gost"
-           "service"    = "gost"
-           "usage"      = "workload"
        } -> null
-       version_id             = "oe45Pbr0xWEfmBqMbyqCfDVTWDbIvAfd" -> null
    }

  # module.website.aws_s3_object.origin_dist_artifact["css/943.5dbff179.css"] will be created
+   resource "aws_s3_object" "origin_dist_artifact" {
+       acl                    = "private"
+       bucket                 = "gost-staging-origin-357150818708-us-west-2-website"
+       bucket_key_enabled     = (known after apply)
+       content_type           = "text/css"
+       etag                   = "24d2eb9260e5e87d78ef1b5d5ed79965"
+       force_destroy          = false
+       id                     = (known after apply)
+       key                    = "dist/css/943.5dbff179.css"
+       kms_key_id             = (known after apply)
+       server_side_encryption = "AES256"
+       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/css/943.5dbff179.css"
+       source_hash            = "24d2eb9260e5e87d78ef1b5d5ed79965"
+       storage_class          = (known after apply)
+       tags_all               = {
+           "env"        = "staging"
+           "management" = "terraform"
+           "owner"      = "grants"
+           "repo"       = "usdr-gost"
+           "service"    = "gost"
+           "usage"      = "workload"
        }
+       version_id             = (known after apply)
    }

  # module.website.aws_s3_object.origin_dist_artifact["index.html"] will be updated in-place
  ~ resource "aws_s3_object" "origin_dist_artifact" {
      ~ etag                   = "cb2061e049ba0e9e6943f2d135b02ade" -> "f97ea08505bbbad6aea0c80300b4a704"
        id                     = "dist/index.html"
      ~ source_hash            = "cb2061e049ba0e9e6943f2d135b02ade" -> "f97ea08505bbbad6aea0c80300b4a704"
        tags                   = {}
      ~ version_id             = "nz8RSJKnnnsHmGzhXlmjtAe43xhhUdGi" -> (known after apply)
        # (11 unchanged attributes hidden)
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/145.8f507569.js"] will be destroyed
  # (because key ["js/145.8f507569.js"] is not in for_each map)
-   resource "aws_s3_object" "origin_dist_artifact" {
-       acl                    = "private" -> null
-       bucket                 = "gost-staging-origin-357150818708-us-west-2-website" -> null
-       bucket_key_enabled     = false -> null
-       content_type           = "text/javascript" -> null
-       etag                   = "e7780ff03b82e6cd983915d926ecf294" -> null
-       force_destroy          = false -> null
-       id                     = "dist/js/145.8f507569.js" -> null
-       key                    = "dist/js/145.8f507569.js" -> null
-       metadata               = {} -> null
-       server_side_encryption = "AES256" -> null
-       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/145.8f507569.js" -> null
-       source_hash            = "e7780ff03b82e6cd983915d926ecf294" -> null
-       storage_class          = "STANDARD" -> null
-       tags                   = {} -> null
-       tags_all               = {
-           "env"        = "staging"
-           "management" = "terraform"
-           "owner"      = "grants"
-           "repo"       = "usdr-gost"
-           "service"    = "gost"
-           "usage"      = "workload"
        } -> null
-       version_id             = "aGWxc0pSllNp627AfXXXhTPtWc_k2dZq" -> null
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/145.8f507569.js.map"] will be destroyed
  # (because key ["js/145.8f507569.js.map"] is not in for_each map)
-   resource "aws_s3_object" "origin_dist_artifact" {
-       acl                    = "private" -> null
-       bucket                 = "gost-staging-origin-357150818708-us-west-2-website" -> null
-       bucket_key_enabled     = false -> null
-       content_type           = "application/json" -> null
-       etag                   = "cce4e94b4125ee3b0ceb976e7671f4b4" -> null
-       force_destroy          = false -> null
-       id                     = "dist/js/145.8f507569.js.map" -> null
-       key                    = "dist/js/145.8f507569.js.map" -> null
-       metadata               = {} -> null
-       server_side_encryption = "AES256" -> null
-       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/145.8f507569.js.map" -> null
-       source_hash            = "cce4e94b4125ee3b0ceb976e7671f4b4" -> null
-       storage_class          = "STANDARD" -> null
-       tags                   = {} -> null
-       tags_all               = {
-           "env"        = "staging"
-           "management" = "terraform"
-           "owner"      = "grants"
-           "repo"       = "usdr-gost"
-           "service"    = "gost"
-           "usage"      = "workload"
        } -> null
-       version_id             = "NbXLlpceTDwpsFGlItPktOvPOPI4Vl.X" -> null
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/154.bfd70987.js"] will be created
+   resource "aws_s3_object" "origin_dist_artifact" {
+       acl                    = "private"
+       bucket                 = "gost-staging-origin-357150818708-us-west-2-website"
+       bucket_key_enabled     = (known after apply)
+       content_type           = "text/javascript"
+       etag                   = "05327f6ba1ad3e33b0975fb24e16f176"
+       force_destroy          = false
+       id                     = (known after apply)
+       key                    = "dist/js/154.bfd70987.js"
+       kms_key_id             = (known after apply)
+       server_side_encryption = "AES256"
+       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/154.bfd70987.js"
+       source_hash            = "05327f6ba1ad3e33b0975fb24e16f176"
+       storage_class          = (known after apply)
+       tags_all               = {
+           "env"        = "staging"
+           "management" = "terraform"
+           "owner"      = "grants"
+           "repo"       = "usdr-gost"
+           "service"    = "gost"
+           "usage"      = "workload"
        }
+       version_id             = (known after apply)
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/154.bfd70987.js.map"] will be created
+   resource "aws_s3_object" "origin_dist_artifact" {
+       acl                    = "private"
+       bucket                 = "gost-staging-origin-357150818708-us-west-2-website"
+       bucket_key_enabled     = (known after apply)
+       content_type           = "application/json"
+       etag                   = "6aa0d2419f0d3756ecaefa45b33e9e33"
+       force_destroy          = false
+       id                     = (known after apply)
+       key                    = "dist/js/154.bfd70987.js.map"
+       kms_key_id             = (known after apply)
+       server_side_encryption = "AES256"
+       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/154.bfd70987.js.map"
+       source_hash            = "6aa0d2419f0d3756ecaefa45b33e9e33"
+       storage_class          = (known after apply)
+       tags_all               = {
+           "env"        = "staging"
+           "management" = "terraform"
+           "owner"      = "grants"
+           "repo"       = "usdr-gost"
+           "service"    = "gost"
+           "usage"      = "workload"
        }
+       version_id             = (known after apply)
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/180.d68965dc.js"] will be created
+   resource "aws_s3_object" "origin_dist_artifact" {
+       acl                    = "private"
+       bucket                 = "gost-staging-origin-357150818708-us-west-2-website"
+       bucket_key_enabled     = (known after apply)
+       content_type           = "text/javascript"
+       etag                   = "8c9edfbde345b68032d9ef4b335e5668"
+       force_destroy          = false
+       id                     = (known after apply)
+       key                    = "dist/js/180.d68965dc.js"
+       kms_key_id             = (known after apply)
+       server_side_encryption = "AES256"
+       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/180.d68965dc.js"
+       source_hash            = "8c9edfbde345b68032d9ef4b335e5668"
+       storage_class          = (known after apply)
+       tags_all               = {
+           "env"        = "staging"
+           "management" = "terraform"
+           "owner"      = "grants"
+           "repo"       = "usdr-gost"
+           "service"    = "gost"
+           "usage"      = "workload"
        }
+       version_id             = (known after apply)
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/180.d68965dc.js.map"] will be created
+   resource "aws_s3_object" "origin_dist_artifact" {
+       acl                    = "private"
+       bucket                 = "gost-staging-origin-357150818708-us-west-2-website"
+       bucket_key_enabled     = (known after apply)
+       content_type           = "application/json"
+       etag                   = "4bd42192d6c185057d1ac1ed69c5ab05"
+       force_destroy          = false
+       id                     = (known after apply)
+       key                    = "dist/js/180.d68965dc.js.map"
+       kms_key_id             = (known after apply)
+       server_side_encryption = "AES256"
+       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/180.d68965dc.js.map"
+       source_hash            = "4bd42192d6c185057d1ac1ed69c5ab05"
+       storage_class          = (known after apply)
+       tags_all               = {
+           "env"        = "staging"
+           "management" = "terraform"
+           "owner"      = "grants"
+           "repo"       = "usdr-gost"
+           "service"    = "gost"
+           "usage"      = "workload"
        }
+       version_id             = (known after apply)
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/22.d8c80b68.js"] will be destroyed
  # (because key ["js/22.d8c80b68.js"] is not in for_each map)
-   resource "aws_s3_object" "origin_dist_artifact" {
-       acl                    = "private" -> null
-       bucket                 = "gost-staging-origin-357150818708-us-west-2-website" -> null
-       bucket_key_enabled     = false -> null
-       content_type           = "text/javascript" -> null
-       etag                   = "95b6588da71dd61c7574621f8a543f49" -> null
-       force_destroy          = false -> null
-       id                     = "dist/js/22.d8c80b68.js" -> null
-       key                    = "dist/js/22.d8c80b68.js" -> null
-       metadata               = {} -> null
-       server_side_encryption = "AES256" -> null
-       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/22.d8c80b68.js" -> null
-       source_hash            = "95b6588da71dd61c7574621f8a543f49" -> null
-       storage_class          = "STANDARD" -> null
-       tags                   = {} -> null
-       tags_all               = {
-           "env"        = "staging"
-           "management" = "terraform"
-           "owner"      = "grants"
-           "repo"       = "usdr-gost"
-           "service"    = "gost"
-           "usage"      = "workload"
        } -> null
-       version_id             = "JioWGt9I1K682tygoQZgFz.W2EM_H.qg" -> null
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/22.d8c80b68.js.map"] will be destroyed
  # (because key ["js/22.d8c80b68.js.map"] is not in for_each map)
-   resource "aws_s3_object" "origin_dist_artifact" {
-       acl                    = "private" -> null
-       bucket                 = "gost-staging-origin-357150818708-us-west-2-website" -> null
-       bucket_key_enabled     = false -> null
-       content_type           = "application/json" -> null
-       etag                   = "c40ae7668ad8a3f16dec0260cb55b5cf" -> null
-       force_destroy          = false -> null
-       id                     = "dist/js/22.d8c80b68.js.map" -> null
-       key                    = "dist/js/22.d8c80b68.js.map" -> null
-       metadata               = {} -> null
-       server_side_encryption = "AES256" -> null
-       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/22.d8c80b68.js.map" -> null
-       source_hash            = "c40ae7668ad8a3f16dec0260cb55b5cf" -> null
-       storage_class          = "STANDARD" -> null
-       tags                   = {} -> null
-       tags_all               = {
-           "env"        = "staging"
-           "management" = "terraform"
-           "owner"      = "grants"
-           "repo"       = "usdr-gost"
-           "service"    = "gost"
-           "usage"      = "workload"
        } -> null
-       version_id             = ".ltHiw5_bagQNvWPnQQCJYUWSbxp6Rat" -> null
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/381.d22453bc.js"] will be destroyed
  # (because key ["js/381.d22453bc.js"] is not in for_each map)
-   resource "aws_s3_object" "origin_dist_artifact" {
-       acl                    = "private" -> null
-       bucket                 = "gost-staging-origin-357150818708-us-west-2-website" -> null
-       bucket_key_enabled     = false -> null
-       content_type           = "text/javascript" -> null
-       etag                   = "74d59848d2b2a20ce356f206b748ed74" -> null
-       force_destroy          = false -> null
-       id                     = "dist/js/381.d22453bc.js" -> null
-       key                    = "dist/js/381.d22453bc.js" -> null
-       metadata               = {} -> null
-       server_side_encryption = "AES256" -> null
-       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/381.d22453bc.js" -> null
-       source_hash            = "74d59848d2b2a20ce356f206b748ed74" -> null
-       storage_class          = "STANDARD" -> null
-       tags                   = {} -> null
-       tags_all               = {
-           "env"        = "staging"
-           "management" = "terraform"
-           "owner"      = "grants"
-           "repo"       = "usdr-gost"
-           "service"    = "gost"
-           "usage"      = "workload"
        } -> null
-       version_id             = "ZiF04WEQWmmmjMgVNwL5ueTd_pQraxKj" -> null
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/381.d22453bc.js.map"] will be destroyed
  # (because key ["js/381.d22453bc.js.map"] is not in for_each map)
-   resource "aws_s3_object" "origin_dist_artifact" {
-       acl                    = "private" -> null
-       bucket                 = "gost-staging-origin-357150818708-us-west-2-website" -> null
-       bucket_key_enabled     = false -> null
-       content_type           = "application/json" -> null
-       etag                   = "a1505e7f4cd83d981467d62ee24e521a" -> null
-       force_destroy          = false -> null
-       id                     = "dist/js/381.d22453bc.js.map" -> null
-       key                    = "dist/js/381.d22453bc.js.map" -> null
-       metadata               = {} -> null
-       server_side_encryption = "AES256" -> null
-       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/381.d22453bc.js.map" -> null
-       source_hash            = "a1505e7f4cd83d981467d62ee24e521a" -> null
-       storage_class          = "STANDARD" -> null
-       tags                   = {} -> null
-       tags_all               = {
-           "env"        = "staging"
-           "management" = "terraform"
-           "owner"      = "grants"
-           "repo"       = "usdr-gost"
-           "service"    = "gost"
-           "usage"      = "workload"
        } -> null
-       version_id             = "OKQsAMEt38e3fcXZr7NSvzw12AR.GSBU" -> null
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/561.1d1efeda.js"] will be destroyed
  # (because key ["js/561.1d1efeda.js"] is not in for_each map)
-   resource "aws_s3_object" "origin_dist_artifact" {
-       acl                    = "private" -> null
-       bucket                 = "gost-staging-origin-357150818708-us-west-2-website" -> null
-       bucket_key_enabled     = false -> null
-       content_type           = "text/javascript" -> null
-       etag                   = "b1adf99711051815e3d8333a78c7f72c" -> null
-       force_destroy          = false -> null
-       id                     = "dist/js/561.1d1efeda.js" -> null
-       key                    = "dist/js/561.1d1efeda.js" -> null
-       metadata               = {} -> null
-       server_side_encryption = "AES256" -> null
-       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/561.1d1efeda.js" -> null
-       source_hash            = "b1adf99711051815e3d8333a78c7f72c" -> null
-       storage_class          = "STANDARD" -> null
-       tags                   = {} -> null
-       tags_all               = {
-           "env"        = "staging"
-           "management" = "terraform"
-           "owner"      = "grants"
-           "repo"       = "usdr-gost"
-           "service"    = "gost"
-           "usage"      = "workload"
        } -> null
-       version_id             = "XRGBQA_.N3aCgSN_TOjUbcxaSnmM4RPw" -> null
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/561.1d1efeda.js.map"] will be destroyed
  # (because key ["js/561.1d1efeda.js.map"] is not in for_each map)
-   resource "aws_s3_object" "origin_dist_artifact" {
-       acl                    = "private" -> null
-       bucket                 = "gost-staging-origin-357150818708-us-west-2-website" -> null
-       bucket_key_enabled     = false -> null
-       content_type           = "application/json" -> null
-       etag                   = "ed34872b9788fd57df4e228897dfdb6c" -> null
-       force_destroy          = false -> null
-       id                     = "dist/js/561.1d1efeda.js.map" -> null
-       key                    = "dist/js/561.1d1efeda.js.map" -> null
-       metadata               = {} -> null
-       server_side_encryption = "AES256" -> null
-       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/561.1d1efeda.js.map" -> null
-       source_hash            = "ed34872b9788fd57df4e228897dfdb6c" -> null
-       storage_class          = "STANDARD" -> null
-       tags                   = {} -> null
-       tags_all               = {
-           "env"        = "staging"
-           "management" = "terraform"
-           "owner"      = "grants"
-           "repo"       = "usdr-gost"
-           "service"    = "gost"
-           "usage"      = "workload"
        } -> null
-       version_id             = "UzdhzcRuMDjMOe5l1aTDKvTLW4rkvHhH" -> null
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/561.8c2aef1c.js"] will be created
+   resource "aws_s3_object" "origin_dist_artifact" {
+       acl                    = "private"
+       bucket                 = "gost-staging-origin-357150818708-us-west-2-website"
+       bucket_key_enabled     = (known after apply)
+       content_type           = "text/javascript"
+       etag                   = "70e7888056f2559fc95c10e93ba37144"
+       force_destroy          = false
+       id                     = (known after apply)
+       key                    = "dist/js/561.8c2aef1c.js"
+       kms_key_id             = (known after apply)
+       server_side_encryption = "AES256"
+       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/561.8c2aef1c.js"
+       source_hash            = "70e7888056f2559fc95c10e93ba37144"
+       storage_class          = (known after apply)
+       tags_all               = {
+           "env"        = "staging"
+           "management" = "terraform"
+           "owner"      = "grants"
+           "repo"       = "usdr-gost"
+           "service"    = "gost"
+           "usage"      = "workload"
        }
+       version_id             = (known after apply)
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/561.8c2aef1c.js.map"] will be created
+   resource "aws_s3_object" "origin_dist_artifact" {
+       acl                    = "private"
+       bucket                 = "gost-staging-origin-357150818708-us-west-2-website"
+       bucket_key_enabled     = (known after apply)
+       content_type           = "application/json"
+       etag                   = "fbe3c9f3b8d727cb9a518587cab82a74"
+       force_destroy          = false
+       id                     = (known after apply)
+       key                    = "dist/js/561.8c2aef1c.js.map"
+       kms_key_id             = (known after apply)
+       server_side_encryption = "AES256"
+       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/561.8c2aef1c.js.map"
+       source_hash            = "fbe3c9f3b8d727cb9a518587cab82a74"
+       storage_class          = (known after apply)
+       tags_all               = {
+           "env"        = "staging"
+           "management" = "terraform"
+           "owner"      = "grants"
+           "repo"       = "usdr-gost"
+           "service"    = "gost"
+           "usage"      = "workload"
        }
+       version_id             = (known after apply)
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/661.3694d165.js"] will be created
+   resource "aws_s3_object" "origin_dist_artifact" {
+       acl                    = "private"
+       bucket                 = "gost-staging-origin-357150818708-us-west-2-website"
+       bucket_key_enabled     = (known after apply)
+       content_type           = "text/javascript"
+       etag                   = "7e247cbba9f488b23bd9955de5dac13d"
+       force_destroy          = false
+       id                     = (known after apply)
+       key                    = "dist/js/661.3694d165.js"
+       kms_key_id             = (known after apply)
+       server_side_encryption = "AES256"
+       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/661.3694d165.js"
+       source_hash            = "7e247cbba9f488b23bd9955de5dac13d"
+       storage_class          = (known after apply)
+       tags_all               = {
+           "env"        = "staging"
+           "management" = "terraform"
+           "owner"      = "grants"
+           "repo"       = "usdr-gost"
+           "service"    = "gost"
+           "usage"      = "workload"
        }
+       version_id             = (known after apply)
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/661.3694d165.js.map"] will be created
+   resource "aws_s3_object" "origin_dist_artifact" {
+       acl                    = "private"
+       bucket                 = "gost-staging-origin-357150818708-us-west-2-website"
+       bucket_key_enabled     = (known after apply)
+       content_type           = "application/json"
+       etag                   = "079e30eb783e26b65ed3daab21670207"
+       force_destroy          = false
+       id                     = (known after apply)
+       key                    = "dist/js/661.3694d165.js.map"
+       kms_key_id             = (known after apply)
+       server_side_encryption = "AES256"
+       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/661.3694d165.js.map"
+       source_hash            = "079e30eb783e26b65ed3daab21670207"
+       storage_class          = (known after apply)
+       tags_all               = {
+           "env"        = "staging"
+           "management" = "terraform"
+           "owner"      = "grants"
+           "repo"       = "usdr-gost"
+           "service"    = "gost"
+           "usage"      = "workload"
        }
+       version_id             = (known after apply)
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/661.ef8db183.js"] will be destroyed
  # (because key ["js/661.ef8db183.js"] is not in for_each map)
-   resource "aws_s3_object" "origin_dist_artifact" {
-       acl                    = "private" -> null
-       bucket                 = "gost-staging-origin-357150818708-us-west-2-website" -> null
-       bucket_key_enabled     = false -> null
-       content_type           = "text/javascript" -> null
-       etag                   = "db8fe60fee118d0ffde399fc18e73fd3" -> null
-       force_destroy          = false -> null
-       id                     = "dist/js/661.ef8db183.js" -> null
-       key                    = "dist/js/661.ef8db183.js" -> null
-       metadata               = {} -> null
-       server_side_encryption = "AES256" -> null
-       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/661.ef8db183.js" -> null
-       source_hash            = "db8fe60fee118d0ffde399fc18e73fd3" -> null
-       storage_class          = "STANDARD" -> null
-       tags                   = {} -> null
-       tags_all               = {
-           "env"        = "staging"
-           "management" = "terraform"
-           "owner"      = "grants"
-           "repo"       = "usdr-gost"
-           "service"    = "gost"
-           "usage"      = "workload"
        } -> null
-       version_id             = "cIcYzzDpIpDOJIZOIoH8sMOQYn7swK6a" -> null
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/661.ef8db183.js.map"] will be destroyed
  # (because key ["js/661.ef8db183.js.map"] is not in for_each map)
-   resource "aws_s3_object" "origin_dist_artifact" {
-       acl                    = "private" -> null
-       bucket                 = "gost-staging-origin-357150818708-us-west-2-website" -> null
-       bucket_key_enabled     = false -> null
-       content_type           = "application/json" -> null
-       etag                   = "4117bf02d871e5a233c805932d1b8ae6" -> null
-       force_destroy          = false -> null
-       id                     = "dist/js/661.ef8db183.js.map" -> null
-       key                    = "dist/js/661.ef8db183.js.map" -> null
-       metadata               = {} -> null
-       server_side_encryption = "AES256" -> null
-       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/661.ef8db183.js.map" -> null
-       source_hash            = "4117bf02d871e5a233c805932d1b8ae6" -> null
-       storage_class          = "STANDARD" -> null
-       tags                   = {} -> null
-       tags_all               = {
-           "env"        = "staging"
-           "management" = "terraform"
-           "owner"      = "grants"
-           "repo"       = "usdr-gost"
-           "service"    = "gost"
-           "usage"      = "workload"
        } -> null
-       version_id             = "xROC.9wzDy_5X8evFq7X8tnpPpys0buw" -> null
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/749.068e6082.js"] will be created
+   resource "aws_s3_object" "origin_dist_artifact" {
+       acl                    = "private"
+       bucket                 = "gost-staging-origin-357150818708-us-west-2-website"
+       bucket_key_enabled     = (known after apply)
+       content_type           = "text/javascript"
+       etag                   = "75da211615f56c1957cbd692866a95fb"
+       force_destroy          = false
+       id                     = (known after apply)
+       key                    = "dist/js/749.068e6082.js"
+       kms_key_id             = (known after apply)
+       server_side_encryption = "AES256"
+       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/749.068e6082.js"
+       source_hash            = "75da211615f56c1957cbd692866a95fb"
+       storage_class          = (known after apply)
+       tags_all               = {
+           "env"        = "staging"
+           "management" = "terraform"
+           "owner"      = "grants"
+           "repo"       = "usdr-gost"
+           "service"    = "gost"
+           "usage"      = "workload"
        }
+       version_id             = (known after apply)
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/749.068e6082.js.map"] will be created
+   resource "aws_s3_object" "origin_dist_artifact" {
+       acl                    = "private"
+       bucket                 = "gost-staging-origin-357150818708-us-west-2-website"
+       bucket_key_enabled     = (known after apply)
+       content_type           = "application/json"
+       etag                   = "6c2caa191c97e381cf7939f3051bf856"
+       force_destroy          = false
+       id                     = (known after apply)
+       key                    = "dist/js/749.068e6082.js.map"
+       kms_key_id             = (known after apply)
+       server_side_encryption = "AES256"
+       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/749.068e6082.js.map"
+       source_hash            = "6c2caa191c97e381cf7939f3051bf856"
+       storage_class          = (known after apply)
+       tags_all               = {
+           "env"        = "staging"
+           "management" = "terraform"
+           "owner"      = "grants"
+           "repo"       = "usdr-gost"
+           "service"    = "gost"
+           "usage"      = "workload"
        }
+       version_id             = (known after apply)
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/916.1350b7e6.js"] will be created
+   resource "aws_s3_object" "origin_dist_artifact" {
+       acl                    = "private"
+       bucket                 = "gost-staging-origin-357150818708-us-west-2-website"
+       bucket_key_enabled     = (known after apply)
+       content_type           = "text/javascript"
+       etag                   = "ec24cba3f8eb44e2e3b1d9891fcffb00"
+       force_destroy          = false
+       id                     = (known after apply)
+       key                    = "dist/js/916.1350b7e6.js"
+       kms_key_id             = (known after apply)
+       server_side_encryption = "AES256"
+       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/916.1350b7e6.js"
+       source_hash            = "ec24cba3f8eb44e2e3b1d9891fcffb00"
+       storage_class          = (known after apply)
+       tags_all               = {
+           "env"        = "staging"
+           "management" = "terraform"
+           "owner"      = "grants"
+           "repo"       = "usdr-gost"
+           "service"    = "gost"
+           "usage"      = "workload"
        }
+       version_id             = (known after apply)
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/916.1350b7e6.js.map"] will be created
+   resource "aws_s3_object" "origin_dist_artifact" {
+       acl                    = "private"
+       bucket                 = "gost-staging-origin-357150818708-us-west-2-website"
+       bucket_key_enabled     = (known after apply)
+       content_type           = "application/json"
+       etag                   = "1efa4b90033722f97d84f0627f44cb92"
+       force_destroy          = false
+       id                     = (known after apply)
+       key                    = "dist/js/916.1350b7e6.js.map"
+       kms_key_id             = (known after apply)
+       server_side_encryption = "AES256"
+       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/916.1350b7e6.js.map"
+       source_hash            = "1efa4b90033722f97d84f0627f44cb92"
+       storage_class          = (known after apply)
+       tags_all               = {
+           "env"        = "staging"
+           "management" = "terraform"
+           "owner"      = "grants"
+           "repo"       = "usdr-gost"
+           "service"    = "gost"
+           "usage"      = "workload"
        }
+       version_id             = (known after apply)
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/916.f2872332.js"] will be destroyed
  # (because key ["js/916.f2872332.js"] is not in for_each map)
-   resource "aws_s3_object" "origin_dist_artifact" {
-       acl                    = "private" -> null
-       bucket                 = "gost-staging-origin-357150818708-us-west-2-website" -> null
-       bucket_key_enabled     = false -> null
-       content_type           = "text/javascript" -> null
-       etag                   = "d0891419666704fbc3e7e151f1aa17e2" -> null
-       force_destroy          = false -> null
-       id                     = "dist/js/916.f2872332.js" -> null
-       key                    = "dist/js/916.f2872332.js" -> null
-       metadata               = {} -> null
-       server_side_encryption = "AES256" -> null
-       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/916.f2872332.js" -> null
-       source_hash            = "d0891419666704fbc3e7e151f1aa17e2" -> null
-       storage_class          = "STANDARD" -> null
-       tags                   = {} -> null
-       tags_all               = {
-           "env"        = "staging"
-           "management" = "terraform"
-           "owner"      = "grants"
-           "repo"       = "usdr-gost"
-           "service"    = "gost"
-           "usage"      = "workload"
        } -> null
-       version_id             = "Ro8Aziyjh.sO37O.fsh2jCSLtZszCT2Z" -> null
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/916.f2872332.js.map"] will be destroyed
  # (because key ["js/916.f2872332.js.map"] is not in for_each map)
-   resource "aws_s3_object" "origin_dist_artifact" {
-       acl                    = "private" -> null
-       bucket                 = "gost-staging-origin-357150818708-us-west-2-website" -> null
-       bucket_key_enabled     = false -> null
-       content_type           = "application/json" -> null
-       etag                   = "4ae350c198d4def9f83e9af12781a71d" -> null
-       force_destroy          = false -> null
-       id                     = "dist/js/916.f2872332.js.map" -> null
-       key                    = "dist/js/916.f2872332.js.map" -> null
-       metadata               = {} -> null
-       server_side_encryption = "AES256" -> null
-       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/916.f2872332.js.map" -> null
-       source_hash            = "4ae350c198d4def9f83e9af12781a71d" -> null
-       storage_class          = "STANDARD" -> null
-       tags                   = {} -> null
-       tags_all               = {
-           "env"        = "staging"
-           "management" = "terraform"
-           "owner"      = "grants"
-           "repo"       = "usdr-gost"
-           "service"    = "gost"
-           "usage"      = "workload"
        } -> null
-       version_id             = "kkApugo.8Bkf01UnM_8kHMSihPDqgF0y" -> null
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/940.f62d0aed.js"] will be destroyed
  # (because key ["js/940.f62d0aed.js"] is not in for_each map)
-   resource "aws_s3_object" "origin_dist_artifact" {
-       acl                    = "private" -> null
-       bucket                 = "gost-staging-origin-357150818708-us-west-2-website" -> null
-       bucket_key_enabled     = false -> null
-       content_type           = "text/javascript" -> null
-       etag                   = "ea474bbf8280c8064f1668f3177bd638" -> null
-       force_destroy          = false -> null
-       id                     = "dist/js/940.f62d0aed.js" -> null
-       key                    = "dist/js/940.f62d0aed.js" -> null
-       metadata               = {} -> null
-       server_side_encryption = "AES256" -> null
-       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/940.f62d0aed.js" -> null
-       source_hash            = "ea474bbf8280c8064f1668f3177bd638" -> null
-       storage_class          = "STANDARD" -> null
-       tags                   = {} -> null
-       tags_all               = {
-           "env"        = "staging"
-           "management" = "terraform"
-           "owner"      = "grants"
-           "repo"       = "usdr-gost"
-           "service"    = "gost"
-           "usage"      = "workload"
        } -> null
-       version_id             = "9d4RpPZrFVRvUwBu8icOaV1hpkB3H3Z5" -> null
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/940.f62d0aed.js.map"] will be destroyed
  # (because key ["js/940.f62d0aed.js.map"] is not in for_each map)
-   resource "aws_s3_object" "origin_dist_artifact" {
-       acl                    = "private" -> null
-       bucket                 = "gost-staging-origin-357150818708-us-west-2-website" -> null
-       bucket_key_enabled     = false -> null
-       content_type           = "application/json" -> null
-       etag                   = "4f9679c6ec06cff1c434570fd952b901" -> null
-       force_destroy          = false -> null
-       id                     = "dist/js/940.f62d0aed.js.map" -> null
-       key                    = "dist/js/940.f62d0aed.js.map" -> null
-       metadata               = {} -> null
-       server_side_encryption = "AES256" -> null
-       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/940.f62d0aed.js.map" -> null
-       source_hash            = "4f9679c6ec06cff1c434570fd952b901" -> null
-       storage_class          = "STANDARD" -> null
-       tags                   = {} -> null
-       tags_all               = {
-           "env"        = "staging"
-           "management" = "terraform"
-           "owner"      = "grants"
-           "repo"       = "usdr-gost"
-           "service"    = "gost"
-           "usage"      = "workload"
        } -> null
-       version_id             = "zBSLMvU8ejZhmCHhvf50gbHApFhvdCpC" -> null
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/943.52b610f7.js"] will be created
+   resource "aws_s3_object" "origin_dist_artifact" {
+       acl                    = "private"
+       bucket                 = "gost-staging-origin-357150818708-us-west-2-website"
+       bucket_key_enabled     = (known after apply)
+       content_type           = "text/javascript"
+       etag                   = "db8e1eb325acc84caa6bebb6829243e9"
+       force_destroy          = false
+       id                     = (known after apply)
+       key                    = "dist/js/943.52b610f7.js"
+       kms_key_id             = (known after apply)
+       server_side_encryption = "AES256"
+       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/943.52b610f7.js"
+       source_hash            = "db8e1eb325acc84caa6bebb6829243e9"
+       storage_class          = (known after apply)
+       tags_all               = {
+           "env"        = "staging"
+           "management" = "terraform"
+           "owner"      = "grants"
+           "repo"       = "usdr-gost"
+           "service"    = "gost"
+           "usage"      = "workload"
        }
+       version_id             = (known after apply)
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/943.52b610f7.js.map"] will be created
+   resource "aws_s3_object" "origin_dist_artifact" {
+       acl                    = "private"
+       bucket                 = "gost-staging-origin-357150818708-us-west-2-website"
+       bucket_key_enabled     = (known after apply)
+       content_type           = "application/json"
+       etag                   = "a993a0d6dd85b0d2701a6bae52c24d2c"
+       force_destroy          = false
+       id                     = (known after apply)
+       key                    = "dist/js/943.52b610f7.js.map"
+       kms_key_id             = (known after apply)
+       server_side_encryption = "AES256"
+       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/943.52b610f7.js.map"
+       source_hash            = "a993a0d6dd85b0d2701a6bae52c24d2c"
+       storage_class          = (known after apply)
+       tags_all               = {
+           "env"        = "staging"
+           "management" = "terraform"
+           "owner"      = "grants"
+           "repo"       = "usdr-gost"
+           "service"    = "gost"
+           "usage"      = "workload"
        }
+       version_id             = (known after apply)
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/993.14d459b2.js"] will be destroyed
  # (because key ["js/993.14d459b2.js"] is not in for_each map)
-   resource "aws_s3_object" "origin_dist_artifact" {
-       acl                    = "private" -> null
-       bucket                 = "gost-staging-origin-357150818708-us-west-2-website" -> null
-       bucket_key_enabled     = false -> null
-       content_type           = "text/javascript" -> null
-       etag                   = "74a422f0718853cdd3519404aa79f3f3" -> null
-       force_destroy          = false -> null
-       id                     = "dist/js/993.14d459b2.js" -> null
-       key                    = "dist/js/993.14d459b2.js" -> null
-       metadata               = {} -> null
-       server_side_encryption = "AES256" -> null
-       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/993.14d459b2.js" -> null
-       source_hash            = "74a422f0718853cdd3519404aa79f3f3" -> null
-       storage_class          = "STANDARD" -> null
-       tags                   = {} -> null
-       tags_all               = {
-           "env"        = "staging"
-           "management" = "terraform"
-           "owner"      = "grants"
-           "repo"       = "usdr-gost"
-           "service"    = "gost"
-           "usage"      = "workload"
        } -> null
-       version_id             = "rvH_9s62Nf9fTxXHLrXUixug.qxoPf0Y" -> null
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/993.14d459b2.js.map"] will be destroyed
  # (because key ["js/993.14d459b2.js.map"] is not in for_each map)
-   resource "aws_s3_object" "origin_dist_artifact" {
-       acl                    = "private" -> null
-       bucket                 = "gost-staging-origin-357150818708-us-west-2-website" -> null
-       bucket_key_enabled     = false -> null
-       content_type           = "application/json" -> null
-       etag                   = "cffb8ba78d338d54d8335002fb862465" -> null
-       force_destroy          = false -> null
-       id                     = "dist/js/993.14d459b2.js.map" -> null
-       key                    = "dist/js/993.14d459b2.js.map" -> null
-       metadata               = {} -> null
-       server_side_encryption = "AES256" -> null
-       source                 = "/home/runner/work/usdr-gost/usdr-gost/packages/client/dist/js/993.14d459b2.js.map" -> null
-       source_hash            = "cffb8ba78d338d54d8335002fb862465" -> null
-       storage_class          = "STANDARD" -> null
-       tags                   = {} -> null
-       tags_all               = {
-           "env"        = "staging"
-           "management" = "terraform"
-           "owner"      = "grants"
-           "repo"       = "usdr-gost"
-           "service"    = "gost"
-           "usage"      = "workload"
        } -> null
-       version_id             = "22wYTdPc2EWuMON6emzhmVUmc80T_VFb" -> null
    }

  # module.website.aws_s3_object.origin_dist_artifact["js/993.ba6fdc82.js"] will be created
+   resourc...*[Comment body truncated]*

@sanason sanason force-pushed the 2109-add-category-of-funding-activity-search-field branch from 9ef22ed to b59d407 Compare December 12, 2023 18:00
@@ -127,7 +127,7 @@
</b-form-group>
<b-form-group
id="opportunity-category-group"
label="Category"
label="Opportunity Category"
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@caitlinwinner asked that I change this label.

@@ -3,15 +3,16 @@ const FILTER_FIELD_NAME_MAP = {
includeKeywords: 'Include',
excludeKeywords: 'Exclude',
opportunityNumber: 'Opportunity Number',
Copy link
Contributor Author

Choose a reason for hiding this comment

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

For consistency, make all filter labels singular.

@sanason sanason force-pushed the 2109-add-category-of-funding-activity-search-field branch from b59d407 to 03caf42 Compare December 12, 2023 19:29
@sanason sanason force-pushed the 2109-add-category-of-funding-activity-search-field branch from e29a547 to 0151ae2 Compare December 13, 2023 19:29
@sanason sanason merged commit 8323e28 into main Dec 13, 2023
19 checks passed
@sanason sanason deleted the 2109-add-category-of-funding-activity-search-field branch December 13, 2023 19:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
database-changes Includes schema migrations or other critical changes enhancement New feature or request javascript Pull requests that update Javascript code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add Category of Funding Activity as a search field
3 participants