# FrontParkingAngular

This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.0.10.

## Development server

Run `ng serve` for a dev server. Navigate to `http://34.201.250.103:4200/`. The application will automatically reload if you change any of the source files.

## Code scaffolding

Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.

## Build

Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory.

## Running unit tests

Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Running end-to-end tests

Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.



✅ Perfis

Nome do Perfil	Acesso Base
Administrador	Total (todas as funcionalidades)
Parceiro	Quase total (pode ser limitado)
Operador	Acesso básico de operação
Coordenador	Acesso intermediário com visão operacional
Gerente	Acesso de gestão com relatórios
Supervisor	Acesso para supervisão + parte operacional
Visualizador	Apenas leitura / consulta
📦 Estrutura esperada
1. user_profile: define os perfis
2. profile_functionalities: define o que cada perfil pode acessar
🧩 Funções genéricas (exemplo)
Você pode adaptar, mas aqui vai um conjunto base:

text
Copy
Edit
"Tela A" (Dashboard)
"Tela B" (Estacionamento)
"Funcionalidade X" (Cadastro de Vagas)
"Relatórios"
"Configurações"
"Gestão de Usuários"
"Exportação CSV"
"Visualizar Ocupação"
✅ INSERTS – user_profile
sql
Copy
Edit
INSERT INTO user_profile (id, name) VALUES
(100, 'Administrador'),
(101, 'Parceiro'),
(102, 'Operador'),
(103, 'Coordenador'),
(104, 'Gerente'),
(105, 'Supervisor'),
(106, 'Visualizador');
✅ INSERTS – profile_functionalities
sql
Copy
Edit
-- Administrador: tudo
INSERT INTO profile_functionalities (profile_id, functionality) VALUES
(100, 'Tela A'),
(100, 'Tela B'),
(100, 'Funcionalidade X'),
(100, 'Relatórios'),
(100, 'Configurações'),
(100, 'Gestão de Usuários'),
(100, 'Exportação CSV'),
(100, 'Visualizar Ocupação');

-- Parceiro: tudo (igual administrador no início)
INSERT INTO profile_functionalities (profile_id, functionality) VALUES
(101, 'Tela A'),
(101, 'Tela B'),
(101, 'Funcionalidade X'),
(101, 'Relatórios'),
(101, 'Configurações'),
(101, 'Gestão de Usuários'),
(101, 'Exportação CSV'),
(101, 'Visualizar Ocupação');

-- Operador: básico
INSERT INTO profile_functionalities (profile_id, functionality) VALUES
(102, 'Tela A'),
(102, 'Tela B'),
(102, 'Funcionalidade X');

-- Coordenador
INSERT INTO profile_functionalities (profile_id, functionality) VALUES
(103, 'Tela A'),
(103, 'Tela B'),
(103, 'Relatórios'),
(103, 'Visualizar Ocupação');

-- Gerente
INSERT INTO profile_functionalities (profile_id, functionality) VALUES
(104, 'Tela A'),
(104, 'Tela B'),
(104, 'Relatórios'),
(104, 'Exportação CSV'),
(104, 'Visualizar Ocupação');

-- Supervisor
INSERT INTO profile_functionalities (profile_id, functionality) VALUES
(105, 'Tela A'),
(105, 'Tela B'),
(105, 'Funcionalidade X'),
(105, 'Relatórios');

-- Visualizador
INSERT INTO profile_functionalities (profile_id, functionality) VALUES
(106, 'Tela A'),
(106, 'Visualizar Ocupação');
⚠️ Importante
Altere os ids se sua tabela user_profile já tiver registros (evite conflitos).

Se quiser vincular esses perfis a um client_id, atualize os registros via UPDATE depois do insert.

Deseja que eu gere um arquivo .sql com todos esses inserts para importar direto no seu banco?






You said:
grave a informação de perfil e grave a informação das tabelas, logo 

engete23_parkingCREATE TABLE user_parking_profile (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    user_id BIGINT,
    parking_id BIGINT,
    profile_id BIGINT,
    FOREIGN KEY (user_id) REFERENCES user(id),
    FOREIGN KEY (parking_id) REFERENCES parking(id),
    FOREIGN KEY (profile_id) REFERENCES user_profile(id)
);


-- Inserindo perfil
INSERT INTO engete23_parking.profile (id, name)
VALUES (4, 'Consultor');

-- Inserindo estacionamentos
INSERT INTO engete23_parking.parking (id, name)
VALUES 
  (12, 'Estapar'),
  (9, 'Shopping IGT Campinas');

-- Inserindo usuário
INSERT INTO engete23_parking.user (id, username, password, email, cargo, nome)
VALUES 
  (27, 'estapar@estapar.com.br', '$2a$10$VTZHiLFR0r6e9qqzKfnQ7expuyM6JeHfuuoz02neY67Fuyiltk2p.', 'estapar@estapar.com.br', 'Administrador', 'Rodrigo Ferraz');

-- Inserindo funcionalidades do perfil
INSERT INTO engete23_parking.profile_functionalities (id, profile_id, functionality_name)
VALUES 
  (1, 4, 'TELA DE CADASTRO'),
  (2, 3, 'TELA RELATORIOS'),
  (3, 3, 'TELA DE MENSAGENS'),
    (5, 3, 'TELA AJUSTE DE PATIO'),
  (4, 3, 'TELA HOME');

-- Inserindo vínculo entre usuário e estacionamentos
INSERT INTO engete23_parking.user_parking (user_id, parking_id)
VALUES 
  (27, 9),
  (27, 12);

-- Inserindo perfil vinculado ao usuário por estacionamento
INSERT INTO engete23_parking.user_parking_profile (id, user_id, parking_id, profile_id)
VALUES
  (1, 27, 12, 3),
  (2, 27, 9, 3);
