mirror of
https://github.com/hay-kot/homebox.git
synced 2024-12-22 06:46:32 +00:00
31b34241e0
* change /content/ -> /homebox/ * add cache to code generators * update env variables to set data storage * update env variables * set env variables in prod container * implement attachment post route (WIP) * get attachment endpoint * attachment download * implement string utilities lib * implement generic drop zone * use explicit truncate * remove clean dir * drop strings composable for lib * update item types and add attachments * add attachment API * implement service context * consolidate API code * implement editing attachments * implement upload limit configuration * improve error handling * add docs for max upload size * fix test cases
1649 lines
50 KiB
Go
1649 lines
50 KiB
Go
// Package docs GENERATED BY SWAG; DO NOT EDIT
|
|
// This file was generated by swaggo/swag
|
|
package docs
|
|
|
|
import "github.com/swaggo/swag"
|
|
|
|
const docTemplate = `{
|
|
"schemes": {{ marshal .Schemes }},
|
|
"swagger": "2.0",
|
|
"info": {
|
|
"description": "{{escape .Description}}",
|
|
"title": "{{.Title}}",
|
|
"contact": {
|
|
"name": "Don't"
|
|
},
|
|
"license": {
|
|
"name": "MIT"
|
|
},
|
|
"version": "{{.Version}}"
|
|
},
|
|
"host": "{{.Host}}",
|
|
"basePath": "{{.BasePath}}",
|
|
"paths": {
|
|
"/v1/items": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Items"
|
|
],
|
|
"summary": "Get All Items",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/server.Results"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/types.ItemSummary"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Items"
|
|
],
|
|
"summary": "Create a new item",
|
|
"parameters": [
|
|
{
|
|
"description": "Item Data",
|
|
"name": "payload",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/types.ItemCreate"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/types.ItemSummary"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/items/import": {
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Items"
|
|
],
|
|
"summary": "imports items into the database",
|
|
"parameters": [
|
|
{
|
|
"type": "file",
|
|
"description": "Image to upload",
|
|
"name": "csv",
|
|
"in": "formData",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/items/{id}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Items"
|
|
],
|
|
"summary": "Gets a item and fields",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Item ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/types.ItemOut"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Items"
|
|
],
|
|
"summary": "updates a item",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Item ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Item Data",
|
|
"name": "payload",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/types.ItemUpdate"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/types.ItemOut"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Items"
|
|
],
|
|
"summary": "deletes a item",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Item ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/items/{id}/attachments": {
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Items"
|
|
],
|
|
"summary": "imports items into the database",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Item ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "file",
|
|
"description": "File attachment",
|
|
"name": "file",
|
|
"in": "formData",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Type of file",
|
|
"name": "type",
|
|
"in": "formData",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "name of the file including extension",
|
|
"name": "name",
|
|
"in": "formData",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/types.ItemOut"
|
|
}
|
|
},
|
|
"422": {
|
|
"description": "Unprocessable Entity",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/server.ValidationError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/items/{id}/attachments/download": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/octet-stream"
|
|
],
|
|
"tags": [
|
|
"Items"
|
|
],
|
|
"summary": "retrieves an attachment for an item",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Item ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Attachment token",
|
|
"name": "token",
|
|
"in": "query",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/items/{id}/attachments/{attachment_id}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/octet-stream"
|
|
],
|
|
"tags": [
|
|
"Items"
|
|
],
|
|
"summary": "retrieves an attachment for an item",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Item ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Attachment ID",
|
|
"name": "attachment_id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/types.ItemAttachmentToken"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Items"
|
|
],
|
|
"summary": "retrieves an attachment for an item",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Item ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Attachment ID",
|
|
"name": "attachment_id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Attachment Update",
|
|
"name": "payload",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/types.ItemAttachmentUpdate"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/types.ItemOut"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Items"
|
|
],
|
|
"summary": "retrieves an attachment for an item",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Item ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Attachment ID",
|
|
"name": "attachment_id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/labels": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Labels"
|
|
],
|
|
"summary": "Get All Labels",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/server.Results"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/types.LabelOut"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Labels"
|
|
],
|
|
"summary": "Create a new label",
|
|
"parameters": [
|
|
{
|
|
"description": "Label Data",
|
|
"name": "payload",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/types.LabelCreate"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/types.LabelSummary"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/labels/{id}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Labels"
|
|
],
|
|
"summary": "Gets a label and fields",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Label ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/types.LabelOut"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Labels"
|
|
],
|
|
"summary": "updates a label",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Label ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/types.LabelOut"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Labels"
|
|
],
|
|
"summary": "deletes a label",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Label ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/locations": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Locations"
|
|
],
|
|
"summary": "Get All Locations",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/server.Results"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/types.LocationCount"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Locations"
|
|
],
|
|
"summary": "Create a new location",
|
|
"parameters": [
|
|
{
|
|
"description": "Location Data",
|
|
"name": "payload",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/types.LocationCreate"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/types.LocationSummary"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/locations/{id}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Locations"
|
|
],
|
|
"summary": "Gets a location and fields",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Location ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/types.LocationOut"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Locations"
|
|
],
|
|
"summary": "updates a location",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Location ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/types.LocationOut"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Locations"
|
|
],
|
|
"summary": "deletes a location",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Location ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/status": {
|
|
"get": {
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Base"
|
|
],
|
|
"summary": "Retrieves the basic information about the API",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/types.ApiSummary"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/users/login": {
|
|
"post": {
|
|
"consumes": [
|
|
"application/x-www-form-urlencoded",
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"summary": "User Login",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"example": "admin@admin.com",
|
|
"description": "string",
|
|
"name": "username",
|
|
"in": "formData"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"example": "admin",
|
|
"description": "string",
|
|
"name": "password",
|
|
"in": "formData"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/types.TokenResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/users/logout": {
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"summary": "User Logout",
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/users/refresh": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"description": "handleAuthRefresh returns a handler that will issue a new token from an existing token.\nThis does not validate that the user still exists within the database.",
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"summary": "User Token Refresh",
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/users/register": {
|
|
"post": {
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"User"
|
|
],
|
|
"summary": "Get the current user",
|
|
"parameters": [
|
|
{
|
|
"description": "User Data",
|
|
"name": "payload",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/types.UserRegistration"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/users/self": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"User"
|
|
],
|
|
"summary": "Get the current user",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/server.Result"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"item": {
|
|
"$ref": "#/definitions/types.UserOut"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"User"
|
|
],
|
|
"summary": "Update the current user",
|
|
"parameters": [
|
|
{
|
|
"description": "User Data",
|
|
"name": "payload",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/types.UserUpdate"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/server.Result"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"item": {
|
|
"$ref": "#/definitions/types.UserUpdate"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"User"
|
|
],
|
|
"summary": "Deletes the user account",
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/v1/users/self/password": {
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"User"
|
|
],
|
|
"summary": "Update the current user's password // TODO:",
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"definitions": {
|
|
"server.Result": {
|
|
"type": "object",
|
|
"properties": {
|
|
"details": {},
|
|
"error": {
|
|
"type": "boolean"
|
|
},
|
|
"item": {},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"server.Results": {
|
|
"type": "object",
|
|
"properties": {
|
|
"items": {
|
|
"type": "any"
|
|
}
|
|
}
|
|
},
|
|
"server.ValidationError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"field": {
|
|
"type": "string"
|
|
},
|
|
"reason": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"types.ApiSummary": {
|
|
"type": "object",
|
|
"properties": {
|
|
"build": {
|
|
"$ref": "#/definitions/types.Build"
|
|
},
|
|
"health": {
|
|
"type": "boolean"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"versions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"types.Build": {
|
|
"type": "object",
|
|
"properties": {
|
|
"buildTime": {
|
|
"type": "string"
|
|
},
|
|
"commit": {
|
|
"type": "string"
|
|
},
|
|
"version": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"types.DocumentOut": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"types.ItemAttachment": {
|
|
"type": "object",
|
|
"properties": {
|
|
"createdAt": {
|
|
"type": "string"
|
|
},
|
|
"document": {
|
|
"$ref": "#/definitions/types.DocumentOut"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"types.ItemAttachmentToken": {
|
|
"type": "object",
|
|
"properties": {
|
|
"token": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"types.ItemAttachmentUpdate": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"types.ItemCreate": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"labelIds": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"locationId": {
|
|
"description": "Edges",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"types.ItemOut": {
|
|
"type": "object",
|
|
"properties": {
|
|
"attachments": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/types.ItemAttachment"
|
|
}
|
|
},
|
|
"createdAt": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"insured": {
|
|
"type": "boolean"
|
|
},
|
|
"labels": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/types.LabelSummary"
|
|
}
|
|
},
|
|
"lifetimeWarranty": {
|
|
"description": "Warranty",
|
|
"type": "boolean"
|
|
},
|
|
"location": {
|
|
"description": "Edges",
|
|
"$ref": "#/definitions/types.LocationSummary"
|
|
},
|
|
"manufacturer": {
|
|
"type": "string"
|
|
},
|
|
"modelNumber": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"notes": {
|
|
"description": "Extras",
|
|
"type": "string"
|
|
},
|
|
"purchaseFrom": {
|
|
"type": "string"
|
|
},
|
|
"purchasePrice": {
|
|
"type": "string",
|
|
"example": "0"
|
|
},
|
|
"purchaseTime": {
|
|
"description": "Purchase",
|
|
"type": "string"
|
|
},
|
|
"quantity": {
|
|
"type": "integer"
|
|
},
|
|
"serialNumber": {
|
|
"description": "Identifications",
|
|
"type": "string"
|
|
},
|
|
"soldNotes": {
|
|
"type": "string"
|
|
},
|
|
"soldPrice": {
|
|
"type": "string",
|
|
"example": "0"
|
|
},
|
|
"soldTime": {
|
|
"description": "Sold",
|
|
"type": "string"
|
|
},
|
|
"soldTo": {
|
|
"type": "string"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string"
|
|
},
|
|
"warrantyDetails": {
|
|
"type": "string"
|
|
},
|
|
"warrantyExpires": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"types.ItemSummary": {
|
|
"type": "object",
|
|
"properties": {
|
|
"createdAt": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"insured": {
|
|
"type": "boolean"
|
|
},
|
|
"labels": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/types.LabelSummary"
|
|
}
|
|
},
|
|
"lifetimeWarranty": {
|
|
"description": "Warranty",
|
|
"type": "boolean"
|
|
},
|
|
"location": {
|
|
"description": "Edges",
|
|
"$ref": "#/definitions/types.LocationSummary"
|
|
},
|
|
"manufacturer": {
|
|
"type": "string"
|
|
},
|
|
"modelNumber": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"notes": {
|
|
"description": "Extras",
|
|
"type": "string"
|
|
},
|
|
"purchaseFrom": {
|
|
"type": "string"
|
|
},
|
|
"purchasePrice": {
|
|
"type": "string",
|
|
"example": "0"
|
|
},
|
|
"purchaseTime": {
|
|
"description": "Purchase",
|
|
"type": "string"
|
|
},
|
|
"quantity": {
|
|
"type": "integer"
|
|
},
|
|
"serialNumber": {
|
|
"description": "Identifications",
|
|
"type": "string"
|
|
},
|
|
"soldNotes": {
|
|
"type": "string"
|
|
},
|
|
"soldPrice": {
|
|
"type": "string",
|
|
"example": "0"
|
|
},
|
|
"soldTime": {
|
|
"description": "Sold",
|
|
"type": "string"
|
|
},
|
|
"soldTo": {
|
|
"type": "string"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string"
|
|
},
|
|
"warrantyDetails": {
|
|
"type": "string"
|
|
},
|
|
"warrantyExpires": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"types.ItemUpdate": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"insured": {
|
|
"type": "boolean"
|
|
},
|
|
"labelIds": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"lifetimeWarranty": {
|
|
"description": "Warranty",
|
|
"type": "boolean"
|
|
},
|
|
"locationId": {
|
|
"description": "Edges",
|
|
"type": "string"
|
|
},
|
|
"manufacturer": {
|
|
"type": "string"
|
|
},
|
|
"modelNumber": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"notes": {
|
|
"description": "Extras",
|
|
"type": "string"
|
|
},
|
|
"purchaseFrom": {
|
|
"type": "string"
|
|
},
|
|
"purchasePrice": {
|
|
"type": "string",
|
|
"example": "0"
|
|
},
|
|
"purchaseTime": {
|
|
"description": "Purchase",
|
|
"type": "string"
|
|
},
|
|
"quantity": {
|
|
"type": "integer"
|
|
},
|
|
"serialNumber": {
|
|
"description": "Identifications",
|
|
"type": "string"
|
|
},
|
|
"soldNotes": {
|
|
"type": "string"
|
|
},
|
|
"soldPrice": {
|
|
"type": "string",
|
|
"example": "0"
|
|
},
|
|
"soldTime": {
|
|
"description": "Sold",
|
|
"type": "string"
|
|
},
|
|
"soldTo": {
|
|
"type": "string"
|
|
},
|
|
"warrantyDetails": {
|
|
"type": "string"
|
|
},
|
|
"warrantyExpires": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"types.LabelCreate": {
|
|
"type": "object",
|
|
"properties": {
|
|
"color": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"types.LabelOut": {
|
|
"type": "object",
|
|
"properties": {
|
|
"createdAt": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/types.ItemSummary"
|
|
}
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"types.LabelSummary": {
|
|
"type": "object",
|
|
"properties": {
|
|
"createdAt": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"types.LocationCount": {
|
|
"type": "object",
|
|
"properties": {
|
|
"createdAt": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"itemCount": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"types.LocationCreate": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"types.LocationOut": {
|
|
"type": "object",
|
|
"properties": {
|
|
"createdAt": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/types.ItemSummary"
|
|
}
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"types.LocationSummary": {
|
|
"type": "object",
|
|
"properties": {
|
|
"createdAt": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"types.TokenResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"expiresAt": {
|
|
"type": "string"
|
|
},
|
|
"token": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"types.UserIn": {
|
|
"type": "object",
|
|
"properties": {
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"types.UserOut": {
|
|
"type": "object",
|
|
"properties": {
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"groupId": {
|
|
"type": "string"
|
|
},
|
|
"groupName": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"isSuperuser": {
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"types.UserRegistration": {
|
|
"type": "object",
|
|
"properties": {
|
|
"groupName": {
|
|
"type": "string"
|
|
},
|
|
"user": {
|
|
"$ref": "#/definitions/types.UserIn"
|
|
}
|
|
}
|
|
},
|
|
"types.UserUpdate": {
|
|
"type": "object",
|
|
"properties": {
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"securityDefinitions": {
|
|
"Bearer": {
|
|
"description": "\"Type 'Bearer TOKEN' to correctly set the API Key\"",
|
|
"type": "apiKey",
|
|
"name": "Authorization",
|
|
"in": "header"
|
|
}
|
|
}
|
|
}`
|
|
|
|
// SwaggerInfo holds exported Swagger Info so clients can modify it
|
|
var SwaggerInfo = &swag.Spec{
|
|
Version: "1.0",
|
|
Host: "",
|
|
BasePath: "/api",
|
|
Schemes: []string{},
|
|
Title: "Go API Templates",
|
|
Description: "This is a simple Rest API Server Template that implements some basic User and Authentication patterns to help you get started and bootstrap your next project!.",
|
|
InfoInstanceName: "swagger",
|
|
SwaggerTemplate: docTemplate,
|
|
}
|
|
|
|
func init() {
|
|
swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo)
|
|
}
|