2020-09-23 17:59:11 -05:00
|
|
|
# InvMan
|
|
|
|
|
2020-10-16 18:56:31 -05:00
|
|
|
## Table of Contents
|
|
|
|
|
|
|
|
1. [What is InvMan?](#what-is-invman)
|
|
|
|
2. [API Usage](#api-usage)
|
|
|
|
1. [GET Requests](#get-requests-getting-information)
|
|
|
|
2. [POST Requests](#post-requests-creating-objects)
|
|
|
|
|
|
|
|
## What is InvMan?
|
|
|
|
|
|
|
|
InvMan is a Flask app which provides a web API and web UI to keep inventory using a PostgreSQL backend.
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
## API Usage
|
|
|
|
|
|
|
|
### GET requests (getting information)
|
|
|
|
|
|
|
|
---
|
|
|
|
Please keep in mind:
|
|
|
|
|
|
|
|
* Text surrounded by `[` and `]` are parameters which should be replaced.
|
|
|
|
* Names are case-sensitive.
|
|
|
|
|
|
|
|
Get a list of locations
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
GET /api/v1/locations
|
|
|
|
```
|
|
|
|
|
|
|
|
Get information about a location
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
GET /api/v1/location/name/[location-name]
|
|
|
|
```
|
|
|
|
|
|
|
|
Get the quantities of all products at a location
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
GET /api/v1/location/[location-name]/quantities
|
|
|
|
```
|
|
|
|
|
|
|
|
Get the quantity of a product (by UPC) at a location
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
GET /api/v1/location/[location-name]/quantity/upc/[product-upc]
|
|
|
|
```
|
|
|
|
|
|
|
|
Get the quantity of a product (by name) at a location
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
GET /api/v1/location/[location-name]/quantity/name/[product-name]
|
|
|
|
```
|
|
|
|
|
|
|
|
Get a list of products
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
GET /api/v1/products
|
|
|
|
```
|
|
|
|
|
|
|
|
Get information about a product (by UPC)
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
GET /api/v1/product/upc/[product-upc]
|
|
|
|
```
|
|
|
|
|
|
|
|
Get information about a product (by name)
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
GET /api/v1/product/name/[product-name]
|
|
|
|
```
|
|
|
|
|
|
|
|
Get a list of brands
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
GET /api/v1/brands
|
|
|
|
```
|
|
|
|
|
|
|
|
Get information about a brand
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
GET /api/v1/brand/name/[brand-name]
|
|
|
|
```
|
|
|
|
|
|
|
|
Get a list of units
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
GET /api/v1/units
|
|
|
|
```
|
|
|
|
|
|
|
|
Get information about a unit (by name)
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
GET /api/v1/unit/name/[unit-name]
|
|
|
|
```
|
|
|
|
|
|
|
|
Get a list of purchases
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
GET /api/v1/purchases
|
|
|
|
```
|
|
|
|
|
|
|
|
Get information about a purchase (by id)
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
GET /api/v1/purchase/id/[purchase-id]
|
|
|
|
```
|
|
|
|
|
|
|
|
Get a list of uses
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
GET /api/v1/uses
|
|
|
|
```
|
|
|
|
|
|
|
|
Get information about a use (by id)
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
GET /api/v1/purchase/id/[use-id]
|
|
|
|
```
|
|
|
|
|
|
|
|
### POST Requests (creating objects)
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
Create a location
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
POST /api/v1/create_location
|
|
|
|
```
|
|
|
|
|
|
|
|
Request form:
|
|
|
|
| Argument Name | Description | Required? |
|
|
|
|
| ------------- | --------------------------- | --------- |
|
|
|
|
| name | Name of the location | Yes |
|
|
|
|
| description | Description of the location | No |
|
|
|
|
---
|
|
|
|
Create a brand
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
POST /api/v1/create_brand
|
|
|
|
```
|
|
|
|
|
|
|
|
Request form:
|
|
|
|
| Argument Name | Description | Required? |
|
|
|
|
| ------------- | ------------------------ | --------- |
|
|
|
|
| name | Name of the brand | Yes |
|
|
|
|
| description | Description of the brand | No |
|
|
|
|
---
|
|
|
|
|
|
|
|
Create a unit
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
POST /api/v1/create_unit
|
|
|
|
```
|
|
|
|
|
|
|
|
Request form:
|
|
|
|
| Argument Name | Description | Required? |
|
|
|
|
| ------------- | ----------------------- | --------- |
|
|
|
|
| name | Name of the unit | Yes |
|
|
|
|
| description | Description of the unit | No |
|
|
|
|
---
|
|
|
|
Create a product
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
POST /api/v1/create_product
|
|
|
|
```
|
|
|
|
|
|
|
|
Request form:
|
|
|
|
| Argument Name | Description | Required? |
|
|
|
|
| ------------- | ----------------------------- | --------- |
|
|
|
|
| upc | UPC of the product | Yes |
|
|
|
|
| brand | Brand which makes the product | Yes |
|
|
|
|
| name | Name of the product | Yes |
|
|
|
|
| size | Size of the product | Yes |
|
|
|
|
| sizeunit | Unit used in `size` | Yes |
|
|
|
|
| description | Description of the product | No |
|
|
|
|
---
|
|
|
|
Create a purchase
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
POST /api/v1/create_purchase
|
|
|
|
```
|
|
|
|
|
|
|
|
| Argument Name | Description | Required? |
|
|
|
|
| ------------- | -------------------------------------- | --------- |
|
|
|
|
| upc | UPC of the product which was purchased | Yes |
|
|
|
|
| quantity | Quantity of the product purchased | Yes |
|
|
|
|
| date | Date of this purchase | Yes |
|
|
|
|
| location | Location to link this purchase to | Yes |
|
|
|
|
---
|
|
|
|
Create a use
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
POST /api/v1/create_use
|
|
|
|
```
|
|
|
|
|
|
|
|
| Argument Name | Description | Required? |
|
|
|
|
| ------------- | --------------------------------- | --------- |
|
|
|
|
| upc | UPC of the product which was used | Yes |
|
|
|
|
| quantity | Quantity of the product used | Yes |
|
|
|
|
| date | Date of this usage | Yes |
|
|
|
|
| location | Location to link this usage to | Yes |
|