Exemplo n.º 1
0

class DatabaseDatabase(RenkiBase, RenkiUserDataTable):
    __tablename__ = 'database'

    name = Column('name', String(512), nullable=False)
    user_id = Column('user_id',
                     Integer,
                     ForeignKey("users.id"),
                     nullable=False)
    type = Column('type',
                  types.Enum('mysql',
                             'postgresql',
                             name='database_types',
                             native_enum=True),
                  nullable=False)
    service_group_id = Column(Integer, ForeignKey('service_group.id'))
    service_group = relationship(ServiceGroupDatabase, backref="databases")
    __table_args__ = (UniqueConstraint('service_group_id', 'name', 'type'), )

    soft_limit = 5
    hard_limit = 10

    def validate(self):
        if len(self.name) > 50:
            raise Invalid('Database name too long')
        return True


register_table(DatabaseDatabase)
Exemplo n.º 2
0
# encoding: utf-8

from lib.database.user_data_table import RenkiUserDataTable
from lib.database.table import RenkiBase
from lib.database.tables import register_table
from lib.exceptions import Invalid
from sqlalchemy import Column, String, Integer, types, ForeignKey, UniqueConstraint
from sqlalchemy.orm import relationship
from lib.database.basic_tables import ServiceGroupDatabase

class DatabaseDatabase(RenkiBase, RenkiUserDataTable):
    __tablename__ = 'database'

    name = Column('name', String(512), nullable=False)
    user_id = Column('user_id', Integer, ForeignKey("users.id"), nullable=False)
    type = Column('type', types.Enum('mysql', 'postgresql', name='database_types', native_enum=True), nullable=False)
    service_group_id = Column(Integer, ForeignKey('service_group.id'))
    service_group = relationship(ServiceGroupDatabase, backref="databases")
    __table_args__ = (UniqueConstraint('service_group_id', 'name', 'type'),)

    soft_limit = 5
    hard_limit = 10

    def validate(self):
        if len(self.name) > 50:
            raise Invalid('Database name too long')
        return True

register_table(DatabaseDatabase)
Exemplo n.º 3
0
        if self.password:
            validate_string(self.password)
        return True

    def has_permission(self, permission):
        for perm in self.permissions:
            if perm.name == permission:
                return True
        for group in self.permission_groups:
            for perm in group.permissions:
                if perm.name == permission:
                    return True
        return False


register_table(Users)


