mirror of
https://github.com/TakeusV1/flask_ipam.git
synced 2026-10-14 01:15:33 +02:00
46 lines
1.8 KiB
Python
46 lines
1.8 KiB
Python
from app.extensions import db
|
|
from flask_login import UserMixin
|
|
|
|
class User(UserMixin, db.Model):
|
|
id = db.Column(db.Integer(),primary_key=True,unique=True)
|
|
username = db.Column(db.String(16))
|
|
password = db.Column(db.String(32),unique=True)
|
|
is_admin = db.Column(db.Boolean(),default=False)
|
|
is_reado = db.Column(db.Boolean(),default=False)
|
|
dat_last = db.Column(db.DateTime())
|
|
|
|
class Network(db.Model):
|
|
id = db.Column(db.Integer(),primary_key=True,unique=True)
|
|
prefix = db.Column(db.Integer())
|
|
network_address = db.Column(db.String(16),unique=True)
|
|
hosts = db.Column(db.Integer())
|
|
description = db.Column(db.String(32))
|
|
|
|
class Allocation(db.Model):
|
|
ipv4 = db.Column(db.String(16),primary_key=True,unique=True)
|
|
net_id = db.Column(db.Integer(),db.ForeignKey('network.id'))
|
|
hostname = db.Column(db.String(32))
|
|
description = db.Column(db.String(64))
|
|
is_used = db.Column(db.Boolean(),default=False)
|
|
is_dhcp = db.Column(db.Boolean(),default=False)
|
|
is_gateway = db.Column(db.Boolean(),default=False)
|
|
is_decom = db.Column(db.Boolean(),default=False)
|
|
device_id = db.Column(db.Integer(),db.ForeignKey('inventory.id'))
|
|
|
|
class Inventory(db.Model):
|
|
id = db.Column(db.Integer(),primary_key=True,unique=True)
|
|
# Host Information
|
|
host_type = db.Column(db.Integer())
|
|
host_name = db.Column(db.String(64))
|
|
host_desc = db.Column(db.String(64))
|
|
# Hardware Information
|
|
host_model = db.Column(db.String(64))
|
|
host_manufacturer = db.Column(db.String(64))
|
|
host_serialnumber = db.Column(db.String(64))
|
|
# Network Information
|
|
host_os = db.Column(db.String(64))
|
|
host_location = db.Column(db.String(64))
|
|
host_owner = db.Column(db.String(64))
|
|
host_contact = db.Column(db.String(64))
|
|
## Allocation(s)
|
|
host_allocations = db.Column(db.Text()) |