Commit 421a2e39 authored by Joel Collins's avatar Joel Collins
Browse files

Replace top-level actions View with builtin LabThings

parent 427d5b00
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -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"]
+7 −7
Original line number Diff line number Diff line
@@ -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;
+0 −27
Original line number Diff line number Diff line
@@ -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