diff --git a/akanda/quantum/_authzbase.py b/akanda/quantum/_authzbase.py index 98795e1..b2d232c 100644 --- a/akanda/quantum/_authzbase.py +++ b/akanda/quantum/_authzbase.py @@ -84,19 +84,19 @@ class ResourcePlugin(object): obj = self._get_by_id(context, id, verbose=verbose) return self._fields(self.delegate.make_dict(obj), fields) - def _update_item(self, id, **kwargs): + def _update_item(self, context, id, **kwargs): key = self.delegate.resource_name resource_dict = kwargs[key][key] # XXX context and verbase are not defined here, probably missing in the # method signature; please fix obj = self._get_by_id(context, id, verbose=verbose) - return self.delegate.update(obj, resource_dict) + return self.delegate.update(context, obj, resource_dict) def _create_item(self, context, **kwargs): key = self.delegate.resource_name resource_dict = kwargs[key][key] tenant_id = self._get_tenant_id_for_create(context, resource_dict) - return self.delegate.create(tenant_id, resource_dict) + return self.delegate.create(context, tenant_id, resource_dict) def _delete_item(self, context, id): # XXX verbose is missing a definition, probably missing from the method @@ -139,11 +139,11 @@ class ResourceDelegateInterface(object): return () @abc.abstractmethod - def update(self, tenant_id, resource, body): + def update(self, context, tenant_id, resource, body): pass @abc.abstractmethod - def create(self, tenant_id, body): + def create(self, context, tenant_id, body): pass @abc.abstractmethod @@ -156,21 +156,18 @@ class ResourceDelegate(ResourceDelegateInterface): This class partially implemnts the ResourceDelegateInterface, providing common code for use by child classes that inherit from it. """ - def create(self, tenant_id, body): + def create(self, context, tenant_id, body): with context.session.begin(subtransactions=True): item = self.model(**body) context.session.add(item) return self.make_dict(item) - def update(self, tenant_id, resource, resource_dict): + def update(self, context, tenant_id, resource, resource_dict): with context.session.begin(subtransactions=True): item = self.model(**resource) context.session.update(item) return self.make_dict(item) - def delete(self, tenant_id, resource, resource_dict): - pass - def create_extension(delegate): """