class AuthKeys(RenkiBase, RenkiTable):
    """
    Database table for keys
    """
    __tablename__ = 'auth_keys'
    key = Column("key", Unicode, nullable=False)
    expires = Column("expires",
                     DateTime,
                     nullable=False,
                     default=expires_funct)
    user_id = Column("user_id",
                     Integer,
                     ForeignKey('users.id'),
Exemplo n.º 4
0
Arquivo: db.py Projeto: annttu/Renki
        validate_string(self.lastname)
        if self.password:
            validate_string(self.password)
        return True

    def has_permission(self, permission):
        for perm in self.permissions:
            if perm.name == permission:
                return True
        for group in self.permission_groups:
            for perm in group.permissions:
                if perm.name == permission:
                    return True
        return False

register_table(Users)


class AuthKeys(RenkiBase, RenkiTable):
    """
    Database table for keys
    """
    __tablename__ = 'auth_keys'
    key = Column("key", Unicode, nullable=False)
    expires = Column("expires", DateTime, nullable=False,
                     default=expires_funct)
    user_id = Column("user_id", Integer, ForeignKey('users.id'),
                     nullable=False)
    user = relationship("Users", backref='auth_keys')

    def validate(self):
Exemplo n.º 5
0
# encoding: utf-8

from lib.database.user_data_table import RenkiUserDataTable
from lib.database.table import RenkiBase
from lib.database.tables import register_table
from lib.exceptions import Invalid
from sqlalchemy import Column, String, Integer, ForeignKey, UniqueConstraint
from sqlalchemy.orm import relationship
from lib.database.basic_tables import ServiceGroupDatabase


class PortDatabase(RenkiBase, RenkiUserDataTable):
    __tablename__ = 'port'
    port = Column('port', Integer, nullable=False)
    service_group_id = Column(Integer, ForeignKey('service_group.id'))
    service_group = relationship(ServiceGroupDatabase, backref="ports")
    __table_args__ = (UniqueConstraint('service_group_id', 'port'), )

    soft_limit = 5
    hard_limit = 10

    def validate(self):
        return True


# Register table
register_table(PortDatabase)
Exemplo n.º 6
0
# encoding: utf-8

from lib.database.user_data_table import RenkiUserDataTable
from lib.database.table import RenkiBase
from lib.database.tables import register_table
from lib.exceptions import Invalid
from sqlalchemy import Column, String, Integer, types, ForeignKey, UniqueConstraint
from sqlalchemy.orm import relationship
from lib.database.basic_tables import ServiceGroupDatabase

class RepositoryDatabase(RenkiBase, RenkiUserDataTable):
    __tablename__ = 'repository'

    name = Column('name', String(512), nullable=False)
    type = Column('type', types.Enum('git', 'svn', name='repository_types', native_enum=True), nullable=False)

    service_group_id = Column(Integer, ForeignKey('service_group.id'))
    service_group = relationship(ServiceGroupDatabase, backref="repositories")

    __table_args__ = (UniqueConstraint('service_group_id', 'name', 'type'),)

    soft_limit = 5
    hard_limit = 10

    def validate(self):
        if len(self.name) > 50:
            raise Invalid('Repository name too long')
        return True

register_table(RepositoryDatabase)
Exemplo n.º 7
0
# encoding: utf-8

from lib.database.user_data_table import RenkiUserDataTable
from lib.database.table import RenkiBase
from lib.database.tables import register_table
from lib.exceptions import Invalid
from sqlalchemy import Column, String, Integer, ForeignKey, UniqueConstraint
from sqlalchemy.orm import relationship
from lib.database.basic_tables import ServiceGroupDatabase

class DummyDatabase(RenkiBase, RenkiUserDataTable):
    __tablename__ = 'dummy'
    name = Column('name', String, nullable=False)
    service_group_id = Column(Integer, ForeignKey('service_group.id'))
    service_group = relationship(ServiceGroupDatabase, backref="dummies")
    
    soft_limit = 5
    hard_limit = 10
    
    def validate(self):
        return True

# Register table
register_table(DummyDatabase)
Exemplo n.º 8
0
from lib.database.table import RenkiDataTable, RenkiBase
from lib.database.tables import register_table
from lib.exceptions import Invalid
from sqlalchemy import Column, String, Integer, ForeignKey, DateTime, UniqueConstraint
from sqlalchemy.orm import relationship

class ServerDatabase(RenkiBase, RenkiDataTable):
    __tablename__ = 'server'
    name = Column('name', String, nullable=False)
    __table_args__ = (UniqueConstraint('name'),)

    def validate(self):
        return True

register_table(ServerDatabase)

class ServiceGroupDatabase(RenkiBase, RenkiDataTable):
    __tablename__ = 'service_group'
    name = Column("name", String, nullable=False)
    type = Column("type", String, nullable=False)
    __table_args__ = (UniqueConstraint('name'),)
    
    def validate(self):
        return True

register_table(ServiceGroupDatabase)

class ServiceDatabase(RenkiBase, RenkiDataTable):
    __tablename__ = 'service'
    name = Column("name", String, nullable=False)
Exemplo n.º 9
0
from lib.database.tables import register_table
from lib.exceptions import Invalid
from sqlalchemy import Column, String, Integer, ForeignKey, DateTime, UniqueConstraint
from sqlalchemy.orm import relationship


class ServerDatabase(RenkiBase, RenkiDataTable):
    __tablename__ = 'server'
    name = Column('name', String, nullable=False)
    __table_args__ = (UniqueConstraint('name'), )

    def validate(self):
        return True


register_table(ServerDatabase)


class ServiceGroupDatabase(RenkiBase, RenkiDataTable):
    __tablename__ = 'service_group'
    name = Column("name", String, nullable=False)
    type = Column("type", String, nullable=False)
    __table_args__ = (UniqueConstraint('name'), )

    def validate(self):
        return True


register_table(ServiceGroupDatabase)

Exemplo n.º 10
0
# encoding: utf-8

from lib.database.user_data_table import RenkiUserDataTable
from lib.database.table import RenkiBase
from lib.database.tables import register_table
from lib.exceptions import Invalid
from sqlalchemy import Column, String, Integer, ForeignKey, UniqueConstraint
from sqlalchemy.orm import relationship
from lib.database.basic_tables import ServiceGroupDatabase

class PortDatabase(RenkiBase, RenkiUserDataTable):
    __tablename__ = 'port'
    port = Column('port', Integer, nullable=False)
    service_group_id = Column(Integer, ForeignKey('service_group.id'))
    service_group = relationship(ServiceGroupDatabase, backref="ports")
    __table_args__ = (UniqueConstraint('service_group_id', 'port'),)

    soft_limit = 5
    hard_limit = 10
    
    def validate(self):
        return True

# Register table
register_table(PortDatabase)
Exemplo n.º 11
0
from time import sleep

from threading import Thread
import threading
import logging

logger = logging.getLogger()
logger.setLevel(logging.DEBUG)



class SimpleTable(RenkiBase, RenkiUserDataTable):
    __tablename__ = 'test_table1'
    col_1 = Column('col_1', String(1024), nullable=False)

register_table(SimpleTable)


connection.initialize_connection(unittest=True, echo=False)

class Worker(Thread):
    def __init__(self, string, sleep, commit=True):
        Thread.__init__(self)
        self.string = string
        self.sleep = sleep
        self.commit = commit

    def run(self):
        print(vars(threading.local()))
        s = SimpleTable()
        s.col_1 = self.string
Exemplo n.º 12
0
from lib.database.table import RenkiDataTable, RenkiBase
from lib.database.tables import register_table
from lib.exceptions import Invalid
from sqlalchemy import Column, String, Integer, ForeignKey, DateTime
from sqlalchemy.orm import relationship

class TicketGroupDatabase(RenkiBase, RenkiDataTable):
    __tablename__ = 'ticket_group'
    def validate(self):
        return True

register_table(TicketGroupDatabase)

class TicketDatabase(RenkiBase, RenkiDataTable):
    __tablename__ = 'ticket'
    new_data = Column("new_data", String)
    old_data = Column('old_data', String, nullable=True)
    created = Column("created", DateTime)
    done = Column("done", DateTime, nullable=True)
    ticket_group_id = Column(Integer, ForeignKey('ticket_group.id'))
    ticket_group = relationship(TicketGroupDatabase, backref="ticket_groups")
    def validate(self):
        return True
        
register_table(TicketDatabase)
Exemplo n.º 13
0
# encoding: utf-8

"""
Domain objects database module
"""

from lib.database.user_data_table import RenkiUserDataTable
from lib.database.table import RenkiBase
from lib.database.tables import register_table
from lib.validators import validate_user_id, validate_domain
from sqlalchemy import Column, String, Integer, ForeignKey
from sqlalchemy.orm import relationship

class DomainDatabase(RenkiBase, RenkiUserDataTable):
    __tablename__ = 'domain'
    name = Column('name', String(1024), nullable=False)
    dns_zone = relationship("DNSZoneDatabase", uselist=False,
                            backref="domain")
    user = relationship("Users", backref="domains")

    soft_limit = 5
    hard_limit = 10

    def validate(self):
        validate_user_id(self.user_id)
        validate_domain(self.name)

# Register table
register_table(DomainDatabase)
Exemplo n.º 14
0
from time import sleep

from threading import Thread
import threading
import logging

logger = logging.getLogger()
logger.setLevel(logging.DEBUG)


class SimpleTable(RenkiBase, RenkiUserDataTable):
    __tablename__ = 'test_table1'
    col_1 = Column('col_1', String(1024), nullable=False)


register_table(SimpleTable)

connection.initialize_connection(unittest=True, echo=False)


class Worker(Thread):
    def __init__(self, string, sleep, commit=True):
        Thread.__init__(self)
        self.string = string
        self.sleep = sleep
        self.commit = commit

    def run(self):
        print(vars(threading.local()))
        s = SimpleTable()
        s.col_1 = self.string
Exemplo n.º 15
0
                 nullable=False,
                 default=lambda: settings.DNS_ZONE_TTL)

    # EMail address field
    rname = Column('rname',
                   String,
                   nullable=False,
                   default=lambda: settings.DNS_ZONE_RNAME)

    # This is default TTL for records
    record_ttl = Column('record_ttl',
                        Integer,
                        nullable=False,
                        default=lambda: settings.DNS_ZONE_RECORD_TTL)

    records = relationship('DNSRecordDatabase',
                           uselist=True,
                           backref='dns_zone')

    soft_limit = 5
    hard_limit = 10

    def validate(self):
        # TODO: add validators
        pass


# Register tables
register_table(DNSZoneDatabase)
register_table(DNSRecordDatabase)
Exemplo n.º 16
0
    refresh = Column('refresh', Integer, nullable=False,
                     default=lambda: settings.DNS_ZONE_REFRESH)
    retry = Column('retry', Integer, nullable=False,
                   default=lambda: settings.DNS_ZONE_RETRY)
    expire = Column('expire', Integer, nullable=False,
                    default=lambda: settings.DNS_ZONE_EXPIRE)
    ttl = Column('ttl', Integer, nullable=False,
                 default=lambda: settings.DNS_ZONE_TTL)

    # EMail address field
    rname = Column('rname', String, nullable=False,
                   default=lambda: settings.DNS_ZONE_RNAME)

    # This is default TTL for records
    record_ttl  = Column('record_ttl', Integer, nullable=False,
                         default=lambda: settings.DNS_ZONE_RECORD_TTL)

    records = relationship('DNSRecordDatabase', uselist=True,
                           backref='dns_zone')
    
    soft_limit = 5
    hard_limit = 10
    
    def validate(self):
        # TODO: add validators
        pass

# Register tables
register_table(DNSZoneDatabase)
register_table(DNSRecordDatabase)