mudanca tabela user

This commit is contained in:
ka-lucas 2025-04-29 15:23:24 -03:00
parent cc91b6f0fb
commit ebba27e5a2
3 changed files with 33 additions and 99 deletions

View File

@ -7,24 +7,19 @@ class User(db.Model):
id = db.Column(db.Integer, primary_key=True, autoincrement=True) id = db.Column(db.Integer, primary_key=True, autoincrement=True)
#dados basicos #dados basicos
username = db.Column(db.String(80), unique=True, nullable=True) username = db.Column(db.String(80), unique=True, nullable=True)
birth_date = db.Column(db.Date, nullable=True) admission_date = db.Column(db.Date, nullable=True)
cpf = db.Column(db.String(11), unique=True, nullable=True)
pis = db.Column(db.String(11), unique=True, nullable=True)
rg = db.Column(db.String(20), unique=True, nullable=True)
cod_interno = db.Column(db.String(20), unique=True, nullable=True)
cargo = db.Column(db.String(80), nullable=True) cargo = db.Column(db.String(80), nullable=True)
department = db.Column(db.String(80), nullable=True)
#contato #contato
email = db.Column(db.String(120), unique=True, nullable=False) email = db.Column(db.String(120), unique=True, nullable=False)
email_secondary = db.Column(db.String(120), unique=True, nullable=True) # Campo de e-mail secundário
phone = db.Column(db.BigInteger(),nullable=True) # Campo de telefone
phone_secondary = db.Column(db.BigInteger(), nullable=True) # Campo de telefone secundário
password = db.Column(db.String(256), nullable=False) password = db.Column(db.String(256), nullable=False)
profile_image = db.Column(db.String(255), nullable=True)
status = db.Column(db.String(120), nullable=True, default="ativo") status = db.Column(db.String(120), nullable=True, default="ativo")
profile_image = db.Column(db.String(255), nullable=True)
#escala id
shift_id = db.Column(db.Integer, db.ForeignKey('shift.id'), nullable=True)
created_at = db.Column(db.DateTime, default=db.func.current_timestamp()) created_at = db.Column(db.DateTime, default=db.func.current_timestamp())
updated_at = db.Column(db.DateTime, default=db.func.current_timestamp(), onupdate=db.func.current_timestamp()) updated_at = db.Column(db.DateTime, default=db.func.current_timestamp(), onupdate=db.func.current_timestamp())
@ -32,12 +27,6 @@ class User(db.Model):
#relacionamento service_instance #relacionamento service_instance
service_instance_id = db.Column(db.Integer, db.ForeignKey('service_instance.id'), nullable=True) service_instance_id = db.Column(db.Integer, db.ForeignKey('service_instance.id'), nullable=True)
#relacionamento company
company_id = db.Column(db.Integer, db.ForeignKey('company.id'), nullable=True)
#holiday
holiday_id = db.Column(db.Integer, db.ForeignKey('holiday.id'), nullable=True)
# Relacionamento hierárquico # Relacionamento hierárquico
parent_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=True) parent_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=True)
children = db.relationship("User", backref=db.backref('parent', remote_side=[id]), lazy=True) children = db.relationship("User", backref=db.backref('parent', remote_side=[id]), lazy=True)

View File

