From 2396cde463203a556a7be5b9e6f84f2a04287918 Mon Sep 17 00:00:00 2001 From: Igor Fedoronchuk Date: Sun, 2 Aug 2026 18:53:31 +0200 Subject: [PATCH] refactor: inline SingletonRepository into BalanceRepository SingletonRepository had exactly one subclass (BalanceRepository) anywhere in the codebase. Ported over from a shared base class that never gained a second consumer. --- src/didww/resources/balance.py | 16 ++++++++++++++-- src/didww/resources/base.py | 15 --------------- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/src/didww/resources/balance.py b/src/didww/resources/balance.py index d908a2a..b414c8e 100644 --- a/src/didww/resources/balance.py +++ b/src/didww/resources/balance.py @@ -1,4 +1,6 @@ -from didww.resources.base import DidwwApiModel, SafeAttributeField, SingletonRepository +from jsonapi_requests.data import JsonApiResponse + +from didww.resources.base import ApiResponse, DidwwApiModel, SafeAttributeField class Balance(DidwwApiModel): @@ -10,6 +12,16 @@ class Meta: type = "balances" -class BalanceRepository(SingletonRepository): +class BalanceRepository: _resource_class = Balance _path = "balance" + + def __init__(self, client): + self.client = client + + def find(self, params=None): + query = params.to_dict() if params else None + body = self.client.get(self._path, params=query) + response = JsonApiResponse.from_data(body) + resource = self._resource_class.from_response_content(response) + return ApiResponse(data=resource, meta=body.get("meta", {})) diff --git a/src/didww/resources/base.py b/src/didww/resources/base.py index b29a460..c6e6d11 100644 --- a/src/didww/resources/base.py +++ b/src/didww/resources/base.py @@ -375,21 +375,6 @@ def find(self, resource_id, params=None): return ApiResponse(data=resource, meta=body.get("meta", {})) -class SingletonRepository: - _resource_class = None - _path = None - - def __init__(self, client): - self.client = client - - def find(self, params=None): - query = params.to_dict() if params else None - body = self.client.get(self._path, params=query) - response = JsonApiResponse.from_data(body) - resource = self._resource_class.from_response_content(response) - return ApiResponse(data=resource, meta=body.get("meta", {})) - - class Repository(ReadOnlyRepository): def create(self, resource, params=None): doc = {"data": resource.to_jsonapi()}