-
Notifications
You must be signed in to change notification settings - Fork 0
/
back.js
108 lines (83 loc) · 2.19 KB
/
back.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
mkdir backend-empresa
cd backend-empresa
npm init -y
npm install express mysql2 reflect-metadata typeorm class-validator
{
"type": "mysql",
"host": "localhost",
"port": 3306,
"username": "seu_usuario",
"password": "sua_senha",
"database": "empresa_db",
"synchronize": true,
"logging": true,
"entities": ["src/entities/*.ts"],
"migrations": ["src/migrations/*.ts"],
"subscribers": ["src/subscribers/*.ts"],
"cli": {
"entitiesDir": "src/entities",
"migrationsDir": "src/migrations",
"subscribersDir": "src/subscribers"
}
}
import { Entity, PrimaryGeneratedColumn, Column } from 'typeorm';
@Entity()
export class Empresa {
@PrimaryGeneratedColumn()
id: number;
@Column()
nomeCliente: string;
@Column()
senha: string;
@Column()
razaoSocial: string;
@Column()
cnpj: string;
@Column()
cep: string;
@Column()
endereco: string;
@Column()
numero: number;
@Column()
telefone: string;
@Column()
email: string;
}
import { Request, Response } from 'express';
import { getRepository } from 'typeorm';
import { Empresa } from '../entities/Empresa';
import axios from 'axios';
class EmpresaController {
async criarEmpresa(req: Request, res: Response) {
// Valide e salve a empresa usando o TypeORM
}
async listarEmpresas(req: Request, res: Response) {
// Liste todas as empresas cadastradas
}
async consultarEmpresaPorCnpj(req: Request, res: Response) {
// Consulte uma empresa específica por CNPJ
}
async atualizarEmpresa(req: Request, res: Response) {
// Atualize os dados de uma empresa
}
async excluirEmpresa(req: Request, res: Response) {
// Exclua uma empresa
}
async preencherEndereco(req: Request, res: Response) {
// Use a API do ViaCEP para preencher automaticamente o campo de endereço
}
}
export default new EmpresaController();
import express from 'express';
import 'reflect-metadata';
import { createConnection } from 'typeorm';
import EmpresaController from './controllers/EmpresaController';
const app = express();
app.use(express.json());
createConnection().then(async () => {
// Defina as rotas aqui
});
app.listen(3000, () => {
console.log('Servidor está rodando na porta 3000');
});