@ -22,23 +22,16 @@ def create_user():
password = data.get('password') password = data.get('password')
profile_image = data.get('profile_image') profile_image = data.get('profile_image')
birth_date = data.get('birth_date') admission_date = data.get('admission_date')
parent_id = data.get('parent_id') parent_id = data.get('parent_id')
service_instance_id = data.get('service_instance_id') service_instance_id = data.get('service_instance_id')
status = data.get('status') status = data.get('status')
cargo = data.get('cargo') cargo = data.get('cargo')
department = data.get('department')
cpf = data.get('cpf') shift_id = data.get('scheduling_id')
pis = data.get('pis')
rg = data.get('rg')
cod_interno = data.get('cod_interno')
# Contato # Contato
email = data.get('email') email = data.get('email')
phone = data.get('phone')
email_secondary = data.get('email_secondary')
phone_secondary = data.get('phone_secondary')
# Verifica se o usuário já existe # Verifica se o usuário já existe
existing_user = User.query.filter_by(username=username).first() existing_user = User.query.filter_by(username=username).first()
@ -49,18 +42,13 @@ def create_user():
user = User( user = User(
username=username, username=username,
email=email, email=email,
phone=phone,
profile_image=profile_image, profile_image=profile_image,
birth_date=birth_date, admission_date=admission_date,
parent_id=parent_id, parent_id=parent_id,
service_instance_id=service_instance_id, service_instance_id=service_instance_id,
status=status, status=status,
cpf=cpf, department=department,
pis=pis, shift_id=shift_id,
rg=rg,
cod_interno=cod_interno,
email_secondary=email_secondary,
phone_secondary=phone_secondary,
cargo = cargo, cargo = cargo,
@ -88,18 +76,13 @@ def create_subordinate(logged_user_id):
username = data.get('username') username = data.get('username')
password = data.get('password') password = data.get('password')
email = data.get('email') email = data.get('email')
phone = data.get('phone')
profile_image = data.get('profile_image') profile_image = data.get('profile_image')
birth_date = data.get('birth_date') admission_date = data.get('admission_date')
service_instance_id = data.get('service_instance_id') service_instance_id = data.get('service_instance_id')
status = data.get('status') status = data.get('status')
cpf = data.get('cpf') department = data.get('department')
pis = data.get('pis')
rg = data.get('rg')
cod_interno = data.get('cod_interno')
email_secondary = data.get('email_secondary')
phone_secondary = data.get('phone_secondary')
cargo = data.get('cargo') cargo = data.get('cargo')
shift_id = data.get('scheduling_id')
existing_user = User.query.filter_by(username=username).first() existing_user = User.query.filter_by(username=username).first()
if existing_user: if existing_user:
@ -108,18 +91,13 @@ def create_subordinate(logged_user_id):
subordinate = User( subordinate = User(
username=username, username=username,
email=email, email=email,
phone=phone,
profile_image=profile_image, profile_image=profile_image,
birth_date=birth_date,
parent_id=parent_id, parent_id=parent_id,
service_instance_id=service_instance_id, service_instance_id=service_instance_id,
status=status, status=status,
cpf=cpf, department=department,
pis=pis, shift_id=shift_id,
rg=rg, admission_date=admission_date,
cod_interno=cod_interno,
email_secondary=email_secondary,
phone_secondary=phone_secondary,
cargo=cargo, cargo=cargo,
) )
subordinate.set_password(password) subordinate.set_password(password)
@ -147,17 +125,12 @@ def list_hierarchy(user_id):
'id': child.id, 'id': child.id,
'username': child.username, 'username': child.username,
'email': child.email, 'email': child.email,
'birth_date':child.birth_date, 'admission_date':child.admission_date,
'phone':child.phone,
'service_instance_id':child.service_instance_id, 'service_instance_id':child.service_instance_id,
'status':child.status, 'status':child.status,
'cpf': child.cpf,
'pis': child.pis,
'rg': child.rg,
'cod_interno': child.cod_interno,
'email_secondary': child.email_secondary,
'phone_secondary': child.phone_secondary,
'cargo': child.cargo, 'cargo': child.cargo,
'department': child.department,
'shift_id': child.shift_id,
}) })
# Verifica recursivamente os filhos (subordinados dos subordinados) # Verifica recursivamente os filhos (subordinados dos subordinados)
@ -186,20 +159,14 @@ def list_hierarchy_by_id():
'id': user.id, 'id': user.id,
'username': user.username, 'username': user.username,
'email': user.email, 'email': user.email,
'birth_date':user.birth_date,
'phone':user.phone,
'subordinates': [build_hierarchy(sub) for sub in user.children], 'subordinates': [build_hierarchy(sub) for sub in user.children],
'service_instance_id':user.service_instance_id, 'service_instance_id':user.service_instance_id,
'status':user.status, 'status':user.status,
'cpf': user.cpf, 'admission_date':user.admission_date,
'pis': user.pis, 'department': user.department,
'rg': user.rg, 'shift_id': user.shift_id,
'cod_interno': user.cod_interno,
'email_secondary': user.email_secondary,
'phone_secondary': user.phone_secondary,
'cargo': user.cargo, 'cargo': user.cargo,
} }
responsible_id = request.args.get('responsible_id', type=int) # Get o responsible_id da query string responsible_id = request.args.get('responsible_id', type=int) # Get o responsible_id da query string
@ -230,32 +197,21 @@ def update_user(user_id):
if 'email' in data: if 'email' in data:
user.email = data['email'] user.email = data['email']
if 'phone' in data:
user.phone = data['phone']
if 'profile_image' in data: if 'profile_image' in data:
user.profile_image = data['profile_image'] user.profile_image = data['profile_image']
if 'birth_date' in data: if 'admission_date' in data:
user.birth_date = data['birth_date'] user.admission_date = data['admission_date']
if 'password' in data: if 'password' in data:
user.set_password(data['password']) user.set_password(data['password'])
if 'status' in data: if 'status' in data:
user.status = data['status'] user.status = data['status']
if 'cpf' in data: if 'department' in data:
user.cpf = data['cpf'] user.department = data['department']
if 'pis' in data: if 'shift_id' in data:
user.pis = data['pis'] user.shift_id = data['shift_id']
if 'rg' in data:
user.rg = data['rg']
if 'cod_interno' in data:
user.cod_interno = data['cod_interno']
if 'email_secondary' in data:
user.email_secondary = data['email_secondary']
if 'phone_secondary' in data:
user.phone_secondary = data['phone_secondary']
if 'cargo' in data: if 'cargo' in data:
user.cargo = data['cargo'] user.cargo = data['cargo']
@ -330,14 +286,9 @@ def get_user(user_id):
'username': user.username, 'username': user.username,
'email': user.email, 'email': user.email,
'parent_id': user.parent_id, 'parent_id': user.parent_id,
'birth_date':user.birth_date, 'admission_date':user.admission_date,
'phone':user.phone, 'department': user.department,
'cpf': user.cpf, 'shift_id': user.shift_id,
'pis': user.pis,
'rg': user.rg,
'cod_interno': user.cod_interno,
'email_secondary': user.email_secondary,
'phone_secondary': user.phone_secondary,
'cargo': user.cargo, 'cargo': user.cargo,
#'service_role_id':user.service_role_id, #'service_role_id':user.service_role_id,

