// 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) }