diff options
| author | John Estabrook <jestabro@vyos.io> | 2022-10-07 13:55:21 -0500 | 
|---|---|---|
| committer | John Estabrook <jestabro@vyos.io> | 2022-10-07 15:02:13 -0500 | 
| commit | 76c9a376c7d4fbb46f8882a1ce42dd7a6c0fa85a (patch) | |
| tree | 6b523604d51b4c16e0c8693353ec57650d163022 | |
| parent | 5f81ced8d57d3e315252abc58e777ff946ccf494 (diff) | |
| download | vyos-1x-76c9a376c7d4fbb46f8882a1ce42dd7a6c0fa85a.tar.gz vyos-1x-76c9a376c7d4fbb46f8882a1ce42dd7a6c0fa85a.zip  | |
graphql: T4738: remove templated requests pending rewrite
8 files changed, 16 insertions, 286 deletions
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  | 
