Files
fielderp-server/documentation/documentation.json
T

1121 lines
26 KiB
JSON

{
"openapi": "3.0.1",
"info": {
"title": "Attica Server Application v1",
"description": "Version 1 of Attica Server Application API",
"license": {
"name": "MIT",
"url": "https://opensource.org/licenses/MIT"
},
"version": "1.0.0"
},
"servers": [
{
"url": "http://localhost:3000/v0/"
},
{
"url": "https://erp-server.triadkube.com/v0/"
}
],
"security": [
{
"bearerAuth": []
}
],
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "JWT"
}
}
},
"paths": {
"/user/create": {
"post": {
"tags": [
"Auth"
],
"summary": "Create Account for New User",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"required": true
},
"id": {
"type": "string",
"required": true
},
"password": {
"type": "string",
"required": true
}
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {}
}
}
}
},
"/user/login": {
"post": {
"tags": [
"Auth"
],
"summary": "Login with Employee Id and Password",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"required": true
},
"password": {
"type": "string",
"required": true
}
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {}
}
}
}
},
"/user/token/renew": {
"post": {
"tags": [
"Auth"
],
"summary": "Login with Employee Code and Password",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"refreshToken": {
"type": "string",
"required": true
}
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {}
}
}
}
},
"/profile": {
"post": {
"tags": [
"Profile"
],
"summary": "Create or Edit Profile New User",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"user": {
"type": "string",
"required": true
},
"mobile": {
"type": "string",
"required": true
},
"address": {
"type": "string",
"required": true
},
"city": {
"type": "string",
"required": true
},
"state": {
"type": "string",
"required": true
},
"pincode": {
"type": "string",
"required": true
}
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {}
}
}
},
"get": {
"tags": [
"Profile"
],
"summary": "Get Profile for a User",
"responses": {
"200": {
"description": "OK",
"content": {}
}
}
}
},
"/location/create": {
"post": {
"tags": [
"Location"
],
"summary": "Create New Location",
"parameters": [
{
"in": "query",
"name": "key",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"required": true
},
"coordinates": {
"type": "array",
"required": true
},
"venue": {
"type": "string",
"required": false
}
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {}
}
}
}
},
"/uploads/single/{folder}": {
"post": {
"tags": [
"Uploads"
],
"summary": "Endpoint to handle Single File",
"parameters": [
{
"in": "path",
"name": "folder"
}
],
"requestBody": {
"required": true,
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"properties": {
"file": {
"type": "string",
"format": "binary"
}
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {}
}
}
}
},
"/admin/access": {
"post": {
"tags": [
"Admin"
],
"summary": "Create Access for an Employee",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"user": {
"type": "string",
"required": true
},
"designation": {
"type": "array",
"required": true
},
"department": {
"type": "string",
"required": true
},
"role": {
"type": "string",
"required": true
},
"branch": {
"type": "array",
"items": {
"type": "string"
},
"required": true
}
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {}
}
}
}
},
"/admin/branches": {
"get": {
"tags": [
"Admin"
],
"summary": "Get All Branches",
"responses": {
"200": {
"description": "OK",
"content": {}
}
}
}
},
"/admin/metadata": {
"get": {
"tags": [
"Admin"
],
"summary": "Get All Metadata",
"responses": {
"200": {
"description": "OK",
"content": {}
}
}
}
},
"/admin/employees": {
"get": {
"tags": [
"Admin"
],
"summary": "Get All Employees",
"responses": {
"200": {
"description": "OK",
"content": {}
}
}
}
},
"/admin/branch": {
"post": {
"tags": [
"Admin"
],
"summary": "Create New Branch",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"required": true
},
"address": {
"type": "string",
"required": true
},
"city": {
"type": "string",
"required": true
},
"state": {
"type": "string",
"required": true
},
"pincode": {
"type": "string",
"required": true
},
"coordinates": {
"type": "object",
"required": true,
"properties": {
"latitude": {
"type": "number",
"required": true
},
"longitude": {
"type": "number",
"required": true
}
}
}
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {}
}
}
}
},
"/admin/designation": {
"post": {
"tags": [
"Admin"
],
"summary": "Create New Designation",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"required": true
}
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {}
}
}
}
},
"/admin/department": {
"post": {
"tags": [
"Admin"
],
"summary": "Create New Department",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"required": true
}
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {}
}
}
}
},
"/admin/role": {
"post": {
"tags": [
"Admin"
],
"summary": "Create New Role",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"required": true
}
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {}
}
}
}
},
"/admin/employee/{id}": {
"get": {
"tags": [
"Admin"
],
"summary": "Get Employee Details by ID",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {}
}
}
}
},
"/admin/employee/{user}/locations": {
"get": {
"tags": [
"Admin"
],
"summary": "Get Employee Details by ID",
"parameters": [
{
"in": "path",
"name": "user",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "date",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {}
}
}
}
},
"/assignment": {
"post": {
"tags": [
"Assignment"
],
"summary": "Create an assignment",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"user": {
"type": "string",
"required": true
},
"venue": {
"type": "string",
"required": true
},
"targetedVisits": {
"type": "number",
"required": true
}
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {}
}
}
}
},
"/assignment/{id}": {
"patch": {
"tags": [
"Assignment"
],
"summary": "Update an assignment",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"user": {
"type": "string",
"required": true
},
"venue": {
"type": "string",
"required": true
},
"targetedVisits": {
"type": "number",
"required": true
}
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {}
}
}
},
"delete": {
"tags": [
"Assignment"
],
"summary": "Delete an assignment",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {}
}
}
}
},
"/assignment/user/{id}": {
"get": {
"tags": [
"Assignment"
],
"summary": "Get all assignments for a user",
"parameters": [
{
"in": "path",
"name": "id",
"description": "User ID",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {}
}
}
}
},
"/assignment/venue/{id}": {
"get": {
"tags": [
"Assignment"
],
"summary": "Get all assignments for a Venue",
"parameters": [
{
"in": "path",
"name": "id",
"description": "Venue ID",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {}
}
}
}
},
"/partner": {
"get": {
"tags": [
"Partner"
],
"summary": "Get all Partners",
"responses": {
"200": {
"description": "OK",
"content": {}
}
}
},
"post": {
"tags": [
"Partner"
],
"summary": "Create New Partner",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"required": true
},
"email": {
"type": "string",
"required": true
},
"phone": {
"type": "string",
"required": true
},
"address": {
"type": "string",
"required": true
},
"city": {
"type": "string",
"required": true
},
"state": {
"type": "string",
"required": true
},
"pincode": {
"type": "string",
"required": true
},
"contactPersons": {
"type": "array",
"required": true,
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"required": true
},
"email": {
"type": "string",
"required": true
},
"mobile": {
"type": "string",
"required": true
},
"designation": {
"type": "string",
"required": true
}
}
}
}
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {}
}
}
}
},
"/partner/{id}": {
"get": {
"tags": [
"Partner"
],
"summary": "Get Partner Details by ID",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {}
}
}
},
"patch": {
"tags": [
"Partner"
],
"summary": "Update Partner Details by ID",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"required": true
},
"email": {
"type": "string",
"required": true
},
"phone": {
"type": "string",
"required": true
},
"address": {
"type": "string",
"required": true
},
"city": {
"type": "string",
"required": true
},
"state": {
"type": "string",
"required": true
},
"pincode": {
"type": "string",
"required": true
},
"contactPersons": {
"type": "array",
"required": true,
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"required": true
},
"email": {
"type": "string",
"required": true
},
"mobile": {
"type": "string",
"required": true
},
"designation": {
"type": "string",
"required": true
}
}
}
}
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {}
}
}
},
"delete": {
"tags": [
"Partner"
],
"summary": "Deactivate Partner by ID",
"parameters": [
{
"in": "path",
"name": "id",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {}
}
}
}
},
"/venue/": {
"post": {
"tags": [
"Venues"
],
"summary": "Create New Venue",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"required": true
},
"category": {
"type": "string",
"required": true
},
"type": {
"type": "string",
"required": true
},
"entity": {
"type": "string",
"required": true
},
"address": {
"type": "string",
"required": true
},
"city": {
"type": "string",
"required": true
},
"state": {
"type": "string",
"required": true
},
"pincode": {
"type": "string",
"required": true
},
"contactPerson": {
"type": "object",
"required": true,
"properties": {
"name": {
"type": "string",
"required": true
},
"email": {
"type": "string",
"required": true
},
"mobile": {
"type": "string",
"required": true
},
"designation": {
"type": "string",
"required": true
}
},
"location": {
"type": "object",
"required": true,
"properties": {
"latitude": {
"type": "number",
"required": true
},
"longitude": {
"type": "number",
"required": true
}
}
}
}
}
}
}
}
}
}
},
"/venue/entity/{id}": {
"get": {
"tags": [
"Venues"
],
"summary": "Get Venues by Entity",
"parameters": [
{
"in": "path",
"name": "id",
"description": "Entity ID",
"required": true,
"schema": {
"type": "string"
}
}
],
"response": {
"200": {
"description": "Success",
"content": {}
}
}
}
},
"/venue/{id}": {
"get": {
"tags": [
"Venues"
],
"summary": "Get Venue by ID",
"parameters": [
{
"in": "path",
"name": "id",
"description": "Venue ID",
"required": true,
"schema": {
"type": "string"
}
}
],
"respose": {
"200": {
"description": "Success",
"content": {}
}
}
},
"delete": {
"tags": [
"Venues"
],
"summary": "Delete Venue by ID",
"parameters": [
{
"in": "path",
"name": "id",
"description": "Venue ID",
"required": true,
"schema": {
"type": "string"
}
}
],
"respose": {
"200": {
"description": "Success",
"content": {}
}
}
}
}
}
}