-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathswagger.json
1 lines (1 loc) · 7.22 KB
/
swagger.json
1
{"swagger":"2.0","info":{"description":"A Node backend application for socialcops.","version":"1.0.0","title":"Socialcops Backend APIs"},"host":"localhost:3000","basePath":"/","schemes":["http","https"],"tags":[{"name":"User","description":"User login"},{"name":"Image","description":"Image"},{"name":"Patch","description":"JSON patch"}],"securityDefinitions":{"Bearer":{"description":"Example value:- Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjU5MmQwMGJhNTJjYjJjM","type":"apiKey","name":"Authorization","in":"header"}},"paths":{"/login":{"post":{"tags":["User"],"summary":"User login","description":"API to login the user","operationId":"userLogin","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"userCredentials","description":"user credentials to login","required":true,"schema":{"$ref":"#/definitions/userLoginCredentials"}}],"responses":{"200":{"description":"Login successful.","schema":{"$ref":"#/definitions/UserDetails"}},"400":{"description":"Bad Request - Missing parameters."},"403":{"description":"Wrong credentials."},"500":{"description":"Internal Server Error"}}}},"/user/{id}":{"get":{"tags":["Users"],"summary":"Get User details","description":"API to get user details","operationId":"getUserDetails","produces":["application/json"],"parameters":[{"in":"path","name":"id","description":"ID of the user","required":true,"type":"integer","example":2}],"responses":{"200":{"description":"Get user details successfully","schema":{"$ref":"#/definitions/User"}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"500":{"description":"Internal Server Error"}}}},"/user/signup":{"post":{"tags":["Users"],"summary":"User signup","description":"API to signup the user","operationId":"userSignUp","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"userSignUpDetails","description":"User details to sign up","required":true,"schema":{"$ref":"#/definitions/UserSignUpDetails"}}],"responses":{"200":{"description":"User signed up successfully","schema":{"$ref":"#/definitions/User"}},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}}}},"/user/signin":{"post":{"tags":["Users"],"summary":"User signin","description":"API to signin the user","operationId":"userSignIn","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"userSignInDetails","description":"User details to sign in","required":true,"schema":{"$ref":"#/definitions/UserSignInDetails"}}],"responses":{"200":{"description":"User signed in successfully","schema":{"$ref":"#/definitions/User"}},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}}}},"/requests":{"post":{"tags":["Requests"],"summary":"Send user ID request","description":"API to send enrol/verify request to another user/admin","operationId":"sendUserIdRequests","consumes":["application/json"],"parameters":[{"in":"body","name":"RequestDetails","description":"User request details","required":true,"schema":{"$ref":"#/definitions/SendRequestDetails"}}],"responses":{"204":{"description":"Request send to the user successfully"},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}}},"get":{"tags":["Requests"],"summary":"Get all the received requests","description":"API to get verify requests of the user/admin","operationId":"getUserVerificationRequests","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"query","name":"status","description":"Status of the request","required":false,"type":"array","items":{"type":"string","enum":["pending","success","fail"]}}],"responses":{"200":{"description":"Array of the received requests","type":"array","items":{"$ref":"#/definitions/ReceivedRequest"}},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}}}},"/requests/sent":{"get":{"tags":["Requests"],"summary":"Get all the sent requests","description":"API to get all the sent requests by the admin","operationId":"getSentRequests","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"query","name":"type","description":"Type of request","required":false,"type":"string","enum":["enrol","verify"]},{"in":"query","name":"status","description":"Status of the request","required":false,"type":"array","items":{"type":"string","enum":["pending","success","fail"]}}],"responses":{"200":{"description":"Array of sent requests","type":"array","items":{"$ref":"#/definitions/SentRequests"}},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}}}}},"definitions":{"userLoginCredentials":{"type":"object","required":["email","password"],"properties":{"email":{"type":"string","format":"email","example":"[email protected]"},"password":{"type":"string"}}},"AdminLogin":{"type":"object","required":["smilepin","email","password"],"properties":{"smilepin":{"type":"string","example":"41XTDbE"},"email":{"type":"string","format":"email","example":"[email protected]"},"password":{"type":"string","format":"password","example":"123456"}}},"Admin":{"type":"object","required":["admin"],"properties":{"admin":{"type":"object","required":["userId","email","smilepin"],"properties":{"userId":{"type":"integer"},"email":{"type":"string"},"smilepin":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"}}}}},"AdminDetails":{"allOf":[{"$ref":"#/definitions/Admin"},{"type":"object","properties":{"token":{"type":"string"}}}]},"User":{"type":"object","required":["user"],"properties":{"user":{"type":"object","required":["email","smilepin","first_name","last_name"],"properties":{"email":{"type":"string"},"smilepin":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"azureFaceId":{"type":"string"}}}}},"UserSignUpDetails":{"type":"object","required":["smilepin","email","first_name","last_name"],"properties":{"smilepin":{"type":"string","example":"41XTDbF"},"email":{"type":"string","format":"email","example":"[email protected]"},"first_name":{"type":"string","example":"ftest"},"last_name":{"type":"string","example":"ltest"}}},"UserSignInDetails":{"type":"object","required":["email"],"properties":{"email":{"type":"string","format":"email","example":"[email protected]"}}},"SendRequestDetails":{"type":"object","required":["email","emailMessage","type"],"properties":{"users":{"type":"array","items":{"type":"object","properties":{"email":{"type":"string","format":"email"},"first_name":{"type":"string"},"last_name":{"type":"string"}}}},"emailMessage":{"type":"string","example":"Please verify yourself to use the service"},"identityType":{"type":"string","enum":["enrol","verify"]},"userType":{"type":"string","enum":["user","admin"]}}},"ReceivedRequest":{"type":"object","required":["type","status","emailMessage"],"properties":{"type":{"type":"string","enum":["enrol","verify"]},"items":{"type":"string","enum":["pending","success","fail"]},"emailMessage":{"type":"string","example":"Please verify yourself to use the service"}}},"SentRequests":{"type":"object","required":["type","status","emailMessage"],"properties":{"type":{"type":"string","enum":["enrol","verify"]},"items":{"type":"string","enum":["pending","success","fail"]},"emailMessage":{"type":"string","example":"Please verify yourself to use the service"}}}}}