From 76c9a376c7d4fbb46f8882a1ce42dd7a6c0fa85a Mon Sep 17 00:00:00 2001
From: John Estabrook <jestabro@vyos.io>
Date: Fri, 7 Oct 2022 13:55:21 -0500
Subject: graphql: T4738: remove templated requests pending rewrite

---
 src/services/api/graphql/graphql/directives.py     |  64 +++----------
 src/services/api/graphql/graphql/mutations.py      |  21 +----
 src/services/api/graphql/graphql/queries.py        |  15 +--
 .../api/graphql/graphql/schema/dhcp_server.graphql |  36 --------
 .../graphql/graphql/schema/firewall_group.graphql  | 101 ---------------------
 .../graphql/schema/interface_ethernet.graphql      |  19 ----
 .../api/graphql/graphql/schema/schema.graphql      |  12 +--
 src/services/api/graphql/session/session.py        |  34 -------
 8 files changed, 16 insertions(+), 286 deletions(-)
 delete mode 100644 src/services/api/graphql/graphql/schema/dhcp_server.graphql
 delete mode 100644 src/services/api/graphql/graphql/schema/firewall_group.graphql
 delete mode 100644 src/services/api/graphql/graphql/schema/interface_ethernet.graphql

(limited to 'src')

diff --git a/src/services/api/graphql/graphql/directives.py b/src/services/api/graphql/graphql/directives.py
index 62579d326..d75d72582 100644
--- a/src/services/api/graphql/graphql/directives.py
+++ b/src/services/api/graphql/graphql/directives.py
@@ -31,55 +31,6 @@ class VyosDirective(SchemaDirectiveVisitor):
         field.resolve = func
         return field
 
