|
@@ -1,117 +1,130 @@
|
|
-const Contact = require("../model/contact");
|
|
|
|
|
|
+const Contact = require('../model/contact');
|
|
|
|
+const UserModel = require('../model/user');
|
|
|
|
|
|
const listContacts = async (req, res, next) => {
|
|
const listContacts = async (req, res, next) => {
|
|
- try {
|
|
|
|
- const userId = req.user.id;
|
|
|
|
- const contacts = await Contact.getList(userId, req.query);
|
|
|
|
- return res.json({
|
|
|
|
- status: "success",
|
|
|
|
- code: 200,
|
|
|
|
- data: {
|
|
|
|
- ...contacts,
|
|
|
|
- },
|
|
|
|
- });
|
|
|
|
- } catch (e) {
|
|
|
|
- next(e);
|
|
|
|
- }
|
|
|
|
|
|
+ try {
|
|
|
|
+ const userId = req.user.id;
|
|
|
|
+ const contacts = await Contact.getList(userId, req.query);
|
|
|
|
+ return res.json({
|
|
|
|
+ status: 'success',
|
|
|
|
+ code: 200,
|
|
|
|
+ data: {
|
|
|
|
+ ...contacts,
|
|
|
|
+ },
|
|
|
|
+ });
|
|
|
|
+ } catch (e) {
|
|
|
|
+ next(e);
|
|
|
|
+ }
|
|
};
|
|
};
|
|
|
|
|
|
const getContactById = async (req, res, next) => {
|
|
const getContactById = async (req, res, next) => {
|
|
- try {
|
|
|
|
- const id = req.params.id;
|
|
|
|
- const userId = req.user.id;
|
|
|
|
- const contact = await Contact.getById(id, userId);
|
|
|
|
- if (contact)
|
|
|
|
- return res.json({
|
|
|
|
- status: "success",
|
|
|
|
- code: 200,
|
|
|
|
- data: {
|
|
|
|
- contact,
|
|
|
|
- },
|
|
|
|
- });
|
|
|
|
- return res.status(404).json({
|
|
|
|
- status: "error",
|
|
|
|
- code: 404,
|
|
|
|
- data: "Not Found",
|
|
|
|
- });
|
|
|
|
- } catch (e) {
|
|
|
|
- next(e);
|
|
|
|
- }
|
|
|
|
|
|
+ try {
|
|
|
|
+ const id = req.params.id;
|
|
|
|
+ const userId = req.user.id;
|
|
|
|
+ const contact = await Contact.getById(id, userId);
|
|
|
|
+ if (contact)
|
|
|
|
+ return res.json({
|
|
|
|
+ status: 'success',
|
|
|
|
+ code: 200,
|
|
|
|
+ data: {
|
|
|
|
+ contact,
|
|
|
|
+ },
|
|
|
|
+ });
|
|
|
|
+ return res.status(404).json({
|
|
|
|
+ status: 'error',
|
|
|
|
+ code: 404,
|
|
|
|
+ data: 'Not Found',
|
|
|
|
+ });
|
|
|
|
+ } catch (e) {
|
|
|
|
+ next(e);
|
|
|
|
+ }
|
|
};
|
|
};
|
|
|
|
|
|
const addContact = async (req, res, next) => {
|
|
const addContact = async (req, res, next) => {
|
|
- try {
|
|
|
|
- const contact = req.body;
|
|
|
|
- const userId = req.user.id;
|
|
|
|
- if (contact) {
|
|
|
|
- await Contact.add({ ...contact, owner: userId });
|
|
|
|
- return res.status(201).json({
|
|
|
|
- status: "success",
|
|
|
|
- code: 201,
|
|
|
|
- data: {
|
|
|
|
- contact,
|
|
|
|
- },
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- } catch (e) {
|
|
|
|
- next(e);
|
|
|
|
- }
|
|
|
|
|
|
+ try {
|
|
|
|
+ const { name, lastName, number, country, avatarUrl, color } =
|
|
|
|
+ await UserModel.findByNumber(req.body.number);
|
|
|
|
+ if (avatarUrl) {
|
|
|
|
+ const userId = req.user.id;
|
|
|
|
+ const newContact = await Contact.add({
|
|
|
|
+ name,
|
|
|
|
+ lastName,
|
|
|
|
+ number,
|
|
|
|
+ country,
|
|
|
|
+ avatarUrl,
|
|
|
|
+ color,
|
|
|
|
+ owner: userId,
|
|
|
|
+ });
|
|
|
|
+ return res.status(201).json({
|
|
|
|
+ status: 'success',
|
|
|
|
+ code: 201,
|
|
|
|
+ data: newContact,
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ return res.status(404).json({
|
|
|
|
+ status: 'error',
|
|
|
|
+ code: 404,
|
|
|
|
+ data: 'Not Found',
|
|
|
|
+ });
|
|
|
|
+ } catch (e) {
|
|
|
|
+ next(e);
|
|
|
|
+ }
|
|
};
|
|
};
|
|
|
|
|
|
const removeContact = async (req, res, next) => {
|
|
const removeContact = async (req, res, next) => {
|
|
- try {
|
|
|
|
- const id = req.params.id;
|
|
|
|
- const userId = req.user.id;
|
|
|
|
- const contact = await Contact.remove(id, userId);
|
|
|
|
- if (contact) {
|
|
|
|
- return res.json({
|
|
|
|
- status: "success",
|
|
|
|
- code: 200,
|
|
|
|
- data: {
|
|
|
|
- contact,
|
|
|
|
- },
|
|
|
|
- });
|
|
|
|
- } else {
|
|
|
|
- return res.status(404).json({
|
|
|
|
- status: "error",
|
|
|
|
- code: 404,
|
|
|
|
- data: "Not Found",
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- } catch (e) {
|
|
|
|
- next(e);
|
|
|
|
- }
|
|
|
|
|
|
+ try {
|
|
|
|
+ const id = req.params.id;
|
|
|
|
+ const userId = req.user.id;
|
|
|
|
+ const contact = await Contact.remove(id, userId);
|
|
|
|
+ if (contact) {
|
|
|
|
+ return res.json({
|
|
|
|
+ status: 'success',
|
|
|
|
+ code: 200,
|
|
|
|
+ data: {
|
|
|
|
+ contact,
|
|
|
|
+ },
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ return res.status(404).json({
|
|
|
|
+ status: 'error',
|
|
|
|
+ code: 404,
|
|
|
|
+ data: 'Not Found',
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ } catch (e) {
|
|
|
|
+ next(e);
|
|
|
|
+ }
|
|
};
|
|
};
|
|
|
|
|
|
const updateContact = async (req, res, next) => {
|
|
const updateContact = async (req, res, next) => {
|
|
- try {
|
|
|
|
- const id = req.params.id;
|
|
|
|
- const userId = req.user.id;
|
|
|
|
- const contact = await Contact.update(id, userId, req.body);
|
|
|
|
- if (contact) {
|
|
|
|
- return res.status(200).json({
|
|
|
|
- status: "success",
|
|
|
|
- code: 200,
|
|
|
|
- data: {
|
|
|
|
- contact,
|
|
|
|
- },
|
|
|
|
- });
|
|
|
|
- } else {
|
|
|
|
- return res.status(404).json({
|
|
|
|
- status: "error",
|
|
|
|
- code: 404,
|
|
|
|
- data: "Not Found",
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- } catch (e) {
|
|
|
|
- next(e);
|
|
|
|
- }
|
|
|
|
|
|
+ try {
|
|
|
|
+ const id = req.params.id;
|
|
|
|
+ const userId = req.user.id;
|
|
|
|
+ const contact = await Contact.update(id, userId, req.body);
|
|
|
|
+ if (contact) {
|
|
|
|
+ return res.status(200).json({
|
|
|
|
+ status: 'success',
|
|
|
|
+ code: 200,
|
|
|
|
+ data: {
|
|
|
|
+ contact,
|
|
|
|
+ },
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ return res.status(404).json({
|
|
|
|
+ status: 'error',
|
|
|
|
+ code: 404,
|
|
|
|
+ data: 'Not Found',
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ } catch (e) {
|
|
|
|
+ next(e);
|
|
|
|
+ }
|
|
};
|
|
};
|
|
|
|
|
|
module.exports = {
|
|
module.exports = {
|
|
- listContacts,
|
|
|
|
- getContactById,
|
|
|
|
- addContact,
|
|
|
|
- removeContact,
|
|
|
|
- updateContact,
|
|
|
|
|
|
+ listContacts,
|
|
|
|
+ getContactById,
|
|
|
|
+ addContact,
|
|
|
|
+ removeContact,
|
|
|
|
+ updateContact,
|
|
};
|
|
};
|