bitbake: toaster: api Add GET REST API for Layer information
Add a get API for returning information about layers. (Bitbake rev: 3fa5170c98c699d2a7a8380b696fc599efcc5dee) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
23ad2a8ca0
commit
de0295e5bb
|
@ -139,9 +139,55 @@ class XhrBuildRequest(View):
|
||||||
class XhrLayer(View):
|
class XhrLayer(View):
|
||||||
""" Delete, Get, Add and Update Layer information
|
""" Delete, Get, Add and Update Layer information
|
||||||
|
|
||||||
Methods: POST DELETE PUT
|
Methods: GET POST DELETE PUT
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
def get(self, request, *args, **kwargs):
|
||||||
|
"""
|
||||||
|
Get layer information
|
||||||
|
|
||||||
|
Method: GET
|
||||||
|
Entry point: /xhr_layer/<project id>/<layerversion_id>
|
||||||
|
"""
|
||||||
|
|
||||||
|
try:
|
||||||
|
layer_version = Layer_Version.objects.get(
|
||||||
|
pk=kwargs['layerversion_id'])
|
||||||
|
|
||||||
|
project = Project.objects.get(pk=kwargs['pid'])
|
||||||
|
|
||||||
|
project_layers = ProjectLayer.objects.filter(
|
||||||
|
project=project).values_list("layercommit_id",
|
||||||
|
flat=True)
|
||||||
|
|
||||||
|
ret = {
|
||||||
|
'error': 'ok',
|
||||||
|
'id': layer_version.pk,
|
||||||
|
'name': layer_version.layer.name,
|
||||||
|
'layerdetailurl':
|
||||||
|
layer_version.get_detailspage_url(project.pk),
|
||||||
|
'vcs_ref': layer_version.get_vcs_reference(),
|
||||||
|
'vcs_url': layer_version.layer.vcs_url,
|
||||||
|
'local_source_dir': layer_version.layer.local_source_dir,
|
||||||
|
'layerdeps': {
|
||||||
|
"list": [
|
||||||
|
{
|
||||||
|
"id": dep.id,
|
||||||
|
"name": dep.layer.name,
|
||||||
|
"layerdetailurl":
|
||||||
|
dep.get_detailspage_url(project.pk),
|
||||||
|
"vcs_url": dep.layer.vcs_url,
|
||||||
|
"vcs_reference": dep.get_vcs_reference()
|
||||||
|
}
|
||||||
|
for dep in layer_version.get_alldeps(project.id)]
|
||||||
|
},
|
||||||
|
'projectlayers': list(project_layers)
|
||||||
|
}
|
||||||
|
|
||||||
|
return JsonResponse(ret)
|
||||||
|
except Layer_Version.DoesNotExist:
|
||||||
|
error_response("No such layer")
|
||||||
|
|
||||||
def post(self, request, *args, **kwargs):
|
def post(self, request, *args, **kwargs):
|
||||||
"""
|
"""
|
||||||
Update a layer
|
Update a layer
|
||||||
|
@ -211,7 +257,7 @@ class XhrLayer(View):
|
||||||
""" Add a new layer
|
""" Add a new layer
|
||||||
|
|
||||||
Method: PUT
|
Method: PUT
|
||||||
Entry point: /xhr_layer/
|
Entry point: /xhr_layer/<project id>/
|
||||||
Args:
|
Args:
|
||||||
project_id, name,
|
project_id, name,
|
||||||
[vcs_url, dir_path, git_ref], [local_source_dir], [layer_deps
|
[vcs_url, dir_path, git_ref], [local_source_dir], [layer_deps
|
||||||
|
@ -296,7 +342,7 @@ class XhrLayer(View):
|
||||||
""" Delete an imported layer
|
""" Delete an imported layer
|
||||||
|
|
||||||
Method: DELETE
|
Method: DELETE
|
||||||
Entry point: /xhr_layer/<layerversion_id>
|
Entry point: /xhr_layer/<projed id>/<layerversion_id>
|
||||||
|
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
|
@ -888,6 +934,9 @@ class XhrProject(View):
|
||||||
"url": layer.layercommit.layer.layer_index_url,
|
"url": layer.layercommit.layer.layer_index_url,
|
||||||
"layerdetailurl": layer.layercommit.get_detailspage_url(
|
"layerdetailurl": layer.layercommit.get_detailspage_url(
|
||||||
project.pk),
|
project.pk),
|
||||||
|
"xhrLayerUrl": reverse("xhr_layer",
|
||||||
|
args=(project.pk,
|
||||||
|
layer.layercommit.pk)),
|
||||||
"layersource": layer.layercommit.layer_source
|
"layersource": layer.layercommit.layer_source
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue