{"_id":"express-rest-response","_rev":"40-13a27746f44300c4576e8eabe85ba225","time":{"modified":"2022-08-29T12:40:56.778Z","created":"2022-08-19T21:53:19.477Z","1.0.0":"2015-01-21T12:18:43.524Z","1.0.1":"2015-01-21T13:59:28.453Z","1.0.2":"2015-01-21T14:26:51.708Z","1.0.3":"2015-01-23T13:04:14.339Z","1.1.0":"2015-08-19T15:09:21.682Z","1.1.1":"2015-08-21T20:48:44.705Z","1.2.0":"2015-08-23T14:34:00.967Z","0.0.1":"2022-08-19T21:53:19.772Z","0.0.2":"2022-08-22T09:25:12.629Z","0.0.3":"2022-08-23T09:30:53.030Z","0.0.4":"2022-08-29T12:26:19.301Z","0.0.5":"2022-08-29T12:40:56.711Z"},"name":"express-rest-response","dist-tags":{"latest":"0.0.5"},"versions":{"0.0.1":{"name":"express-rest-response","version":"0.0.1","description":"response restful simple pour expressjs","main":"src/index.js","repository":{"type":"git","url":"git+https://github.com/dimtrovich/express-rest-response.git"},"keywords":["express","restfull","response","middleware"],"author":{"name":"Dimitri Sitchet Tomkeu","email":"devcode.dst@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/dimtrovich/express-rest-response/issues"},"homepage":"https://github.com/dimtrovich/express-rest-response#readme","gitHead":"38d829babfc9fd5f5cc2390b41360cea2a4ed874","_id":"express-rest-response@0.0.1","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-2CTrZaeKCe9bkeAd9nLIC4G7FjhusSYjIbtjViLm3pXkvxoDLe9bIzkEk5czGXVML4K0PQlcOpigP8MxvJO7MQ==","shasum":"918530f6aaed1ac573d5733d3a3ec7703a275047","tarball":"https://registry.npmjs.org/express-rest-response/-/express-rest-response-0.0.1.tgz","fileCount":8,"unpackedSize":28912,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEKeX6zg9GAzgk/A1avTEN+kQX+B2kLeV2gYJQOcjK5dAiBMGnvf8qn9ndswOQFxBuq34jnFGPZ2D4OncGjVT4KINg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjAAZPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmothQ/+ObpfUrtj/XKnoYX4ZkGAfkM1baW2SN1kGeHhfS+lKnDh0NZl\r\nmHIYwo6JurXBO2yM5vThKLuNOVcli2DuB4iT3cs7P8bkItUz4zMXSPohIcuX\r\npq6nsve/niWYjq71KU0zFFdcn0cB7MDZm4c43PIMC+ZKc5utzoCzkYFmVkeL\r\nMEshwmwIxqAFE7KGM48eLzmS7PPyr0Qo254UJdvBWtCDmjSeF7d1N7sSSCh/\r\niYM0zoeYJy+s5LSlkIbqaMXkRx+pp8Qp1grkkfI0VzHzUQB9dg4eiBcXTiW+\r\n9L4+inrirWNHOrL9GkNMPPaYIMyyuIRlPSTPh4yBFNde99UtYdh0MTCce7zm\r\nQIicUDrWzTAh13bWr9cL+7nE4R8WV/ueXn3Xk+PpBXxhJ/1pitd3CdSYD6+3\r\nUhDxCtsVtsmxyowHIsFH2TP60/tvX5RBAVNs/FfHyt8cN1XsGGM5cmedcBg0\r\n4VkTfvwMxaINBDIkSdn4FWGf4HZdb/SYNMTNlYaUmYYaeVPq+U0oV6kWrosf\r\n9HNER5hKtKF7LsbnwxISeF1kyf3cSX0u2JxPtAoVE4bTk/Hnb6JIIKLUq3Bj\r\nLUjlWqUXrWSgxUim8jUMJBY1bFxJ8vsZ7uEh+2gaWdpx7+aovifSJgPbQANP\r\n9QNQVoIRBaZK1tqPghNM8Ft01c34SRYbH60=\r\n=TX0p\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dimtrovich","email":"dimitrisitchet@gmail.com"},"directories":{},"maintainers":[{"name":"dimtrovich","email":"dimitrisitchet@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rest-response_0.0.1_1660945999478_0.7735212620374388"},"_hasShrinkwrap":false},"0.0.2":{"name":"express-rest-response","version":"0.0.2","description":"response restful simple pour expressjs","main":"src/index.js","repository":{"type":"git","url":"git+https://github.com/dimtrovich/express-rest-response.git"},"keywords":["express","restfull","response","middleware"],"author":{"name":"Dimitri Sitchet Tomkeu","email":"devcode.dst@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/dimtrovich/express-rest-response/issues"},"homepage":"https://github.com/dimtrovich/express-rest-response#readme","gitHead":"e2fc0af0bba41d40821c894233f1f695429cd728","_id":"express-rest-response@0.0.2","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-QCKmZ2f76BBFu6PGaRGSpG+KKAVg6/2Nb/U4ZzbdrB+V1qBBAhBkSU+1XGsdptCJp6NFewN+IwcM1Z0+J8x8TQ==","shasum":"1a3514325824b3ac4c7976edfe849eb22fbfe508","tarball":"https://registry.npmjs.org/express-rest-response/-/express-rest-response-0.0.2.tgz","fileCount":8,"unpackedSize":28984,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAp0RaKmloI0/Gd4LftwMfhdHoqLdwuv4LXM85vYsytXAiBzOlaPhL746rOdqm8p98Xq9X/Qcnu4dWOOOVZQN5yvUg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjA0t4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrVQxAAmg1BqfTcncoVBDXHVAtHVaTorbt0Y4lM+hw2lqOaA0ur/ruK\r\nGeVkRrmYNIMOVMSneXLHQLvszmFmFSkDOx6VBYIrsiXOlHjWjQLIkCDqYY3p\r\npz+b/UZWrh/9TSifpnIhquTmwRTJXr8n/Z/DuWFdTFSg3Bewd3cgfSRKxwTl\r\nFw37al4KrH/3oh4MbfGzIKUnIT4htY16/HcQBqy/Se1OYDETO6D8xpYV7RXq\r\ne9x/ybXP0KLB+xlp34NPQ3plsgWDveS4lwv2gMApef60lDkiOTDCnE3rxW22\r\nzNvKSkORLeeIkNRU9/uY3MnjPTDN7uoKEzElyg7+5qN+MHCMESjeE/mwT46a\r\njCAOOcKHJqkbzoQRIrarSmkpNZeIyQymXdvOzhzNCuIu2/LldilaEDt40uLc\r\n56TZNdsa/XbRM5vxvalisiTndYHFaieL6vPxJQuvNibc1R+fcxXovW/oU3tJ\r\nlXWnFYqSJtlm4NioT2E+oMxwKGEg45xR3CqV+pyqBiwWXNBYx6Je5epiFTwy\r\nitAeoFFLsKgwj3oNrLPIZfSWbAZtKDfXlOpmceGqmHofpZYiEgLk1giHx8SL\r\nNsyg5UeMmnQtNU9WeOEfjZE0vLwC+If+YRLS+axELCJaZwTkKlH86gA0dRE9\r\nJKSSkWDBqG3ex3usJHvUiR2hvMfqruPgmO8=\r\n=aNOy\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dimtrovich","email":"dimitrisitchet@gmail.com"},"directories":{},"maintainers":[{"name":"dimtrovich","email":"dimitrisitchet@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rest-response_0.0.2_1661160312420_0.49095257808510917"},"_hasShrinkwrap":false},"0.0.3":{"name":"express-rest-response","version":"0.0.3","description":"response restful simple pour expressjs","main":"src/index.js","repository":{"type":"git","url":"git+https://github.com/dimtrovich/express-rest-response.git"},"keywords":["express","restfull","response","middleware"],"author":{"name":"Dimitri Sitchet Tomkeu","email":"devcode.dst@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/dimtrovich/express-rest-response/issues"},"homepage":"https://github.com/dimtrovich/express-rest-response#readme","gitHead":"a44c25abe9723be617cfd346fe1ba18ad6495cc3","_id":"express-rest-response@0.0.3","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-/Ug87t3w6UtjLfV3HKyJaawCvJADVeF2lPBgEVuG/BtQqNTFTPQHuRHpZ0JrImISmcolFpa6By1iGRSoAlftnw==","shasum":"1722d0839fc87643ffe054eb6fab8ce9b10cddff","tarball":"https://registry.npmjs.org/express-rest-response/-/express-rest-response-0.0.3.tgz","fileCount":8,"unpackedSize":28984,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAGnaKIJ/2VgoVTMMeqbWV/db3zlFqSEcKakos8LSnl/AiEA511wmZrKm6pP2PHEVUYCWE/rzaidEAN1EbuJPpSzTwE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBJ5NACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpuXA/8C7uEJxUbnMfg6yGXFyORbiYH/w9CgTg9mjLBL9oH0qnsOUsg\r\nRx6Tc7NvSvb9lyWMSrnZKpcT4ahDv/A/C7tYByfmQxWay3mrJS92R6XG+nMF\r\nFIah/ZegJFXk9uOC3D4xLD/2eHlS/b14PbaDkYt3C1zXKoal5lh+rY6zRVY/\r\nDgk/f7x2hwPKLW41AgZb9Zc5ee1eW8v/4qYR2/5fYetpcGrd7niwIiwl9JmF\r\n2FyH+txZqf/ju77HyxQM4IhHFyGnJEn0KeBHZqEkL8PQ0rckWgEz8ZXPTIvH\r\na3NfzHbmisAKX+SgmRyhW24f8LB+CTi9FXLFv62kD5REYtJybjQR82H4w0CR\r\ns7DnjXZPd3Y8Wais82ewDAaNSe3ii440eucVLddDlS9h/++fUXG0+Htnx5jQ\r\nzuDzpEuUhdTdOWbMbEtIStMcOXbSYMTPr91pQdNIsY0nxVN0ytsgx7nojZBH\r\n9/8d7wnKpgBBBj0+p0szEIlEPEQxwNN9tKMwSukqhxi0PI+z7dB3H9EGlz8Y\r\nuHMnxIZY9OtzgUhZOfMlJrKmmsDsQjwG8udwdFiNJqWiKrKLXYapFvLg+JnS\r\niHkVc4IDB4mKv+SWOb/DIn8ZeSIMfwsfdx6OTBdLS8S8e5bOogof/FOWrh+Q\r\nohHrzsh+SIPvHCwTSgCCD/UJRhhXSRyHiMk=\r\n=CX/j\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dimtrovich","email":"dimitrisitchet@gmail.com"},"directories":{},"maintainers":[{"name":"dimtrovich","email":"dimitrisitchet@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rest-response_0.0.3_1661247052871_0.7496812831152966"},"_hasShrinkwrap":false},"0.0.4":{"name":"express-rest-response","version":"0.0.4","description":"Response restful simple pour express.js","main":"dist/bundle.min.js","type":"module","repository":{"type":"git","url":"git+https://github.com/dimtrovich/express-rest-response.git"},"keywords":["express","restfull","response","middleware"],"author":{"name":"Dimitri Sitchet Tomkeu","email":"devcode.dst@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/dimtrovich/express-rest-response/issues"},"homepage":"https://github.com/dimtrovich/express-rest-response#readme","devDependencies":{"rollup-plugin-terser":"^7.0.2"},"gitHead":"b22f8e6d8e33e2a3adb691280a7bb8c792d172e5","_id":"express-rest-response@0.0.4","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-H5X2DLDGCR0oMJRjCrUam3Rz6cE3eEM00ODegY5xFaXSqhUm3Cb+lHU2OprAe66fWX9n5QuQ2oSwU4nh/WGUBQ==","shasum":"eb82b71d19722b738899a9bb850a9ca380ed6418","tarball":"https://registry.npmjs.org/express-rest-response/-/express-rest-response-0.0.4.tgz","fileCount":6,"unpackedSize":40323,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF3HP0jj2dpOMwDT2Ux8eJDw5ZPVeYgmI8tiEgm9wBSFAiABsfxH1MXKUjUagktg043RZspvv29TvJ8cUS0auMhd1Q=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDLBrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqWTw//QOC0aqBdo5hNJwzzwCcYnj12WtBmwHcVVjDicNc/GCrgDmF7\r\nj3v+YYsXFruiUIOG9lN0G/EYI6Wcz10nWim/CMZ4izKXzd5rFJOHf8cIErJ/\r\nuo6VWonNOw0+X0G7ko3vaxv0YKHsCbBZOYxvOOF/kcg2zA+TyxeMrkqXOMfT\r\nZQLMbMsB6eCTNh9Y6bOUeXpK38EbZBgQVDCnFn3+lbNAeA04C3uQa57zLVj1\r\nWZHizMwp8AKsu+pTaAH2wrejaFemoMJEDmA3jdZuvgFBSLkkz5lU4mHzhm2G\r\ntM9uR2390c94cYxe+rZncd4OFAwc1cCsr8s7ZywhjbLWN9O/mxR1jnhEHNi2\r\nC5apdvd8hNV6XRY05FYeOEShB3dCkp/iBb/Dk+y5YsUyit3AhjNSNqV4U24L\r\n+48gSRVAWsWVUWmfFwnQijhYesjsYqQRsJg/WwRb0eH+Jg8MDGsgky3Sh8fK\r\nUbI3KhVP3KjgVMg51c/n0C6sWRqdIoPgpT8RJVEu4/8TzabfWn7jh1GcdNCE\r\nDz79Odcsd5M5TqAA+UBBIOSqQq/rmbQHW7ad5wJ/d82VEsTi35nJciyVt1As\r\nCmP+1p8Od+JvDc7ILEZH/Y5luw1q/4oce1l2FletOGNjCxbT6KbMdkEtPFoD\r\n789LPzNCOgdniSt9ya3AR3D0UIhOU9rxnPM=\r\n=j+HX\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dimtrovich","email":"dimitrisitchet@gmail.com"},"directories":{},"maintainers":[{"name":"dimtrovich","email":"dimitrisitchet@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rest-response_0.0.4_1661775979143_0.13837594207500192"},"_hasShrinkwrap":false},"0.0.5":{"name":"express-rest-response","version":"0.0.5","description":"Response restful simple pour express.js","main":"dist/bundle.min.cjs","type":"module","repository":{"type":"git","url":"git+https://github.com/dimtrovich/express-rest-response.git"},"keywords":["express","restfull","response","middleware"],"author":{"name":"Dimitri Sitchet Tomkeu","email":"devcode.dst@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/dimtrovich/express-rest-response/issues"},"homepage":"https://github.com/dimtrovich/express-rest-response#readme","devDependencies":{"rollup-plugin-terser":"^7.0.2"},"gitHead":"7b8250f62f66914eac62a4763b5dd91e26e58f90","_id":"express-rest-response@0.0.5","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-SMcvpWEgXUaI5kL9O45yYXZ1eAplG3VRifko9LlySBKDlDsLucp9vDydiXG1fSrEE0Mf7Tj9sxrLdBFX0ogjhA==","shasum":"84ef97e13cefe10eb6522ed21d74ca3f5f3ff44c","tarball":"https://registry.npmjs.org/express-rest-response/-/express-rest-response-0.0.5.tgz","fileCount":6,"unpackedSize":40324,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEmk1XsiCp+ppla0+cG+G7TnCqjonxq7RuTwsBf0Urh+AiEAsVugHrNHkrRzkv4lnfq2ggGFlgaZw2U9hcg1N3dUPsY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDLPYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpHHQ//d7hRqMrkY6+fXijoVJPkQypRlegQ4BsGcnEFc5op+eplYzAx\r\noWYC1Iso+Q01WUZulE0GZGZO4H7n3hYp5oBvf37mAHlCP9+szASAznk3KUWs\r\nbeyGYkzLOZQ3IatcwVACWxdbXmWvmoJPIxrx1k1Zgqt4TygGBglGmRoS0cbK\r\nm1q0RQRMhwiGCvKW7dz+U52RPpGN9vty/eCBfPJtsEaw2i7pet5TI4wl08/9\r\nNJMvbr0NVy3l3D2+RaYoPC4tU12dNquTfd/x3LMri9B6jWv8qkD6CYq+pZjs\r\n1iBqA0LOiV28h3SSrVz7VGcgMBiBvs2vLyAxiQXQQPxXyyLwj0y55Bb0VFqk\r\nK4ET8cc7Vlo8Oa/mTWx2Dy4qJ8U+EDKtgsMS48fQA1wwZqXBVdkrxH6PgNpn\r\nYC4u9UU4Filf8a/3/rUPMqq2g0jiFzud8bSDjcYEBN2rVUBRsJHOEG4nJ+rv\r\nfQK885c5PPNlBNneifOCB6OAJUjMlxTG9iB0O12+ZQkq0i3ylKzh4df++cSl\r\nJD1bWGfHCmPEh0u9Dl4xfsY0lRrxIugXZCNOd4Uqi+utS9pvJ/RzYYFs8yQ6\r\n+bgaMYXNG3Oam5jcctKTu4q14YQzU7qYQOUFYkszhzRra7AwohygICrwFlRp\r\nv3tP8r2XM4Q7P9MRYQAZq7UndMEk0y1zK2A=\r\n=VziM\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dimtrovich","email":"dimitrisitchet@gmail.com"},"directories":{},"maintainers":[{"name":"dimtrovich","email":"dimitrisitchet@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-rest-response_0.0.5_1661776856444_0.5531266590782844"},"_hasShrinkwrap":false}},"maintainers":[{"name":"dimtrovich","email":"dimitrisitchet@gmail.com"}],"description":"Response restful simple pour express.js","homepage":"https://github.com/dimtrovich/express-rest-response#readme","keywords":["express","restfull","response","middleware"],"repository":{"type":"git","url":"git+https://github.com/dimtrovich/express-rest-response.git"},"author":{"name":"Dimitri Sitchet Tomkeu","email":"devcode.dst@gmail.com"},"bugs":{"url":"https://github.com/dimtrovich/express-rest-response/issues"},"license":"MIT","readme":"\n<h1 align=\"center\">Express Rest Response</h1>\n<h4 align=\"center\"> Réponses Restful simple pour Express.js</h4>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/express-rest-response\"><img src=\"https://img.shields.io/npm/v/express-rest-response.svg\"></a>\n  <a href=\"https://www.npmjs.com/package/express-rest-response\"><img src=\"https://img.shields.io/npm/dt/express-rest-response.svg\"></a>\n<a href='https://coveralls.io/github/dimtrovich/express-rest-response?branch=main'><img src='https://coveralls.io/repos/github/dimtrovich/express-rest-response/badge.svg?branch=main' alt='Coverage Status' /></a>\n  <a href=\"https://github.com/dimtrovich/express-rest-response/blob/main/LICENSE\"><img src=\"https://img.shields.io/badge/license-MIT-blue.svg\"></a>\n  <a href=\"http://img.badgesize.io/dimtrovich/express-rest-response/main/dist/bundle.min.js.svg?compression=gzip&style=flat-square\">\n    <img src=\"http://img.badgesize.io/dimtrovich/express-rest-response/main/dist/bundle.min.js.svg?compression=gzip&style=flat-square\">\n  </a>\n</p>\n\nUne grande partie du développement moderne nécessite la création d'API, qu'il s'agisse simplement de fournir des données à un programme lourd en JavaScript, single page ou en tant que produit autonome. \n\nExpress Rest Response fournit un trait de réponse API qui peut être utilisé avec n'importe quel contrôleur pour simplifier les types de réponse courants, sans avoir besoin de se rappeler quel code d'état HTTP doit être renvoyé pour quels types de réponse.\n\n\n#### Installation\n*************\nvia [npm](https://npmjs.org/)\n\n```sh\n$ npm install express-rest-response --save\n```\n\nvia [yarn](https://yarnpkg.com)\n\n```sh\n$ yarn add express-rest-response\n```\n\n#### Utilisation\n*************\n```javascript\nconst express = require('express')\nconst app = express()\n\napp.use(express.urlencoded({extended: true}))\napp.use(express.json())\n\n// Utilisation du middleware express-rest-response\nconst responder = require('express-rest-response')\napp.use(responder())\n\nconst routes = require('./router')\napp.use('/api', routes)\n\nconst PORT = process.env.PORT || 4000\napp.listen(PORT, function(req,res){\n  console.log(`sever is listening on port ${PORT}`)}\n)\n```\n\n\n#### Exemple d'utilisation\n*************\nL'exemple suivant montre un modèle d'utilisation courant au sein de vos contrôleurs.\n\n```js\nconst bcrypt = require('bcrypt')\nconst User = require('../models/User')\n\nexports.register = function (req, res) {\n    const {email, name, password} = req.body\n\n   \t//create newUser\n    User.create({\n     \tpassword : bcrypt.hashSync(password, 10),\n        name,\n        email \n\t}).then(user => {\n        res.respondCreated()\n\t})\n}\n```\n\nDans cet exemple, un code d'état HTTP de 201 est renvoyé, avec le message d'état générique \"Créé\". Des méthodes existent pour les cas d'utilisation les plus courants :\n\n```javascript\n// Réponse générique\nres.respond(data, status = 200);\n\n// Réponse générique d'echec\nres.respondFail(message = \"An error has occurred\", status = 500, code = null, errors = []);\n\n// Réponse générique de succès\nres.respondSuccess(message = \"Result\", result = null, status = 200);\n\n\n// Création de resource\nres.respondCreated(message = \"Created\", result = null);\n\n// Suppression de resource\nres.respondDeleted(message = \"Deleted\", result = null);\n\n// Commande exécutée sans réponse requise\nres.respondNoContent(message = \"No Content\");\n\n// Tout est ok\nres.respondOk(message = \"Ok\", result = null);\n\n// Mise à jour de resource\nres.respondUpdated(message = \"Updated\", result = null);\n\n\n// Les données envoyées sont invalides\nres.respondBadRequest(message = \"Bad Request\", code = 400, errors = []);\n\n// Ressource déja existante\nres.respondConflict(message = \"Conflict\", code = 409, errors = []);\n\n// Action interdite\nres.respondForbidden(message = \"Forbidden\", code = 403, errors = []);\n\n// Ressource précédement supprimée\nres.respondGone(message = \"Gone\", code = 410, errors = []);\n\n// Erreur interne\nres.respondInternalError(message = \"Internal Server Error\", code = 500, errors = []);\n\n// Token d'authentification expriré ou invalide\nres.respondInvalidToken(message = \"Invalid Token\", code = 498);\n\n// Méthode d'accès non autorisée\nres.respondMethodNotAllowed(message = \"Method Not Allowed\", code = 405, errors = []);\n\n// \tRessource non disponible dans un format qui respecterait les en-têtes « Accept » de la requête\nres.respondNotAcceptable(message = \"Not Acceptable\", code = 406, errors = []);\n\n// Ressource introuvable\nres.respondNotFound(message = \"Not Found\", code = 404, errors = []);\n\n// Ressource non disponible dans un format qui respecterait les en-têtes « Accept » de la requête\nres.respondNotAcceptable(message = \"Not Acceptable\", code = 406, errors = []);\n\n// Fonctionnalité réclamée non supportée par le serveur.\nres.respondNotImplemented(message = \"Not Implemented\", code = 501);\n\n// Le client a fait trop de demandes\nres.respondTooManyRequests(message = \"Too Many Requests\", code = 429, errors = []);\n\n// Le client n'est pas autorisé\nres.respondUnauthorized(message = \"Unauthorized\", code = 401, errors = []);\n```\n\n#### Référence de classe\n**************\n#### `respond(data: mixed, status?: number = 200)`\n\nC'est la méthode utilisée par toutes les autres méthodes de ce trait pour renvoyer une réponse au client.\n\n`paramètres`:\n\n  * `data` — Les données à renvoyer au client. Chaîne ou tableau ou objet littéral\n  * `status` — Code d'état HTTP à renvoyer. Par défaut à 200\n\n#### `respondFail(message?: string = \"An error has occurred\", status?: number = 500, code?: int|string|null = null, errors?: array = [])`\n\nC'est la méthode générique utilisée pour représenter une réponse ayant échoué et est utilisée par toutes les autres méthodes d'échec.\n\n`Paramètres`:\n\n  * `message` — Le message décrivant l'erreur\n  * `status` — Code d'état HTTP à renvoyer. Par défaut à 500\n  * `code` — Un code d'erreur personnalisé, spécifique à l'API\n  * `errors` — La liste des erreurs rencontrées\n\t \nÉtant donné que de nombreuses API sont mieux servies à l'aide de codes d'erreur personnalisés, un code d'erreur personnalisé peut être transmis dans le troisième paramètre. Si aucune valeur n'est présente, ce sera la même chose que `status`.\n\n`Réponse`:\nLa réponse est un tableau avec 4 éléments : `message`, `success`, `code` et `errors`. \n* L'élément `success` est un booléen ayant la valeur `FALSE` spécifiant le fait qu'il y'a un échec de l'opération\n* L'élément `errors` est un tableau contenant la liste des erreurs, ci celles-ci on été spécifiées\n\nCela ressemblerait à quelque chose comme :\n```json\n{\n    \"message\": \"Insuffisiant balance\",\n    \"success\": false,\n    \"code\": 909\n}\n```\n#### `respondSuccess(message?: string = \"Result\", result: mixed = null, status?: number = 200)`\n\nC'est la méthode générique utilisée pour représenter une réponse ayant réussie et est utilisée par toutes les autres méthodes de réussite.\n\n`Paramètres`:\n\n  * `message` — Le message décrivant la réussite\n  * `result` — Les résultat à envoyer au client\n  * `status` — Code d'état HTTP à renvoyer. Par défaut à 200\n\t \n`Réponse`:\nLa réponse est un tableau avec 3 éléments : `message`, `success`, et `result`. \n* L'élément `success` est un booléen ayant la valeur `TRUE` spécifiant le fait que l'opération s'est bien passée\n* L'élément `result` contient les données renvoyés\n\nCela ressemblerait à quelque chose comme :\n```json\n{\n    \"message\": \"Connection successfully\",\n    \"success\": true,\n    \"result\": {\n        \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyaWQiOiI2MmZmNGRlM2VkYzY0NTUyNDIzZjBjZDkiLCJpYXQiOjE2NjA5MDM0MDQsImV4cCI6MTY2MDk4OTgwNH0.rgCt_E7xEMjsFSAKGl9pngrGF4-13_ExLIu0kXikd3k\",\n        \"id\": \"62ff4de3edc64552423f0cd9\"\n    }\n}\n```\n\nLes 3 méthodes ci-dessus sont les méthodes principales. Il existe néanmoins des méthodes plus spécifique en fonction de vos besoins\n\n#### `respondCreated(message?: string = \"Created\", result: mixed = null)`\n\n Définit le code d'état approprié à utiliser lors de la création d'une nouvelle ressource, généralement 201.\n\n`Paramètres`:\n\n  * `message` — Le message décrivant la création\n  * `result` — Les résultat à envoyer au client\n\t \n`Réponse`:\nLa réponse est un tableau avec 3 éléments : `message`, `success`, et `result`. \n* L'élément `success` est un booléen ayant la valeur `TRUE` spécifiant le fait que l'opération s'est bien passée\n* L'élément `result` contient les données renvoyés\nL'exemple ci dessous\n\n```javascript\nUser.create({\n    password : bcrypt.hashSync(password, 10),\n    name,\n    email \n}).then(user => {\n    res.respondCreated('User created successfully', user)\n})\n```\n\nRenverra une réponse comme :\n```json\n\"message\": \"User created successfully\",\n\"success\": true,\n\"result\": {\n    \"password\": \"$2b$10$it8MOxq3UMlyqA4SODsD2uFafTreOQJPIdyGYQfGl2CJiKX4N81mq\",\n    \"phone\": \"xxxxxxxxx\",\n    \"name\": \"John Doe\",\n    \"email\": \"johndoe@email.com\",\n    \"_id\": \"62ff7f7adf90b9d003a47b53\",\n    \"__v\": 0\n}\n```\n\n#### `respondDeleted(message?: string = \"Deleted\", result: mixed = null)`\n\nDéfinit le code d'état approprié à utiliser lorsqu'une nouvelle ressource a été supprimée à la suite de et appel d'API, généralement 200.\n\n#### `respondNoContent(message?: string = \"No Content\")`\n\nDéfinit le code d'état approprié à utiliser lorsqu'une commande a été exécutée avec succès par le serveur mais qu'il n'y a pas réponse significative à renvoyer au client, généralement 204.\n\n#### `respondBadRequest(message?: string = \"Bad Request\", code?: number|string|null = null, errors?: array)`\n\nDéfinit le code d'état approprié à utiliser lorsque les données envoyées par le client ne satisfont pas aux règles de validation. Le code d'état est généralement 400.\n```javascript\nreturn res.respondBadRequest('Invalid phone number');\n```\n#### `respondConflict(message?: string = \"Conflict\", code?: number|string|null = null, errors?: array)`\nDéfinit le code d'état approprié à utiliser lorsque la ressource que le client essaie de créer existe déjà. Le code d'état est généralement 409.\n```javascript\nreturn res.respondConflict('A user already exists with that email.');\n```\n#### `respondForbidden(message?: string = \"Forbidden\", code?: number|string|null = null, errors?: array)`\n\nContrairement à `respondUnauthorized()`, cette méthode doit être utilisée lorsque le point de terminaison d'API demandé n'est jamais autorisé. `Non autorisé` implique que le client est encouragé à réessayer avec des informations d'identification différentes. Avec `interdits`, le client ne doit pas réessayer car cela n'aidera pas. Le code d'état est 403.\n```javascript\nreturn res.respondForbidden('Invalid API endpoint.');\n```\n#### `respondGone(message?: string = \"Gone\", code?: number|string|null = null, errors?: array)`\nDéfinit le code d'état approprié à utiliser lorsque la ressource demandée a été précédemment supprimée et n'est plus disponible. Le code d'état est généralement 410.\n```javascript\nreturn res.respondGone('That user has been previously deleted.');\n```\n#### `respondInternalError(message?: string = \"Internal Server Error\", code?: number|string|null = null, errors?: array)`\nDéfinit le code d'état approprié à utiliser en cas d'erreur de serveur. Le code d'état est généralement 500.\n```javascript\ntry {\n    ...\n}\ncatch(err) {\n    return res.respondInternalError(err.message);\n}\n```\n#### `respondInvalidToken(message?: string = \"Invalid Token\", code?: number|string|null = null)`\nDéfinit le code d'état approprié à utiliser lorsque le token utilisé pour l'authentification de l'utilisateur a expiré ou est invalide. Le code d'état est généralement 498.\n```javascript\nreturn res.respondInvalidToken();\n```\n#### `respondNotFound(message?: string = \"Not Found\", code?: number|string|null = null, errors?: array)`\nDéfinit le code d'état approprié à utiliser lorsque la ressource demandée est introuvable. Le code d'état est 404.\n```javascript\nreturn res.respondNotFound('User 13 cannot be found.');\n```\n#### `respondTooManyRequests(message?: string = \"Too many requests\", code?: number|string|null = null, errors?: array)`\nDéfinit le code d'état approprié à utiliser lorsque le client a appelé trop de fois un point de terminaison d'API. Cela peut être dû à une certaine forme de limitation ou de limitation de débit. Le code d'état est généralement 400.\n```javascript\nreturn res.respondTooManyRequests('You must wait 15 seconds before making another request.');\n```\n#### `respondUnauthorized(message?: string = \"Unauthorized\", code?: number|string|null = null, errors?: array)`\n\nDéfinit le code d'état approprié à utiliser lorsque l'utilisateur n'a pas été autorisé, ou a une autorisation incorrecte. Le code d'état est 401.\n```javascript\nreturn res.respondUnauthorized('Invalid Auth token');\n```","readmeFilename":"README.md"}