Update: Database fields

This commit is contained in:
Yûki VACHOT 2022-01-04 22:38:30 +01:00
parent ad59b66279
commit 9be59a8419
5 changed files with 55 additions and 29 deletions

View file

@ -1,32 +1,41 @@
from . import db from . import db
class Logs(db.Model): class Logs(db.Model):
__bind_key__ = 'logs' __bind_key__ = 'flaskaled-srv2'
id = db.Column(db.Integer, primary_key=True) id = db.Column(db.Integer, primary_key=True)
date = db.Column(db.Date(), nullable=False) date = db.Column(db.TIMESTAMP(), nullable=False)
id_user = db.Column(db.Integer, nullable=False) id_user = db.Column(db.Integer, nullable=True)
ip = db.Column(db.String(), nullable=False) ip = db.Column(db.String(), nullable=False)
table = db.Column(db.String(), nullable=False) table = db.Column(db.String(), nullable=False)
action = 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) has_succeeded = db.Column(db.Boolean, nullable=False)
status_code = db.Column(db.Integer, 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.date = date
self.user = user self.id_user = id_user
self.ip = ip self.ip = ip
self.table = table self.table = table
self.action = action self.action = action
self.status = status self.message = message
self.has_succeeded = has_succeeded
self.status_code = status_code
def __repr__(self): def __repr__(self):
return { return {
'id': self.id, 'id': self.id,
'date': self.date, 'date': self.date,
'user': self.user, 'id_user': self.id_user,
'ip': self.ip, 'ip': self.ip,
'table': self.table, 'table': self.table,
'action': self.action, '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__()

View file

@ -2,25 +2,42 @@ from . import db
class Users(db.Model): class Users(db.Model):
__bind_key__ = 'users' __bind_key__ = 'flaskaled-srv1'
id = db.Column(db.Integer, primary_key=True) id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(), nullable=False) email = db.Column(db.String(), nullable=False)
login = db.Column(db.String(), nullable=False) login = db.Column(db.String(), nullable=False)
hashPass = db.Column(db.String(), nullable=False) hash_pass = db.Column(db.LargeBinary(), nullable=False)
isAdmin = db.Column(db.Boolean, default=False, 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.email = email
self.login = login self.login = login
self.hashPass = hash_pass self.hash_pass = hash_pass
self.role = role self.salt = salt
self.is_admin = is_admin
def __repr__(self): def __repr__(self):
return { return {
'id': self.id, 'id': self.id,
'email': self.email, 'email': self.email,
'login': self.login, 'login': self.login,
'hashPass': self.hashPass, 'hash_pass': self.hash_pass,
'role': self.role '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

View file

@ -1,9 +1,9 @@
version: '3.8' version: '3.8'
services: services:
flaskaled-db1: flaskaled-srv1:
image: postgres:latest image: postgres:latest
container_name: flaskaled-db1 container_name: flaskaled-srv1
ports: ports:
- 5433:5432 - 5433:5432
volumes: volumes:
@ -14,9 +14,9 @@ services:
- POSTGRES_DB=flaskaledDb1 - POSTGRES_DB=flaskaledDb1
restart: unless-stopped restart: unless-stopped
flaskaled-db2: flaskaled-srv2:
image: postgres:latest image: postgres:latest
container_name: flaskaled-db2 container_name: flaskaled-srv2
ports: ports:
- 5434:5432 - 5434:5432
volumes: volumes:

View file

@ -2,10 +2,10 @@
CREATE TABLE IF NOT EXISTS users CREATE TABLE IF NOT EXISTS users
( (
id integer NOT NULL, id serial PRIMARY KEY,
email character varying(320) NOT NULL, email character varying(320) NOT NULL,
login character varying(32) NOT NULL, login character varying(32) NOT NULL,
hash_pass character varying(256) NOT NULL, hash_pass bytea NOT NULL,
is_admin boolean NOT NULL DEFAULT FALSE, salt bytea NOT NULL,
CONSTRAINT users_pkey PRIMARY KEY(id) is_admin boolean NOT NULL DEFAULT FALSE
) )

View file

@ -2,13 +2,13 @@
CREATE TABLE IF NOT EXISTS logs CREATE TABLE IF NOT EXISTS logs
( (
id integer NOT NULL, id serial PRIMARY KEY,
date date NOT NULL, date timestamp NOT NULL,
id_user integer NOT NULL, id_user integer,
ip character varying(15) NOT NULL, ip character varying(15) NOT NULL,
"table" character varying(25) NOT NULL, "table" character varying(25) NOT NULL,
action character varying(50) NOT NULL, action character varying(50) NOT NULL,
message character varying(512) NOT NULL,
has_succeeded boolean NOT NULL, has_succeeded boolean NOT NULL,
status_code smallint NOT NULL, status_code smallint NOT NULL
CONSTRAINT logs_pkey PRIMARY KEY(id)
) )