Update operator command to use new SQLAlchemy ORM

This commit is contained in:
Zenaku 2026-06-30 12:03:44 -05:00
parent a544628fde
commit c458d4da95

View file

@ -1,32 +1,39 @@
from core.controllers.OperatorController import OperatorController from core.models.orm_models.Operator import Operator
from core.models.manage.session_management import get_session
import pprint import pprint
NAME = 'operator' NAME = 'operator'
def register(subparsers): def register(subparsers):
parser = subparsers.add_parser(NAME) parser = subparsers.add_parser(NAME)
subs = parser.add_subparsers(title='subcommands', dest='subcommand') subs = parser.add_subparsers(title='subcommands', dest='subcommand')
subs.add_parser('list') subs.add_parser('list')
show_parser = subs.add_parser('show') show_parser = subs.add_parser('show')
show_parser.add_argument('--id', '-i', type=int, required=True) show_parser.add_argument('--id', '-i', type=int, required=True)
return parser return parser
def handle(arguments, main_parser): def handle(arguments, main_parser):
if arguments.subcommand is None: if arguments.subcommand is None:
main_parser.parse_args(['operator', '--help']) main_parser.parse_args(['operator', '--help'])
return return
session = get_session()
if arguments.subcommand == 'list': if arguments.subcommand == 'list':
pprint.pp(OperatorController.get_all()) operators = session.query(Operator).all()
pprint.pp([{
'id': o.id,
'name': o.name,
'public_key': o.public_key,
} for o in operators])
elif arguments.subcommand == 'show': elif arguments.subcommand == 'show':
operator = OperatorController.get(arguments.id) operator = session.get(Operator, arguments.id)
if operator is not None: if operator is not None:
pprint.pp(operator) pprint.pp({
'id': operator.id,
'name': operator.name,
'public_key': operator.public_key,
})
else: else:
main_parser.error('the following argument should be a valid reference: --id/-i') main_parser.error('the following argument should be a valid reference: --id/-i')