add context resource create/update interface
This commit is contained in:
parent
33d531d2a6
commit
d3a5d5ba43
|
@ -84,19 +84,19 @@ class ResourcePlugin(object):
|
||||||
obj = self._get_by_id(context, id, verbose=verbose)
|
obj = self._get_by_id(context, id, verbose=verbose)
|
||||||
return self._fields(self.delegate.make_dict(obj), fields)
|
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
|
key = self.delegate.resource_name
|
||||||
resource_dict = kwargs[key][key]
|
resource_dict = kwargs[key][key]
|
||||||
# XXX context and verbase are not defined here, probably missing in the
|
# XXX context and verbase are not defined here, probably missing in the
|
||||||
# method signature; please fix
|
# method signature; please fix
|
||||||
obj = self._get_by_id(context, id, verbose=verbose)
|
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):
|
def _create_item(self, context, **kwargs):
|
||||||
key = self.delegate.resource_name
|
key = self.delegate.resource_name
|
||||||
resource_dict = kwargs[key][key]
|
resource_dict = kwargs[key][key]
|
||||||
tenant_id = self._get_tenant_id_for_create(context, resource_dict)
|
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):
|
def _delete_item(self, context, id):
|
||||||
# XXX verbose is missing a definition, probably missing from the method
|
# XXX verbose is missing a definition, probably missing from the method
|
||||||
|
@ -139,11 +139,11 @@ class ResourceDelegateInterface(object):
|
||||||
return ()
|
return ()
|
||||||
|
|
||||||
@abc.abstractmethod
|
@abc.abstractmethod
|
||||||
def update(self, tenant_id, resource, body):
|
def update(self, context, tenant_id, resource, body):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@abc.abstractmethod
|
@abc.abstractmethod
|
||||||
def create(self, tenant_id, body):
|
def create(self, context, tenant_id, body):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@abc.abstractmethod
|
@abc.abstractmethod
|
||||||
|
@ -156,21 +156,18 @@ class ResourceDelegate(ResourceDelegateInterface):
|
||||||
This class partially implemnts the ResourceDelegateInterface, providing
|
This class partially implemnts the ResourceDelegateInterface, providing
|
||||||
common code for use by child classes that inherit from it.
|
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):
|
with context.session.begin(subtransactions=True):
|
||||||
item = self.model(**body)
|
item = self.model(**body)
|
||||||
context.session.add(item)
|
context.session.add(item)
|
||||||
return self.make_dict(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):
|
with context.session.begin(subtransactions=True):
|
||||||
item = self.model(**resource)
|
item = self.model(**resource)
|
||||||
context.session.update(item)
|
context.session.update(item)
|
||||||
return self.make_dict(item)
|
return self.make_dict(item)
|
||||||
|
|
||||||
def delete(self, tenant_id, resource, resource_dict):
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
def create_extension(delegate):
|
def create_extension(delegate):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue