Replace top-level actions View with builtin LabThings

This commit is contained in:
Joel Collins 2020-11-17 17:17:06 +00:00
parent 427d5b0093
commit 421a2e3960
3 changed files with 7 additions and 36 deletions

View file

@ -140,8 +140,6 @@ labthing.add_view(views.MjpegStream, "/streams/mjpeg")
labthing.add_view(views.SnapshotStream, "/streams/snapshot")
# Attach microscope action resources
labthing.add_view(views.actions.ActionsView, "/actions")
labthing.add_root_link(views.actions.ActionsView, "actions")
for name, action in views.enabled_root_actions().items():
view_class = action["view_class"]
rule = action["rule"]

View file

@ -100,8 +100,8 @@ export default {
configurationUri: function() {
return `${this.$store.getters.baseUri}/api/v2/instrument/configuration`;
},
actionsUri: function() {
return `${this.$store.getters.baseUri}/api/v2/actions`;
rootUri: function() {
return `${this.$store.getters.baseUri}/api/v2`;
}
},
@ -135,22 +135,22 @@ export default {
},
updateSystemActions: function() {
axios
.get(this.actionsUri)
.get(this.rootUri)
.then(response => {
if ("reboot" in response.data) {
if ("RebootAPI" in response.data.actions) {
this.$set(
this.systemActionLinks,
"reboot",
response.data.reboot.links.self.href
`${this.$store.getters.baseUri}/api/v2/actions/system/reboot/`
);
} else {
delete this.systemActionLinks.reboot;
}
if ("shutdown" in response.data) {
if ("ShutdownAPI" in response.data.actions) {
this.$set(
this.systemActionLinks,
"shutdown",
response.data.shutdown.links.self.href
`${this.$store.getters.baseUri}/api/v2/actions/system/shutdown/`
);
} else {
delete this.systemActionLinks.shutdown;

View file

@ -54,30 +54,3 @@ _actions = {
def enabled_root_actions():
return {k: v for k, v in _actions.items() if v["conditions"]}
class ActionsView(View):
def get(self):
"""
List of enabled default API actions.
This list does not include any actions added by LabThings extensions, only
those part of the default OpenFlexure Microscope API.
"""
actions = {}
for name, action in enabled_root_actions().items():
d = {
"links": {
"self": {
"href": url_for(action["view_class"].endpoint, _external=True),
"mimetype": "application/json",
**description_from_view(action["view_class"]),
}
},
"rule": action["rule"],
"view_class": str(action["view_class"]),
}
actions[name] = d
return actions