Added files
This commit is contained in:
commit
25aaa0a4bf
31 changed files with 4035 additions and 0 deletions
155
models/webservers.py
Normal file
155
models/webservers.py
Normal file
|
|
@ -0,0 +1,155 @@
|
|||
from paramecio2.libraries.db.webmodel import WebModel
|
||||
from paramecio2.libraries.db.usermodel import UserModel
|
||||
from paramecio2.libraries.db import corefields
|
||||
from paramecio2.libraries.db.extrafields.dictfield import DictField
|
||||
from paramecio2.libraries.db.extrafields.datefield import DateField
|
||||
from paramecio2.libraries.db.extrafields.datetimefield import DateTimeField
|
||||
from paramecio2.libraries.db.extrafields.ipfield import IpField
|
||||
from paramecio2.libraries.db.extrafields.urlfield import UrlField
|
||||
from paramecio2.libraries.db.extrafields.urlfield import DomainField
|
||||
from paramecio2.libraries.db.extrafields.dictfield import DictField
|
||||
from paramecio2.libraries.db.extrafields.jsonfield import JsonValueField
|
||||
from paramecio2.libraries.db.extrafields.parentfield import ParentField
|
||||
from paramecio2.libraries.db.extrafields.filefield import FileField
|
||||
from paramecio2.libraries.db.extrafields.passwordfield import PasswordField
|
||||
from paramecio2.libraries.db.extrafields.usernamefield import UserNameField
|
||||
from paramecio2.libraries.urls import make_media_url
|
||||
from paramecio2.libraries import datetime
|
||||
#from modules.monit.models.monit import Server
|
||||
from modules.pastafari2.models.pastafari2 import ServerDbTask
|
||||
from paramecio2.libraries.db.extrafields.emailfield import EmailField
|
||||
|
||||
class PortField(corefields.IntegerField):
|
||||
|
||||
def __init__(self, name, size=11, required=False):
|
||||
|
||||
super().__init__(name, size, required)
|
||||
|
||||
def check(self, value):
|
||||
|
||||
value=int(super().check(value))
|
||||
|
||||
if value<=1000:
|
||||
value=0
|
||||
self.txt_error="A port need to be more higher than 1000"
|
||||
self.error=True
|
||||
elif value>65536:
|
||||
value=0
|
||||
self.txt_error="The value of the port need to be more lower than 65536"
|
||||
self.error=True
|
||||
|
||||
return str(value)
|
||||
|
||||
class UserVirtualHost(UserNameField):
|
||||
|
||||
def show_formatted(value):
|
||||
|
||||
return '<a href="">'+value+'</a>'
|
||||
|
||||
|
||||
class WebServer(WebModel):
|
||||
|
||||
def __init__(self, connection=None):
|
||||
|
||||
super().__init__(connection)
|
||||
|
||||
self.register(corefields.ForeignKeyField('server_id', ServerDbTask(connection), 11, False, 'id', 'hostname', select_fields=[]))
|
||||
#self.register(corefields.CharField('username'), True)
|
||||
#self.register(corefields.CharField('home'), True)
|
||||
#self.register(PasswordField('password'), True)
|
||||
#self.register(corefields.IntegerField('uid_hosting'), True)
|
||||
#self.register(corefields.IntegerField('gid_hosting'), True)
|
||||
|
||||
class WebServerPort(WebModel):
|
||||
|
||||
def __init__(self, connection=None):
|
||||
|
||||
super().__init__(connection)
|
||||
self.register(corefields.ForeignKeyField('webserver_id', WebServer(connection), 11, False, 'id', 'server_id', select_fields=['server_id', 'username']))
|
||||
self.register(IpField('ip'))
|
||||
self.register(PortField('port'), True)
|
||||
self.fields['port'].unique=True
|
||||
|
||||
class VirtualHost(WebModel):
|
||||
|
||||
def __init__(self, connection=None):
|
||||
|
||||
super().__init__(connection)
|
||||
|
||||
self.register(DomainField('domain'), True)
|
||||
self.register(corefields.CharField('home'), True)
|
||||
#(self, name, related_table, size=11, required=False, identifier_field='id', named_field="id", select_fields=[])
|
||||
#self.register(corefields.ForeignKeyField('user_id', UsersFtp(connection), 11, False, 'id', 'user', select_fields=[]))
|
||||
|
||||
self.register(UserVirtualHost('username'), True)
|
||||
#self.register(corefields.CharField('home'), True)
|
||||
|
||||
self.register(corefields.ForeignKeyField('webserver_id', WebServer(connection), 11, False, 'id', 'id', select_fields=['server_id', 'username']))
|
||||
self.register(IpField('ip'))
|
||||
self.register(corefields.IntegerField('port'))
|
||||
self.register(corefields.IntegerField('ssl_port'))
|
||||
self.register(corefields.CharField('cgi_type'))
|
||||
|
||||
# 0= NoSSL 1=Letsencrypt 2=other cert, show form
|
||||
|
||||
self.register(corefields.IntegerField('ssl'))
|
||||
|
||||
self.register(corefields.TextField('aliases'))
|
||||
|
||||
self.register(corefields.BooleanField('redirect_ssl'))
|
||||
self.register(corefields.BooleanField('indexes'))
|
||||
self.register(corefields.BooleanField('allow_override'))
|
||||
|
||||
self.register(corefields.CharField('php'))
|
||||
|
||||
"""
|
||||
self.register(corefields.BooleanField('php74'))
|
||||
self.register(corefields.BooleanField('php80'))
|
||||
self.register(corefields.BooleanField('php81'))
|
||||
self.register(corefields.BooleanField('php82'))
|
||||
self.register(corefields.BooleanField('wsgi'))
|
||||
"""
|
||||
|
||||
class WebApp(WebModel):
|
||||
|
||||
def __init__(self, connection=None):
|
||||
|
||||
super().__init__(connection)
|
||||
self.register(corefields.ForeignKeyField('virtualhost_id', VirtualHost(connection), 11, False, 'id', 'domain', select_fields=[]))
|
||||
self.register(corefields.CharField('app_name'))
|
||||
self.register(corefields.CharField('app_type'))
|
||||
self.register(corefields.CharField('path'))
|
||||
self.register(corefields.CharField('code'))
|
||||
self.register(JsonValueField('data'))
|
||||
|
||||
class UsersFtp(UserModel):
|
||||
"""
|
||||
CREATE TABLE `users` (
|
||||
`user` varchar(1000) NOT NULL,
|
||||
`passwd` varchar(1000) NOT NULL,
|
||||
`uid` int(11) DEFAULT NULL,
|
||||
`gid` int(11) DEFAULT NULL,
|
||||
`home` varchar(255) DEFAULT NULL,
|
||||
UNIQUE KEY `user` (`user`) USING HASH,
|
||||
KEY `users_user_idx` (`user`(768))
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||
"""
|
||||
|
||||
def __init__(self, connection=None):
|
||||
|
||||
super().__init__(connection)
|
||||
|
||||
self.register(corefields.CharField('user'), True)
|
||||
self.register(PasswordField('passwd'), True)
|
||||
self.register(EmailField('email'), True)
|
||||
self.register(corefields.IntegerField('uid'))
|
||||
self.register(corefields.IntegerField('gid'))
|
||||
self.register(corefields.CharField('home'))
|
||||
self.register(corefields.IntegerField('upload_bw'))
|
||||
self.register(corefields.IntegerField('download_bw'))
|
||||
self.register(corefields.IntegerField('num_files'))
|
||||
self.register(corefields.IntegerField('quota_mb'))
|
||||
self.register(corefields.ForeignKeyField('virtualhost_id', VirtualHost(connection), 11, False, 'id', 'domain', select_fields=[]))
|
||||
|
||||
self.username_field='user'
|
||||
self.password_field='passwd'
|
||||
Loading…
Add table
Add a link
Reference in a new issue