Ejemplo n.º 1
0
class Telegram_Type(db.Model):
    '''Модель для работы с таблицей Types
    В таблице определены типы, к которым относится конкретный пользователь
    '''
    __tablename__ = 'Telegram_Type'
    id = db.Column(db.Integer(), primary_key=True)
    user = db.Column(db.Integer(), nullable=False)
    type = db.Column(db.String(255), nullable=False)
    created_on = db.Column(db.DateTime(), default=datetime.utcnow)
    updated_on = db.Column(db.DateTime(),
                           default=datetime.utcnow,
                           onupdate=datetime.utcnow)

    def __repr__(self):
        return "<{}:{}>".format(self.id, self.title[:10])
Ejemplo n.º 2
0
class Telegram_Messages(db.Model):
    '''Модель для работы с таблицей Messages
    Хранит все сообщения для бота telegram'''

    __tablename__ = 'Telegram_Messages'

    id = db.Column(db.Integer(), primary_key=True)
    telegramID = db.Column(db.Integer(), nullable=False)
    recipient = db.Column(db.Integer(), nullable=False)
    message = db.Column(db.Text(), nullable=False)
    messageID = db.Column(db.Integer(), nullable=False)

    created_on = db.Column(db.DateTime(), default=datetime.utcnow)
    updated_on = db.Column(db.DateTime(),
                           default=datetime.utcnow,
                           onupdate=datetime.utcnow)

    def __repr__(self):
        '''Возвращает все поля текущего обьекта.'''
        return "id={}\n" \
               "telegramID={}\n" \
               "recipient={}\n" \
               "message={}\n" \
               "messageID={}\n" \
               "created_on={}\n" \
               "updated_on={}".format(
            self.id,
            self.telegramID,
            self.recipient,
            self.message,
            self.messageID,
            self.created_on,
            self.updated_on
        )
Ejemplo n.º 3
0
class Telegram_User(db.Model):
    '''Модель для работы с таблицей Users'''
    __tablename__ = 'Telegram_User'

    id = db.Column(db.Integer(), primary_key=True)
    telegramID = db.Column(db.Integer(), nullable=False)
    first_name = db.Column(db.String(255), nullable=False)
    last_name = db.Column(db.String(255), nullable=True)
    username = db.Column(db.String(255), nullable=False)
    type = db.Column(db.String(255), nullable=False)

    create_project = db.Column(db.Integer(), default=0, nullable=False)
    bot_command = db.Column(db.Integer(), default=0, nullable=False)

    created_on = db.Column(db.DateTime(), default=datetime.utcnow)
    updated_on = db.Column(db.DateTime(),
                           default=datetime.utcnow,
                           onupdate=datetime.utcnow)

    def __repr__(self):
        # return "<{}:{}>".format(self.id, self.telegramID, self.username)
        '''Возвращает все поля текущего обьекта.'''
        return "id={}\n" \
               "telegramID={}\n" \
               "first_name={}\n" \
               "last_name={}\n" \
               "username={}\n" \
               "type={}\n" \
               "bot_command={}\n" \
               "created_on={}\n" \
               "updated_on={}".format(
            self.id,
            self.telegramID,
            self.first_name,
            self.last_name,
            self.username,
            self.type,
            self.bot_command,
            self.created_on,
            self.updated_on
        )
Ejemplo n.º 4
0
class CompanyDescription(db.Model):
    '''Модель для работы с таблицей CompanyDescription'''
    __tablename__ = 'CompanyDescription'

    id = db.Column(db.Integer(), primary_key=True)

    title = db.Column(db.String(255), nullable=True)
    text = db.Column(db.Text(), nullable=True)

    # Внешний ключ для связывания с таблицей Company
    Company_id = db.Column(db.Integer(), db.ForeignKey('Company.id'))

    created_on = db.Column(db.DateTime(), default=datetime.utcnow)
    updated_on = db.Column(db.DateTime(),
                           default=datetime.utcnow,
                           onupdate=datetime.utcnow)

    def __repr__(self):
        # return "<{}:{}>".format(self.id, self.telegramID, self.username)
        '''Возвращает все поля текущего обьекта.'''
        return "id={}\n" \
               "title={}\n" \
               "text={}\n" \
               "created_on={}\n" \
               "updated_on={}".format(
            self.id,
            self.title,
            self.text,
            self.created_on,
            self.updated_on
        )
