Compare commits
	
		
			2 Commits
		
	
	
		
			560a0248a5
			...
			3468d5e640
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 3468d5e640 | |||
| 0b7a69c691 | 
							
								
								
									
										3
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					[submodule "database"]
 | 
				
			||||||
 | 
						path = database
 | 
				
			||||||
 | 
						url = https://git.denco.store/agonex/Assemblr-Database.git
 | 
				
			||||||
							
								
								
									
										1
									
								
								database
									
									
									
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								database
									
									
									
									
									
										Submodule
									
								
							 Submodule database added at 785179e3dc
									
								
							@@ -1 +0,0 @@
 | 
				
			|||||||
from database.models import *
 | 
					 | 
				
			||||||
@@ -1,10 +0,0 @@
 | 
				
			|||||||
from enum import unique, IntEnum
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@unique
 | 
					 | 
				
			||||||
class AssemblyState(IntEnum):
 | 
					 | 
				
			||||||
    NOT_STARTED = 0,
 | 
					 | 
				
			||||||
    ASSEMBLING_PRODUCTS = 1,
 | 
					 | 
				
			||||||
    ALL_PRODUCTS_ASSEMBLED = 2,
 | 
					 | 
				
			||||||
    CONFIRMED = 3,
 | 
					 | 
				
			||||||
    ENDED = 4
 | 
					 | 
				
			||||||
@@ -1,40 +0,0 @@
 | 
				
			|||||||
import mariadb
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import settings
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class MariadbConnector:
 | 
					 | 
				
			||||||
    def __init__(self):
 | 
					 | 
				
			||||||
        # Settings
 | 
					 | 
				
			||||||
        self.user = settings.MY_LOGIN
 | 
					 | 
				
			||||||
        self.password = settings.MY_PASSWORD
 | 
					 | 
				
			||||||
        self.host = settings.MY_HOST
 | 
					 | 
				
			||||||
        self.port = int(settings.MY_PORT)
 | 
					 | 
				
			||||||
        self.database = settings.MY_DATABASE
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        self.conn = self._get_connection()
 | 
					 | 
				
			||||||
        self.cursor = self._get_cursor()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    def _get_connection(self) -> mariadb.connections.Connection:
 | 
					 | 
				
			||||||
        return mariadb.connect(user=self.user,
 | 
					 | 
				
			||||||
                               password=self.password,
 | 
					 | 
				
			||||||
                               host=self.host,
 | 
					 | 
				
			||||||
                               port=self.port,
 | 
					 | 
				
			||||||
                               database=self.database)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    def _get_cursor(self) -> mariadb.cursors.Cursor:
 | 
					 | 
				
			||||||
        return self.conn.cursor()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    def select(self, query_string: str, as_list=True):
 | 
					 | 
				
			||||||
        cursor = self.cursor
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        cursor.execute(query_string)
 | 
					 | 
				
			||||||
        if not as_list:
 | 
					 | 
				
			||||||
            return cursor.fetchone()
 | 
					 | 
				
			||||||
        return cursor.fetchall()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    def insert(self, query_string) -> int:
 | 
					 | 
				
			||||||
        cursor = self.cursor
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        cursor.execute(query_string)
 | 
					 | 
				
			||||||
        return cursor.insert_id
 | 
					 | 
				
			||||||
@@ -1,44 +0,0 @@
 | 
				
			|||||||
from flask_sqlalchemy import SQLAlchemy
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
db = SQLAlchemy()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class User(db.Model):
 | 
					 | 
				
			||||||
    __tablename__ = 'users'
 | 
					 | 
				
			||||||
    id = db.Column(db.Integer, primary_key=True, comment='ID пользователя')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    login = db.Column(db.String, nullable=False, comment='Логин')
 | 
					 | 
				
			||||||
    password_hash = db.Column(db.String, nullable=False, comment='Пароль')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    sipro_id = db.Column(db.Integer, nullable=True, comment='ID пользователя в SIPRO')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class Assembly(db.Model):
 | 
					 | 
				
			||||||
    __tablename__ = 'assemblies'
 | 
					 | 
				
			||||||
    id = db.Column(db.Integer, primary_key=True, comment='ID сборки')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    created_at = db.Column(db.DateTime, nullable=True, comment='Дата и время начала сборки')
 | 
					 | 
				
			||||||
    ended_at = db.Column(db.DateTime, nullable=True, comment='Дата и время конца сборки')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
 | 
					 | 
				
			||||||
    user = db.relationship('User', backref='assemblies')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    order_id = db.Column(db.Integer, nullable=False, comment='ID заказа в базе данных')
 | 
					 | 
				
			||||||
    is_active = db.Column(db.Boolean, nullable=False, comment='Активная ли сборка')
 | 
					 | 
				
			||||||
    state = db.Column(db.Integer, nullable=False, comment='Состояние сборки')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class Barcode(db.Model):
 | 
					 | 
				
			||||||
    __tablename__ = 'barcodes'
 | 
					 | 
				
			||||||
    id = db.Column(db.Integer, primary_key=True, comment='ID пользователя')
 | 
					 | 
				
			||||||
    denco_article = db.Column(db.Integer, nullable=False, comment='Артикул', index=True)
 | 
					 | 
				
			||||||
    barcode = db.Column(db.String, nullable=False, comment='Баркод', index=True)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class Application(db.Model):
 | 
					 | 
				
			||||||
    __tablename__ = 'applications'
 | 
					 | 
				
			||||||
    id = db.Column(db.Integer, primary_key=True, comment='')
 | 
					 | 
				
			||||||
    name = db.Column(db.String(40), nullable=False)
 | 
					 | 
				
			||||||
    version = db.Column(db.String(10), nullable=False)
 | 
					 | 
				
			||||||
    uploaded = db.Column(db.DateTime, nullable=False)
 | 
					 | 
				
			||||||
    filename = db.Column(db.String, nullable=False)
 | 
					 | 
				
			||||||
		Reference in New Issue
	
	Block a user