added virtual commands model

This commit is contained in:
Tobias Kurze
2019-08-05 13:41:12 +02:00
parent 51536766bf
commit 186614bc4a
7 changed files with 306 additions and 178 deletions

View File

@@ -11,6 +11,7 @@ import re
from sqlalchemy import or_
from datetime import datetime, timedelta
from backend.models.virtual_command_model import virtual_command_recorder_command_table
metadata = MetaData()
@@ -32,6 +33,7 @@ recorder_model_recorder_command_table = db.Table('recorder_model_recorder_comman
class RecorderModel(db.Model):
id = db.Column(db.Integer, autoincrement=True, primary_key=True)
model_name = db.Column(db.Unicode(63), unique=True, nullable=False)
model_checksum = db.Column(db.String(63), unique=True, nullable=True)
notes = db.Column(db.Unicode(255), unique=False, nullable=True, default=None)
recorder_commands = db.relationship('RecorderCommand', secondary=recorder_model_recorder_command_table,
back_populates='recorder_models')
@@ -49,9 +51,9 @@ class Recorder(db.Model):
network_name = db.Column(db.String(127), unique=True, nullable=True, default=None)
telnet_port = db.Column(db.Integer, unique=False, nullable=False, default=23)
ssh_port = db.Column(db.Integer, unique=False, nullable=False, default=22)
use_telnet_instead_ssh = db.Column(db.Boolean, nullable=False, default=False)
recorder_model_id = db.Column(db.Integer, db.ForeignKey('recorder_model.id'))
recorder_model = db.relationship('RecorderModel', back_populates='recorders')
virtual_commands = db.relationship('VirtualCommand', back_populates='recorders')
def __init__(self, **kwargs):
super(Recorder, self).__init__(**kwargs)
@@ -90,6 +92,9 @@ class RecorderCommand(db.Model):
id = db.Column(db.Integer, autoincrement=True, primary_key=True)
name = db.Column(db.Unicode(63), unique=True, nullable=False)
description = db.Column(db.Unicode(511), nullable=True, default=None)
command = db.Column(db.String(2047), nullable=False)
parameters = db.Column(db.String(2047), nullable=True)
recorder_models = db.relationship('RecorderModel', secondary=recorder_model_recorder_command_table,
back_populates='recorder_commands')
virtual_commands = db.relationship('VirtualCommand', secondary=virtual_command_recorder_command_table,
back_populates='recorder_commands')