diff --git a/docs/insomnia.json b/docs/insomnia.json index f3f024f..ea3a20f 100644 --- a/docs/insomnia.json +++ b/docs/insomnia.json @@ -1 +1 @@ -{"_type":"export","__export_format":4,"__export_date":"2024-08-25T21:40:28.567Z","__export_source":"insomnia.desktop.app:v9.3.3","resources":[{"_id":"req_ac5efcbcc43446a7a2af8dfc026fe259","parentId":"wrk_cdbcab721a304ffdae1f21819ac74eeb","modified":1724552762829,"created":1720734439191,"url":"{{ _.url_base }}sessions/login","name":"Login","description":"\n# Login\n\n\n```response\n{\n\t\"user\": {\n\t\t\"id\": \"2fe68da1-6989-4020-b4ff-504ec9bc8a61\",\n\t\t\"name\": \"João da Silva\",\n\t\t\"email\": \"joao@gmail.com\",\n\t\t\"password\": \"###\",\n\t\t\"language\": \"Português - BR\",\n\t\t\"created_at\": \"2024-07-08T21:25:48.205Z\",\n\t\t\"updated_at\": \"2024-07-08T21:25:48.205Z\"\n\t},\n\t\"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3MjA3MzQ4NjEsImV4cCI6MTcyMDgyMTI2MSwic3ViIjoiMDZlOWY2MTAtY2EzYy00OTg0LWE2NmMtNWJjM2E3Yjg3NmMwIn0.6ZP1oUEiOGHYm8AXMP7Z7HEhegizMyl3fsBi-6ytQ0o\"\n}\n\n```","method":"POST","body":{"mimeType":"application/json","text":"{\n\t\"email\": \"tassy@gmail.com\",\n\t\"password\": \"teste123\",\n\t\"rememberMe\": false\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"},{"name":"User-Agent","value":"insomnia/9.3.2"}],"authentication":{},"metaSortKey":-1720734439191,"isPrivate":false,"pathParameters":[],"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"wrk_cdbcab721a304ffdae1f21819ac74eeb","parentId":null,"modified":1720468632621,"created":1720468632621,"name":"Apogeo","description":"","scope":"collection","_type":"workspace"},{"_id":"req_3dfe86d8171243b4a4fc824ad31189d3","parentId":"wrk_cdbcab721a304ffdae1f21819ac74eeb","modified":1720734722388,"created":1720468661821,"url":"{{ _.url_base }}teste","name":"Teste","description":"\n# Teste\n\n\n```response\n{\n\t\"message\": \"Hello World\"\n}\n\n```","method":"GET","body":{},"parameters":[],"headers":[{"name":"User-Agent","value":"insomnia/9.3.2"}],"authentication":{},"metaSortKey":-1720731119220,"isPrivate":false,"pathParameters":[],"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_0d75445da1ea4d88b4a89c00a4da9440","parentId":"fld_bbf0e05c50324c579ab2e452b028ab50","modified":1724621972276,"created":1724619783221,"url":"{{ _.url_base }}pedigree/save","name":"Save Pedigree","description":"\n# Save Pedigree\n\n\n```response\n{\n\t\"mae\": \"Teste 2\",\n\t\"pai\": \"Teste 1\"\n}\n\n```","method":"PATCH","body":{"mimeType":"application/json","text":"{\n\t\"pai\": \"Teste 1\",\n\t\"mae\": \"Teste 2\"\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"},{"name":"User-Agent","value":"insomnia/9.3.2"}],"authentication":{"type":"bearer","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3MjQ2MjE0ODUsImV4cCI6MTcyNDcwNzg4NSwic3ViIjoiYTc0YzQ4YjMtOGJjZi00NzZhLWJjMzgtY2IwYzc1NmNiNmE0In0.WbYYj-6bqOMV2C1eiXGkJNDrwQjwz-5SxEFcyE3iXP0"},"metaSortKey":-1724619788664,"isPrivate":false,"pathParameters":[],"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"fld_bbf0e05c50324c579ab2e452b028ab50","parentId":"wrk_cdbcab721a304ffdae1f21819ac74eeb","modified":1724619767791,"created":1724619763260,"name":"Pedigree","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1720731119170,"_type":"request_group"},{"_id":"req_509043e998c04907a4e20b751f24600d","parentId":"fld_bbf0e05c50324c579ab2e452b028ab50","modified":1724621990321,"created":1724619800058,"url":"{{ _.url_base }}pedigree/read","name":"Read Pedigree","description":"\n# Read Pedigree\n\n\n```response\n{\n\t\"mae\": \"Teste 2\",\n\t\"pai\": \"Teste 1\"\n}\n\n```","method":"GET","body":{"mimeType":"application/json","text":""},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"},{"name":"User-Agent","value":"insomnia/9.3.2"}],"authentication":{"type":"bearer","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3MjQ2MjE0ODUsImV4cCI6MTcyNDcwNzg4NSwic3ViIjoiYTc0YzQ4YjMtOGJjZi00NzZhLWJjMzgtY2IwYzc1NmNiNmE0In0.WbYYj-6bqOMV2C1eiXGkJNDrwQjwz-5SxEFcyE3iXP0"},"metaSortKey":-1724619788564,"isPrivate":false,"pathParameters":[],"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_f1e4c8d47a734273988feede6a668d0f","parentId":"fld_bfb729790f5e427eb86d8c68b4a7365a","modified":1724545432309,"created":1720468644814,"url":"{{ _.url_base }}user/register","name":"Create User","description":"\n# Create User\n\n\n```response\n{\n\t\"id\": \"bb1ffa48-9cd0-431f-b7fb-9b795d5ec162\",\n\t\"name\": \"Ms. Karla Pacocha\",\n\t\"email\": \"joao@gmail.com\",\n\t\"language\": \"Portugues-Br\",\n\t\"phone\": \"1234-5678\",\n\t\"created_at\": \"2024-08-09T22:21:52.623Z\",\n\t\"updated_at\": \"2024-08-09T22:21:52.623Z\"\n}\n\n```","method":"POST","body":{"mimeType":"application/json","text":"{\n\t\"name\": \"{% faker 'randomFullName' %}\",\n\t\"email\": \"tassy@gmail.com\",\n\t\"password\": \"teste123\",\n\t\"language\": \"{% faker 'randomCountry' %}\",\n\t\"phone\": \"1234-5678\"\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"},{"name":"User-Agent","value":"insomnia/9.3.2"}],"authentication":{},"metaSortKey":-1720731133898,"isPrivate":false,"pathParameters":[],"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"fld_bfb729790f5e427eb86d8c68b4a7365a","parentId":"wrk_cdbcab721a304ffdae1f21819ac74eeb","modified":1720731119120,"created":1720731119120,"name":"User","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1720731119120,"_type":"request_group"},{"_id":"req_c5376807b9e44533b496fa43a9ae000b","parentId":"fld_bfb729790f5e427eb86d8c68b4a7365a","modified":1724620511733,"created":1720733953102,"url":"{{ _.url_base }}user/update","name":"Update User","description":"\n# Update User\n\n\n```response\n{\n\t\"id\": \"bb1ffa48-9cd0-431f-b7fb-9b795d5ec162\",\n\t\"name\": \"Ms. Karla Pacocha\",\n\t\"email\": \"joao@gmail.com\",\n\t\"language\": \"Portugues-Br\",\n\t\"phone\": \"1234-5678\",\n\t\"created_at\": \"2024-08-09T22:21:52.623Z\",\n\t\"updated_at\": \"2024-08-09T22:21:52.623Z\"\n}\n\n```","method":"PATCH","body":{"mimeType":"application/json","text":"{\n\t\"name\": \"{% faker 'randomFullName' %}\",\n\t\"password\": \"teste123\",\n\t\"language\": \"{% faker 'randomCountry' %}\",\n\t\"phone\": \"1234-5678\",\n\t\"image\": \"image\",\n\t\"gender\": \"female\",\n\t\"birthdate\": \"2000-08-24T00:00:00Z\"\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"},{"name":"User-Agent","value":"insomnia/9.3.2"}],"authentication":{"type":"bearer","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3MjQ2MTk2MjcsImV4cCI6MTcyNDcwNjAyNywic3ViIjoiOTI2NmViMWEtMmI4YS00MjFmLWFkYWItZjJkMDRkMjc1NWZiIn0.rThip1qA_xPBRHjWddvsuEHe_LOaR0i1a3XOnS4AJug"},"metaSortKey":-1720731130228.5,"isPrivate":false,"pathParameters":[],"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_a929a985d81645ab807be929a0d63b9e","parentId":"fld_bfb729790f5e427eb86d8c68b4a7365a","modified":1723243325816,"created":1720733970356,"url":"{{ _.url_base }}user/readAll","name":"Read All Users","description":"\n# Read All Users\n\n\n```response\n[\n\t{\n\t\t\"id\": \"2dc4638e-b7a7-4585-96a1-cc9d15fb6c0e\",\n\t\t\"name\": \"Ellis King\",\n\t\t\"email\": \"phoebe4@yahoo.com\",\n\t\t\"language\": \"Trinidad and Tobago\",\n\t\t\"phone\": \"4321-5678\",\n\t\t\"created_at\": \"2024-07-11T22:17:57.591Z\",\n\t\t\"updated_at\": \"2024-07-11T22:17:57.591Z\"\n\t},\n\t{\n\t\t\"id\": \"1f23572d-9e4d-45d2-9e43-c10673830cec\",\n\t\t\"name\": \"Cindy Klocko\",\n\t\t\"email\": \"tatitassyla@gmail.com\",\n\t\t\"language\": \"Norway\",\n\t\t\"phone\": \"1234-5678\",\n\t\t\"created_at\": \"2024-07-24T23:23:33.868Z\",\n\t\t\"updated_at\": \"2024-07-24T23:23:33.866Z\"\n\t},\n\t{\n\t\t\"id\": \"fb5edc8e-93bd-4dff-a4a0-205e067d899e\",\n\t\t\"name\": \"David Kuhn\",\n\t\t\"email\": \"t@gmail.com\",\n\t\t\"language\": \"Guadeloupe\",\n\t\t\"phone\": \"1234-5678\",\n\t\t\"created_at\": \"2024-08-05T23:26:49.507Z\",\n\t\t\"updated_at\": \"2024-08-05T23:26:49.506Z\"\n\t}\n]\n\n\n```","method":"GET","body":{"mimeType":"application/json","text":""},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"},{"name":"User-Agent","value":"insomnia/9.3.2"}],"authentication":{},"metaSortKey":-1720731121054.75,"isPrivate":false,"pathParameters":[],"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_692babb9d2d74e5c949a5ca2df76aa9b","parentId":"fld_bfb729790f5e427eb86d8c68b4a7365a","modified":1724620542260,"created":1720733989844,"url":"{{ _.url_base }}user/read","name":"Read User By Id","description":"\n# Read User By Id\n\n\n```response\n{\n\t\"id\": \"bb1ffa48-9cd0-431f-b7fb-9b795d5ec162\",\n\t\"name\": \"Ms. Karla Pacocha\",\n\t\"email\": \"joao@gmail.com\",\n\t\"language\": \"Portugues-Br\",\n\t\"phone\": \"1234-5678\",\n\t\"created_at\": \"2024-08-09T22:21:52.623Z\",\n\t\"updated_at\": \"2024-08-09T22:21:52.623Z\"\n}\n\n```","method":"GET","body":{"mimeType":"application/json","text":""},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"},{"name":"User-Agent","value":"insomnia/9.3.2"}],"authentication":{"type":"bearer","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3MjQ2MTk2MjcsImV4cCI6MTcyNDcwNjAyNywic3ViIjoiOTI2NmViMWEtMmI4YS00MjFmLWFkYWItZjJkMDRkMjc1NWZiIn0.rThip1qA_xPBRHjWddvsuEHe_LOaR0i1a3XOnS4AJug"},"metaSortKey":-1720731120137.375,"isPrivate":false,"pathParameters":[],"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_85a45d93d3504544b16ae1eae33f12b8","parentId":"fld_bfb729790f5e427eb86d8c68b4a7365a","modified":1723243348321,"created":1720733915287,"url":"{{ _.url_base }}user/delete","name":"Delete User","description":"\n# Delete User\n\n\n```response\n{\n\t\"id\": \"bb1ffa48-9cd0-431f-b7fb-9b795d5ec162\",\n\t\"name\": \"Ms. Karla Pacocha\",\n\t\"email\": \"joao@gmail.com\",\n\t\"language\": \"Portugues-Br\",\n\t\"phone\": \"1234-5678\",\n\t\"created_at\": \"2024-08-09T22:21:52.623Z\",\n\t\"updated_at\": \"2024-08-09T22:21:52.623Z\"\n}\n\n```","method":"DELETE","body":{"mimeType":"application/json","text":""},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"},{"name":"User-Agent","value":"insomnia/9.3.2"}],"authentication":{"type":"bearer","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3MjMyNDI5NzIsImV4cCI6MTcyMzMyOTM3Miwic3ViIjoiYmIxZmZhNDgtOWNkMC00MzFmLWI3ZmItOWI3OTVkNWVjMTYyIn0.uqC2X-kcMMJI6wSmIAo0AMd4rOiQ_GDt6-EVHzQfhCM"},"metaSortKey":-1720731120037.375,"isPrivate":false,"pathParameters":[],"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_299f10d1b8144d89aa4459a1338174e5","parentId":"fld_bfb729790f5e427eb86d8c68b4a7365a","modified":1722036870308,"created":1721863249217,"url":"{{ _.url_base }}user/send-pin","name":"Send Pin To Email","description":"\n# Send Pin To Email\n\n\n```response\n{\n\t\"id\": \"1f23572d-9e4d-45d2-9e43-c10673830cec\"\n}\n\n```","method":"POST","body":{"mimeType":"application/json","text":"{\n\t\"email\": \"tatitassyla@gmail.com\"\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"},{"name":"User-Agent","value":"insomnia/9.3.2"}],"authentication":{},"metaSortKey":-1720731119937.375,"isPrivate":false,"pathParameters":[],"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_fd57174533f74ce89a1b4cab2d5d8436","parentId":"fld_bfb729790f5e427eb86d8c68b4a7365a","modified":1724620611892,"created":1721948016798,"url":"{{ _.url_base }}user/verify-pin/1f23572d-9e4d-45d2-9e43-c10673830cec","name":"Verify Pin","description":"\n# Verify Pin\n\n\n```response\n{\n\t\"id\": \"1f23572d-9e4d-45d2-9e43-c10673830cec\"\n}\n\n```","method":"POST","body":{"mimeType":"application/json","text":"{\n\t\"pin\": \"7580\"\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"},{"name":"User-Agent","value":"insomnia/9.3.2"}],"authentication":{},"metaSortKey":-1720731119837.375,"isPrivate":false,"pathParameters":[],"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_1e8cc8dfb8a543c691ad5025a2b54f15","parentId":"fld_bfb729790f5e427eb86d8c68b4a7365a","modified":1724620636522,"created":1722036505289,"url":"{{ _.url_base }}user/reset-password/1f23572d-9e4d-45d2-9e43-c10673830cec","name":"Reset Password","description":"\n# Reset Password\n\n\n```response\n{\n\t\"id\": \"1f23572d-9e4d-45d2-9e43-c10673830cec\"\n}\n\n```","method":"POST","body":{"mimeType":"application/json","text":"{\n\t\"pin\": \"7580\",\n\t\"password\": \"aloalo\"\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"},{"name":"User-Agent","value":"insomnia/9.3.2"}],"authentication":{},"metaSortKey":-1720731119528.6875,"isPrivate":false,"pathParameters":[],"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"env_f4cd0ea340206e90007e70fa1fd9a44c47a97451","parentId":"wrk_cdbcab721a304ffdae1f21819ac74eeb","modified":1722128083872,"created":1720468632625,"name":"Deploy","data":{"url_base":"https://apogeo.polijrinternal.com/"},"dataPropertyOrder":{"&":["url_base"]},"color":null,"isPrivate":false,"metaSortKey":1720468632625,"_type":"environment"},{"_id":"jar_f4cd0ea340206e90007e70fa1fd9a44c47a97451","parentId":"wrk_cdbcab721a304ffdae1f21819ac74eeb","modified":1720468632628,"created":1720468632628,"name":"Default Jar","cookies":[],"_type":"cookie_jar"},{"_id":"env_763d4620ef084290bf0eb33aa764aa16","parentId":"env_f4cd0ea340206e90007e70fa1fd9a44c47a97451","modified":1722128078532,"created":1722128023628,"name":"Local","data":{"url_base":"http://localhost:3333/"},"dataPropertyOrder":{"&":["url_base"]},"color":null,"isPrivate":false,"metaSortKey":1722128023628,"_type":"environment"}]} \ No newline at end of file +{"_type":"export","__export_format":4,"__export_date":"2024-09-18T20:45:35.960Z","__export_source":"insomnia.desktop.app:v9.3.3","resources":[{"_id":"req_ac5efcbcc43446a7a2af8dfc026fe259","parentId":"wrk_cdbcab721a304ffdae1f21819ac74eeb","modified":1726690188684,"created":1720734439191,"url":"{{ _.url_base }}sessions/login","name":"Login","description":"\n# Login\n\n\n```response\n{\n\t\"user\": {\n\t\t\"id\": \"2fe68da1-6989-4020-b4ff-504ec9bc8a61\",\n\t\t\"name\": \"João da Silva\",\n\t\t\"email\": \"joao@gmail.com\",\n\t\t\"password\": \"###\",\n\t\t\"language\": \"Português - BR\",\n\t\t\"created_at\": \"2024-07-08T21:25:48.205Z\",\n\t\t\"updated_at\": \"2024-07-08T21:25:48.205Z\"\n\t},\n\t\"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3MjA3MzQ4NjEsImV4cCI6MTcyMDgyMTI2MSwic3ViIjoiMDZlOWY2MTAtY2EzYy00OTg0LWE2NmMtNWJjM2E3Yjg3NmMwIn0.6ZP1oUEiOGHYm8AXMP7Z7HEhegizMyl3fsBi-6ytQ0o\"\n}\n\n```","method":"POST","body":{"mimeType":"application/json","text":"{\n\t\"email\": \"t@gmail.com\",\n\t\"password\": \"teste123\",\n\t\"rememberMe\": false\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"},{"name":"User-Agent","value":"insomnia/9.3.2"}],"authentication":{},"metaSortKey":-1720734439191,"isPrivate":false,"pathParameters":[],"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"wrk_cdbcab721a304ffdae1f21819ac74eeb","parentId":null,"modified":1720468632621,"created":1720468632621,"name":"Apogeo","description":"","scope":"collection","_type":"workspace"},{"_id":"req_3dfe86d8171243b4a4fc824ad31189d3","parentId":"wrk_cdbcab721a304ffdae1f21819ac74eeb","modified":1720734722388,"created":1720468661821,"url":"{{ _.url_base }}teste","name":"Teste","description":"\n# Teste\n\n\n```response\n{\n\t\"message\": \"Hello World\"\n}\n\n```","method":"GET","body":{},"parameters":[],"headers":[{"name":"User-Agent","value":"insomnia/9.3.2"}],"authentication":{},"metaSortKey":-1720731119220,"isPrivate":false,"pathParameters":[],"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_dbf04514e19c4dcf9326fa54a334d4e3","parentId":"fld_1927a343aff149c58f1f47b8f1466d87","modified":1726692236021,"created":1726690039075,"url":"{{ _.url_base }}appointments/register","name":"Create Appointment","description":"\n# Create Appointment\n\n\n```response\n{\n\t\"id\": \"bb1ffa48-9cd0-431f-b7fb-9b795d5ec162\",\n\t\"name\": \"Ms. Karla Pacocha\",\n\t\"email\": \"joao@gmail.com\",\n\t\"language\": \"Portugues-Br\",\n\t\"phone\": \"1234-5678\",\n\t\"created_at\": \"2024-08-09T22:21:52.623Z\",\n\t\"updated_at\": \"2024-08-09T22:21:52.623Z\"\n}\n\n```","method":"POST","body":{"mimeType":"application/json","text":"{\n\t\"date\": \"{% faker 'randomDateFuture' %}\"\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"},{"name":"User-Agent","value":"insomnia/9.3.2"}],"authentication":{"type":"bearer","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3MjY2OTAxOTAsImV4cCI6MTcyNjc3NjU5MCwic3ViIjoiZmI1ZWRjOGUtOTNiZC00ZGZmLWE0YTAtMjA1ZTA2N2Q4OTllIn0.EygCQ5vqtWc4jt_fo2pXsnIEYCUMv914FGrk43MaXfg"},"metaSortKey":-1726692235903,"isPrivate":false,"pathParameters":[],"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"fld_1927a343aff149c58f1f47b8f1466d87","parentId":"wrk_cdbcab721a304ffdae1f21819ac74eeb","modified":1726692226761,"created":1726692221085,"name":"Appointments","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1720731119195,"_type":"request_group"},{"_id":"req_0d75445da1ea4d88b4a89c00a4da9440","parentId":"fld_bbf0e05c50324c579ab2e452b028ab50","modified":1726683744966,"created":1724619783221,"url":"{{ _.url_base }}pedigree/save","name":"Save Pedigree","description":"\n# Save Pedigree\n\n\n```response\n{\n\t\"mae\": \"Teste 2\",\n\t\"pai\": \"Teste 1\"\n}\n\n```","method":"PATCH","body":{"mimeType":"application/json","text":"{\n\t\"pai\": \"Teste 1\",\n\t\"mae\": \"Teste 2\"\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"},{"name":"User-Agent","value":"insomnia/9.3.2"}],"authentication":{"type":"bearer","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3MjY2ODM2MzgsImV4cCI6MTcyNjc3MDAzOCwic3ViIjoiOTI2NmViMWEtMmI4YS00MjFmLWFkYWItZjJkMDRkMjc1NWZiIn0.UlmzAfLEQ-Sqy-ssqezeZDX3qIl05mhJQAB1xl4T1zo"},"metaSortKey":-1724619788664,"isPrivate":false,"pathParameters":[],"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"fld_bbf0e05c50324c579ab2e452b028ab50","parentId":"wrk_cdbcab721a304ffdae1f21819ac74eeb","modified":1724619767791,"created":1724619763260,"name":"Pedigree","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1720731119170,"_type":"request_group"},{"_id":"req_509043e998c04907a4e20b751f24600d","parentId":"fld_bbf0e05c50324c579ab2e452b028ab50","modified":1724621990321,"created":1724619800058,"url":"{{ _.url_base }}pedigree/read","name":"Read Pedigree","description":"\n# Read Pedigree\n\n\n```response\n{\n\t\"mae\": \"Teste 2\",\n\t\"pai\": \"Teste 1\"\n}\n\n```","method":"GET","body":{"mimeType":"application/json","text":""},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"},{"name":"User-Agent","value":"insomnia/9.3.2"}],"authentication":{"type":"bearer","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3MjQ2MjE0ODUsImV4cCI6MTcyNDcwNzg4NSwic3ViIjoiYTc0YzQ4YjMtOGJjZi00NzZhLWJjMzgtY2IwYzc1NmNiNmE0In0.WbYYj-6bqOMV2C1eiXGkJNDrwQjwz-5SxEFcyE3iXP0"},"metaSortKey":-1724619788564,"isPrivate":false,"pathParameters":[],"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_f1e4c8d47a734273988feede6a668d0f","parentId":"fld_bfb729790f5e427eb86d8c68b4a7365a","modified":1724545432309,"created":1720468644814,"url":"{{ _.url_base }}user/register","name":"Create User","description":"\n# Create User\n\n\n```response\n{\n\t\"id\": \"bb1ffa48-9cd0-431f-b7fb-9b795d5ec162\",\n\t\"name\": \"Ms. Karla Pacocha\",\n\t\"email\": \"joao@gmail.com\",\n\t\"language\": \"Portugues-Br\",\n\t\"phone\": \"1234-5678\",\n\t\"created_at\": \"2024-08-09T22:21:52.623Z\",\n\t\"updated_at\": \"2024-08-09T22:21:52.623Z\"\n}\n\n```","method":"POST","body":{"mimeType":"application/json","text":"{\n\t\"name\": \"{% faker 'randomFullName' %}\",\n\t\"email\": \"tassy@gmail.com\",\n\t\"password\": \"teste123\",\n\t\"language\": \"{% faker 'randomCountry' %}\",\n\t\"phone\": \"1234-5678\"\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"},{"name":"User-Agent","value":"insomnia/9.3.2"}],"authentication":{},"metaSortKey":-1720731133898,"isPrivate":false,"pathParameters":[],"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"fld_bfb729790f5e427eb86d8c68b4a7365a","parentId":"wrk_cdbcab721a304ffdae1f21819ac74eeb","modified":1720731119120,"created":1720731119120,"name":"User","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1720731119120,"_type":"request_group"},{"_id":"req_c5376807b9e44533b496fa43a9ae000b","parentId":"fld_bfb729790f5e427eb86d8c68b4a7365a","modified":1724620511733,"created":1720733953102,"url":"{{ _.url_base }}user/update","name":"Update User","description":"\n# Update User\n\n\n```response\n{\n\t\"id\": \"bb1ffa48-9cd0-431f-b7fb-9b795d5ec162\",\n\t\"name\": \"Ms. Karla Pacocha\",\n\t\"email\": \"joao@gmail.com\",\n\t\"language\": \"Portugues-Br\",\n\t\"phone\": \"1234-5678\",\n\t\"created_at\": \"2024-08-09T22:21:52.623Z\",\n\t\"updated_at\": \"2024-08-09T22:21:52.623Z\"\n}\n\n```","method":"PATCH","body":{"mimeType":"application/json","text":"{\n\t\"name\": \"{% faker 'randomFullName' %}\",\n\t\"password\": \"teste123\",\n\t\"language\": \"{% faker 'randomCountry' %}\",\n\t\"phone\": \"1234-5678\",\n\t\"image\": \"image\",\n\t\"gender\": \"female\",\n\t\"birthdate\": \"2000-08-24T00:00:00Z\"\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"},{"name":"User-Agent","value":"insomnia/9.3.2"}],"authentication":{"type":"bearer","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3MjQ2MTk2MjcsImV4cCI6MTcyNDcwNjAyNywic3ViIjoiOTI2NmViMWEtMmI4YS00MjFmLWFkYWItZjJkMDRkMjc1NWZiIn0.rThip1qA_xPBRHjWddvsuEHe_LOaR0i1a3XOnS4AJug"},"metaSortKey":-1720731130228.5,"isPrivate":false,"pathParameters":[],"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_a929a985d81645ab807be929a0d63b9e","parentId":"fld_bfb729790f5e427eb86d8c68b4a7365a","modified":1723243325816,"created":1720733970356,"url":"{{ _.url_base }}user/readAll","name":"Read All Users","description":"\n# Read All Users\n\n\n```response\n[\n\t{\n\t\t\"id\": \"2dc4638e-b7a7-4585-96a1-cc9d15fb6c0e\",\n\t\t\"name\": \"Ellis King\",\n\t\t\"email\": \"phoebe4@yahoo.com\",\n\t\t\"language\": \"Trinidad and Tobago\",\n\t\t\"phone\": \"4321-5678\",\n\t\t\"created_at\": \"2024-07-11T22:17:57.591Z\",\n\t\t\"updated_at\": \"2024-07-11T22:17:57.591Z\"\n\t},\n\t{\n\t\t\"id\": \"1f23572d-9e4d-45d2-9e43-c10673830cec\",\n\t\t\"name\": \"Cindy Klocko\",\n\t\t\"email\": \"tatitassyla@gmail.com\",\n\t\t\"language\": \"Norway\",\n\t\t\"phone\": \"1234-5678\",\n\t\t\"created_at\": \"2024-07-24T23:23:33.868Z\",\n\t\t\"updated_at\": \"2024-07-24T23:23:33.866Z\"\n\t},\n\t{\n\t\t\"id\": \"fb5edc8e-93bd-4dff-a4a0-205e067d899e\",\n\t\t\"name\": \"David Kuhn\",\n\t\t\"email\": \"t@gmail.com\",\n\t\t\"language\": \"Guadeloupe\",\n\t\t\"phone\": \"1234-5678\",\n\t\t\"created_at\": \"2024-08-05T23:26:49.507Z\",\n\t\t\"updated_at\": \"2024-08-05T23:26:49.506Z\"\n\t}\n]\n\n\n```","method":"GET","body":{"mimeType":"application/json","text":""},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"},{"name":"User-Agent","value":"insomnia/9.3.2"}],"authentication":{},"metaSortKey":-1720731121054.75,"isPrivate":false,"pathParameters":[],"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_692babb9d2d74e5c949a5ca2df76aa9b","parentId":"fld_bfb729790f5e427eb86d8c68b4a7365a","modified":1726690528735,"created":1720733989844,"url":"{{ _.url_base }}user/read","name":"Read User By Id","description":"\n# Read User By Id\n\n\n```response\n{\n\t\"id\": \"bb1ffa48-9cd0-431f-b7fb-9b795d5ec162\",\n\t\"name\": \"Ms. Karla Pacocha\",\n\t\"email\": \"joao@gmail.com\",\n\t\"language\": \"Portugues-Br\",\n\t\"phone\": \"1234-5678\",\n\t\"created_at\": \"2024-08-09T22:21:52.623Z\",\n\t\"updated_at\": \"2024-08-09T22:21:52.623Z\"\n}\n\n```","method":"GET","body":{"mimeType":"application/json","text":""},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"},{"name":"User-Agent","value":"insomnia/9.3.2"}],"authentication":{"type":"bearer","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3MjY2OTAxOTAsImV4cCI6MTcyNjc3NjU5MCwic3ViIjoiZmI1ZWRjOGUtOTNiZC00ZGZmLWE0YTAtMjA1ZTA2N2Q4OTllIn0.EygCQ5vqtWc4jt_fo2pXsnIEYCUMv914FGrk43MaXfg"},"metaSortKey":-1720731120137.375,"isPrivate":false,"pathParameters":[],"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_85a45d93d3504544b16ae1eae33f12b8","parentId":"fld_bfb729790f5e427eb86d8c68b4a7365a","modified":1723243348321,"created":1720733915287,"url":"{{ _.url_base }}user/delete","name":"Delete User","description":"\n# Delete User\n\n\n```response\n{\n\t\"id\": \"bb1ffa48-9cd0-431f-b7fb-9b795d5ec162\",\n\t\"name\": \"Ms. Karla Pacocha\",\n\t\"email\": \"joao@gmail.com\",\n\t\"language\": \"Portugues-Br\",\n\t\"phone\": \"1234-5678\",\n\t\"created_at\": \"2024-08-09T22:21:52.623Z\",\n\t\"updated_at\": \"2024-08-09T22:21:52.623Z\"\n}\n\n```","method":"DELETE","body":{"mimeType":"application/json","text":""},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"},{"name":"User-Agent","value":"insomnia/9.3.2"}],"authentication":{"type":"bearer","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3MjMyNDI5NzIsImV4cCI6MTcyMzMyOTM3Miwic3ViIjoiYmIxZmZhNDgtOWNkMC00MzFmLWI3ZmItOWI3OTVkNWVjMTYyIn0.uqC2X-kcMMJI6wSmIAo0AMd4rOiQ_GDt6-EVHzQfhCM"},"metaSortKey":-1720731120037.375,"isPrivate":false,"pathParameters":[],"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_299f10d1b8144d89aa4459a1338174e5","parentId":"fld_bfb729790f5e427eb86d8c68b4a7365a","modified":1722036870308,"created":1721863249217,"url":"{{ _.url_base }}user/send-pin","name":"Send Pin To Email","description":"\n# Send Pin To Email\n\n\n```response\n{\n\t\"id\": \"1f23572d-9e4d-45d2-9e43-c10673830cec\"\n}\n\n```","method":"POST","body":{"mimeType":"application/json","text":"{\n\t\"email\": \"tatitassyla@gmail.com\"\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"},{"name":"User-Agent","value":"insomnia/9.3.2"}],"authentication":{},"metaSortKey":-1720731119937.375,"isPrivate":false,"pathParameters":[],"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_fd57174533f74ce89a1b4cab2d5d8436","parentId":"fld_bfb729790f5e427eb86d8c68b4a7365a","modified":1724620611892,"created":1721948016798,"url":"{{ _.url_base }}user/verify-pin/1f23572d-9e4d-45d2-9e43-c10673830cec","name":"Verify Pin","description":"\n# Verify Pin\n\n\n```response\n{\n\t\"id\": \"1f23572d-9e4d-45d2-9e43-c10673830cec\"\n}\n\n```","method":"POST","body":{"mimeType":"application/json","text":"{\n\t\"pin\": \"7580\"\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"},{"name":"User-Agent","value":"insomnia/9.3.2"}],"authentication":{},"metaSortKey":-1720731119837.375,"isPrivate":false,"pathParameters":[],"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_1e8cc8dfb8a543c691ad5025a2b54f15","parentId":"fld_bfb729790f5e427eb86d8c68b4a7365a","modified":1724620636522,"created":1722036505289,"url":"{{ _.url_base }}user/reset-password/1f23572d-9e4d-45d2-9e43-c10673830cec","name":"Reset Password","description":"\n# Reset Password\n\n\n```response\n{\n\t\"id\": \"1f23572d-9e4d-45d2-9e43-c10673830cec\"\n}\n\n```","method":"POST","body":{"mimeType":"application/json","text":"{\n\t\"pin\": \"7580\",\n\t\"password\": \"aloalo\"\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"},{"name":"User-Agent","value":"insomnia/9.3.2"}],"authentication":{},"metaSortKey":-1720731119528.6875,"isPrivate":false,"pathParameters":[],"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"env_f4cd0ea340206e90007e70fa1fd9a44c47a97451","parentId":"wrk_cdbcab721a304ffdae1f21819ac74eeb","modified":1722128083872,"created":1720468632625,"name":"Deploy","data":{"url_base":"https://apogeo.polijrinternal.com/"},"dataPropertyOrder":{"&":["url_base"]},"color":null,"isPrivate":false,"metaSortKey":1720468632625,"_type":"environment"},{"_id":"jar_f4cd0ea340206e90007e70fa1fd9a44c47a97451","parentId":"wrk_cdbcab721a304ffdae1f21819ac74eeb","modified":1720468632628,"created":1720468632628,"name":"Default Jar","cookies":[],"_type":"cookie_jar"},{"_id":"env_763d4620ef084290bf0eb33aa764aa16","parentId":"env_f4cd0ea340206e90007e70fa1fd9a44c47a97451","modified":1726683718185,"created":1722128023628,"name":"Local","data":{"url_base":"http://localhost:3333/"},"dataPropertyOrder":{"&":["url_base"]},"color":null,"isPrivate":false,"metaSortKey":1722128023628,"_type":"environment"}]} \ No newline at end of file diff --git a/src/modules/users/infra/http/controller/AppointmentsController.ts b/src/modules/users/infra/http/controller/AppointmentsController.ts new file mode 100644 index 0000000..02c203d --- /dev/null +++ b/src/modules/users/infra/http/controller/AppointmentsController.ts @@ -0,0 +1,27 @@ +import { Request, Response } from 'express'; +import { container } from 'tsyringe'; + +import CreateAppointmentService from '@modules/users/services/CreateAppointmentService'; + +export default class AppointmentsController { + + public async create(req: Request, res: Response): Promise { + const { id } = req.token; + const { date } = req.body; + + const readUser = container.resolve(CreateAppointmentService); + + const user = await readUser.execute({ + id, + date + }); + + return res.status(201).json({ + ...user, + password: undefined, + pin: undefined, + pinExpires: undefined, + pedigree: undefined, + }); + } +} diff --git a/src/modules/users/infra/http/routes/appointments.routes.ts b/src/modules/users/infra/http/routes/appointments.routes.ts new file mode 100644 index 0000000..890d408 --- /dev/null +++ b/src/modules/users/infra/http/routes/appointments.routes.ts @@ -0,0 +1,11 @@ +import { Router } from 'express'; +import ensureAuthenticated from '@shared/infra/http/middlewares/EnsureAuthenticated'; +import AppointmentsController from '../controller/AppointmentsController'; + +const appointmentsRouter = Router(); + +const appointmentsController = new AppointmentsController(); + +appointmentsRouter.post('/register', ensureAuthenticated, appointmentsController.create); + +export default appointmentsRouter; diff --git a/src/modules/users/services/CreateAppointmentService.ts b/src/modules/users/services/CreateAppointmentService.ts new file mode 100644 index 0000000..610653c --- /dev/null +++ b/src/modules/users/services/CreateAppointmentService.ts @@ -0,0 +1,48 @@ +import { inject, injectable } from 'tsyringe'; +import sgMail from '@sendgrid/mail'; + +import { Users } from '@prisma/client'; + +import AppError from '@shared/errors/AppError'; + +import IUsersRepository from '../repositories/IUsersRepository'; + +interface IRequest { + id: string; + date: Date; +} + +@injectable() +export default class CreateAppointmentService { + constructor( + @inject('UsersRepository') + private usersRepository: IUsersRepository, + ) { } + + public async execute({ + id, date + }: IRequest): Promise { + const user = await this.usersRepository.findById(id); + if (!user) throw new AppError('This user does not exist'); + + date = new Date(date); + + sgMail.setApiKey(process.env.SENDGRID_API_KEY as string); + const msg = { + to: "lucas.aguiar@polijunior.com.br", + from: 'tassyla.lima@polijunior.com.br', + subject: 'Apogeo | Solicitação de consulta médica', + text: `João, o usuário ${user.name} solicitou uma consulta médica no dia ${date.getDate()}/${date.getMonth()+1}/${date.getFullYear()} às ${date.getHours()}:${date.getMinutes()}.

Dados do paciente
Nome: ${user.name}
Telefone: ${user.phone}
Email: ${user.email}

Data proposta
Data: ${date.getDate()}/${date.getMonth()}/${date.getFullYear()}
Horário: ${date.getHours()}:${date.getMinutes()}`, + html: `João, o usuário ${user.name} solicitou uma consulta médica no dia ${date.getDate()}/${date.getMonth()+1}/${date.getFullYear()} às ${date.getHours()}:${date.getMinutes()}.

Dados do paciente
Nome: ${user.name}
Telefone: ${user.phone}
Email: ${user.email}

Data proposta
Data: ${date.getDate()}/${date.getMonth()}/${date.getFullYear()}
Horário: ${date.getHours()}:${date.getMinutes()}`, + }; + + try { + await sgMail.send(msg); + console.log('Email sent'); + } catch (error: any) { + console.error(error); + } + + return user; + } +} diff --git a/src/shared/infra/http/routes/index.ts b/src/shared/infra/http/routes/index.ts index ff080b1..b7de078 100644 --- a/src/shared/infra/http/routes/index.ts +++ b/src/shared/infra/http/routes/index.ts @@ -3,11 +3,13 @@ import { Router } from 'express'; import usersRoutes from '@modules/users/infra/http/routes/users.routes'; import sessionsRoutes from '@modules/users/infra/http/routes/sessions.routes'; import pedigreesRoutes from '@modules/users/infra/http/routes/pedigrees.routes'; +import appointmentsRouter from '@modules/users/infra/http/routes/appointments.routes'; const routes = Router(); routes.use('/user', usersRoutes); routes.use('/sessions', sessionsRoutes); routes.use('/pedigree', pedigreesRoutes); +routes.use('/appointments', appointmentsRouter); export default routes;