TownCenter is the user service for Expresso. It handles registering, updating, listing, and getting users.
POST /api/user
creates a new user and adds it to the database.
Example: Request:
POST localhost:8084/api/user
{
"passHash" : "4hu3qrasdgf34ujasdhfsaf4asdf",
"firstName" : "First",
"lastName" : "Last",
"email" : "email@domain.com",
"phone" : "124567890",
"addressLine1" : "Address Line 1",
"addressLine2" : "Address Line 2",
"addressCity" : "City",
"addressState" : "State",
"addressZip" : "Zip",
"addrssCountry" : "Country"
}
Response:
{
"data" : {
"id" : "86c3d82d-da86-11e6-9d4c-0242ac120004",
"passHash" : "",
"firstName" : "First",
"lastName" : "Last",
"email" : "email@domain.com",
"phone" : "124567890",
"addressLine1" : "Address Line 1",
"addressLine2" : "Address Line 2",
"addressCity" : "City",
"addressState" : "State",
"addressZip" : "Zip",
"addrssCountry" : "Country",
"roasterId" : "",
"isRoaster" : 0
}
}
GET /api/user?offset=0&limit=20
returns up to limit
user records starting from offset
when ordered by userId
Example:
Request:
GET localhost:8084/api/user?offset=0&limit=20
Response:
{
"data": [
{
"id" : "86c3d82d-da86-11e6-9d4c-0242ac120004",
"passHash" : "",
"firstName" : "First",
"lastName" : "Last",
"email" : "email@domain.com",
"phone" : "124567890",
"addressLine1" : "Address Line 1",
"addressLine2" : "Address Line 2",
"addressCity" : "City",
"addressState" : "State",
"addressZip" : "Zip",
"addrssCountry" : "Country",
"roasterId" : "",
"isRoaster" : 0
}
]
}
Example:
Request:
GET localhost:8084/api/user/86c3d82d-da86-11e6-9d4c-0242ac120004
Response:
{
"data": {
"id" : "86c3d82d-da86-11e6-9d4c-0242ac120004",
"passHash" : "",
"firstName" : "First",
"lastName" : "Last",
"email" : "email@domain.com",
"phone" : "124567890",
"addressLine1" : "Address Line 1",
"addressLine2" : "Address Line 2",
"addressCity" : "City",
"addressState" : "State",
"addressZip" : "Zip",
"addrssCountry" : "Country",
"roasterId" : "",
"isRoaster" : 0
}
}
PUT /api/user/:userId
updates the user record with the given userID to match the provided data. This just overrides values, so anything not present in the request will be set to NULL
Example:
Request:
PUT localhost:8084/api/user/86c3d82d-da86-11e6-9d4c-0242ac120004
{
"id" : "86c3d82d-da86-11e6-9d4c-0242ac120004",
"passHash" : "",
"firstName" : "First",
"lastName" : "Last",
"email" : "email@domain.com",
"phone" : "124567890",
"addressLine1" : "Address Line 1",
"addressLine2" : "Address Line 2",
"addressCity" : "City",
"addressState" : "State",
"addressZip" : "Zip",
"addrssCountry" : "Country",
"roasterId" : "",
"isRoaster" : 0
}
Response:
{
"data": {
"id" : "86c3d82d-da86-11e6-9d4c-0242ac120004",
"passHash" : "",
"firstName" : "First",
"lastName" : "Last",
"email" : "email@domain.com",
"phone" : "124567890",
"addressLine1" : "Address Line 1",
"addressLine2" : "Address Line 2",
"addressCity" : "City",
"addressState" : "State",
"addressZip" : "Zip",
"addrssCountry" : "Country",
"roasterId" : "",
"isRoaster" : 0
}
}
Example:
Request:
DELETE localhost:8084/api/user/86c3d82d-da86-11e6-9d4c-0242ac120004
Response:
{
"success": true
}
POST /api/roaster
creates a new roaster and adds it to the database.
Example: Request:
POST localhost:8084/api/roaster
{
"name" : "Name",
"email" : "email@domain.com",
"phone" : "124567890",
"addressLine1" : "Address Line 1",
"addressLine2" : "Address Line 2",
"addressCity" : "City",
"addressState" : "State",
"addressZip" : "Zip",
"addrssCountry" : "Country"
}
Response:
{
"data" : {
"id" : "86c3d82d-da86-11e6-9d4c-0242ac120004",
"name" : "Name",
"email" : "email@domain.com",
"phone" : "124567890",
"addressLine1" : "Address Line 1",
"addressLine2" : "Address Line 2",
"addressCity" : "City",
"addressState" : "State",
"addressZip" : "Zip",
"addrssCountry" : "Country"
}
}
GET /api/roaster?offset=0&limit=20
returns up to limit
roaster records starting from offset
when ordered by roasterId
Example: Request:
GET localhost:8084/api/roaster?offset=0&limit=20
Response:
{
"data": [
{
"id" : "86c3d82d-da86-11e6-9d4c-0242ac120004",
"name" : "Name",
"email" : "email@domain.com",
"phone" : "124567890",
"addressLine1" : "Address Line 1",
"addressLine2" : "Address Line 2",
"addressCity" : "City",
"addressState" : "State",
"addressZip" : "Zip",
"addrssCountry" : "Country"
}
]
}
Example: Request:
GET localhost:8084/api/roaster/86c3d82d-da86-11e6-9d4c-0242ac120004
Response:
{
"data": {
"id" : "86c3d82d-da86-11e6-9d4c-0242ac120004",
"name" : "Name",
"email" : "email@domain.com",
"phone" : "124567890",
"addressLine1" : "Address Line 1",
"addressLine2" : "Address Line 2",
"addressCity" : "City",
"addressState" : "State",
"addressZip" : "Zip",
"addrssCountry" : "Country"
}
}
PUT /api/roaster/:roasterId
updates the roaster record with the given roasterId to match the provided data. This just overrides values, so anything not present in the request will be set to NULL
Example: Request:
PUT localhost:8084/api/roaster/86c3d82d-da86-11e6-9d4c-0242ac120004
{
"id" : "86c3d82d-da86-11e6-9d4c-0242ac120004",
"name" : "Name",
"email" : "email@domain.com",
"phone" : "124567890",
"addressLine1" : "Address Line 1",
"addressLine2" : "Address Line 2",
"addressCity" : "City",
"addressState" : "State",
"addressZip" : "Zip",
"addrssCountry" : "Country"
}
Response:
{
"data": {
"id" : "86c3d82d-da86-11e6-9d4c-0242ac120004",
"name" : "Name",
"email" : "email@domain.com",
"phone" : "124567890",
"addressLine1" : "Address Line 1",
"addressLine2" : "Address Line 2",
"addressCity" : "City",
"addressState" : "State",
"addressZip" : "Zip",
"addrssCountry" : "Country"
}
}
Example: Request:
DELETE localhost:8084/api/roaster/86c3d82d-da86-11e6-9d4c-0242ac120004
Response:
{
"success": true
}