diff --git a/backend/application/logs_model.py b/backend/application/logs_model.py index 49e542c..2a6c44e 100644 --- a/backend/application/logs_model.py +++ b/backend/application/logs_model.py @@ -1,32 +1,41 @@ from . import db + class Logs(db.Model): - __bind_key__ = 'logs' + __bind_key__ = 'flaskaled-srv2' id = db.Column(db.Integer, primary_key=True) - date = db.Column(db.Date(), nullable=False) - id_user = db.Column(db.Integer, nullable=False) + date = db.Column(db.TIMESTAMP(), nullable=False) + id_user = db.Column(db.Integer, nullable=True) ip = db.Column(db.String(), nullable=False) table = db.Column(db.String(), nullable=False) action = db.Column(db.String(), nullable=False) + message = db.Column(db.String(), nullable=False) has_succeeded = db.Column(db.Boolean, nullable=False) status_code = db.Column(db.Integer, nullable=False) - def __init__(self, date, user, ip, table, action, status): + def __init__(self, date, id_user, ip, table, action, message, has_succeeded, status_code): self.date = date - self.user = user + self.id_user = id_user self.ip = ip self.table = table self.action = action - self.status = status + self.message = message + self.has_succeeded = has_succeeded + self.status_code = status_code def __repr__(self): return { 'id': self.id, 'date': self.date, - 'user': self.user, + 'id_user': self.id_user, 'ip': self.ip, 'table': self.table, 'action': self.action, - 'status': self.status + 'message': self.message, + 'has_succeeded': self.has_succeeded, + 'status_code': self.status_code } + + def json(self): + return self.__repr__() diff --git a/backend/application/users_model.py b/backend/application/users_model.py index 26281b4..e90e778 100644 --- a/backend/application/users_model.py +++ b/backend/application/users_model.py @@ -2,25 +2,42 @@ from . import db class Users(db.Model): - __bind_key__ = 'users' + __bind_key__ = 'flaskaled-srv1' id = db.Column(db.Integer, primary_key=True) email = db.Column(db.String(), nullable=False) login = db.Column(db.String(), nullable=False) - hashPass = db.Column(db.String(), nullable=False) - isAdmin = db.Column(db.Boolean, default=False, nullable=False) + hash_pass = db.Column(db.LargeBinary(), nullable=False) + salt = db.Column(db.LargeBinary(), nullable=False) + is_admin = db.Column(db.Boolean, default=False, nullable=False) - def __init__(self, email, login, hash_pass, role): + def __init__(self, email, login, hash_pass, salt, is_admin): self.email = email self.login = login - self.hashPass = hash_pass - self.role = role + self.hash_pass = hash_pass + self.salt = salt + self.is_admin = is_admin def __repr__(self): return { 'id': self.id, 'email': self.email, 'login': self.login, - 'hashPass': self.hashPass, - 'role': self.role + 'hash_pass': self.hash_pass, + 'salt': self.salt, + 'is_admin': self.is_admin } + + def json(self): + return { + 'id': self.id, + 'email': self.email, + 'login': self.login, + 'is_admin': self.is_admin + } + + def get_id(self): + return self.id + + def get_salt(self): + return self.salt diff --git a/backend/docker-compose.yml b/backend/docker-compose.yml index 1a67e6f..778c947 100644 --- a/backend/docker-compose.yml +++ b/backend/docker-compose.yml @@ -1,9 +1,9 @@ version: '3.8' services: - flaskaled-db1: + flaskaled-srv1: image: postgres:latest - container_name: flaskaled-db1 + container_name: flaskaled-srv1 ports: - 5433:5432 volumes: @@ -14,9 +14,9 @@ services: - POSTGRES_DB=flaskaledDb1 restart: unless-stopped - flaskaled-db2: + flaskaled-srv2: image: postgres:latest - container_name: flaskaled-db2 + container_name: flaskaled-srv2 ports: - 5434:5432 volumes: diff --git a/backend/init-db1.sql b/backend/init-db1.sql index f29af0f..06f6d2e 100644 --- a/backend/init-db1.sql +++ b/backend/init-db1.sql @@ -2,10 +2,10 @@ CREATE TABLE IF NOT EXISTS users ( - id integer NOT NULL, + id serial PRIMARY KEY, email character varying(320) NOT NULL, login character varying(32) NOT NULL, - hash_pass character varying(256) NOT NULL, - is_admin boolean NOT NULL DEFAULT FALSE, - CONSTRAINT users_pkey PRIMARY KEY(id) + hash_pass bytea NOT NULL, + salt bytea NOT NULL, + is_admin boolean NOT NULL DEFAULT FALSE ) \ No newline at end of file diff --git a/backend/init-db2.sql b/backend/init-db2.sql index c0b678d..874623e 100644 --- a/backend/init-db2.sql +++ b/backend/init-db2.sql @@ -2,13 +2,13 @@ CREATE TABLE IF NOT EXISTS logs ( - id integer NOT NULL, - date date NOT NULL, - id_user integer NOT NULL, + id serial PRIMARY KEY, + date timestamp NOT NULL, + id_user integer, ip character varying(15) NOT NULL, "table" character varying(25) NOT NULL, action character varying(50) NOT NULL, + message character varying(512) NOT NULL, has_succeeded boolean NOT NULL, - status_code smallint NOT NULL, - CONSTRAINT logs_pkey PRIMARY KEY(id) + status_code smallint NOT NULL ) \ No newline at end of file