# Copyright (C) 2020-2024 Soleta Networks # # This program is free software: you can redistribute it and/or modify it under # the terms of the GNU Affero General Public License as published by the # Free Software Foundation; either version 3 of the License, or # (at your option) any later version. import argparse class OgCenter(): @staticmethod def add_center(rest, args): parser = argparse.ArgumentParser(prog='ogcli add center') parser.add_argument('--name', nargs='?', required=True, help='Name of the center') parser.add_argument('--desc', nargs='?', required=False, help='(Optional) Provide a more detailed description of the center') parsed_args = parser.parse_args(args) payload = {'name': parsed_args.name} if parsed_args.desc: payload['comment'] = parsed_args.desc res = rest.post('/center/add', payload=payload) if not res: return 1 return 0 @staticmethod def update_center(rest, args): parser = argparse.ArgumentParser(prog='ogcli update center') parser.add_argument('--id', type=int, nargs='?', required=True, help='center id in database') parser.add_argument('--name', nargs='?', required=True, help='the new name for the center') parser.add_argument('--comment', nargs='?', required=False, help='the new comment for the center') parsed_args = parser.parse_args(args) payload = { 'id': parsed_args.id, 'name': parsed_args.name, } if parsed_args.comment: payload['comment'] = parsed_args.comment res = rest.post('/center/update', payload=payload) if not res: return 1 return 0 @staticmethod def delete_center(rest, args): parser = argparse.ArgumentParser(prog='ogcli delete center') parser.add_argument('--id', type=int, nargs='?', required=True, help='center id in database') parsed_args = parser.parse_args(args) payload = {'id': parsed_args.id} res = rest.post('/center/delete', payload=payload) if not res: return 1 return 0