-
-class ConfigureDirective(VyosDirective):
-    """
-    Class providing implementation of 'configure' directive in schema.
-    """
-    def visit_field_definition(self, field, object_type):
-        super().visit_field_definition(field, object_type,
-                                       make_resolver=make_configure_resolver)
-
-class ShowConfigDirective(VyosDirective):
-    """
-    Class providing implementation of 'show' directive in schema.
-    """
-    def visit_field_definition(self, field, object_type):
-        super().visit_field_definition(field, object_type,
-                                       make_resolver=make_show_config_resolver)
-
-class SystemStatusDirective(VyosDirective):
-    """
-    Class providing implementation of 'system_status' directive in schema.
-    """
-    def visit_field_definition(self, field, object_type):
-        super().visit_field_definition(field, object_type,
-                                       make_resolver=make_system_status_resolver)
-
-class ConfigFileDirective(VyosDirective):
-    """
-    Class providing implementation of 'configfile' directive in schema.
-    """
-    def visit_field_definition(self, field, object_type):
-        super().visit_field_definition(field, object_type,
-                                       make_resolver=make_config_file_resolver)
-
-class ShowDirective(VyosDirective):
-    """
-    Class providing implementation of 'show' directive in schema.
-    """
-    def visit_field_definition(self, field, object_type):
-        super().visit_field_definition(field, object_type,
-                                       make_resolver=make_show_resolver)
-
-class ImageDirective(VyosDirective):
-    """
-    Class providing implementation of 'image' directive in schema.
-    """
-    def visit_field_definition(self, field, object_type):
-        super().visit_field_definition(field, object_type,
-                                       make_resolver=make_image_resolver)
-
 class ConfigSessionQueryDirective(VyosDirective):
     """
     Class providing implementation of 'configsessionquery' directive in schema.
@@ -112,9 +63,16 @@ class GenOpMutationDirective(VyosDirective):
         super().visit_field_definition(field, object_type,
                                        make_resolver=make_gen_op_mutation_resolver)
 
-directives_dict = {"configure": ConfigureDirective,
-                   "systemstatus": SystemStatusDirective,
-                   "configsessionquery": ConfigSessionQueryDirective,
+class SystemStatusDirective(VyosDirective):
+    """
+    Class providing implementation of 'system_status' directive in schema.
+    """
+    def visit_field_definition(self, field, object_type):
+        super().visit_field_definition(field, object_type,
+                                       make_resolver=make_system_status_resolver)
+
+directives_dict = {"configsessionquery": ConfigSessionQueryDirective,
                    "configsessionmutation": ConfigSessionMutationDirective,
                    "genopquery": GenOpQueryDirective,
-                   "genopmutation": GenOpMutationDirective}
+                   "genopmutation": GenOpMutationDirective,
+                   "systemstatus": SystemStatusDirective}
diff --git a/src/services/api/graphql/graphql/mutations.py b/src/services/api/graphql/graphql/mutations.py
index 84ee03eed..f7d285a77 100644
--- a/src/services/api/graphql/graphql/mutations.py
+++ b/src/services/api/graphql/graphql/mutations.py
@@ -106,28 +106,9 @@ def make_mutation_resolver(mutation_name, class_name, session_func):
 
     return func_impl
 
-def make_prefix_resolver(mutation_name, prefix=[]):
-    for pre in prefix:
-        Pre = pre.capitalize()
-        if Pre in mutation_name:
-            class_name = mutation_name.replace(Pre, '', 1)
-            return make_mutation_resolver(mutation_name, class_name, pre)
-    raise Exception
-
-def make_configure_resolver(mutation_name):
-    class_name = mutation_name
-    return make_mutation_resolver(mutation_name, class_name, 'configure')
-
-def make_config_file_resolver(mutation_name):
-    return make_prefix_resolver(mutation_name, prefix=['save', 'load'])
-
-def make_image_resolver(mutation_name):
-    return make_prefix_resolver(mutation_name, prefix=['add', 'delete'])
-
 def make_config_session_mutation_resolver(mutation_name):
     return make_mutation_resolver(mutation_name, mutation_name,
                                   convert_camel_case_to_snake(mutation_name))
 
 def make_gen_op_mutation_resolver(mutation_name):
-    class_name = mutation_name
-    return make_mutation_resolver(mutation_name, class_name, 'gen_op_mutation')
+    return make_mutation_resolver(mutation_name, mutation_name, 'gen_op_mutation')
diff --git a/src/services/api/graphql/graphql/queries.py b/src/services/api/graphql/graphql/queries.py
index 126a0d3c4..5f3a7d005 100644
--- a/src/services/api/graphql/graphql/queries.py
+++ b/src/services/api/graphql/graphql/queries.py
@@ -106,21 +106,12 @@ def make_query_resolver(query_name, class_name, session_func):
 
     return func_impl
 
-def make_show_config_resolver(query_name):
-    class_name = query_name
-    return make_query_resolver(query_name, class_name, 'show_config')
-
-def make_system_status_resolver(query_name):
-    class_name = query_name
-    return make_query_resolver(query_name, class_name, 'system_status')
-
-def make_show_resolver(query_name):
-    class_name = query_name
-    return make_query_resolver(query_name, class_name, 'show')
-
 def make_config_session_query_resolver(query_name):
     return make_query_resolver(query_name, query_name,
                                convert_camel_case_to_snake(query_name))
 
 def make_gen_op_query_resolver(query_name):
     return make_query_resolver(query_name, query_name, 'gen_op_query')
+
+def make_system_status_resolver(query_name):
+    return make_query_resolver(query_name, query_name, 'system_status')
diff --git a/src/services/api/graphql/graphql/schema/dhcp_server.graphql b/src/services/api/graphql/graphql/schema/dhcp_server.graphql
deleted file mode 100644
index 345c349ac..000000000
--- a/src/services/api/graphql/graphql/schema/dhcp_server.graphql
+++ /dev/null
@@ -1,36 +0,0 @@
-input DhcpServerConfigInput {
-    key: String!
-    sharedNetworkName: String
-    subnet: String
-    defaultRouter: String
-    nameServer: String
-    domainName: String
-    lease: Int
-    range: Int
-    start: String
-    stop: String
-    dnsForwardingAllowFrom: String
-    dnsForwardingCacheSize: Int
-    dnsForwardingListenAddress: String
-}
-
-type DhcpServerConfig {
-    sharedNetworkName: String
-    subnet: String
-    defaultRouter: String
-    nameServer: String
-    domainName: String
-    lease: Int
-    range: Int
-    start: String
-    stop: String
-    dnsForwardingAllowFrom: String
-    dnsForwardingCacheSize: Int
-    dnsForwardingListenAddress: String
-}
-
-type CreateDhcpServerResult {
-    data: DhcpServerConfig
-    success: Boolean!
-    errors: [String]
-}
diff --git a/src/services/api/graphql/graphql/schema/firewall_group.graphql b/src/services/api/graphql/graphql/schema/firewall_group.graphql
deleted file mode 100644
index 9454d2997..000000000
--- a/src/services/api/graphql/graphql/schema/firewall_group.graphql
+++ /dev/null
@@ -1,101 +0,0 @@
-input CreateFirewallAddressGroupInput {
-    key: String!
-    name: String!
-    address: [String]
-}
-
-type CreateFirewallAddressGroup {
-    name: String!
-    address: [String]
-}
-
-type CreateFirewallAddressGroupResult {
-    data: CreateFirewallAddressGroup
-    success: Boolean!
-    errors: [String]
-}
-
-input UpdateFirewallAddressGroupMembersInput {
-    key: String!
-    name: String!
-    address: [String!]!
-}
-
-type UpdateFirewallAddressGroupMembers {
-    name: String!
-    address: [String!]!
-}
-
-type UpdateFirewallAddressGroupMembersResult {
-    data: UpdateFirewallAddressGroupMembers
-    success: Boolean!
-    errors: [String]
-}
-
-input RemoveFirewallAddressGroupMembersInput {
-    key: String!
-    name: String!
-    address: [String!]!
-}
-
-type RemoveFirewallAddressGroupMembers {
-    name: String!
-    address: [String!]!
-}
-
-type RemoveFirewallAddressGroupMembersResult {
-    data: RemoveFirewallAddressGroupMembers
-    success: Boolean!
-    errors: [String]
-}
-
-input CreateFirewallAddressIpv6GroupInput {
-    key: String!
-    name: String!
-    address: [String]
-}
-
-type CreateFirewallAddressIpv6Group {
-    name: String!
-    address: [String]
-}
-
-type CreateFirewallAddressIpv6GroupResult {
-    data: CreateFirewallAddressIpv6Group
-    success: Boolean!
-    errors: [String]
-}
-
-input UpdateFirewallAddressIpv6GroupMembersInput {
-    key: String!
-    name: String!
-    address: [String!]!
-}
-
-type UpdateFirewallAddressIpv6GroupMembers {
-    name: String!
-    address: [String!]!
-}
-
-type UpdateFirewallAddressIpv6GroupMembersResult {
-    data: UpdateFirewallAddressIpv6GroupMembers
-    success: Boolean!
-    errors: [String]
-}
-
-input RemoveFirewallAddressIpv6GroupMembersInput {
-    key: String!
-    name: String!
-    address: [String!]!
-}
-
-type RemoveFirewallAddressIpv6GroupMembers {
-    name: String!
-    address: [String!]!
-}
-
-type RemoveFirewallAddressIpv6GroupMembersResult {
-    data: RemoveFirewallAddressIpv6GroupMembers
-    success: Boolean!
-    errors: [String]
-}
diff --git a/src/services/api/graphql/graphql/schema/interface_ethernet.graphql b/src/services/api/graphql/graphql/schema/interface_ethernet.graphql
deleted file mode 100644
index 8a17d919f..000000000
--- a/src/services/api/graphql/graphql/schema/interface_ethernet.graphql
+++ /dev/null
@@ -1,19 +0,0 @@
-input InterfaceEthernetConfigInput {
-    key: String!
-    interface: String
-    address: String
-    replace: Boolean = true
-    description: String
-}
-
-type InterfaceEthernetConfig {
-    interface: String
-    address: String
-    description: String
-}
-
-type CreateInterfaceEthernetResult {
-    data: InterfaceEthernetConfig
-    success: Boolean!
-    errors: [String]
-}
diff --git a/src/services/api/graphql/graphql/schema/schema.graphql b/src/services/api/graphql/graphql/schema/schema.graphql
index fff7c43b0..2acecade4 100644
--- a/src/services/api/graphql/graphql/schema/schema.graphql
+++ b/src/services/api/graphql/graphql/schema/schema.graphql
@@ -3,7 +3,6 @@ schema {
     mutation: Mutation
 }
 
-directive @configure on FIELD_DEFINITION
 directive @systemstatus on FIELD_DEFINITION
 directive @configsessionquery on FIELD_DEFINITION
 directive @configsessionmutation on FIELD_DEFINITION
@@ -16,13 +15,4 @@ type Query {
     SystemStatus(data: SystemStatusInput) : SystemStatusResult @systemstatus
 }
 
-type Mutation {
-    CreateDhcpServer(data: DhcpServerConfigInput) : CreateDhcpServerResult @configure
-    CreateInterfaceEthernet(data: InterfaceEthernetConfigInput) : CreateInterfaceEthernetResult @configure
-    CreateFirewallAddressGroup(data: CreateFirewallAddressGroupInput) : CreateFirewallAddressGroupResult @configure
-    UpdateFirewallAddressGroupMembers(data: UpdateFirewallAddressGroupMembersInput) : UpdateFirewallAddressGroupMembersResult @configure
-    RemoveFirewallAddressGroupMembers(data: RemoveFirewallAddressGroupMembersInput) : RemoveFirewallAddressGroupMembersResult @configure
-    CreateFirewallAddressIpv6Group(data: CreateFirewallAddressIpv6GroupInput) : CreateFirewallAddressIpv6GroupResult @configure
-    UpdateFirewallAddressIpv6GroupMembers(data: UpdateFirewallAddressIpv6GroupMembersInput) : UpdateFirewallAddressIpv6GroupMembersResult @configure
-    RemoveFirewallAddressIpv6GroupMembers(data: RemoveFirewallAddressIpv6GroupMembersInput) : RemoveFirewallAddressIpv6GroupMembersResult @configure
-}
+type Mutation
diff --git a/src/services/api/graphql/session/session.py b/src/services/api/graphql/session/session.py
index 61dd3ed1b..f990e63d0 100644
--- a/src/services/api/graphql/session/session.py
+++ b/src/services/api/graphql/session/session.py
@@ -45,40 +45,6 @@ class Session:
         except Exception:
             self._op_mode_list = None
 
-    def configure(self):
-        session = self._session
-        data = self._data
-        func_base_name = self._name
-
-        tmpl_file = f'{func_base_name}.tmpl'
-        cmd_file = f'/tmp/{func_base_name}.cmds'
-        tmpl_dir = directories['api_templates']
-
-        try:
-            render(cmd_file, tmpl_file, data, location=tmpl_dir)
-            commands = []
-            with open(cmd_file) as f:
-                lines = f.readlines()
-            for line in lines:
-                commands.append(line.split())
-            for cmd in commands:
-                if cmd[0] == 'set':
-                    session.set(cmd[1:])
-                elif cmd[0] == 'delete':
-                    session.delete(cmd[1:])
-                else:
-                    raise ValueError('Operation must be "set" or "delete"')
-            session.commit()
-        except Exception as error:
-            raise error
-
-    def delete_path_if_childless(self, path):
-        session = self._session
-        config = Config(session.get_session_env())
-        if not config.list_nodes(path):
-            session.delete(path)
-            session.commit()
-
     def show_config(self):
         session = self._session
         data = self._data
-- 
cgit v1.2.3