diff --git a/agent_promts/roles/documentation.xml b/agent_promts/roles/documentation.xml index 5365f86..7cb6dca 100644 --- a/agent_promts/roles/documentation.xml +++ b/agent_promts/roles/documentation.xml @@ -3,7 +3,8 @@ Этот документ определяет операционный протокол для **исполнения роли 'Агента Документации'**. Главная задача — синхронизация `PROJECT_MANIFEST.xml` с текущим состоянием кодовой базы. - 5.0 + 5.2 + @@ -59,32 +60,40 @@ Вызвать `MyTaskChannel.UpdateTaskStatus(IssueID={WorkOrder.ID}, OldStatus='status::pending', NewStatus='status::in-progress')`. - - Загрузить `tech_spec/PROJECT_MANIFEST.xml` в `original_manifest`. - Получить список всех файлов `*.kt` в проекте. - Сравнить список файлов с путями, указанными в `original_manifest`, чтобы определить `new_files`, `existing_files` и `deleted_files`. - Инициализировать `updated_manifest` как копию `original_manifest`. + + + + Загрузить `tech_spec/PROJECT_MANIFEST.xml` в `original_manifest`. + Получить список всех файлов `*.kt` в проекте. + Сообщить о завершении сбора данных. + + + + Теперь я должен сравнить список файлов из манифеста со списком файлов из кодовой базы, чтобы определить новые, удаленные и существующие файлы. + Выполнить внутренний анализ и объявить о его результатах: `X new_files`, `Y deleted_files`, `Z existing_files`. + - - Для каждого удаленного файла, удалить соответствующий узел `` из `updated_manifest`. - + + Инициализировать внутреннюю переменную `updated_manifest` как точную копию `original_manifest`. Все последующие изменения будут применяться к ней. + - - Для каждого файла в `new_files` и `existing_files`: - - a. Прочитать содержимое файла. - b. Извлечь `[ENTITY: Type('Name')]`. **Если не найден**, создать задачу для `semantic_linter` с просьбой исправить файл и **пропустить** этот файл. - c. Извлечь KDoc `@summary` и `@description`. Если нет, использовать имя файла и пустые строки. - d. Извлечь все `[RELATION]` тэги. - e. Сгенерировать `node_id` из типа и имени (например, `uc_process_payment`). - f. Собрать всю информацию в `parsed_node_data`. - - - g. **Если файл новый**, создать новый элемент `` из `parsed_node_data` и добавить его в `updated_manifest` в правильную секцию (определяется по пути к файлу). - h. **Если файл существующий**, найти соответствующий узел в `updated_manifest` и обновить его, если `parsed_node_data` отличается. - - - + + Если список `deleted_files` не пуст: + Для каждого файла в списке `deleted_files`, удалить соответствующий узел `` из `updated_manifest`. + Сообщить о завершении обработки удаленных файлов. + + + + Теперь я начну итерацию по всем новым и существующим файлам. Для каждого файла я выполню полный цикл анализа и обновления манифеста. + Для каждого файла в объединенных списках `new_files` и `existing_files` последовательно выполнить парсинг, извлечение семантики и обновление/добавление узла в `updated_manifest`, как описано в оригинальном промте (шаги 2.2.a - 2.2.h). + Сообщить о завершении обработки всех новых и существующих файлов. + + **ЕСЛИ** `updated_manifest` отличается от `original_manifest`: diff --git a/tech_spec/document.json b/tech_spec/document.json deleted file mode 100644 index c62359b..0000000 --- a/tech_spec/document.json +++ /dev/null @@ -1,4374 +0,0 @@ -{ - "schemes": [ - "https", - "http" - ], - "swagger": "2.0", - "info": { - "description": "Track, Manage, and Organize your Things.", - "title": "Homebox API", - "contact": { - "name": "Homebox Team", - "url": "https://discord.homebox.software" - }, - "version": "1.0" - }, - "host": "demo.homebox.software", - "basePath": "/api", - "paths": { - "/v1/actions/create-missing-thumbnails": { - "post": { - "security": [ - { - "Bearer": [] - } - ], - "description": "Creates thumbnails for items that are missing them", - "produces": [ - "application/json" - ], - "tags": [ - "Actions" - ], - "summary": "Create Missing Thumbnails", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v1.ActionAmountResult" - } - } - } - } - }, - "/v1/actions/ensure-asset-ids": { - "post": { - "security": [ - { - "Bearer": [] - } - ], - "description": "Ensures all items in the database have an asset ID", - "produces": [ - "application/json" - ], - "tags": [ - "Actions" - ], - "summary": "Ensure Asset IDs", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v1.ActionAmountResult" - } - } - } - } - }, - "/v1/actions/ensure-import-refs": { - "post": { - "security": [ - { - "Bearer": [] - } - ], - "description": "Ensures all items in the database have an import ref", - "produces": [ - "application/json" - ], - "tags": [ - "Actions" - ], - "summary": "Ensures Import Refs", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v1.ActionAmountResult" - } - } - } - } - }, - "/v1/actions/set-primary-photos": { - "post": { - "security": [ - { - "Bearer": [] - } - ], - "description": "Sets the first photo of each item as the primary photo", - "produces": [ - "application/json" - ], - "tags": [ - "Actions" - ], - "summary": "Set Primary Photos", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v1.ActionAmountResult" - } - } - } - } - }, - "/v1/actions/zero-item-time-fields": { - "post": { - "security": [ - { - "Bearer": [] - } - ], - "description": "Resets all item date fields to the beginning of the day", - "produces": [ - "application/json" - ], - "tags": [ - "Actions" - ], - "summary": "Zero Out Time Fields", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v1.ActionAmountResult" - } - } - } - } - }, - "/v1/assets/{id}": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Items" - ], - "summary": "Get Item by Asset ID", - "parameters": [ - { - "type": "string", - "description": "Asset ID", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/repo.PaginationResult-repo_ItemSummary" - } - } - } - } - }, - "/v1/currency": { - "get": { - "produces": [ - "application/json" - ], - "tags": [ - "Base" - ], - "summary": "Currency", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/currencies.Currency" - } - } - } - } - }, - "/v1/groups": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Group" - ], - "summary": "Get Group", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/repo.Group" - } - } - } - }, - "put": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Group" - ], - "summary": "Update Group", - "parameters": [ - { - "description": "User Data", - "name": "payload", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/repo.GroupUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/repo.Group" - } - } - } - } - }, - "/v1/groups/invitations": { - "post": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Group" - ], - "summary": "Create Group Invitation", - "parameters": [ - { - "description": "User Data", - "name": "payload", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v1.GroupInvitationCreate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v1.GroupInvitation" - } - } - } - } - }, - "/v1/groups/statistics": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Statistics" - ], - "summary": "Get Group Statistics", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/repo.GroupStatistics" - } - } - } - } - }, - "/v1/groups/statistics/labels": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Statistics" - ], - "summary": "Get Label Statistics", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/repo.TotalsByOrganizer" - } - } - } - } - } - }, - "/v1/groups/statistics/locations": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Statistics" - ], - "summary": "Get Location Statistics", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/repo.TotalsByOrganizer" - } - } - } - } - } - }, - "/v1/groups/statistics/purchase-price": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Statistics" - ], - "summary": "Get Purchase Price Statistics", - "parameters": [ - { - "type": "string", - "description": "start date", - "name": "start", - "in": "query" - }, - { - "type": "string", - "description": "end date", - "name": "end", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/repo.ValueOverTime" - } - } - } - } - }, - "/v1/items": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Items" - ], - "summary": "Query All Items", - "parameters": [ - { - "type": "string", - "description": "search string", - "name": "q", - "in": "query" - }, - { - "type": "integer", - "description": "page number", - "name": "page", - "in": "query" - }, - { - "type": "integer", - "description": "items per page", - "name": "pageSize", - "in": "query" - }, - { - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi", - "description": "label Ids", - "name": "labels", - "in": "query" - }, - { - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi", - "description": "location Ids", - "name": "locations", - "in": "query" - }, - { - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi", - "description": "parent Ids", - "name": "parentIds", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/repo.PaginationResult-repo_ItemSummary" - } - } - } - }, - "post": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Items" - ], - "summary": "Create Item", - "parameters": [ - { - "description": "Item Data", - "name": "payload", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/repo.ItemCreate" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/repo.ItemSummary" - } - } - } - } - }, - "/v1/items/export": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "tags": [ - "Items" - ], - "summary": "Export Items", - "responses": { - "200": { - "description": "text/csv", - "schema": { - "type": "string" - } - } - } - } - }, - "/v1/items/fields": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Items" - ], - "summary": "Get All Custom Field Names", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/v1/items/fields/values": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Items" - ], - "summary": "Get All Custom Field Values", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/v1/items/import": { - "post": { - "security": [ - { - "Bearer": [] - } - ], - "consumes": [ - "multipart/form-data" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Items" - ], - "summary": "Import Items", - "parameters": [ - { - "type": "file", - "description": "Image to upload", - "name": "csv", - "in": "formData", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/v1/items/{id}": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Items" - ], - "summary": "Get Item", - "parameters": [ - { - "type": "string", - "description": "Item ID", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/repo.ItemOut" - } - } - } - }, - "put": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Items" - ], - "summary": "Update 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/repo.ItemUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/repo.ItemOut" - } - } - } - }, - "delete": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Items" - ], - "summary": "Delete Item", - "parameters": [ - { - "type": "string", - "description": "Item ID", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - }, - "patch": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Items" - ], - "summary": "Update 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/repo.ItemPatch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/repo.ItemOut" - } - } - } - } - }, - "/v1/items/{id}/attachments": { - "post": { - "security": [ - { - "Bearer": [] - } - ], - "consumes": [ - "multipart/form-data" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Items Attachments" - ], - "summary": "Create Item Attachment", - "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" - }, - { - "type": "boolean", - "description": "Is this the primary attachment", - "name": "primary", - "in": "formData" - }, - { - "type": "string", - "description": "name of the file including extension", - "name": "name", - "in": "formData", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/repo.ItemOut" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/validate.ErrorResponse" - } - } - } - } - }, - "/v1/items/{id}/attachments/{attachment_id}": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/octet-stream" - ], - "tags": [ - "Items Attachments" - ], - "summary": "Get Item Attachment", - "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/v1.ItemAttachmentToken" - } - } - } - }, - "put": { - "security": [ - { - "Bearer": [] - } - ], - "tags": [ - "Items Attachments" - ], - "summary": "Update Item Attachment", - "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/repo.ItemAttachmentUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/repo.ItemOut" - } - } - } - }, - "delete": { - "security": [ - { - "Bearer": [] - } - ], - "tags": [ - "Items Attachments" - ], - "summary": "Delete Item Attachment", - "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": "No Content" - } - } - } - }, - "/v1/items/{id}/duplicate": { - "post": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Items" - ], - "summary": "Duplicate Item", - "parameters": [ - { - "type": "string", - "description": "Item ID", - "name": "id", - "in": "path", - "required": true - }, - { - "description": "Duplicate Options", - "name": "payload", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/repo.DuplicateOptions" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/repo.ItemOut" - } - } - } - } - }, - "/v1/items/{id}/maintenance": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Item Maintenance" - ], - "summary": "Get Maintenance Log", - "parameters": [ - { - "type": "string", - "description": "Item ID", - "name": "id", - "in": "path", - "required": true - }, - { - "enum": [ - "scheduled", - "completed", - "both" - ], - "type": "string", - "x-enum-varnames": [ - "MaintenanceFilterStatusScheduled", - "MaintenanceFilterStatusCompleted", - "MaintenanceFilterStatusBoth" - ], - "name": "status", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/repo.MaintenanceEntryWithDetails" - } - } - } - } - }, - "post": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Item Maintenance" - ], - "summary": "Create Maintenance Entry", - "parameters": [ - { - "type": "string", - "description": "Item ID", - "name": "id", - "in": "path", - "required": true - }, - { - "description": "Entry Data", - "name": "payload", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/repo.MaintenanceEntryCreate" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/repo.MaintenanceEntry" - } - } - } - } - }, - "/v1/items/{id}/path": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Items" - ], - "summary": "Get the full path of an item", - "parameters": [ - { - "type": "string", - "description": "Item ID", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/repo.ItemPath" - } - } - } - } - } - }, - "/v1/labelmaker/assets/{id}": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Items" - ], - "summary": "Get Asset label", - "parameters": [ - { - "type": "string", - "description": "Asset ID", - "name": "id", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "Print this label, defaults to false", - "name": "print", - "in": "query" - } - ], - "responses": { - "200": { - "description": "image/png", - "schema": { - "type": "string" - } - } - } - } - }, - "/v1/labelmaker/item/{id}": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Items" - ], - "summary": "Get Item label", - "parameters": [ - { - "type": "string", - "description": "Item ID", - "name": "id", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "Print this label, defaults to false", - "name": "print", - "in": "query" - } - ], - "responses": { - "200": { - "description": "image/png", - "schema": { - "type": "string" - } - } - } - } - }, - "/v1/labelmaker/location/{id}": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Locations" - ], - "summary": "Get Location label", - "parameters": [ - { - "type": "string", - "description": "Location ID", - "name": "id", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "Print this label, defaults to false", - "name": "print", - "in": "query" - } - ], - "responses": { - "200": { - "description": "image/png", - "schema": { - "type": "string" - } - } - } - } - }, - "/v1/labels": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Labels" - ], - "summary": "Get All Labels", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/repo.LabelOut" - } - } - } - } - }, - "post": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Labels" - ], - "summary": "Create Label", - "parameters": [ - { - "description": "Label Data", - "name": "payload", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/repo.LabelCreate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/repo.LabelSummary" - } - } - } - } - }, - "/v1/labels/{id}": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Labels" - ], - "summary": "Get Label", - "parameters": [ - { - "type": "string", - "description": "Label ID", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/repo.LabelOut" - } - } - } - }, - "put": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Labels" - ], - "summary": "Update Label", - "parameters": [ - { - "type": "string", - "description": "Label ID", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/repo.LabelOut" - } - } - } - }, - "delete": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Labels" - ], - "summary": "Delete Label", - "parameters": [ - { - "type": "string", - "description": "Label ID", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/v1/locations": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Locations" - ], - "summary": "Get All Locations", - "parameters": [ - { - "type": "boolean", - "description": "Filter locations with parents", - "name": "filterChildren", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/repo.LocationOutCount" - } - } - } - } - }, - "post": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Locations" - ], - "summary": "Create Location", - "parameters": [ - { - "description": "Location Data", - "name": "payload", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/repo.LocationCreate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/repo.LocationSummary" - } - } - } - } - }, - "/v1/locations/tree": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Locations" - ], - "summary": "Get Locations Tree", - "parameters": [ - { - "type": "boolean", - "description": "include items in response tree", - "name": "withItems", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/repo.TreeItem" - } - } - } - } - } - }, - "/v1/locations/{id}": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Locations" - ], - "summary": "Get Location", - "parameters": [ - { - "type": "string", - "description": "Location ID", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/repo.LocationOut" - } - } - } - }, - "put": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Locations" - ], - "summary": "Update Location", - "parameters": [ - { - "type": "string", - "description": "Location ID", - "name": "id", - "in": "path", - "required": true - }, - { - "description": "Location Data", - "name": "payload", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/repo.LocationUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/repo.LocationOut" - } - } - } - }, - "delete": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Locations" - ], - "summary": "Delete Location", - "parameters": [ - { - "type": "string", - "description": "Location ID", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/v1/maintenance": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Maintenance" - ], - "summary": "Query All Maintenance", - "parameters": [ - { - "enum": [ - "scheduled", - "completed", - "both" - ], - "type": "string", - "x-enum-varnames": [ - "MaintenanceFilterStatusScheduled", - "MaintenanceFilterStatusCompleted", - "MaintenanceFilterStatusBoth" - ], - "name": "status", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/repo.MaintenanceEntryWithDetails" - } - } - } - } - } - }, - "/v1/maintenance/{id}": { - "put": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Maintenance" - ], - "summary": "Update Maintenance Entry", - "parameters": [ - { - "type": "string", - "description": "Maintenance ID", - "name": "id", - "in": "path", - "required": true - }, - { - "description": "Entry Data", - "name": "payload", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/repo.MaintenanceEntryUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/repo.MaintenanceEntry" - } - } - } - }, - "delete": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Maintenance" - ], - "summary": "Delete Maintenance Entry", - "parameters": [ - { - "type": "string", - "description": "Maintenance ID", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/v1/notifiers": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Notifiers" - ], - "summary": "Get Notifiers", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/repo.NotifierOut" - } - } - } - } - }, - "post": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Notifiers" - ], - "summary": "Create Notifier", - "parameters": [ - { - "description": "Notifier Data", - "name": "payload", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/repo.NotifierCreate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/repo.NotifierOut" - } - } - } - } - }, - "/v1/notifiers/test": { - "post": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Notifiers" - ], - "summary": "Test Notifier", - "parameters": [ - { - "type": "string", - "description": "URL", - "name": "url", - "in": "query", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/v1/notifiers/{id}": { - "put": { - "security": [ - { - "Bearer": [] - } - ], - "tags": [ - "Notifiers" - ], - "summary": "Update Notifier", - "parameters": [ - { - "type": "string", - "description": "Notifier ID", - "name": "id", - "in": "path", - "required": true - }, - { - "description": "Notifier Data", - "name": "payload", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/repo.NotifierUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/repo.NotifierOut" - } - } - } - }, - "delete": { - "security": [ - { - "Bearer": [] - } - ], - "tags": [ - "Notifiers" - ], - "summary": "Delete a Notifier", - "parameters": [ - { - "type": "string", - "description": "Notifier ID", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/v1/products/search-from-barcode": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Items" - ], - "summary": "Search EAN from Barcode", - "parameters": [ - { - "type": "string", - "description": "barcode to be searched", - "name": "data", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/repo.BarcodeProduct" - } - } - } - } - } - }, - "/v1/qrcode": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Items" - ], - "summary": "Create QR Code", - "parameters": [ - { - "type": "string", - "description": "data to be encoded into qrcode", - "name": "data", - "in": "query" - } - ], - "responses": { - "200": { - "description": "image/jpeg", - "schema": { - "type": "string" - } - } - } - } - }, - "/v1/reporting/bill-of-materials": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Reporting" - ], - "summary": "Export Bill of Materials", - "responses": { - "200": { - "description": "text/csv", - "schema": { - "type": "string" - } - } - } - } - }, - "/v1/status": { - "get": { - "produces": [ - "application/json" - ], - "tags": [ - "Base" - ], - "summary": "Application Info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v1.APISummary" - } - } - } - } - }, - "/v1/users/change-password": { - "put": { - "security": [ - { - "Bearer": [] - } - ], - "tags": [ - "User" - ], - "summary": "Change Password", - "parameters": [ - { - "description": "Password Payload", - "name": "payload", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v1.ChangePassword" - } - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/v1/users/login": { - "post": { - "consumes": [ - "application/x-www-form-urlencoded", - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Authentication" - ], - "summary": "User Login", - "parameters": [ - { - "description": "Login Data", - "name": "payload", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v1.LoginForm" - } - }, - { - "type": "string", - "description": "auth provider", - "name": "provider", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/v1.TokenResponse" - } - } - } - } - }, - "/v1/users/logout": { - "post": { - "security": [ - { - "Bearer": [] - } - ], - "tags": [ - "Authentication" - ], - "summary": "User Logout", - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/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": "OK" - } - } - } - }, - "/v1/users/register": { - "post": { - "produces": [ - "application/json" - ], - "tags": [ - "User" - ], - "summary": "Register New User", - "parameters": [ - { - "description": "User Data", - "name": "payload", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/services.UserRegistration" - } - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/v1/users/self": { - "get": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "User" - ], - "summary": "Get User Self", - "responses": { - "200": { - "description": "OK", - "schema": { - "allOf": [ - { - "$ref": "#/definitions/v1.Wrapped" - }, - { - "type": "object", - "properties": { - "item": { - "$ref": "#/definitions/repo.UserOut" - } - } - } - ] - } - } - } - }, - "put": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "User" - ], - "summary": "Update Account", - "parameters": [ - { - "description": "User Data", - "name": "payload", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/repo.UserUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "allOf": [ - { - "$ref": "#/definitions/v1.Wrapped" - }, - { - "type": "object", - "properties": { - "item": { - "$ref": "#/definitions/repo.UserUpdate" - } - } - } - ] - } - } - } - }, - "delete": { - "security": [ - { - "Bearer": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "User" - ], - "summary": "Delete Account", - "responses": { - "204": { - "description": "No Content" - } - } - } - } - }, - "definitions": { - "attachment.Type": { - "type": "string", - "enum": [ - "attachment", - "photo", - "manual", - "warranty", - "attachment", - "receipt", - "thumbnail" - ], - "x-enum-varnames": [ - "DefaultType", - "TypePhoto", - "TypeManual", - "TypeWarranty", - "TypeAttachment", - "TypeReceipt", - "TypeThumbnail" - ] - }, - "authroles.Role": { - "type": "string", - "enum": [ - "user", - "admin", - "user", - "attachments" - ], - "x-enum-varnames": [ - "DefaultRole", - "RoleAdmin", - "RoleUser", - "RoleAttachments" - ] - }, - "currencies.Currency": { - "type": "object", - "properties": { - "code": { - "type": "string" - }, - "local": { - "type": "string" - }, - "name": { - "type": "string" - }, - "symbol": { - "type": "string" - } - } - }, - "ent.Attachment": { - "type": "object", - "properties": { - "created_at": { - "description": "CreatedAt holds the value of the \"created_at\" field.", - "type": "string" - }, - "edges": { - "description": "Edges holds the relations/edges for other nodes in the graph.\nThe values are being populated by the AttachmentQuery when eager-loading is set.", - "allOf": [ - { - "$ref": "#/definitions/ent.AttachmentEdges" - } - ] - }, - "id": { - "description": "ID of the ent.", - "type": "string" - }, - "mime_type": { - "description": "MimeType holds the value of the \"mime_type\" field.", - "type": "string" - }, - "path": { - "description": "Path holds the value of the \"path\" field.", - "type": "string" - }, - "primary": { - "description": "Primary holds the value of the \"primary\" field.", - "type": "boolean" - }, - "title": { - "description": "Title holds the value of the \"title\" field.", - "type": "string" - }, - "type": { - "description": "Type holds the value of the \"type\" field.", - "allOf": [ - { - "$ref": "#/definitions/attachment.Type" - } - ] - }, - "updated_at": { - "description": "UpdatedAt holds the value of the \"updated_at\" field.", - "type": "string" - } - } - }, - "ent.AttachmentEdges": { - "type": "object", - "properties": { - "item": { - "description": "Item holds the value of the item edge.", - "allOf": [ - { - "$ref": "#/definitions/ent.Item" - } - ] - }, - "thumbnail": { - "description": "Thumbnail holds the value of the thumbnail edge.", - "allOf": [ - { - "$ref": "#/definitions/ent.Attachment" - } - ] - } - } - }, - "ent.AuthRoles": { - "type": "object", - "properties": { - "edges": { - "description": "Edges holds the relations/edges for other nodes in the graph.\nThe values are being populated by the AuthRolesQuery when eager-loading is set.", - "allOf": [ - { - "$ref": "#/definitions/ent.AuthRolesEdges" - } - ] - }, - "id": { - "description": "ID of the ent.", - "type": "integer" - }, - "role": { - "description": "Role holds the value of the \"role\" field.", - "allOf": [ - { - "$ref": "#/definitions/authroles.Role" - } - ] - } - } - }, - "ent.AuthRolesEdges": { - "type": "object", - "properties": { - "token": { - "description": "Token holds the value of the token edge.", - "allOf": [ - { - "$ref": "#/definitions/ent.AuthTokens" - } - ] - } - } - }, - "ent.AuthTokens": { - "type": "object", - "properties": { - "created_at": { - "description": "CreatedAt holds the value of the \"created_at\" field.", - "type": "string" - }, - "edges": { - "description": "Edges holds the relations/edges for other nodes in the graph.\nThe values are being populated by the AuthTokensQuery when eager-loading is set.", - "allOf": [ - { - "$ref": "#/definitions/ent.AuthTokensEdges" - } - ] - }, - "expires_at": { - "description": "ExpiresAt holds the value of the \"expires_at\" field.", - "type": "string" - }, - "id": { - "description": "ID of the ent.", - "type": "string" - }, - "token": { - "description": "Token holds the value of the \"token\" field.", - "type": "array", - "items": { - "type": "integer" - } - }, - "updated_at": { - "description": "UpdatedAt holds the value of the \"updated_at\" field.", - "type": "string" - } - } - }, - "ent.AuthTokensEdges": { - "type": "object", - "properties": { - "roles": { - "description": "Roles holds the value of the roles edge.", - "allOf": [ - { - "$ref": "#/definitions/ent.AuthRoles" - } - ] - }, - "user": { - "description": "User holds the value of the user edge.", - "allOf": [ - { - "$ref": "#/definitions/ent.User" - } - ] - } - } - }, - "ent.Group": { - "type": "object", - "properties": { - "created_at": { - "description": "CreatedAt holds the value of the \"created_at\" field.", - "type": "string" - }, - "currency": { - "description": "Currency holds the value of the \"currency\" field.", - "type": "string" - }, - "edges": { - "description": "Edges holds the relations/edges for other nodes in the graph.\nThe values are being populated by the GroupQuery when eager-loading is set.", - "allOf": [ - { - "$ref": "#/definitions/ent.GroupEdges" - } - ] - }, - "id": { - "description": "ID of the ent.", - "type": "string" - }, - "name": { - "description": "Name holds the value of the \"name\" field.", - "type": "string" - }, - "updated_at": { - "description": "UpdatedAt holds the value of the \"updated_at\" field.", - "type": "string" - } - } - }, - "ent.GroupEdges": { - "type": "object", - "properties": { - "invitation_tokens": { - "description": "InvitationTokens holds the value of the invitation_tokens edge.", - "type": "array", - "items": { - "$ref": "#/definitions/ent.GroupInvitationToken" - } - }, - "items": { - "description": "Items holds the value of the items edge.", - "type": "array", - "items": { - "$ref": "#/definitions/ent.Item" - } - }, - "labels": { - "description": "Labels holds the value of the labels edge.", - "type": "array", - "items": { - "$ref": "#/definitions/ent.Label" - } - }, - "locations": { - "description": "Locations holds the value of the locations edge.", - "type": "array", - "items": { - "$ref": "#/definitions/ent.Location" - } - }, - "notifiers": { - "description": "Notifiers holds the value of the notifiers edge.", - "type": "array", - "items": { - "$ref": "#/definitions/ent.Notifier" - } - }, - "users": { - "description": "Users holds the value of the users edge.", - "type": "array", - "items": { - "$ref": "#/definitions/ent.User" - } - } - } - }, - "ent.GroupInvitationToken": { - "type": "object", - "properties": { - "created_at": { - "description": "CreatedAt holds the value of the \"created_at\" field.", - "type": "string" - }, - "edges": { - "description": "Edges holds the relations/edges for other nodes in the graph.\nThe values are being populated by the GroupInvitationTokenQuery when eager-loading is set.", - "allOf": [ - { - "$ref": "#/definitions/ent.GroupInvitationTokenEdges" - } - ] - }, - "expires_at": { - "description": "ExpiresAt holds the value of the \"expires_at\" field.", - "type": "string" - }, - "id": { - "description": "ID of the ent.", - "type": "string" - }, - "token": { - "description": "Token holds the value of the \"token\" field.", - "type": "array", - "items": { - "type": "integer" - } - }, - "updated_at": { - "description": "UpdatedAt holds the value of the \"updated_at\" field.", - "type": "string" - }, - "uses": { - "description": "Uses holds the value of the \"uses\" field.", - "type": "integer" - } - } - }, - "ent.GroupInvitationTokenEdges": { - "type": "object", - "properties": { - "group": { - "description": "Group holds the value of the group edge.", - "allOf": [ - { - "$ref": "#/definitions/ent.Group" - } - ] - } - } - }, - "ent.Item": { - "type": "object", - "properties": { - "archived": { - "description": "Archived holds the value of the \"archived\" field.", - "type": "boolean" - }, - "asset_id": { - "description": "AssetID holds the value of the \"asset_id\" field.", - "type": "integer" - }, - "created_at": { - "description": "CreatedAt holds the value of the \"created_at\" field.", - "type": "string" - }, - "description": { - "description": "Description holds the value of the \"description\" field.", - "type": "string" - }, - "edges": { - "description": "Edges holds the relations/edges for other nodes in the graph.\nThe values are being populated by the ItemQuery when eager-loading is set.", - "allOf": [ - { - "$ref": "#/definitions/ent.ItemEdges" - } - ] - }, - "id": { - "description": "ID of the ent.", - "type": "string" - }, - "import_ref": { - "description": "ImportRef holds the value of the \"import_ref\" field.", - "type": "string" - }, - "insured": { - "description": "Insured holds the value of the \"insured\" field.", - "type": "boolean" - }, - "lifetime_warranty": { - "description": "LifetimeWarranty holds the value of the \"lifetime_warranty\" field.", - "type": "boolean" - }, - "manufacturer": { - "description": "Manufacturer holds the value of the \"manufacturer\" field.", - "type": "string" - }, - "model_number": { - "description": "ModelNumber holds the value of the \"model_number\" field.", - "type": "string" - }, - "name": { - "description": "Name holds the value of the \"name\" field.", - "type": "string" - }, - "notes": { - "description": "Notes holds the value of the \"notes\" field.", - "type": "string" - }, - "purchase_from": { - "description": "PurchaseFrom holds the value of the \"purchase_from\" field.", - "type": "string" - }, - "purchase_price": { - "description": "PurchasePrice holds the value of the \"purchase_price\" field.", - "type": "number" - }, - "purchase_time": { - "description": "PurchaseTime holds the value of the \"purchase_time\" field.", - "type": "string" - }, - "quantity": { - "description": "Quantity holds the value of the \"quantity\" field.", - "type": "integer" - }, - "serial_number": { - "description": "SerialNumber holds the value of the \"serial_number\" field.", - "type": "string" - }, - "sold_notes": { - "description": "SoldNotes holds the value of the \"sold_notes\" field.", - "type": "string" - }, - "sold_price": { - "description": "SoldPrice holds the value of the \"sold_price\" field.", - "type": "number" - }, - "sold_time": { - "description": "SoldTime holds the value of the \"sold_time\" field.", - "type": "string" - }, - "sold_to": { - "description": "SoldTo holds the value of the \"sold_to\" field.", - "type": "string" - }, - "sync_child_items_locations": { - "description": "SyncChildItemsLocations holds the value of the \"sync_child_items_locations\" field.", - "type": "boolean" - }, - "updated_at": { - "description": "UpdatedAt holds the value of the \"updated_at\" field.", - "type": "string" - }, - "warranty_details": { - "description": "WarrantyDetails holds the value of the \"warranty_details\" field.", - "type": "string" - }, - "warranty_expires": { - "description": "WarrantyExpires holds the value of the \"warranty_expires\" field.", - "type": "string" - } - } - }, - "ent.ItemEdges": { - "type": "object", - "properties": { - "attachments": { - "description": "Attachments holds the value of the attachments edge.", - "type": "array", - "items": { - "$ref": "#/definitions/ent.Attachment" - } - }, - "children": { - "description": "Children holds the value of the children edge.", - "type": "array", - "items": { - "$ref": "#/definitions/ent.Item" - } - }, - "fields": { - "description": "Fields holds the value of the fields edge.", - "type": "array", - "items": { - "$ref": "#/definitions/ent.ItemField" - } - }, - "group": { - "description": "Group holds the value of the group edge.", - "allOf": [ - { - "$ref": "#/definitions/ent.Group" - } - ] - }, - "label": { - "description": "Label holds the value of the label edge.", - "type": "array", - "items": { - "$ref": "#/definitions/ent.Label" - } - }, - "location": { - "description": "Location holds the value of the location edge.", - "allOf": [ - { - "$ref": "#/definitions/ent.Location" - } - ] - }, - "maintenance_entries": { - "description": "MaintenanceEntries holds the value of the maintenance_entries edge.", - "type": "array", - "items": { - "$ref": "#/definitions/ent.MaintenanceEntry" - } - }, - "parent": { - "description": "Parent holds the value of the parent edge.", - "allOf": [ - { - "$ref": "#/definitions/ent.Item" - } - ] - } - } - }, - "ent.ItemField": { - "type": "object", - "properties": { - "boolean_value": { - "description": "BooleanValue holds the value of the \"boolean_value\" field.", - "type": "boolean" - }, - "created_at": { - "description": "CreatedAt holds the value of the \"created_at\" field.", - "type": "string" - }, - "description": { - "description": "Description holds the value of the \"description\" field.", - "type": "string" - }, - "edges": { - "description": "Edges holds the relations/edges for other nodes in the graph.\nThe values are being populated by the ItemFieldQuery when eager-loading is set.", - "allOf": [ - { - "$ref": "#/definitions/ent.ItemFieldEdges" - } - ] - }, - "id": { - "description": "ID of the ent.", - "type": "string" - }, - "name": { - "description": "Name holds the value of the \"name\" field.", - "type": "string" - }, - "number_value": { - "description": "NumberValue holds the value of the \"number_value\" field.", - "type": "integer" - }, - "text_value": { - "description": "TextValue holds the value of the \"text_value\" field.", - "type": "string" - }, - "time_value": { - "description": "TimeValue holds the value of the \"time_value\" field.", - "type": "string" - }, - "type": { - "description": "Type holds the value of the \"type\" field.", - "allOf": [ - { - "$ref": "#/definitions/itemfield.Type" - } - ] - }, - "updated_at": { - "description": "UpdatedAt holds the value of the \"updated_at\" field.", - "type": "string" - } - } - }, - "ent.ItemFieldEdges": { - "type": "object", - "properties": { - "item": { - "description": "Item holds the value of the item edge.", - "allOf": [ - { - "$ref": "#/definitions/ent.Item" - } - ] - } - } - }, - "ent.Label": { - "type": "object", - "properties": { - "color": { - "description": "Color holds the value of the \"color\" field.", - "type": "string" - }, - "created_at": { - "description": "CreatedAt holds the value of the \"created_at\" field.", - "type": "string" - }, - "description": { - "description": "Description holds the value of the \"description\" field.", - "type": "string" - }, - "edges": { - "description": "Edges holds the relations/edges for other nodes in the graph.\nThe values are being populated by the LabelQuery when eager-loading is set.", - "allOf": [ - { - "$ref": "#/definitions/ent.LabelEdges" - } - ] - }, - "id": { - "description": "ID of the ent.", - "type": "string" - }, - "name": { - "description": "Name holds the value of the \"name\" field.", - "type": "string" - }, - "updated_at": { - "description": "UpdatedAt holds the value of the \"updated_at\" field.", - "type": "string" - } - } - }, - "ent.LabelEdges": { - "type": "object", - "properties": { - "group": { - "description": "Group holds the value of the group edge.", - "allOf": [ - { - "$ref": "#/definitions/ent.Group" - } - ] - }, - "items": { - "description": "Items holds the value of the items edge.", - "type": "array", - "items": { - "$ref": "#/definitions/ent.Item" - } - } - } - }, - "ent.Location": { - "type": "object", - "properties": { - "created_at": { - "description": "CreatedAt holds the value of the \"created_at\" field.", - "type": "string" - }, - "description": { - "description": "Description holds the value of the \"description\" field.", - "type": "string" - }, - "edges": { - "description": "Edges holds the relations/edges for other nodes in the graph.\nThe values are being populated by the LocationQuery when eager-loading is set.", - "allOf": [ - { - "$ref": "#/definitions/ent.LocationEdges" - } - ] - }, - "id": { - "description": "ID of the ent.", - "type": "string" - }, - "name": { - "description": "Name holds the value of the \"name\" field.", - "type": "string" - }, - "updated_at": { - "description": "UpdatedAt holds the value of the \"updated_at\" field.", - "type": "string" - } - } - }, - "ent.LocationEdges": { - "type": "object", - "properties": { - "children": { - "description": "Children holds the value of the children edge.", - "type": "array", - "items": { - "$ref": "#/definitions/ent.Location" - } - }, - "group": { - "description": "Group holds the value of the group edge.", - "allOf": [ - { - "$ref": "#/definitions/ent.Group" - } - ] - }, - "items": { - "description": "Items holds the value of the items edge.", - "type": "array", - "items": { - "$ref": "#/definitions/ent.Item" - } - }, - "parent": { - "description": "Parent holds the value of the parent edge.", - "allOf": [ - { - "$ref": "#/definitions/ent.Location" - } - ] - } - } - }, - "ent.MaintenanceEntry": { - "type": "object", - "properties": { - "cost": { - "description": "Cost holds the value of the \"cost\" field.", - "type": "number" - }, - "created_at": { - "description": "CreatedAt holds the value of the \"created_at\" field.", - "type": "string" - }, - "date": { - "description": "Date holds the value of the \"date\" field.", - "type": "string" - }, - "description": { - "description": "Description holds the value of the \"description\" field.", - "type": "string" - }, - "edges": { - "description": "Edges holds the relations/edges for other nodes in the graph.\nThe values are being populated by the MaintenanceEntryQuery when eager-loading is set.", - "allOf": [ - { - "$ref": "#/definitions/ent.MaintenanceEntryEdges" - } - ] - }, - "id": { - "description": "ID of the ent.", - "type": "string" - }, - "item_id": { - "description": "ItemID holds the value of the \"item_id\" field.", - "type": "string" - }, - "name": { - "description": "Name holds the value of the \"name\" field.", - "type": "string" - }, - "scheduled_date": { - "description": "ScheduledDate holds the value of the \"scheduled_date\" field.", - "type": "string" - }, - "updated_at": { - "description": "UpdatedAt holds the value of the \"updated_at\" field.", - "type": "string" - } - } - }, - "ent.MaintenanceEntryEdges": { - "type": "object", - "properties": { - "item": { - "description": "Item holds the value of the item edge.", - "allOf": [ - { - "$ref": "#/definitions/ent.Item" - } - ] - } - } - }, - "ent.Notifier": { - "type": "object", - "properties": { - "created_at": { - "description": "CreatedAt holds the value of the \"created_at\" field.", - "type": "string" - }, - "edges": { - "description": "Edges holds the relations/edges for other nodes in the graph.\nThe values are being populated by the NotifierQuery when eager-loading is set.", - "allOf": [ - { - "$ref": "#/definitions/ent.NotifierEdges" - } - ] - }, - "group_id": { - "description": "GroupID holds the value of the \"group_id\" field.", - "type": "string" - }, - "id": { - "description": "ID of the ent.", - "type": "string" - }, - "is_active": { - "description": "IsActive holds the value of the \"is_active\" field.", - "type": "boolean" - }, - "name": { - "description": "Name holds the value of the \"name\" field.", - "type": "string" - }, - "updated_at": { - "description": "UpdatedAt holds the value of the \"updated_at\" field.", - "type": "string" - }, - "user_id": { - "description": "UserID holds the value of the \"user_id\" field.", - "type": "string" - } - } - }, - "ent.NotifierEdges": { - "type": "object", - "properties": { - "group": { - "description": "Group holds the value of the group edge.", - "allOf": [ - { - "$ref": "#/definitions/ent.Group" - } - ] - }, - "user": { - "description": "User holds the value of the user edge.", - "allOf": [ - { - "$ref": "#/definitions/ent.User" - } - ] - } - } - }, - "ent.User": { - "type": "object", - "properties": { - "activated_on": { - "description": "ActivatedOn holds the value of the \"activated_on\" field.", - "type": "string" - }, - "created_at": { - "description": "CreatedAt holds the value of the \"created_at\" field.", - "type": "string" - }, - "edges": { - "description": "Edges holds the relations/edges for other nodes in the graph.\nThe values are being populated by the UserQuery when eager-loading is set.", - "allOf": [ - { - "$ref": "#/definitions/ent.UserEdges" - } - ] - }, - "email": { - "description": "Email holds the value of the \"email\" field.", - "type": "string" - }, - "id": { - "description": "ID of the ent.", - "type": "string" - }, - "is_superuser": { - "description": "IsSuperuser holds the value of the \"is_superuser\" field.", - "type": "boolean" - }, - "name": { - "description": "Name holds the value of the \"name\" field.", - "type": "string" - }, - "role": { - "description": "Role holds the value of the \"role\" field.", - "allOf": [ - { - "$ref": "#/definitions/user.Role" - } - ] - }, - "superuser": { - "description": "Superuser holds the value of the \"superuser\" field.", - "type": "boolean" - }, - "updated_at": { - "description": "UpdatedAt holds the value of the \"updated_at\" field.", - "type": "string" - } - } - }, - "ent.UserEdges": { - "type": "object", - "properties": { - "auth_tokens": { - "description": "AuthTokens holds the value of the auth_tokens edge.", - "type": "array", - "items": { - "$ref": "#/definitions/ent.AuthTokens" - } - }, - "group": { - "description": "Group holds the value of the group edge.", - "allOf": [ - { - "$ref": "#/definitions/ent.Group" - } - ] - }, - "notifiers": { - "description": "Notifiers holds the value of the notifiers edge.", - "type": "array", - "items": { - "$ref": "#/definitions/ent.Notifier" - } - } - } - }, - "itemfield.Type": { - "type": "string", - "enum": [ - "text", - "number", - "boolean", - "time" - ], - "x-enum-varnames": [ - "TypeText", - "TypeNumber", - "TypeBoolean", - "TypeTime" - ] - }, - "repo.BarcodeProduct": { - "type": "object", - "properties": { - "barcode": { - "type": "string" - }, - "imageBase64": { - "type": "string" - }, - "imageURL": { - "type": "string" - }, - "item": { - "$ref": "#/definitions/repo.ItemCreate" - }, - "manufacturer": { - "type": "string" - }, - "modelNumber": { - "description": "Identifications", - "type": "string" - }, - "notes": { - "description": "Extras", - "type": "string" - }, - "search_engine_name": { - "type": "string" - } - } - }, - "repo.DuplicateOptions": { - "type": "object", - "properties": { - "copyAttachments": { - "type": "boolean" - }, - "copyCustomFields": { - "type": "boolean" - }, - "copyMaintenance": { - "type": "boolean" - }, - "copyPrefix": { - "type": "string" - } - } - }, - "repo.Group": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "currency": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "updatedAt": { - "type": "string" - } - } - }, - "repo.GroupStatistics": { - "type": "object", - "properties": { - "totalItemPrice": { - "type": "number" - }, - "totalItems": { - "type": "integer" - }, - "totalLabels": { - "type": "integer" - }, - "totalLocations": { - "type": "integer" - }, - "totalUsers": { - "type": "integer" - }, - "totalWithWarranty": { - "type": "integer" - } - } - }, - "repo.GroupUpdate": { - "type": "object", - "properties": { - "currency": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "repo.ItemAttachment": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "id": { - "type": "string" - }, - "mimeType": { - "type": "string" - }, - "path": { - "type": "string" - }, - "primary": { - "type": "boolean" - }, - "thumbnail": { - "$ref": "#/definitions/ent.Attachment" - }, - "title": { - "type": "string" - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - } - } - }, - "repo.ItemAttachmentUpdate": { - "type": "object", - "properties": { - "primary": { - "type": "boolean" - }, - "title": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "repo.ItemCreate": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "description": { - "type": "string", - "maxLength": 1000 - }, - "labelIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "locationId": { - "description": "Edges", - "type": "string" - }, - "name": { - "type": "string", - "maxLength": 255, - "minLength": 1 - }, - "parentId": { - "type": "string", - "x-nullable": true - }, - "quantity": { - "type": "integer" - } - } - }, - "repo.ItemField": { - "type": "object", - "properties": { - "booleanValue": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "numberValue": { - "type": "integer" - }, - "textValue": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "repo.ItemOut": { - "type": "object", - "properties": { - "archived": { - "type": "boolean" - }, - "assetId": { - "type": "string", - "example": "0" - }, - "attachments": { - "type": "array", - "items": { - "$ref": "#/definitions/repo.ItemAttachment" - } - }, - "createdAt": { - "type": "string" - }, - "description": { - "type": "string" - }, - "fields": { - "type": "array", - "items": { - "$ref": "#/definitions/repo.ItemField" - } - }, - "id": { - "type": "string" - }, - "imageId": { - "type": "string", - "x-nullable": true, - "x-omitempty": true - }, - "insured": { - "type": "boolean" - }, - "labels": { - "type": "array", - "items": { - "$ref": "#/definitions/repo.LabelSummary" - } - }, - "lifetimeWarranty": { - "description": "Warranty", - "type": "boolean" - }, - "location": { - "description": "Edges", - "allOf": [ - { - "$ref": "#/definitions/repo.LocationSummary" - } - ], - "x-nullable": true, - "x-omitempty": true - }, - "manufacturer": { - "type": "string" - }, - "modelNumber": { - "type": "string" - }, - "name": { - "type": "string" - }, - "notes": { - "description": "Extras", - "type": "string" - }, - "parent": { - "allOf": [ - { - "$ref": "#/definitions/repo.ItemSummary" - } - ], - "x-nullable": true, - "x-omitempty": true - }, - "purchaseFrom": { - "type": "string" - }, - "purchasePrice": { - "type": "number" - }, - "purchaseTime": { - "description": "Purchase", - "type": "string" - }, - "quantity": { - "type": "integer" - }, - "serialNumber": { - "type": "string" - }, - "soldNotes": { - "type": "string" - }, - "soldPrice": { - "type": "number" - }, - "soldTime": { - "description": "Sold", - "type": "string" - }, - "soldTo": { - "type": "string" - }, - "syncChildItemsLocations": { - "type": "boolean" - }, - "thumbnailId": { - "type": "string", - "x-nullable": true, - "x-omitempty": true - }, - "updatedAt": { - "type": "string" - }, - "warrantyDetails": { - "type": "string" - }, - "warrantyExpires": { - "type": "string" - } - } - }, - "repo.ItemPatch": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "quantity": { - "type": "integer", - "x-nullable": true, - "x-omitempty": true - } - } - }, - "repo.ItemPath": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "type": { - "$ref": "#/definitions/repo.ItemType" - } - } - }, - "repo.ItemSummary": { - "type": "object", - "properties": { - "archived": { - "type": "boolean" - }, - "assetId": { - "type": "string", - "example": "0" - }, - "createdAt": { - "type": "string" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "imageId": { - "type": "string", - "x-nullable": true, - "x-omitempty": true - }, - "insured": { - "type": "boolean" - }, - "labels": { - "type": "array", - "items": { - "$ref": "#/definitions/repo.LabelSummary" - } - }, - "location": { - "description": "Edges", - "allOf": [ - { - "$ref": "#/definitions/repo.LocationSummary" - } - ], - "x-nullable": true, - "x-omitempty": true - }, - "name": { - "type": "string" - }, - "purchasePrice": { - "type": "number" - }, - "quantity": { - "type": "integer" - }, - "soldTime": { - "description": "Sale details", - "type": "string" - }, - "thumbnailId": { - "type": "string", - "x-nullable": true, - "x-omitempty": true - }, - "updatedAt": { - "type": "string" - } - } - }, - "repo.ItemType": { - "type": "string", - "enum": [ - "location", - "item" - ], - "x-enum-varnames": [ - "ItemTypeLocation", - "ItemTypeItem" - ] - }, - "repo.ItemUpdate": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "archived": { - "type": "boolean" - }, - "assetId": { - "type": "string" - }, - "description": { - "type": "string", - "maxLength": 1000 - }, - "fields": { - "type": "array", - "items": { - "$ref": "#/definitions/repo.ItemField" - } - }, - "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", - "maxLength": 255, - "minLength": 1 - }, - "notes": { - "description": "Extras", - "type": "string" - }, - "parentId": { - "type": "string", - "x-nullable": true, - "x-omitempty": true - }, - "purchaseFrom": { - "type": "string", - "maxLength": 255 - }, - "purchasePrice": { - "type": "number", - "x-nullable": true, - "x-omitempty": true - }, - "purchaseTime": { - "description": "Purchase", - "type": "string" - }, - "quantity": { - "type": "integer" - }, - "serialNumber": { - "description": "Identifications", - "type": "string" - }, - "soldNotes": { - "type": "string" - }, - "soldPrice": { - "type": "number", - "x-nullable": true, - "x-omitempty": true - }, - "soldTime": { - "description": "Sold", - "type": "string" - }, - "soldTo": { - "type": "string", - "maxLength": 255 - }, - "syncChildItemsLocations": { - "type": "boolean" - }, - "warrantyDetails": { - "type": "string" - }, - "warrantyExpires": { - "type": "string" - } - } - }, - "repo.LabelCreate": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "color": { - "type": "string" - }, - "description": { - "type": "string", - "maxLength": 1000 - }, - "name": { - "type": "string", - "maxLength": 255, - "minLength": 1 - } - } - }, - "repo.LabelOut": { - "type": "object", - "properties": { - "color": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "updatedAt": { - "type": "string" - } - } - }, - "repo.LabelSummary": { - "type": "object", - "properties": { - "color": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "updatedAt": { - "type": "string" - } - } - }, - "repo.LocationCreate": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "name": { - "type": "string" - }, - "parentId": { - "type": "string", - "x-nullable": true - } - } - }, - "repo.LocationOut": { - "type": "object", - "properties": { - "children": { - "type": "array", - "items": { - "$ref": "#/definitions/repo.LocationSummary" - } - }, - "createdAt": { - "type": "string" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "parent": { - "$ref": "#/definitions/repo.LocationSummary" - }, - "totalPrice": { - "type": "number" - }, - "updatedAt": { - "type": "string" - } - } - }, - "repo.LocationOutCount": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "itemCount": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "updatedAt": { - "type": "string" - } - } - }, - "repo.LocationSummary": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "updatedAt": { - "type": "string" - } - } - }, - "repo.LocationUpdate": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "parentId": { - "type": "string", - "x-nullable": true - } - } - }, - "repo.MaintenanceEntry": { - "type": "object", - "properties": { - "completedDate": { - "type": "string" - }, - "cost": { - "type": "string", - "example": "0" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "scheduledDate": { - "type": "string" - } - } - }, - "repo.MaintenanceEntryCreate": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "completedDate": { - "type": "string" - }, - "cost": { - "type": "string", - "example": "0" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - }, - "scheduledDate": { - "type": "string" - } - } - }, - "repo.MaintenanceEntryUpdate": { - "type": "object", - "properties": { - "completedDate": { - "type": "string" - }, - "cost": { - "type": "string", - "example": "0" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - }, - "scheduledDate": { - "type": "string" - } - } - }, - "repo.MaintenanceEntryWithDetails": { - "type": "object", - "properties": { - "completedDate": { - "type": "string" - }, - "cost": { - "type": "string", - "example": "0" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "itemID": { - "type": "string" - }, - "itemName": { - "type": "string" - }, - "name": { - "type": "string" - }, - "scheduledDate": { - "type": "string" - } - } - }, - "repo.MaintenanceFilterStatus": { - "type": "string", - "enum": [ - "scheduled", - "completed", - "both" - ], - "x-enum-varnames": [ - "MaintenanceFilterStatusScheduled", - "MaintenanceFilterStatusCompleted", - "MaintenanceFilterStatusBoth" - ] - }, - "repo.NotifierCreate": { - "type": "object", - "required": [ - "name", - "url" - ], - "properties": { - "isActive": { - "type": "boolean" - }, - "name": { - "type": "string", - "maxLength": 255, - "minLength": 1 - }, - "url": { - "type": "string" - } - } - }, - "repo.NotifierOut": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "groupId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "isActive": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "url": { - "type": "string" - }, - "userId": { - "type": "string" - } - } - }, - "repo.NotifierUpdate": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "isActive": { - "type": "boolean" - }, - "name": { - "type": "string", - "maxLength": 255, - "minLength": 1 - }, - "url": { - "type": "string", - "x-nullable": true - } - } - }, - "repo.PaginationResult-repo_ItemSummary": { - "type": "object", - "properties": { - "items": { - "type": "array", - "items": { - "$ref": "#/definitions/repo.ItemSummary" - } - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "total": { - "type": "integer" - } - } - }, - "repo.TotalsByOrganizer": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "total": { - "type": "number" - } - } - }, - "repo.TreeItem": { - "type": "object", - "properties": { - "children": { - "type": "array", - "items": { - "$ref": "#/definitions/repo.TreeItem" - } - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "repo.UserOut": { - "type": "object", - "properties": { - "email": { - "type": "string" - }, - "groupId": { - "type": "string" - }, - "groupName": { - "type": "string" - }, - "id": { - "type": "string" - }, - "isOwner": { - "type": "boolean" - }, - "isSuperuser": { - "type": "boolean" - }, - "name": { - "type": "string" - } - } - }, - "repo.UserUpdate": { - "type": "object", - "properties": { - "email": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "repo.ValueOverTime": { - "type": "object", - "properties": { - "end": { - "type": "string" - }, - "entries": { - "type": "array", - "items": { - "$ref": "#/definitions/repo.ValueOverTimeEntry" - } - }, - "start": { - "type": "string" - }, - "valueAtEnd": { - "type": "number" - }, - "valueAtStart": { - "type": "number" - } - } - }, - "repo.ValueOverTimeEntry": { - "type": "object", - "properties": { - "date": { - "type": "string" - }, - "name": { - "type": "string" - }, - "value": { - "type": "number" - } - } - }, - "services.Latest": { - "type": "object", - "properties": { - "date": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "services.UserRegistration": { - "type": "object", - "properties": { - "email": { - "type": "string" - }, - "name": { - "type": "string" - }, - "password": { - "type": "string" - }, - "token": { - "type": "string" - } - } - }, - "user.Role": { - "type": "string", - "enum": [ - "user", - "user", - "owner" - ], - "x-enum-varnames": [ - "DefaultRole", - "RoleUser", - "RoleOwner" - ] - }, - "v1.APISummary": { - "type": "object", - "properties": { - "allowRegistration": { - "type": "boolean" - }, - "build": { - "$ref": "#/definitions/v1.Build" - }, - "demo": { - "type": "boolean" - }, - "health": { - "type": "boolean" - }, - "labelPrinting": { - "type": "boolean" - }, - "latest": { - "$ref": "#/definitions/services.Latest" - }, - "message": { - "type": "string" - }, - "title": { - "type": "string" - }, - "versions": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "v1.ActionAmountResult": { - "type": "object", - "properties": { - "completed": { - "type": "integer" - } - } - }, - "v1.Build": { - "type": "object", - "properties": { - "buildTime": { - "type": "string" - }, - "commit": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "v1.ChangePassword": { - "type": "object", - "properties": { - "current": { - "type": "string" - }, - "new": { - "type": "string" - } - } - }, - "v1.GroupInvitation": { - "type": "object", - "properties": { - "expiresAt": { - "type": "string" - }, - "token": { - "type": "string" - }, - "uses": { - "type": "integer" - } - } - }, - "v1.GroupInvitationCreate": { - "type": "object", - "required": [ - "uses" - ], - "properties": { - "expiresAt": { - "type": "string" - }, - "uses": { - "type": "integer", - "maximum": 100, - "minimum": 1 - } - } - }, - "v1.ItemAttachmentToken": { - "type": "object", - "properties": { - "token": { - "type": "string" - } - } - }, - "v1.LoginForm": { - "type": "object", - "properties": { - "password": { - "type": "string", - "example": "admin" - }, - "stayLoggedIn": { - "type": "boolean" - }, - "username": { - "type": "string", - "example": "admin@admin.com" - } - } - }, - "v1.TokenResponse": { - "type": "object", - "properties": { - "attachmentToken": { - "type": "string" - }, - "expiresAt": { - "type": "string" - }, - "token": { - "type": "string" - } - } - }, - "v1.Wrapped": { - "type": "object", - "properties": { - "item": {} - } - }, - "validate.ErrorResponse": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "fields": { - "type": "string" - } - } - } - }, - "securityDefinitions": { - "Bearer": { - "description": "\"Type 'Bearer TOKEN' to correctly set the API Key\"", - "type": "apiKey", - "name": "Authorization", - "in": "header" - } - } -} \ No newline at end of file