diff --git a/backend/app/api/static/docs/docs.go b/backend/app/api/static/docs/docs.go index 1af68fee..189290e2 100644 --- a/backend/app/api/static/docs/docs.go +++ b/backend/app/api/static/docs/docs.go @@ -118,6 +118,41 @@ const docTemplate = `{ } } }, + "/v1/actions/wipe-inventory": { + "post": { + "security": [ + { + "Bearer": [] + } + ], + "description": "Deletes all items in the inventory", + "produces": [ + "application/json" + ], + "tags": [ + "Actions" + ], + "summary": "Wipe Inventory", + "parameters": [ + { + "description": "Wipe options", + "name": "options", + "in": "body", + "schema": { + "$ref": "#/definitions/v1.WipeInventoryOptions" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1.ActionAmountResult" + } + } + } + } + }, "/v1/actions/zero-item-time-fields": { "post": { "security": [ @@ -3494,6 +3529,10 @@ const docTemplate = `{ "description": "CreatedAt holds the value of the \"created_at\" field.", "type": "string" }, + "default_group_id": { + "description": "DefaultGroupID holds the value of the \"default_group_id\" 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": [ @@ -3554,13 +3593,12 @@ const docTemplate = `{ "$ref": "#/definitions/ent.AuthTokens" } }, - "group": { - "description": "Group holds the value of the group edge.", - "allOf": [ - { - "$ref": "#/definitions/ent.Group" - } - ] + "groups": { + "description": "Groups holds the value of the groups edge.", + "type": "array", + "items": { + "$ref": "#/definitions/ent.Group" + } }, "notifiers": { "description": "Notifiers holds the value of the notifiers edge.", @@ -4871,14 +4909,17 @@ const docTemplate = `{ "repo.UserOut": { "type": "object", "properties": { + "defaultGroupId": { + "type": "string" + }, "email": { "type": "string" }, - "groupId": { - "type": "string" - }, - "groupName": { - "type": "string" + "groupIds": { + "type": "array", + "items": { + "type": "string" + } }, "id": { "type": "string" @@ -5184,6 +5225,20 @@ const docTemplate = `{ } } }, + "v1.WipeInventoryOptions": { + "type": "object", + "properties": { + "wipeLabels": { + "type": "boolean" + }, + "wipeLocations": { + "type": "boolean" + }, + "wipeMaintenance": { + "type": "boolean" + } + } + }, "v1.Wrapped": { "type": "object", "properties": { diff --git a/backend/app/api/static/docs/openapi-3.json b/backend/app/api/static/docs/openapi-3.json index a80a6124..0a546e93 100644 --- a/backend/app/api/static/docs/openapi-3.json +++ b/backend/app/api/static/docs/openapi-3.json @@ -114,6 +114,42 @@ } } }, + "/v1/actions/wipe-inventory": { + "post": { + "security": [ + { + "Bearer": [] + } + ], + "description": "Deletes all items in the inventory", + "tags": [ + "Actions" + ], + "summary": "Wipe Inventory", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/v1.WipeInventoryOptions" + } + } + }, + "description": "Wipe options" + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/v1.ActionAmountResult" + } + } + } + } + } + } + }, "/v1/actions/zero-item-time-fields": { "post": { "security": [ @@ -3691,6 +3727,10 @@ "description": "CreatedAt holds the value of the \"created_at\" field.", "type": "string" }, + "default_group_id": { + "description": "DefaultGroupID holds the value of the \"default_group_id\" 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": [ @@ -3751,13 +3791,12 @@ "$ref": "#/components/schemas/ent.AuthTokens" } }, - "group": { - "description": "Group holds the value of the group edge.", - "allOf": [ - { - "$ref": "#/components/schemas/ent.Group" - } - ] + "groups": { + "description": "Groups holds the value of the groups edge.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ent.Group" + } }, "notifiers": { "description": "Notifiers holds the value of the notifiers edge.", @@ -5068,14 +5107,17 @@ "repo.UserOut": { "type": "object", "properties": { + "defaultGroupId": { + "type": "string" + }, "email": { "type": "string" }, - "groupId": { - "type": "string" - }, - "groupName": { - "type": "string" + "groupIds": { + "type": "array", + "items": { + "type": "string" + } }, "id": { "type": "string" @@ -5381,6 +5423,20 @@ } } }, + "v1.WipeInventoryOptions": { + "type": "object", + "properties": { + "wipeLabels": { + "type": "boolean" + }, + "wipeLocations": { + "type": "boolean" + }, + "wipeMaintenance": { + "type": "boolean" + } + } + }, "v1.Wrapped": { "type": "object", "properties": { diff --git a/backend/app/api/static/docs/openapi-3.yaml b/backend/app/api/static/docs/openapi-3.yaml index 0a6d2042..7800bafc 100644 --- a/backend/app/api/static/docs/openapi-3.yaml +++ b/backend/app/api/static/docs/openapi-3.yaml @@ -67,6 +67,27 @@ paths: application/json: schema: $ref: "#/components/schemas/v1.ActionAmountResult" + /v1/actions/wipe-inventory: + post: + security: + - Bearer: [] + description: Deletes all items in the inventory + tags: + - Actions + summary: Wipe Inventory + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/v1.WipeInventoryOptions" + description: Wipe options + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/v1.ActionAmountResult" /v1/actions/zero-item-time-fields: post: security: @@ -2301,6 +2322,9 @@ components: created_at: description: CreatedAt holds the value of the "created_at" field. type: string + default_group_id: + description: DefaultGroupID holds the value of the "default_group_id" field. + type: string edges: description: >- Edges holds the relations/edges for other nodes in the graph. @@ -2344,10 +2368,11 @@ components: type: array items: $ref: "#/components/schemas/ent.AuthTokens" - group: - description: Group holds the value of the group edge. - allOf: - - $ref: "#/components/schemas/ent.Group" + groups: + description: Groups holds the value of the groups edge. + type: array + items: + $ref: "#/components/schemas/ent.Group" notifiers: description: Notifiers holds the value of the notifiers edge. type: array @@ -3243,12 +3268,14 @@ components: repo.UserOut: type: object properties: + defaultGroupId: + type: string email: type: string - groupId: - type: string - groupName: - type: string + groupIds: + type: array + items: + type: string id: type: string isOwner: @@ -3449,6 +3476,15 @@ components: type: string token: type: string + v1.WipeInventoryOptions: + type: object + properties: + wipeLabels: + type: boolean + wipeLocations: + type: boolean + wipeMaintenance: + type: boolean v1.Wrapped: type: object properties: diff --git a/backend/app/api/static/docs/swagger.json b/backend/app/api/static/docs/swagger.json index 61b8612a..10afe927 100644 --- a/backend/app/api/static/docs/swagger.json +++ b/backend/app/api/static/docs/swagger.json @@ -116,6 +116,41 @@ } } }, + "/v1/actions/wipe-inventory": { + "post": { + "security": [ + { + "Bearer": [] + } + ], + "description": "Deletes all items in the inventory", + "produces": [ + "application/json" + ], + "tags": [ + "Actions" + ], + "summary": "Wipe Inventory", + "parameters": [ + { + "description": "Wipe options", + "name": "options", + "in": "body", + "schema": { + "$ref": "#/definitions/v1.WipeInventoryOptions" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1.ActionAmountResult" + } + } + } + } + }, "/v1/actions/zero-item-time-fields": { "post": { "security": [ @@ -3492,6 +3527,10 @@ "description": "CreatedAt holds the value of the \"created_at\" field.", "type": "string" }, + "default_group_id": { + "description": "DefaultGroupID holds the value of the \"default_group_id\" 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": [ @@ -3552,13 +3591,12 @@ "$ref": "#/definitions/ent.AuthTokens" } }, - "group": { - "description": "Group holds the value of the group edge.", - "allOf": [ - { - "$ref": "#/definitions/ent.Group" - } - ] + "groups": { + "description": "Groups holds the value of the groups edge.", + "type": "array", + "items": { + "$ref": "#/definitions/ent.Group" + } }, "notifiers": { "description": "Notifiers holds the value of the notifiers edge.", @@ -4869,14 +4907,17 @@ "repo.UserOut": { "type": "object", "properties": { + "defaultGroupId": { + "type": "string" + }, "email": { "type": "string" }, - "groupId": { - "type": "string" - }, - "groupName": { - "type": "string" + "groupIds": { + "type": "array", + "items": { + "type": "string" + } }, "id": { "type": "string" @@ -5182,6 +5223,20 @@ } } }, + "v1.WipeInventoryOptions": { + "type": "object", + "properties": { + "wipeLabels": { + "type": "boolean" + }, + "wipeLocations": { + "type": "boolean" + }, + "wipeMaintenance": { + "type": "boolean" + } + } + }, "v1.Wrapped": { "type": "object", "properties": { diff --git a/backend/app/api/static/docs/swagger.yaml b/backend/app/api/static/docs/swagger.yaml index d18a8f45..c57c5100 100644 --- a/backend/app/api/static/docs/swagger.yaml +++ b/backend/app/api/static/docs/swagger.yaml @@ -719,6 +719,9 @@ definitions: created_at: description: CreatedAt holds the value of the "created_at" field. type: string + default_group_id: + description: DefaultGroupID holds the value of the "default_group_id" field. + type: string edges: allOf: - $ref: '#/definitions/ent.UserEdges' @@ -761,10 +764,11 @@ definitions: items: $ref: '#/definitions/ent.AuthTokens' type: array - group: - allOf: - - $ref: '#/definitions/ent.Group' - description: Group holds the value of the group edge. + groups: + description: Groups holds the value of the groups edge. + items: + $ref: '#/definitions/ent.Group' + type: array notifiers: description: Notifiers holds the value of the notifiers edge. items: @@ -1660,12 +1664,14 @@ definitions: type: object repo.UserOut: properties: + defaultGroupId: + type: string email: type: string - groupId: - type: string - groupName: - type: string + groupIds: + items: + type: string + type: array id: type: string isOwner: @@ -1867,6 +1873,15 @@ definitions: token: type: string type: object + v1.WipeInventoryOptions: + properties: + wipeLabels: + type: boolean + wipeLocations: + type: boolean + wipeMaintenance: + type: boolean + type: object v1.Wrapped: properties: item: {} @@ -1947,6 +1962,27 @@ paths: summary: Set Primary Photos tags: - Actions + /v1/actions/wipe-inventory: + post: + description: Deletes all items in the inventory + parameters: + - description: Wipe options + in: body + name: options + schema: + $ref: '#/definitions/v1.WipeInventoryOptions' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/v1.ActionAmountResult' + security: + - Bearer: [] + summary: Wipe Inventory + tags: + - Actions /v1/actions/zero-item-time-fields: post: description: Resets all item date fields to the beginning of the day diff --git a/docs/en/api/openapi-3.0.json b/docs/en/api/openapi-3.0.json index a80a6124..0a546e93 100644 --- a/docs/en/api/openapi-3.0.json +++ b/docs/en/api/openapi-3.0.json @@ -114,6 +114,42 @@ } } }, + "/v1/actions/wipe-inventory": { + "post": { + "security": [ + { + "Bearer": [] + } + ], + "description": "Deletes all items in the inventory", + "tags": [ + "Actions" + ], + "summary": "Wipe Inventory", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/v1.WipeInventoryOptions" + } + } + }, + "description": "Wipe options" + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/v1.ActionAmountResult" + } + } + } + } + } + } + }, "/v1/actions/zero-item-time-fields": { "post": { "security": [ @@ -3691,6 +3727,10 @@ "description": "CreatedAt holds the value of the \"created_at\" field.", "type": "string" }, + "default_group_id": { + "description": "DefaultGroupID holds the value of the \"default_group_id\" 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": [ @@ -3751,13 +3791,12 @@ "$ref": "#/components/schemas/ent.AuthTokens" } }, - "group": { - "description": "Group holds the value of the group edge.", - "allOf": [ - { - "$ref": "#/components/schemas/ent.Group" - } - ] + "groups": { + "description": "Groups holds the value of the groups edge.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ent.Group" + } }, "notifiers": { "description": "Notifiers holds the value of the notifiers edge.", @@ -5068,14 +5107,17 @@ "repo.UserOut": { "type": "object", "properties": { + "defaultGroupId": { + "type": "string" + }, "email": { "type": "string" }, - "groupId": { - "type": "string" - }, - "groupName": { - "type": "string" + "groupIds": { + "type": "array", + "items": { + "type": "string" + } }, "id": { "type": "string" @@ -5381,6 +5423,20 @@ } } }, + "v1.WipeInventoryOptions": { + "type": "object", + "properties": { + "wipeLabels": { + "type": "boolean" + }, + "wipeLocations": { + "type": "boolean" + }, + "wipeMaintenance": { + "type": "boolean" + } + } + }, "v1.Wrapped": { "type": "object", "properties": { diff --git a/docs/en/api/openapi-3.0.yaml b/docs/en/api/openapi-3.0.yaml index 0a6d2042..7800bafc 100644 --- a/docs/en/api/openapi-3.0.yaml +++ b/docs/en/api/openapi-3.0.yaml @@ -67,6 +67,27 @@ paths: application/json: schema: $ref: "#/components/schemas/v1.ActionAmountResult" + /v1/actions/wipe-inventory: + post: + security: + - Bearer: [] + description: Deletes all items in the inventory + tags: + - Actions + summary: Wipe Inventory + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/v1.WipeInventoryOptions" + description: Wipe options + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/v1.ActionAmountResult" /v1/actions/zero-item-time-fields: post: security: @@ -2301,6 +2322,9 @@ components: created_at: description: CreatedAt holds the value of the "created_at" field. type: string + default_group_id: + description: DefaultGroupID holds the value of the "default_group_id" field. + type: string edges: description: >- Edges holds the relations/edges for other nodes in the graph. @@ -2344,10 +2368,11 @@ components: type: array items: $ref: "#/components/schemas/ent.AuthTokens" - group: - description: Group holds the value of the group edge. - allOf: - - $ref: "#/components/schemas/ent.Group" + groups: + description: Groups holds the value of the groups edge. + type: array + items: + $ref: "#/components/schemas/ent.Group" notifiers: description: Notifiers holds the value of the notifiers edge. type: array @@ -3243,12 +3268,14 @@ components: repo.UserOut: type: object properties: + defaultGroupId: + type: string email: type: string - groupId: - type: string - groupName: - type: string + groupIds: + type: array + items: + type: string id: type: string isOwner: @@ -3449,6 +3476,15 @@ components: type: string token: type: string + v1.WipeInventoryOptions: + type: object + properties: + wipeLabels: + type: boolean + wipeLocations: + type: boolean + wipeMaintenance: + type: boolean v1.Wrapped: type: object properties: diff --git a/docs/en/api/swagger-2.0.json b/docs/en/api/swagger-2.0.json index 61b8612a..10afe927 100644 --- a/docs/en/api/swagger-2.0.json +++ b/docs/en/api/swagger-2.0.json @@ -116,6 +116,41 @@ } } }, + "/v1/actions/wipe-inventory": { + "post": { + "security": [ + { + "Bearer": [] + } + ], + "description": "Deletes all items in the inventory", + "produces": [ + "application/json" + ], + "tags": [ + "Actions" + ], + "summary": "Wipe Inventory", + "parameters": [ + { + "description": "Wipe options", + "name": "options", + "in": "body", + "schema": { + "$ref": "#/definitions/v1.WipeInventoryOptions" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1.ActionAmountResult" + } + } + } + } + }, "/v1/actions/zero-item-time-fields": { "post": { "security": [ @@ -3492,6 +3527,10 @@ "description": "CreatedAt holds the value of the \"created_at\" field.", "type": "string" }, + "default_group_id": { + "description": "DefaultGroupID holds the value of the \"default_group_id\" 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": [ @@ -3552,13 +3591,12 @@ "$ref": "#/definitions/ent.AuthTokens" } }, - "group": { - "description": "Group holds the value of the group edge.", - "allOf": [ - { - "$ref": "#/definitions/ent.Group" - } - ] + "groups": { + "description": "Groups holds the value of the groups edge.", + "type": "array", + "items": { + "$ref": "#/definitions/ent.Group" + } }, "notifiers": { "description": "Notifiers holds the value of the notifiers edge.", @@ -4869,14 +4907,17 @@ "repo.UserOut": { "type": "object", "properties": { + "defaultGroupId": { + "type": "string" + }, "email": { "type": "string" }, - "groupId": { - "type": "string" - }, - "groupName": { - "type": "string" + "groupIds": { + "type": "array", + "items": { + "type": "string" + } }, "id": { "type": "string" @@ -5182,6 +5223,20 @@ } } }, + "v1.WipeInventoryOptions": { + "type": "object", + "properties": { + "wipeLabels": { + "type": "boolean" + }, + "wipeLocations": { + "type": "boolean" + }, + "wipeMaintenance": { + "type": "boolean" + } + } + }, "v1.Wrapped": { "type": "object", "properties": { diff --git a/docs/en/api/swagger-2.0.yaml b/docs/en/api/swagger-2.0.yaml index d18a8f45..c57c5100 100644 --- a/docs/en/api/swagger-2.0.yaml +++ b/docs/en/api/swagger-2.0.yaml @@ -719,6 +719,9 @@ definitions: created_at: description: CreatedAt holds the value of the "created_at" field. type: string + default_group_id: + description: DefaultGroupID holds the value of the "default_group_id" field. + type: string edges: allOf: - $ref: '#/definitions/ent.UserEdges' @@ -761,10 +764,11 @@ definitions: items: $ref: '#/definitions/ent.AuthTokens' type: array - group: - allOf: - - $ref: '#/definitions/ent.Group' - description: Group holds the value of the group edge. + groups: + description: Groups holds the value of the groups edge. + items: + $ref: '#/definitions/ent.Group' + type: array notifiers: description: Notifiers holds the value of the notifiers edge. items: @@ -1660,12 +1664,14 @@ definitions: type: object repo.UserOut: properties: + defaultGroupId: + type: string email: type: string - groupId: - type: string - groupName: - type: string + groupIds: + items: + type: string + type: array id: type: string isOwner: @@ -1867,6 +1873,15 @@ definitions: token: type: string type: object + v1.WipeInventoryOptions: + properties: + wipeLabels: + type: boolean + wipeLocations: + type: boolean + wipeMaintenance: + type: boolean + type: object v1.Wrapped: properties: item: {} @@ -1947,6 +1962,27 @@ paths: summary: Set Primary Photos tags: - Actions + /v1/actions/wipe-inventory: + post: + description: Deletes all items in the inventory + parameters: + - description: Wipe options + in: body + name: options + schema: + $ref: '#/definitions/v1.WipeInventoryOptions' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/v1.ActionAmountResult' + security: + - Bearer: [] + summary: Wipe Inventory + tags: + - Actions /v1/actions/zero-item-time-fields: post: description: Resets all item date fields to the beginning of the day diff --git a/frontend/lib/api/types/data-contracts.ts b/frontend/lib/api/types/data-contracts.ts index 10414206..a65d8ae1 100644 --- a/frontend/lib/api/types/data-contracts.ts +++ b/frontend/lib/api/types/data-contracts.ts @@ -508,6 +508,8 @@ export interface EntUser { activated_on: string; /** CreatedAt holds the value of the "created_at" field. */ created_at: string; + /** DefaultGroupID holds the value of the "default_group_id" field. */ + default_group_id: string; /** * Edges holds the relations/edges for other nodes in the graph. * The values are being populated by the UserQuery when eager-loading is set. @@ -536,8 +538,8 @@ export interface EntUser { export interface EntUserEdges { /** AuthTokens holds the value of the auth_tokens edge. */ auth_tokens: EntAuthTokens[]; - /** Group holds the value of the group edge. */ - group: EntGroup; + /** Groups holds the value of the groups edge. */ + groups: EntGroup[]; /** Notifiers holds the value of the notifiers edge. */ notifiers: EntNotifier[]; } @@ -1027,9 +1029,9 @@ export interface TreeItem { } export interface UserOut { + defaultGroupId: string; email: string; - groupId: string; - groupName: string; + groupIds: string[]; id: string; isOwner: boolean; isSuperuser: boolean; @@ -1150,6 +1152,12 @@ export interface TokenResponse { token: string; } +export interface WipeInventoryOptions { + wipeLabels: boolean; + wipeLocations: boolean; + wipeMaintenance: boolean; +} + export interface Wrapped { item: any; }