changed contacts routes to typescript

This commit is contained in:
canove
2020-09-15 19:28:06 -03:00
parent 14d90a2dd4
commit b04c0b878e
21 changed files with 536 additions and 133 deletions

View File

@@ -0,0 +1,39 @@
import AppError from "../../errors/AppError";
import Contact from "../../models/Contact";
interface ContactData {
email?: string;
number?: string;
name?: string;
}
interface Request {
contactData: ContactData;
contactId: string;
}
const UpdateContactService = async ({
contactData,
contactId
}: Request): Promise<Contact> => {
const { email, name, number } = contactData;
const contact = await Contact.findOne({
where: { id: contactId },
attributes: ["id", "name", "number", "email"]
});
if (!contact) {
throw new AppError("No contact found with this ID.", 404);
}
await contact.update({
name,
number,
email
});
return contact;
};
export default UpdateContactService;