Created
April 23, 2021 10:32
-
-
Save alanfoandrade/0d149c9854f98135d8d994aafba953c1 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { Request, Response } from 'express'; | |
import { container } from 'tsyringe'; | |
import { classToClass } from 'class-transformer'; | |
import CreateUserService from '@modules/users/services/CreateUserService'; | |
export default class UsersController { | |
public async create(request: Request, response: Response): Promise<Response> { | |
const { name, email, password } = request.body; | |
const createUser = container.resolve(CreateUserService); | |
const user = await createUser.execute({ | |
name, | |
email, | |
password, | |
}); | |
return response.json(classToClass(user)); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { | |
Entity, | |
Column, | |
PrimaryGeneratedColumn, | |
CreateDateColumn, | |
UpdateDateColumn, | |
} from 'typeorm'; | |
import { Exclude, Expose } from 'class-transformer'; | |
@Entity('users') | |
class User { | |
@PrimaryGeneratedColumn('uuid') | |
id: string; | |
@Column() | |
name: string; | |
@Column() | |
email: string; | |
@Column() | |
@Exclude() | |
password: string; | |
@Column() | |
avatar: string; | |
@CreateDateColumn() | |
created_at: Date; | |
@UpdateDateColumn() | |
updated_at: Date; | |
@Expose({ name: 'avatar_url' }) | |
getAvatarUrl(): string | null { | |
return `${process.env.STORAGE_URL}/files/${this.avatar}`; | |
} | |
} | |
export default User; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment