qrtr-services/connection/models.py
2020-11-11 19:15:20 -07:00

31 lines
879 B
Python

from django.db import models
import jsonfield
from qrtr_account.models import Account
import importlib
class ConnectionType(models.Model):
name = models.CharField(max_length=255)
filename = models.CharField(max_length=255, unique=True)
def __str__(self):
return f"{self.name}"
class Connection(models.Model):
name = models.CharField(max_length=255)
type = models.ForeignKey(
ConnectionType,
on_delete=models.CASCADE,
null=True)
credentials = jsonfield.JSONField()
account = models.ForeignKey(Account, on_delete=models.CASCADE)
def connect(self):
conn_lib = importlib.import_module("connection.connections."
f"{self.type.filename}")
conn = conn_lib.Connection(self.credentials)
return conn
def __str__(self):
return f"{self.name}"