Ejemplo n.º 5
0
class Company(db.Model):
    '''Модель для работы с таблицей Company'''

    __tablename__ = 'Company'

    id = db.Column(db.Integer(), primary_key=True)

    name = db.Column(db.String(255), nullable=True)
    caption = db.Column(db.String(255), nullable=True)
    email = db.Column(db.String(255), nullable=True)
    requisites = db.Column(db.Text(), nullable=True)
    facts = db.Column(db.Text(), nullable=True)
    phone = db.Column(db.String(50), default=0, nullable=True)
    # Поле для связи 1 ко Многим
    CompanyDescription = db.relationship('CompanyDescription',
                                         backref='Company')

    created_on = db.Column(db.DateTime(), default=datetime.utcnow)
    updated_on = db.Column(db.DateTime(),
                           default=datetime.utcnow,
                           onupdate=datetime.utcnow)

    def __repr__(self):
        # return "<{}:{}>".format(self.id, self.telegramID, self.username)
        '''Возвращает все поля текущего обьекта.'''
        return "id={}\n" \
               "name={}\n" \
               "caption={}\n" \
               "email={}\n" \
               "requisites={}\n" \
               "phone={}\n" \
               "created_on={}\n" \
               "updated_on={}".format(
            self.id,
            self.name,
            self.caption,
            self.email,
            self.requisites,
            self.phone,
            self.created_on,
            self.updated_on
        )
Ejemplo n.º 6
0
class Telegram_Admin(db.Model):
    '''Модель для работы с таблицей Admin хранит информацию о администраторах.'''

    __tablename__ = 'Telegram_Admin'

    id = db.Column(db.Integer(), primary_key=True)

    name = db.Column(db.String(255), nullable=False)
    first_name = db.Column(db.String(255), nullable=False)
    last_name = db.Column(db.String(255), nullable=True)
    phone_number = db.Column(db.String(255), nullable=True)
    telegramID = db.Column(db.Integer(), nullable=False)
    password = db.Column(db.Text(), nullable=False)
    get_messages = db.Column(db.Integer(), default=0, nullable=False)

    created_on = db.Column(db.DateTime(), default=datetime.utcnow)
    updated_on = db.Column(db.DateTime(),
                           default=datetime.utcnow,
                           onupdate=datetime.utcnow)

    def __repr__(self):
        '''Возвращает все поля текущего обьекта.'''
        return "id={}\n" \
               "name={}\n" \
               "telegramID={}\n" \
               "password={}\n" \
               "get_messages={}\n" \
               "created_on={}\n" \
               "updated_on={}".format(
            self.id,
            self.name,
            self.telegramID,
            self.password,
            self.get_messages,
            self.created_on,
            self.updated_on
        )
Ejemplo n.º 7
0
class Telegram_Projects(db.Model):
    '''Модель для работы с таблицей Projects
    где собраны данные о проекте клиента, и контактная информация.'''
    __tablename__ = 'Telegram_Projects'

    # Поля id и telegramID по которому пользователь идентифицирован в телеграмме
    id = db.Column(db.Integer(), primary_key=True)
    telegramID = db.Column(db.Integer(), nullable=False)

    # email = db.Column(db.String(255), nullable=True)
    fio = db.Column(db.String(255), nullable=True)
    # phone = db.Column(db.String(255), nullable=True)
    contacts = db.Column(db.Text(), nullable=True)
    aboutProject = db.Column(db.Text(), nullable=True)
    document = db.Column(db.Integer(), default=0, nullable=False)


    created_on = db.Column(db.DateTime(), default=datetime.utcnow)
    updated_on = db.Column(db.DateTime(), default=datetime.utcnow, onupdate=datetime.utcnow)


    def __repr__(self):
	    # return "<{}:{}>".format(self.id, self.telegramID, self.username)
        '''Возвращает все поля текущего обьекта.'''
        return "id={}\n" \
               "telegramID={}\n" \
               "fio={}\n" \
               "aboutProject={}\n" \
               "created_on={}\n" \
               "updated_on={}".format(
            self.id,
            self.telegramID,
            self.fio,
            self.aboutProject,
            self.created_on,
            self.updated_on
        )