Skip to content

rednavis/maas-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0268431 · Mar 23, 2020

History

57 Commits
Mar 23, 2020
Mar 23, 2020
Mar 23, 2020
Mar 23, 2020
Mar 23, 2020
Feb 25, 2020
Mar 6, 2020
Mar 23, 2020
Feb 19, 2020
Feb 27, 2020
Feb 19, 2020
Mar 23, 2020
Feb 19, 2020
Feb 27, 2020
Mar 23, 2020
Feb 19, 2020
Feb 19, 2020
Feb 19, 2020
Feb 19, 2020
Feb 24, 2020

Repository files navigation

Build Status Codacy Badge codecov

maas-api

Server side API of the Material Assets management system.

Technology stack

  • Java 12
  • Spring Boot
  • Spring Data
  • Spring Security
  • Gradle
  • Log4j
  • Lombok
  • Swagger

Clone project

git clone git@github.com:rednavis/maas-api.git

cd mass-api

git submodule update --init

Build project

./gradlew clean build

./gradlew bootRun

Create dependency report

./gradlew clean htmlDependencyReport

Update dependency

./gradlew dependencyUpdates

Create docker image

./gradlew clean bootJar jibDockerBuild

Swagger

http://localhost:8081/swagger-ui.html

API Documentation

Signup

POST: http://localhost:8081/api/auth/signup

Header

Content-Type: application/json

Body

{
	"name": "lesharb",
	"email": "lesharb@gmail.com",
	"password": "password"
}

Signup success

Status: 200

Body (Created user id)

1

Signup email already exists

Status: 409

Body (Created user id)

{
  "code": 409,
  "message": "Email is already taken"
}

Signup bad request

Status: 400

Body

{
  "code": 400,
  "message": "error message..."
}

Signin

POST: http://localhost:8081/api/auth/signin

Header

Content-Type: application/json

Body

{
	"email": "lesharb@gmail.com",
	"password": "password"
}

Signin success

Status: 200

Body

{
  "accessToken": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxIiwiaWF0IjoxNTQxNTA2MjA4LCJleHAiOjE1NDIxMTEwMDh9.xRU2vmXUvtHmrL_BDKm-rzTKd0Sv8BtPR3AmOO0ZgLnSXIT0EeDh1cN7lvrxM-H2fNuO4vJMJdOXV8By8E4BkQ",
  "tokenType": "Bearer"
}

Signin email not found

Status: 404

Body

{
  "code": 404,
  "message": "User not found [email: tut@gmail.com]"
}

Signin unauthorized

Status: 401

Body

{
  "timestamp": "2020-02-20T16:16:22.136+0000",
  "status": 401,
  "error": "Unauthorized",
  "message": "Sorry, You're not authorized to access this resource.",
  "path": "/api/auth/signin"
}

Current user

Logged in user credentials

GET: http://localhost:8081/api/users/me

Header

Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxIiwiaWF0IjoxNTQxNTA2MjA4LCJleHAiOjE1NDIxMTEwMDh9.xRU2vmXUvtHmrL_BDKm-rzTKd0Sv8BtPR3AmOO0ZgLnSXIT0EeDh1cN7lvrxM-H2fNuO4vJMJdOXV8By8E4BkQ

Current user success

Status: 200

Body

{
  "id": 1,
  "username": "lesharb@gmail.com",
  "name": "lesharb"
}

Current user - unauthorized

Status: 401

Body

{
  "timestamp": "2020-02-20T16:26:42.886+0000",
  "status": 401,
  "error": "Unauthorized",
  "message": "Sorry, You're not authorized to access this resource.",
  "path": "/api/users/me"
}