# README
API Usage
Create tenant
- Parse the request body into a CreateTenantBody struct
- Create the tenant in the database (public schema)
- Create the schema for the tenant
- Return the HTTP status code 201 and the tenant in the response body
Request
curl -X POST \
http://example.com:8080/tenants \
-H 'Content-Type: application/json' \
-d '{
"domainUrl": "tenant3.example.com"
}'
Response
{
"id": 3,
"domainUrl": "tenant3.example.com"
}
Get tenant
- Get the tenant from the database
- Return the HTTP status code 200 and the tenant in the response body
Request
curl -X GET \
http://example.com:8080/tenants/3
Response
{
"id": 3,
"domainUrl": "tenant3.example.com"
}
Delete tenant
- Get the tenant from the database
- Delete the schema for the tenant
- Delete the tenant from the database
- Return the HTTP status code 204
Request
curl -X DELETE \
http://example.com:8080/tenants/3
Response
Get books
- Get the tenant from the request host or header
- Get all books for the tenant
- Return the HTTP status code 200 and the books in the response body
Request
curl -X GET \
http://example.com:8080/books \
-H 'Host: tenant1.example.com'
Response
[
{
"id": 1,
"name": "Book 1"
},
{
"id": 2,
"name": "Book 2"
}
]
Create book
- Get the tenant from the request host or header
- Parse the request body into a Book struct
- Create the book for the tenant in the database
- Return the HTTP status code 201 and the book in the response body
Request
curl -X POST \
http://example.com:8080/books \
-H 'Content-Type: application/json' \
-H 'Host: tenant1.example.com' \
-d '{
"name": "Book 3"
}'
Response
{
"id": 3,
"name": "Book 3"
}
Delete book
- Get the tenant from the request host or header
- Get the book from the database
- Delete the book from the database
- Return the HTTP status code 204
Request
curl -X DELETE \
http://example.com:8080/books/3 \
-H 'Host: tenant1.example.com'
Response
Update book
- Get the tenant from the request host or header
- Get the book from the database
- Parse the request body into a UpdateBookBody struct
- Update the book in the database
- Return the HTTP status code 200
Request
curl -X PUT \
http://example.com:8080/books/2 \
-H 'Content-Type: application/json' \
-H 'Host: tenant1.example.com' \
-d '{
"name": "Book 2 updated"
}'
Response
# Constants
TableNameBook is the table name for the book model.
TableNameTenant is the table name for the tenant model.
# Structs
Book is the book model.
No description provided by the author
No description provided by the author
Tenant is the tenant model.
No description provided by the author
No description provided by the author