# 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=False, help='provide the id of the center that will contain the folder') group.add_argument('--room-id', nargs='?', type=int, required=False, 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 res = rest.post('/folder/add', payload=payload) if not res: return 1 return 0 @staticmethod def update_folder(rest, args): parser = argparse.ArgumentParser(prog='ogcli update folder') parser.add_argument('--id', type=int, nargs='?', required=True, help='folder id in database') parser.add_argument('--name', nargs='?', required=True, help='the new name for the folder') parsed_args = parser.parse_args(args) payload = { 'id': parsed_args.id, 'name': parsed_args.name, } res = rest.post('/folder/update', payload=payload) if not res: return 1 return 0 @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} res = rest.post('/folder/delete', payload=payload) if not res: return 1 return 0