diff --git a/src/sentry/db/models/manager/base.py b/src/sentry/db/models/manager/base.py index 0f7ece6136cd89..3161635d7a2f9d 100644 --- a/src/sentry/db/models/manager/base.py +++ b/src/sentry/db/models/manager/base.py @@ -482,7 +482,7 @@ def uncache_object(self, instance_id: int) -> None: cache_key = self.__get_lookup_cache_key(**{pk_name: instance_id}) cache.delete(cache_key, version=self.cache_version) - def post_save(self, instance: M, **kwargs: Any) -> None: # type: ignore[misc] # python/mypy#6178 + def post_save(self, *, instance: M, created: bool, **kwargs: object) -> None: # type: ignore[misc] # python/mypy#6178 """ Triggered when a model bound to this manager is saved. """ diff --git a/src/sentry/discover/models.py b/src/sentry/discover/models.py index 22ed47e5719c32..77dcc7f3998301 100644 --- a/src/sentry/discover/models.py +++ b/src/sentry/discover/models.py @@ -162,7 +162,7 @@ def __schedule_invalidate_project_config_transaction_commit(instance, trigger): if RuleType.BOOST_KEY_TRANSACTIONS_RULE.value in enabled_biases: schedule_invalidate_project_config(project_id=project.id, trigger=trigger) - def post_save(self, instance, **kwargs): + def post_save(self, *, instance: TeamKeyTransaction, created: bool, **kwargs: object) -> None: # this hook may be called from model hooks during an # open transaction. In that case, wait until the current transaction has # been committed or rolled back to ensure we don't read stale data in the diff --git a/src/sentry/models/options/organization_option.py b/src/sentry/models/options/organization_option.py index 8a1e6d9c9479f7..7226ebe28e6906 100644 --- a/src/sentry/models/options/organization_option.py +++ b/src/sentry/models/options/organization_option.py @@ -81,7 +81,7 @@ def reload_cache(self, organization_id: int, update_reason: str) -> Mapping[str, self._option_cache[cache_key] = result return result - def post_save(self, instance: OrganizationOption, **kwargs: Any) -> None: + def post_save(self, *, instance: OrganizationOption, created: bool, **kwargs: object) -> None: self.reload_cache(instance.organization_id, "organizationoption.post_save") def post_delete(self, instance: OrganizationOption, **kwargs: Any) -> None: diff --git a/src/sentry/models/options/project_option.py b/src/sentry/models/options/project_option.py index e819cf60bbda92..1487de5abda776 100644 --- a/src/sentry/models/options/project_option.py +++ b/src/sentry/models/options/project_option.py @@ -146,7 +146,7 @@ def reload_cache(self, project_id: int, update_reason: str) -> Mapping[str, Any] self._option_cache[cache_key] = result return result - def post_save(self, instance: ProjectOption, **kwargs: Any) -> None: + def post_save(self, *, instance: ProjectOption, created: bool, **kwargs: object) -> None: self.reload_cache(instance.project_id, "projectoption.post_save") def post_delete(self, instance: ProjectOption, **kwargs: Any) -> None: diff --git a/src/sentry/models/options/project_template_option.py b/src/sentry/models/options/project_template_option.py index 4c14f184977ddd..7c4d9015e9eeac 100644 --- a/src/sentry/models/options/project_template_option.py +++ b/src/sentry/models/options/project_template_option.py @@ -83,7 +83,9 @@ def reload_cache(self, project_template_id: int, update_reason: str) -> None: cache.set(cache_key, result) self._option_cache[cache_key] = result - def post_save(self, instance: ProjectTemplateOption, **kwargs: Any) -> None: + def post_save( + self, *, instance: ProjectTemplateOption, created: bool, **kwargs: object + ) -> None: self.reload_cache(instance.project_template_id, "projecttemplateoption.post_save") def post_delete(self, instance: ProjectTemplateOption, **kwargs: Any) -> None: diff --git a/src/sentry/models/options/user_option.py b/src/sentry/models/options/user_option.py index 951d9db896b1e7..9b76858c0b926b 100644 --- a/src/sentry/models/options/user_option.py +++ b/src/sentry/models/options/user_option.py @@ -128,7 +128,7 @@ def get_all_values( return self._option_cache.get(metakey, {}) - def post_save(self, instance: UserOption, **kwargs: Any) -> None: + def post_save(self, *, instance: UserOption, created: bool, **kwargs: object) -> None: self.get_all_values( instance.user, instance.project_id, instance.organization_id, force_reload=True ) diff --git a/src/sentry/models/projectkey.py b/src/sentry/models/projectkey.py index 3612448e36d53b..8f2c7322d36192 100644 --- a/src/sentry/models/projectkey.py +++ b/src/sentry/models/projectkey.py @@ -42,7 +42,7 @@ class ProjectKeyStatus: class ProjectKeyManager(BaseManager["ProjectKey"]): - def post_save(self, instance, **kwargs): + def post_save(self, *, instance: ProjectKey, created: bool, **kwargs: object) -> None: schedule_invalidate_project_config( public_key=instance.public_key, trigger="projectkey.post_save" ) diff --git a/src/sentry/models/releaseprojectenvironment.py b/src/sentry/models/releaseprojectenvironment.py index 12c599c0f4e124..49b945a2d6e88f 100644 --- a/src/sentry/models/releaseprojectenvironment.py +++ b/src/sentry/models/releaseprojectenvironment.py @@ -56,7 +56,9 @@ def subscribe_project_to_alert_rule( activator=activator, ) - def post_save(self, instance, created, **kwargs): + def post_save( + self, *, instance: ReleaseProjectEnvironment, created: bool, **kwargs: object + ) -> None: if created: release = instance.release project = instance.project diff --git a/src/sentry/models/releases/release_project.py b/src/sentry/models/releases/release_project.py index 9f9b8702a544a0..1fe74229962caf 100644 --- a/src/sentry/models/releases/release_project.py +++ b/src/sentry/models/releases/release_project.py @@ -59,7 +59,7 @@ def subscribe_project_to_alert_rule( activator=release.version, ) - def post_save(self, instance, created, **kwargs): + def post_save(self, *, instance: ReleaseProject, created: bool, **kwargs: object) -> None: self._on_post(project=instance.project, trigger="releaseproject.post_save") if created: self.subscribe_project_to_alert_rule( diff --git a/src/sentry/models/team.py b/src/sentry/models/team.py index 05c0157dd1d85e..f854355987ae11 100644 --- a/src/sentry/models/team.py +++ b/src/sentry/models/team.py @@ -123,7 +123,7 @@ def get_for_user( return results - def post_save(self, instance, **kwargs): + def post_save(self, *, instance: Team, created: bool, **kwargs: object) -> None: self.process_resource_change(instance, **kwargs) def post_delete(self, instance, **kwargs): diff --git a/tests/sentry/models/test_projectkey.py b/tests/sentry/models/test_projectkey.py index 1e5c965045c964..cccb735491f117 100644 --- a/tests/sentry/models/test_projectkey.py +++ b/tests/sentry/models/test_projectkey.py @@ -193,6 +193,6 @@ def test_key_saved_projconfig_invalidated(inv_proj_config, default_project): key = ProjectKey.objects.get(project=default_project) manager = ProjectKeyManager() - manager.post_save(key) + manager.post_save(instance=key, created=False) assert inv_proj_config.call_count == 1