diff options
author | Alejandro Sirgo Rica <asirgo@soleta.eu> | 2024-02-05 12:52:53 +0100 |
---|---|---|
committer | OpenGnSys Support Team <soporte-og@soleta.eu> | 2024-02-05 12:58:52 +0100 |
commit | 4881610656dbc322804ca6eba1c8d5922cd8ac09 (patch) | |
tree | 176f740fd48178c25e466229ce138fecf01a679b /cli/objects | |
parent | 642b0a49d43d74dfe79e73c9a25d7cd32b1301b5 (diff) |
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'
Diffstat (limited to 'cli/objects')
-rw-r--r-- | cli/objects/folder.py | 54 |
1 files changed, 54 insertions, 0 deletions
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 <opengnsys@soleta.eu> +# +# 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) |