Alterando informações de perfil
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
import {MigrationInterface, QueryRunner, TableColumn} from "typeorm";
|
||||
|
||||
export class AlterUsersTableAddLastnameColumn1653437653433 implements MigrationInterface {
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.addColumn('users', new TableColumn({
|
||||
name: 'lastname',
|
||||
type: 'varchar',
|
||||
isNullable: true
|
||||
}))
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.dropColumn('users', 'lastname')
|
||||
}
|
||||
}
|
||||
@@ -14,6 +14,9 @@ class User {
|
||||
@Column()
|
||||
name: string;
|
||||
|
||||
@Column()
|
||||
lastname: string;
|
||||
|
||||
@Column()
|
||||
email: string;
|
||||
|
||||
|
||||
@@ -50,11 +50,23 @@ usersRouter.get('/:id', ensureAuthenticated, async (request, response) => {
|
||||
|
||||
const user = await findUser.execute(id);
|
||||
|
||||
// converting ISO 8601 date to normal date
|
||||
let birth_date = new Date(user.birth_date)
|
||||
|
||||
let year = birth_date.getFullYear()
|
||||
let month = birth_date.getMonth()+1
|
||||
let date = birth_date.getDate()
|
||||
|
||||
const finalDate = `${date}/${month}/${year}`
|
||||
|
||||
console.log(finalDate)
|
||||
|
||||
const userWithoutPassword = {
|
||||
id_user: user.id_user,
|
||||
name: user.name,
|
||||
lastname: user.lastname,
|
||||
email: user.email,
|
||||
birth_date: user.birth_date,
|
||||
birth_date: finalDate,
|
||||
avatar_image: user.avatar_image,
|
||||
bio: user.bio,
|
||||
// created_at: user.created_at,
|
||||
@@ -65,12 +77,13 @@ usersRouter.get('/:id', ensureAuthenticated, async (request, response) => {
|
||||
});
|
||||
|
||||
usersRouter.post('/', async (request, response) => {
|
||||
const { name, email, birth_date, password } = request.body;
|
||||
const { name, lastname, email, birth_date, password } = request.body;
|
||||
|
||||
const createUser = new CreateUserService();
|
||||
|
||||
const user = await createUser.execute({
|
||||
name,
|
||||
lastname,
|
||||
email,
|
||||
birth_date,
|
||||
password,
|
||||
@@ -87,13 +100,14 @@ usersRouter.post('/', async (request, response) => {
|
||||
});
|
||||
|
||||
usersRouter.patch('/edit', ensureAuthenticated, async (request, response) => {
|
||||
const { name, username, bio, email, birth_date } = request.body;
|
||||
const { name, lastname, username, bio, email, birth_date } = request.body;
|
||||
|
||||
const updateUserService = new UpdateUserService();
|
||||
|
||||
await updateUserService.execute({
|
||||
id_user: request.user.id_user,
|
||||
name,
|
||||
lastname,
|
||||
username,
|
||||
bio,
|
||||
email,
|
||||
|
||||
@@ -34,6 +34,8 @@ app.use((err: Error, request: Request, response: Response, _: NextFunction) => {
|
||||
});
|
||||
});
|
||||
|
||||
app.listen(3333, () => {
|
||||
console.log('🚀 Server started on port 3333!');
|
||||
const port = 10002
|
||||
|
||||
app.listen(port, () => {
|
||||
console.log(`🚀 Server started on port ${port}!`);
|
||||
});
|
||||
|
||||
@@ -9,13 +9,14 @@ import Social from '../models/Social';
|
||||
|
||||
interface Request {
|
||||
name: string;
|
||||
lastname: string;
|
||||
email: string;
|
||||
birth_date: string;
|
||||
password: string;
|
||||
}
|
||||
|
||||
class CreateUserService {
|
||||
public async execute({ name, email, birth_date, password }: Request): Promise<User> {
|
||||
public async execute({ name, lastname, email, birth_date, password }: Request): Promise<User> {
|
||||
const usersRepository = getRepository(User);
|
||||
const socialsRepository = getRepository(Social);
|
||||
|
||||
@@ -33,8 +34,9 @@ class CreateUserService {
|
||||
// TODO, arrumar o formato das datas e padronizar com a equipe
|
||||
|
||||
const user = usersRepository.create({
|
||||
id_user: v4(), name, email, birth_date, password: hashedPassword, avatar_image: "", bio: ""
|
||||
id_user: v4(), name, lastname, email, birth_date, password: hashedPassword, avatar_image: "", bio: ""
|
||||
});
|
||||
|
||||
await usersRepository.save(user);
|
||||
|
||||
// já criar registro na tabela Socials para evitar inconsistências
|
||||
|
||||
@@ -8,7 +8,7 @@ class CreateUserService {
|
||||
public async execute(id: string): Promise<User> {
|
||||
const usersRepository = getRepository(User);
|
||||
|
||||
const user = await usersRepository.findOne({
|
||||
let user = await usersRepository.findOne({
|
||||
where: { id_user: id },
|
||||
});
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ import Social from '../models/Social';
|
||||
interface Request {
|
||||
id_user: string;
|
||||
name: string;
|
||||
lastname: string;
|
||||
username: string;
|
||||
bio: string;
|
||||
email: string;
|
||||
@@ -15,7 +16,7 @@ interface Request {
|
||||
}
|
||||
|
||||
class UpdateUserService {
|
||||
public async execute({ id_user, name, username, bio, email, birth_date }: Request): Promise<User> {
|
||||
public async execute({ id_user, name, lastname, username, bio, email, birth_date }: Request): Promise<User> {
|
||||
const usersRepository = getRepository(User);
|
||||
const socialRepository = getRepository(Social);
|
||||
|
||||
@@ -27,9 +28,12 @@ class UpdateUserService {
|
||||
throw new AppError('User does not exist.');
|
||||
};
|
||||
|
||||
user.name = name;
|
||||
user.bio = bio;
|
||||
user.birth_date = new Date(birth_date); // TODO, funciona?
|
||||
user.name = name
|
||||
user.lastname = lastname
|
||||
user.bio = bio
|
||||
user.email = email
|
||||
|
||||
// user.birth_date = new Date(birth_date); // TODO, funciona?
|
||||
|
||||
await usersRepository.save(user);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user