ncutixavier/find-home

View on GitHub
swagger.json

Summary

Maintainability
Test Coverage
{
"swagger": "2.0",
"info": {
"version": "1.0.0",
"title": "Find Home API",
"description": "Find Home API"
},
"servers": [
{
"url": "http://localhost:3002",
"name": "localhost"
}
],
"paths": {
"/": {
"get": {
"tags": ["Welcome To Find Home API"],
"summary": "Gets Started",
"description": "Welcome to Find HOME API.",
"responses": {
"200": {
"description": "WELCOME!"
}
}
}
},
"/api/v1/users": {
"get": {
"tags": ["Users"],
"summary": "Get all users",
"description": "Get all users",
"parameters": [
{
"in": "header",
"name": "Authorization",
"required": true,
"type": "string",
"description": "token"
}
],
"responses": {
"200": {
"description": "Users!"
}
}
}
},
"/api/v1/users/signup": {
"post": {
"tags": ["Users"],
"summary": "Signup",
"description": "Create account",
"operationId": "createUser",
"parameters": [
{
"in": "body",
"name": "body",
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"phone": {
"type": "string"
},
"email": {
"type": "string"
},
"role": {
"type": "string"
},
"gender": {
"type": "string"
},
"birthdate": {
"type": "date"
}
}
}
}
],
"produces": ["application/json"],
"responses": {
"200": {
"description": "success"
}
}
}
},
"/api/v1/users/login": {
"post": {
"tags": ["Users"],
"summary": "Login",
"description": "Login in the system",
"operationId": "Login",
"parameters": [
{
"in": "body",
"name": "body",
"schema": {
"type": "object",
"properties": {
"email": {
"type": "string"
},
"password": {
"type": "string"
}
}
}
}
],
"produces": ["application/json"],
"responses": {
"200": {
"description": "success"
}
}
}
},
"/api/v1/users/logout": {
"get": {
"tags": ["Users"],
"summary": "Logout User",
"description": "Logout User",
"parameters": [
{
"in": "header",
"name": "Authorization",
"required": true,
"type": "string",
"description": "token"
}
],
"responses": {
"200": {
"description": "Users Found"
}
}
}
},
"/api/v1/users/forgotPassword": {
"post": {
"tags": ["Users"],
"summary": "Forgort Password",
"description": "Help user to reset password",
"parameters": [
{
"in": "body",
"name": "body",
"description": "Enter your email",
"schema": {
"type": "object",
"properties": {
"email": {
"type": "string"
}
}
}
}
],
"responses": {
"200": {
"description": "User Found"
}
}
}
},
"/api/v1/users/resetPassword/{token}": {
"patch": {
"tags": ["Users"],
"summary": "Reset Password",
"description": "Help user to reset password",
"parameters": [
{
"in": "path",
"name": "token"
},
{
"in": "body",
"name": "body",
"description": "Enter password and passwordConfirm",
"schema": {
"type": "object",
"properties": {
"password": {
"type": "string"
},
"passwordConfirm": {
"type": "string"
}
}
}
}
],
"responses": {
"200": {
"description": "User Found"
}
}
}
},
"/api/v1/users/profile": {
"patch": {
"tags": ["Users"],
"summary": "update profile",
"description": "Help user to update profile",
"parameters": [
{
"in": "header",
"name": "Authorization",
"required": true,
"type": "string",
"description": "token"
},
{
"in": "body",
"name": "body",
"description": "Enter updated information",
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"phone": {
"type": "string"
},
"email": {
"type": "string"
},
"role": {
"type": "string"
},
"gender": {
"type": "string"
},
"birthdate": {
"type": "date"
}
}
}
}
],
"responses": {
"200": {
"description": "User Found"
}
}
}
},
"/api/v1/houses": {
"post": {
"tags": ["Houses"],
"summary": "add new house",
"description": "Return new house",
"parameters": [
{
"in": "header",
"name": "Authorization",
"required": true,
"type": "string",
"description": "token"
},
{
"in": "body",
"name": "body",
"description": "Enter house details",
"schema": {
"type": "object",
"properties": {
"image": {
"type": "string"
},
"description": {
"type": "string"
},
"location": {
"type": "string"
},
"bedrooms": {
"type": "integer"
},
"bathrooms": {
"type": "integer"
},
"price": {
"type": "integer"
},
"status": {
"type": "string"
}
}
}
}
],
"responses": {
"201": {
"description": "house added"
}
}
},
"get": {
"tags": ["Houses"],
"summary": "get houses",
"description": "Return houses",
"parameters": [
{
"in": "header",
"name": "Authorization",
"required": true,
"type": "string",
"description": "token"
}
],
"responses": {
"201": {
"description": "house added"
}
}
}
},
"/api/v1/houses/?page={page}&limit={limit}": {
"get": {
"tags": ["Houses"],
"summary": "get houses by pagination",
"description": "Return houses",
"parameters": [
{
"in": "header",
"name": "Authorization",
"required": true,
"type": "string",
"description": "token"
},
{
"in": "path",
"name": "page",
"required": true,
"type": "integer",
"default": 1
},
{
"in": "path",
"name": "limit",
"required": true,
"type": "integer",
"default": 10
}
],
"responses": {
"200": {
"description": "house added"
}
}
}
},
"/api/v1/houses/{id}": {
"get": {
"tags": ["Houses"],
"summary": "get houses",
"description": "Return houses",
"parameters": [
{
"in": "header",
"name": "Authorization",
"required": true,
"type": "string",
"description": "token"
},
{
"in": "path",
"name": "id",
"required": true,
"type": "integer",
"description": "id"
}
],
"responses": {
"200": {
"description": "house retrieved"
}
}
},
"patch": {
"tags": ["Houses"],
"summary": "update existing house",
"description": "Return updated house",
"parameters": [
{
"in": "header",
"name": "Authorization",
"required": true,
"type": "string",
"description": "token"
},
{
"in": "path",
"name": "id",
"required": true,
"type": "integer",
"description": "id"
},
{
"in": "body",
"name": "body",
"description": "Enter house details",
"schema": {
"type": "object",
"properties": {
"image": {
"type": "string"
},
"description": {
"type": "string"
},
"location": {
"type": "string"
},
"bedrooms": {
"type": "integer"
},
"bathrooms": {
"type": "integer"
},
"price": {
"type": "integer"
},
"status": {
"type": "string"
}
}
}
}
],
"responses": {
"200": {
"description": "house added"
}
}
},
"delete": {
"tags": ["Houses"],
"summary": "delete existing house",
"description": "delete house",
"parameters": [
{
"in": "header",
"name": "Authorization",
"required": true,
"type": "string",
"description": "token"
},
{
"in": "path",
"name": "id",
"required": true,
"type": "integer",
"description": "id"
}
],
"responses": {
"200": {
"description": "Deleted"
}
}
}
},
"/api/v1/houses/{houseId}/createComment": {
"post": {
"tags": ["Comments"],
"summary": "add a comment to the house",
"description": "Return comment on a specific house",
"parameters": [
{
"in": "header",
"name": "Authorization",
"required": true,
"type": "string",
"description": "token"
},
{
"in": "path",
"name": "houseId",
"required": true,
"type": "integer",
"description": "houseId"
},
{
"in": "body",
"name": "body",
"description": "Enter your comment",
"schema": {
"type": "object",
"properties": {
"comment": {
"type": "string"
}
}
}
}
],
"responses": {
"201": {
"description": "comment added"
}
}
}
},
"/api/v1/houses/getHouseCommented": {
"get": {
"tags": ["Comments"],
"summary": "get commented houses",
"description": "Return list of houses you commented",
"parameters": [
{
"in": "header",
"name": "Authorization",
"required": true,
"type": "string",
"description": "token"
}
],
"responses": {
"200": {
"description": "comment on house retrieved"
}
}
}
},
"/api/v1/houses/{houseId}/getComments": {
"get": {
"tags": ["Comments"],
"summary": "get comments on specific houses",
"description": "Return list of comments on posted house",
"parameters": [
{
"in": "header",
"name": "Authorization",
"required": true,
"type": "string",
"description": "token"
}
],
"responses": {
"200": {
"description": "comment on house retrieved"
}
}
}
}
}
}