View File

@ -9,14 +9,12 @@ def seed_users():
{ {
"username": "admin", "username": "admin",
"email": "admin@exemplo.com", "email": "admin@exemplo.com",
"phone": "123456789",
"password": "senha123", "password": "senha123",
"service_instance_id": 1 "service_instance_id": 1
}, },
{ {
"username": "user1", "username": "user1",
"email": "user1@exemplo.com", "email": "user1@exemplo.com",
"phone": "987654321",
"password": "senha456", "password": "senha456",
"service_instance_id": 1 "service_instance_id": 1
}, },
@ -24,7 +22,6 @@ def seed_users():
{ {
"username": "fogo_admin", "username": "fogo_admin",
"email": "fogodechaoadmin@exemplo.com", "email": "fogodechaoadmin@exemplo.com",
"phone": "983749265",
"password": "senha123", "password": "senha123",
"service_instance_id": 2 "service_instance_id": 2
@ -32,7 +29,6 @@ def seed_users():
{ {
"username": "fogo_user_2", "username": "fogo_user_2",
"email": "fogodechaouser2@exemplo.com", "email": "fogodechaouser2@exemplo.com",
"phone": "983084637",
"password": "senha456", "password": "senha456",
"service_instance_id": 2 "service_instance_id": 2
}, },
@ -40,14 +36,12 @@ def seed_users():
{ {
"username": "sabin_admin", "username": "sabin_admin",
"email": "sabinadmin@exemplo.com", "email": "sabinadmin@exemplo.com",
"phone": "983749265",
"password": "senha123", "password": "senha123",
"service_instance_id": 3 "service_instance_id": 3
}, },
{ {
"username": "sabin_user_2", "username": "sabin_user_2",
"email": "sabinuser2@exemplo.com", "email": "sabinuser2@exemplo.com",
"phone": "983086725",
"password": "senha456", "password": "senha456",
"service_instance_id": 3 "service_instance_id": 3
}, },