Skip to content

Commit

Permalink
Merge pull request #230 from opaduchak/reduce-get-auth-calls
Browse files Browse the repository at this point in the history
fixed get_wb_credentials uri formation
  • Loading branch information
adlius authored Feb 10, 2025
2 parents b01d41d + 8bdd8d5 commit d5dbc0e
Showing 1 changed file with 12 additions and 7 deletions.
19 changes: 12 additions & 7 deletions addon_service/configured_addon/storage/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
from addon_service.common.credentials_formats import CredentialsFormats
from addon_service.common.waterbutler_compat import WaterButlerConfigSerializer
from addon_service.configured_addon.views import ConfiguredAddonViewSet
from app.settings import ALLOWED_RESOURCE_URI_PREFIXES

from .models import ConfiguredStorageAddon
from .serializers import ConfiguredStorageAddonSerializer
Expand All @@ -26,13 +27,17 @@ class ConfiguredStorageAddonViewSet(ConfiguredAddonViewSet):
url_name="waterbutler-credentials",
url_path="waterbutler-credentials",
)
def get_wb_credentials(self, request, pk=None):
guid = pk.split(":")[0]
external_service_name = pk.split(":")[1]
addon: ConfiguredStorageAddon = ConfiguredStorageAddon.objects.get(
base_account__external_service__wb_key=external_service_name,
authorized_resource__resource_uri=f"http://localhost:5000/{guid}",
)
def get_wb_credentials(self, request, pk: str = None):
if ":" in pk:
guid, external_service_name = pk.split(":", maxsplit=1)
addon: ConfiguredStorageAddon = ConfiguredStorageAddon.objects.get(
base_account__external_service__wb_key=external_service_name,
authorized_resource__resource_uri__in=[
f"{prefix}/{guid}" for prefix in ALLOWED_RESOURCE_URI_PREFIXES
],
)
else:
addon = self.get_object()
if addon.external_service.credentials_format is CredentialsFormats.OAUTH2:
addon.base_account.refresh_oauth_access_token__blocking()
self.resource_name = "waterbutler-credentials" # for the jsonapi resource type
Expand Down

0 comments on commit d5dbc0e

Please sign in to comment.