From 4881610656dbc322804ca6eba1c8d5922cd8ac09 Mon Sep 17 00:00:00 2001 From: Alejandro Sirgo Rica Date: Mon, 5 Feb 2024 12:52:53 +0100 Subject: folder: add commands to create and delete folders add command to add folders add folder --name test --room-id 123 to delete delete folder --id 456 you can fetch the id with 'list scopes' --- cli/objects/folder.py | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 cli/objects/folder.py (limited to 'cli/objects/folder.py') diff --git a/cli/objects/folder.py b/cli/objects/folder.py new file mode 100644 index 0000000..4b9485b --- /dev/null +++ b/cli/objects/folder.py @@ -0,0 +1,54 @@ +# 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 sys +import argparse + +class OgFolder(): + + @staticmethod + def add_folder(rest, args): + parser = argparse.ArgumentParser(prog='ogcli add folder') + + group = parser.add_mutually_exclusive_group(required=True) + group.add_argument('--center-id', + nargs='?', + type=int, + required=True, + help='provide the id of the center that will contain the folder') + group.add_argument('--room-id', + nargs='?', + type=int, + required=True, + help='provide the id of the room that will contain the folder') + + parser.add_argument('--name', + nargs='?', + required=True, + help='name of the folder to be added') + parsed_args = parser.parse_args(args) + + payload = { + 'name': parsed_args.name, + } + if parsed_args.room_id: + payload['room'] = parsed_args.room_id + if parsed_args.center_id: + payload['center'] = parsed_args.center_id + rest.post('/folder/add', payload=payload) + + @staticmethod + def delete_folder(rest, args): + parser = argparse.ArgumentParser(prog='ogcli delete folder') + parser.add_argument('--id', + nargs='?', + type=int, + required=True, + help='folder id in database') + parsed_args = parser.parse_args(args) + payload = {'id': parsed_args.id} + rest.post('/folder/delete', payload=payload) -- cgit v1.2.3-18-g5258